Envoyez et recevez des messages à l'aide d'une version hébergée dans le cloud de la plateforme WhatsApp Business. La Cloud API vous permet de mettre en œuvre les API WhatsApp Business sans le coût d'hébergement de vos propres serveurs et facilite également la mise à l'échelle de votre messagerie professionnelle. La Cloud API prend en charge jusqu'à 80 messages par seconde en combinant envoi et réception (messages texte et multimédias inclus).
L'API WhatsApp Business permet aux moyennes et grandes entreprises de communiquer avec leurs clients à grande échelle. En utilisant l'API, les entreprises peuvent créer des systèmes qui connectent des milliers de clients avec des agents ou des bots, permettant une communication à la fois programmatique et manuelle. De plus, vous pouvez intégrer l'API à de nombreux systèmes backend, tels que les CRM et les plateformes marketing.
Les entreprises bénéficieront de toutes les nouvelles fonctionnalités plus rapidement sur l'API Cloud. En ce moment, l'API Cloud WhatsApp Business est dotée de toutes les fonctionnalités disponibles avec l'API WhatsApp Business.
Fonctionnalités utiles de l'API Cloud WhatsApp :
Pour envoyer et recevoir un premier message avec un numéro de test, procédez comme suit :
1. Configurer les actifs développeur et l'accès à la plateforme
Activer l'authentification à deux facteurs pour votre compte
Créer une application Meta : Accédez à developers.facebook.com > Mes applications > Créer une application. Sélectionnez le type « Business » et suivez les instructions à l'écran.
Depuis le tableau de bord de l'application, cliquez sur l'application que vous souhaitez connecter à WhatsApp. Faites défiler vers le bas pour trouver le produit "WhatsApp" et cliquez sur Configurer.
Ensuite, vous verrez l'option de sélectionner un Business Manager existant (si vous en avez un) ou, si vous le souhaitez, le processus d'intégration peut en créer un automatiquement pour vous (vous pouvez personnaliser votre entreprise ultérieurement, si nécessaire). Faites une sélection et cliquez sur Continuer.
Lorsque vous cliquez sur Continuer, le processus d'intégration effectue les actions suivantes :
2. Envoyer un message de test
Maintenant, vous pouvez ouvrir votre IDE et créer un nouveau projet. Déposez un composant TsgcWhatsapp_Client et renseignez les propriétés suivantes :
Une fois ces 2 propriétés correctement configurées, appelez la méthode SendTest pour envoyer votre premier message à un numéro de téléphone en utilisant la plateforme Whatsapp Business.
oClient := TsgcWhatsapp_Client.Create(nil);
oClient.WhatsappOptions.PhoneNumberId := '107809351952205';
oClient.WhatsappOptions.Token := 'EAAO4OpgZAs98BAGj3nCFGr...ZB2t8mmLB2LRXJkte2Y5PMNh2';
oClient.SendTest('34605889421');
3. Configurer un webhook
Pour être averti lorsque vous recevez un message ou lorsque le statut d'un message a changé, vous devez configurer un point de terminaison Webhooks pour votre application. La configuration des Webhooks n'affecte pas le statut de votre numéro de téléphone et n'interfère pas avec l'envoi ou la réception de messages.
Pour commencer, vous devez d'abord créer le point de terminaison, configurez donc d'abord la propriété ServerOptions du composant client WhatsApp et configurez les propriétés suivantes :
Après avoir configuré le serveur, vous pouvez utiliser la méthode StartServer pour démarrer le serveur et accepter les requêtes entrantes.
oClient := TsgcWhatsapp_Client.Create(nil);
oClient.ServerOptions.WebhookOptions.Endpoint := '/webhook';
oClient.ServerOptions.WebhookOptions.Token := 'MySecretToken';
oClient.StartServer();
Une fois votre point de terminaison prêt, accédez à votre tableau de bord d'application.
Dans votre tableau de bord d'application, trouvez le produit WhatsApp et cliquez sur Configuration. Ensuite, trouvez la section webhooks et cliquez sur Configure a webhook. Après le clic, une boîte de dialogue apparaît à l'écran et vous demande deux éléments :
Après avoir ajouté les informations, cliquez sur Vérifier et enregistrer.
De retour dans le tableau de bord de l'application, cliquez sur WhatsApp > Configuration dans le panneau de gauche. Sous Webhooks, cliquez sur Manage. Une boîte de dialogue s'ouvrira avec tous les objets sur lesquels vous pouvez être notifié. Pour recevoir des messages de vos utilisateurs, cliquez sur Subscribe pour messages.
4. Recevoir un message de test
Chaque fois qu'un nouveau message est reçu, l'événement client OnMessageReceived sera appelé.
procedure OnMessageReceived(Sender: TObject; const aMessage: TsgcWhatsapp_Receive_Message; var aMarkAsRead: Boolean);
begin
DoLog('Received: ' + aMessage.Messages._Message[0].Id);
end;
Maintenant que votre Webhook est configuré, envoyez un message au numéro de test que vous avez utilisé. Vous devriez immédiatement recevoir une notification Webhooks avec le contenu de votre message !
L'API WhatsApp n'autorise pas l'envoi de messages en texte libre aux téléphones qui ne vous ont pas contacté auparavant (dans les dernières 24 heures). La seule façon d'envoyer un message texte à un téléphone qui n'a jamais envoyé de message à votre numéro de compte développeur est d'envoyer un modèle (préalablement approuvé par Meta). Pour contourner cette limitation lors des tests de messages en texte libre, envoyez d'abord un message WhatsApp depuis le numéro de destination vers votre numéro de compte développeur, et vous pourrez ensuite envoyer des messages en texte libre pendant 24 heures.
OnBeforeSendMessage
Cet événement est appelé avant que le message ne soit envoyé aux serveurs WhatsApp. Vous pouvez accéder au message interne via le paramètre RawMessage.
OnBeforeSubscribe
Cet événement est appelé avant que le serveur s'abonne à un sujet. Utilisez le paramètre Accept pour autoriser ou refuser l'abonnement. Par défaut, le serveur s'abonnera à tous les événements demandés.
OnRawMessage
Cet événement est appelé lorsque le serveur reçoit un nouveau message qui n'a pas encore été analysé ; vous avez ainsi accès au message brut.
OnMessageReceived
Cet événement est appelé après que le serveur a reçu et analysé un nouveau message. Si vous définissez le paramètre MarkAsRead sur True, l'expéditeur recevra une double coche.
OnMessageSent
Cet événement est appelé chaque fois que le serveur reçoit un nouveau message de statut concernant le message précédemment envoyé. Lisez la propriété Status pour savoir si le message a été envoyé, livré ou lu.