WhatsApp Cloud API

Whatsapp

 

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.

 

Features

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:

 

 

Most common uses

 

 

 

Get Started

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

 

 

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.

 

Eventos

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.