A partir do sgcWebSockets 2022.6.0, a WhatsApp Cloud API é compatível para .NET.
Envie e receba mensagens usando uma versão hospedada em nuvem da WhatsApp Business Platform. A Cloud API permite implementar as APIs do WhatsApp Business sem o custo de hospedagem dos seus próprios servidores e também permite escalar mais facilmente sua mensageria de negócios. A Cloud API suporta até 80 mensagens por segundo de envio e recebimento combinados (inclusive mensagens de texto e mídia).
A WhatsApp Business API permite que empresas médias e grandes se comuniquem com seus clientes em escala. Usando a API, as empresas podem construir sistemas que conectam milhares de clientes com agentes ou bots, viabilizando comunicação tanto programática quanto manual. Além disso, você pode integrar a API a vários sistemas backend, como plataformas de CRM e de marketing.
Recursos
As empresas obterão todos os novos recursos mais rapidamente na Cloud API. Atualmente, a WhatsApp Business Cloud API vem com todos os recursos disponíveis na WhatsApp Business API.
Recursos úteis da WhatsApp Cloud API:
- Integre a mensageria do WhatsApp com ferramentas como CRM, analytics e aplicativos de terceiros
- Selo verde, perfil verificado do WhatsApp Business
- Broadcast e envio em massa no WhatsApp
- Sem app ou interface, use via BSPs ou CRM
- Chatbot do WhatsApp e automação de chat usando aplicativos de terceiros
- Agendamento de mensagens WhatsApp em grande escala
- Recursos de mensageria interativa incluindo mensagens de lista, botões de resposta, mensagens CTA
Primeiros passos
Para enviar e receber uma primeira mensagem usando um número de teste, complete os seguintes passos:
1. Configure os Developer Assets e o acesso à plataforma
- Registre-se como Meta Developer
- Habilite a autenticação de dois fatores para sua conta
- Crie um Meta App: vá em developers.facebook.com > My Apps > Create App. Selecione o tipo "Business" e siga as instruções na sua tela.
No App Dashboard, clique no app que você gostaria de conectar ao WhatsApp. Role para baixo para encontrar o produto "WhatsApp" e clique em Set up.
Em seguida, você verá a opção de selecionar um Business Manager existente (se tiver um) ou, se preferir, o processo de onboarding pode criar um automaticamente para você (você pode personalizar seu negócio depois, se necessário). Faça uma seleção e clique em Continue.
Quando você clica em Continue, o processo de onboarding realiza as seguintes ações:
- Seu app é associado ao Business Manager que você escolheu ou que foi criado automaticamente.
- Um número de telefone de teste do WhatsApp é adicionado ao seu negócio. Você pode usar esse número de telefone de teste para explorar a WhatsApp Business Platform sem registrar ou migrar um número de telefone real. Os números de telefone de teste podem enviar mensagens ilimitadas para até 5 destinatários (que podem estar em qualquer lugar do mundo).
2. Envie uma mensagem de teste
Agora, você pode abrir sua IDE e criar um novo projeto. Solte um componente TsgcWhatsapp_Client e preencha as seguintes propriedades:
- WhatsappOptions.PhoneNumberId: é o ID do número de telefone usado para enviar mensagens.
- WhatsappOptions.Token: é o Access Token temporário válido por 24 horas.
Uma vez que essas 2 propriedades tenham sido devidamente configuradas, chame o método SendTest para enviar sua primeira mensagem para um número de telefone usando a Whatsapp Business Platform.
TsgcWhatsapp_Client oClient = new TsgcWhatsapp_Client();
oClient.WhatsappOptions.PhoneNumberId = "107809351952205";
oClient.WhatsappOptions.Token = "EAAO4OpgZAs98BAGj3nCFGr...ZB2t8mmLB2LRXJkte2Y5PMNh2";
oClient.SendTest("34605889421");
3. Configure um Webhook
Para ser alertado quando receber uma mensagem ou quando o status de uma mensagem mudar, você precisa configurar um endpoint de Webhook para seu app. Configurar os Webhooks não afeta o status do seu número de telefone e não interfere no envio ou recebimento de mensagens.
Para começar, primeiro você precisa criar o endpoint, então primeiro configure a propriedade ServerOptions do componente WhatsApp Client e configure as seguintes propriedades:
- ServerOptions: aqui você pode configurar o endereço IP para fazer bind, a porta de escuta, se está usando SSL (o WebHook deve rodar em um servidor seguro; você pode configurar seu servidor para usar SSL ou redirecionar as requisições do WebHook para um servidor não HTTPs). O servidor é baseado em TsgcWebSocketHTTPServer.
- WebhookOptions: esta propriedade permite definir as propriedades do Webhook que mais tarde serão configuradas em sua conta de desenvolvedor do facebook.
- Endpoint: é o nome do endpoint; por padrão é /webhook. Exemplo: se seu servidor está escutando em https://www.esegece.com, o endpoint será "https://www.esegece.com/webhook"
- Token: é uma string de segurança que pode conter qualquer valor definido por você. É usado para verificar se o registro do Webhook está correto.
- WebhookOptions: esta propriedade permite definir as propriedades do Webhook que mais tarde serão configuradas em sua conta de desenvolvedor do facebook.
Depois de configurar o servidor, você pode usar o método StartServer para iniciar o servidor e aceitar as requisições que chegarem.
TsgcWhatsapp_Client oClient = TsgcWhatsapp_Client.Create(); oClient.ServerOptions.WebhookOptions.Endpoint = "/webhook"; oClient.ServerOptions.WebhookOptions.Token = "MySecretToken"; oClient.StartServer();
Quando seu endpoint estiver pronto, vá ao seu App Dashboard.
No App Dashboard, encontre o produto WhatsApp e clique em Configuration. Em seguida, encontre a seção webhooks e clique em Configure a webhook. Após o clique, um diálogo aparece na sua tela e pede dois itens:
- Callback URL: esta é a URL para onde a Meta enviará os eventos.
- Verify Token: esta string é definida por você ao criar o endpoint do webhook.
Depois de adicionar as informações, clique em Verify and Save.
De volta ao App Dashboard, clique em WhatsApp > Configuration no painel à esquerda. Em Webhooks, clique em Manage. Uma caixa de diálogo se abrirá com todos os objetos sobre os quais você pode receber notificações. Para receber mensagens dos seus usuários, clique em Subscribe para messages.
4. Receba uma mensagem de teste
Toda vez que uma nova mensagem é recebida, o evento do cliente OnMessageReceived será chamado.
void OnWhatsAppMessageReceived(TsgcWhatsApp_Client Sender, TsgcWhatsApp_Receive_Message Message, ref bool MarkAsRead)
{
DoLog("Message Received: [" + Message.From + "] " + Message.Text);
MarkAsRead = true;
}
Agora que seu Webhook está configurado, envie uma mensagem para o número de teste que você usou. Você deve receber imediatamente uma notificação do Webhooks com o conteúdo da sua mensagem!
Veja abaixo um Demo público online de WhatsApp Bot; basta enviar qualquer mensagem de texto para começar.
WhatsApp Bot
Construído com a biblioteca sgcWebSockets, envie qualquer mensagem de texto e o bot mostrará uma lista de opções ou ecoará sua mensagem de texto. https://www.esegece.com/demo/whatsappVeja abaixo o Demo compilado do WhatsApp para Windows.
