Envie e receba mensagens usando uma versão hospedada em nuvem da WhatsApp Business Platform. A Cloud API permite que você implemente APIs do WhatsApp Business sem o custo de hospedar seus próprios servidores e também permite escalar mais facilmente as mensagens do seu negócio. A Cloud API suporta até 80 mensagens por segundo de envio e recebimento combinados (incluindo mensagens de texto e de mídia).
A WhatsApp Business API permite que empresas de médio e grande porte se comuniquem com seus clientes em escala. Utilizando a API, as empresas podem construir sistemas que conectam milhares de clientes com agentes ou bots, habilitando tanto a comunicação programática quanto a manual. Além disso, você pode integrar a API a inúmeros sistemas de backend, como plataformas de CRM e de marketing.
As empresas receberã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:
Para enviar e receber uma primeira mensagem usando um número de teste, complete as seguintes etapas:
1. Configurar os Developer Assets e o Platform Access
Criar um Meta App: Acesse 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 você 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:
2. Enviar uma Mensagem de Teste
Agora você pode abrir sua IDE e criar um novo projeto. Coloque um componente TsgcWhatsapp_Client e preencha as seguintes propriedades:
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.
oClient := TsgcWhatsapp_Client.Create(nil);
oClient.WhatsappOptions.PhoneNumberId := '107809351952205';
oClient.WhatsappOptions.Token := 'EAAO4OpgZAs98BAGj3nCFGr...ZB2t8mmLB2LRXJkte2Y5PMNh2';
oClient.SendTest('34605889421');
3. Configurar um Webhook
Para ser alertado quando você recebe uma mensagem ou quando o status de uma mensagem mudou, você precisa configurar um endpoint de Webhooks para sua aplicação. 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:
Após configurar o servidor, você pode utilizar o método StartServer para iniciar o servidor e aceitar as requisições de entrada.
oClient := TsgcWhatsapp_Client.Create(nil);
oClient.ServerOptions.WebhookOptions.Endpoint := '/webhook';
oClient.ServerOptions.WebhookOptions.Token := 'MySecretToken';
oClient.StartServer();
Uma vez que seu endpoint esteja pronto, vá para o App Dashboard.
No Dashboard do seu App, encontre o produto WhatsApp e clique em Configuration. Em seguida, encontre a seção de webhooks e clique em Configure a webhook. Após o clique, um diálogo aparece na sua tela e solicita dois itens:
Após 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 será aberta com todos os objetos sobre os quais você pode ser notificado. Para receber mensagens dos seus usuários, clique em Subscribe para messages.
4. Receber uma mensagem de teste
Toda vez que uma nova mensagem é recebida, o evento de cliente OnMessageReceived será chamado.
procedure OnMessageReceived(Sender: TObject; const aMessage: TsgcWhatsapp_Receive_Message; var aMarkAsRead: Boolean);
begin
DoLog('Received: ' + aMessage.Messages._Message[0].Id);
end;
Agora que seu Webhook está configurado, envie uma mensagem ao número de teste que você utilizou. Você deve receber imediatamente uma notificação de Webhooks com o conteúdo da sua mensagem!
A WhatsApp API não permite enviar mensagens de texto livre para telefones que não entraram em contato com você antes (nas últimas 24 horas). A única maneira de enviar uma mensagem de texto a um telefone que nunca enviou mensagem para o número da sua conta de desenvolvedor é enviando um Template (previamente aprovado pela Meta). Para contornar essa limitação ao testar mensagens de texto livre, primeiro envie uma mensagem de WhatsApp do número de destino para o número da sua conta de desenvolvedor, e então você poderá enviar mensagens de texto livre por 24 horas.
OnBeforeSendMessage
Este evento é chamado antes de a mensagem ser enviada aos servidores do WhatsApp. Você pode acessar a mensagem interna por meio do parâmetro RawMessage.
OnBeforeSubscribe
Este evento é chamado antes de o servidor assinar um tópico. Use o parâmetro Accept para permitir ou negar a assinatura. Por padrão, o servidor assinará todos os eventos solicitados.
OnRawMessage
Este evento é chamado quando o servidor recebe uma nova mensagem que ainda não foi analisada, então você obtém acesso à mensagem bruta.
OnMessageReceived
Este evento é chamado depois que o servidor recebe e faz o parsing de uma nova mensagem. Se você definir o parâmetro MarkAsRead como True, o remetente receberá uma confirmação dupla (double check).
OnMessageSent
Este evento é chamado toda vez que o servidor recebe uma nova mensagem de status sobre a mensagem enviada anteriormente. Leia a propriedade Status para saber se a mensagem foi enviada, entregue ou lida.