Ir para o conteúdo

Como autenticar na WhatsApp Business API

Os serviços disponibilizados pela plataforma WhatsApp Business API utilizam o protocolo OAuth2 para realizar a autenticação e autorização de acesso a suas APIs, que são todas protegidas. Abaixo explicamos como deve ser obtido e utilizado o token de acesso às funcionalidades.

1. Primeiro passo - Obter credenciais de acesso

As credenciais de acesso que devem ser usadas para obtenção do token de acesso às APIs são client_id e client_secret. O client_id é o id do telefone cadastrado no Business Management da Meta que será utilizado para envio das mensagens de notificação e o client_secret deve ser obtido junto ao prestador de serviços.

client_id: 012312321312
client_secret: dalsjdakls4&(&(*(lajdsaljda)))

Aviso importante

O client_id corresponde ao id do telefone usado no envio das mensagens de notificação e também identifica um usuário no sistema de accesso. O client_secret corresponde à credencial de acesso do cliente no autenticador. Estas informações são sigilosas e devem ser mantidas protegidas de forma segura.

Como obter o client_secret?

O client_secret é gerado e repassado ao cliente.

2. Segundo passo - Solicitar geração do token de acesso

O token de acesso é gerado pelo servidor de autenticação da plataforma e este expira em 10 minutos, ou seja, ele pode ser usado para várias chamadas mas depois de 10 minutos deve ser gerado um novo.

Para gerar um token deve-se fazer uma requisição HTTP POST para o endpoint https://api.whatsapp.serpro.gov.br/oauth2/token, informando as credenciais de acesso no corpo da requisição, conforme exemplo abaixo usando curl.

Exemplo com curl

curl -v --request POST \
--url 'https://api.whatsapp.serpro.gov.br/oauth2/token' \
--header 'content-type: application/x-www-form-urlencoded' \
--data client_id=client_id_value \
--data client_secret=client_secret_value

3. Terceiro passo - Resultado da requisição do token

Como resultado do passo anterior, o endpoint informará o token de acesso a API, no campo access_token da mensagem json de retorno. Este token deve ser usado nas requisições para os endpoints da WhatsApp Business API e pode ser usado várias vezes dentro de seu prazo de expiração.

Segue abaixo um exemplo de resposta do endpoint de geração do token:

{
    "access_token": "VALOR DO TOKEN",
    "expires_in": 599,
    "token_type": "Bearer"
}