API WhatsApp Cloud per .NET

· Componentei

From sgcWebSockets 2022.6.0 l'API WhatsApp Cloud e' supportata per .NET.

Invia e ricevi messaggi utilizzando una versione cloud-hosted della WhatsApp Business Platform. La Cloud API ti permette di implementare le API WhatsApp Business senza il costo di ospitare i tuoi server e ti permette anche di scalare piu' facilmente il messaging aziendale. La Cloud API supporta fino a 80 messaggi al secondo combinati fra invio e ricezione (inclusi messaggi di testo e media).

L'API WhatsApp Business permette ad aziende medie e grandi di comunicare con i propri clienti su larga scala. Tramite l'API, le aziende possono costruire sistemi che collegano migliaia di clienti con agenti o bot, abilitando comunicazione sia programmatica sia manuale. Inoltre puoi integrare l'API con numerosi sistemi di backend, come piattaforme CRM e di marketing.

Funzionalita' 

Le aziende otterranno prima tutte le nuove funzionalita' su Cloud API. Al momento, WhatsApp Business Cloud API include tutte le funzionalita' disponibili nell'API WhatsApp Business.

Funzionalita' utili dell'API WhatsApp Cloud:

  • Integra il messaging WhatsApp con strumenti come CRM, analytics e app di terze parti
  • Spunta verde, profilo WhatsApp Business verificato
  • Broadcast e bulk messaging WhatsApp
  • Nessuna app o interfaccia, utilizzo tramite BSP o CRM
  • Chatbot WhatsApp e automation della chat tramite app di terze parti
  • Pianifica messaggi WhatsApp su larga scala
  • Le funzionalita' di messaging interattivo includono List message, reply button e messaggi CTA

Per iniziare 

Per inviare e ricevere un primo messaggio usando un numero di test, completa i passi seguenti:

1. Configura gli asset sviluppatore e l'accesso alla piattaforma

Dall'App Dashboard, fai click sull'app che vuoi collegare a WhatsApp. Scorri verso il basso per trovare il prodotto "WhatsApp" e fai click su Set up.

Successivamente vedrai l'opzione per selezionare un Business Manager esistente (se ne hai uno) o, se preferisci, il processo di onboarding puo' crearne uno automaticamente (potrai personalizzare la tua attivita' in seguito se necessario). Fai la tua scelta e fai click su Continue.

Quando fai click su Continue, il processo di onboarding esegue le seguenti azioni:

  • La tua app viene associata al Business Manager scelto, o creato automaticamente.
  • Un numero di telefono WhatsApp di test viene aggiunto alla tua attivita'. Puoi usarlo per esplorare la WhatsApp Business Platform senza registrare o migrare un numero reale. I numeri di test possono inviare messaggi illimitati a un massimo di 5 destinatari (in qualsiasi parte del mondo).

2. Invia un messaggio di test

Ora puoi aprire il tuo IDE e creare un nuovo progetto. Trascina un componente TsgcWhatsapp_Client e compila le seguenti proprieta':

  • WhatsappOptions.PhoneNumberId: e' l'ID del numero di telefono utilizzato per inviare messaggi.
  • WhatsappOptions.Token: e' l'Access Token temporaneo valido per 24 ore.

Una volta configurate correttamente queste 2 proprieta', chiama il metodo SendTest per inviare il tuo primo messaggio a un numero di telefono tramite la Whatsapp Business Platform.

TsgcWhatsapp_Client oClient = new TsgcWhatsapp_Client();
oClient.WhatsappOptions.PhoneNumberId = "107809351952205";
oClient.WhatsappOptions.Token = "EAAO4OpgZAs98BAGj3nCFGr...ZB2t8mmLB2LRXJkte2Y5PMNh2";
oClient.SendTest("34605889421"); 

3. Configura un Webhook

Per essere avvisato quando ricevi un messaggio o quando lo stato di un messaggio cambia, devi configurare un endpoint Webhooks per la tua app. La configurazione dei Webhooks non incide sullo stato del numero di telefono e interferisce con l'invio o la ricezione dei messaggi.

Per iniziare devi prima creare l'endpoint, quindi per prima cosa configura la proprieta' ServerOptions del componente WhatsApp Client e configura le seguenti proprieta':

  • ServerOptions: qui puoi configurare l'indirizzo IP a cui fare bind, la porta di ascolto, se sta usando SSL (il WebHook deve essere eseguito su un server sicuro; puoi configurare il tuo server per usare SSL oppure fare il proxy delle richieste WebHook verso un server non HTTPS). Il server e' basato su TsgcWebSocketHTTPServer.
    • WebhookOptions: questa proprieta' permette di impostare le proprieta' del Webhook che verranno successivamente configurate nel tuo account sviluppatore Facebook.
      • Endpoint: e' il nome dell'endpoint, di default e' /webhook. Esempio: se il tuo server e' in ascolto su https://www.esegece.com, l'endpoint sara' "https://www.esegece.com/webhook"
      • Token: e' una stringa di sicurezza che puo' contenere qualsiasi valore definito da te. Viene usata per verificare che la registrazione del Webhook sia corretta.

Dopo aver configurato il server, puoi usare il metodo StartServer per avviare il server e accettare le richieste in arrivo.

TsgcWhatsapp_Client oClient = TsgcWhatsapp_Client.Create();
oClient.ServerOptions.WebhookOptions.Endpoint = "/webhook";
oClient.ServerOptions.WebhookOptions.Token = "MySecretToken";
oClient.StartServer(); 

Una volta che il tuo endpoint e' pronto, vai all'App Dashboard.

In your App Dashboard, find the WhatsApp product and click Configurazione. Then, find the webhooks section and click Configure a webhook. After the click, a dialog appears on your screen and asks you for two items:

  • Callback URL: e' l'URL a cui Meta invia gli eventi.
  • Verify Token: questa stringa la imposti tu quando crei il tuo endpoint webhook.

Dopo aver aggiunto le informazioni, fai click su Verify and Save.

Back in the App Dashboard, click WhatsApp > Configurazione in the left-side panel. Under Webhooks, click Manage. A dialog box will open with all the objects you can get notified about. To receive messages from your users, click Subscribe for messages.

4. Ricevi un messaggio di test

Ogni volta che viene ricevuto un nuovo messaggio viene chiamato l'evento client OnMessageReceived.

void OnWhatsAppMessageReceived(TsgcWhatsApp_Client Sender, TsgcWhatsApp_Receive_Message Message, ref bool MarkAsRead)
{
  DoLog("Message Received: [" + Message.From + "] " + Message.Text);
  MarkAsRead = true;
} 


Ora che il tuo Webhook e' configurato, invia un messaggio al numero di test che hai utilizzato. Dovresti ricevere immediatamente una notifica Webhooks con il contenuto del tuo messaggio!

Qui sotto trovi una demo pubblica WhatsApp Bot online; basta inviare un qualsiasi messaggio di testo per iniziare.

WhatsApp Bot

Costruito con la libreria sgcWebSockets; invia un qualsiasi messaggio di testo e il bot mostrera' un elenco di opzioni o restituira' in eco il tuo messaggio. https://www.esegece.com/demo/whatsapp

Qui sotto trovi la demo WhatsApp compilata per Windows.