O que é
Webhooks são solicitações HTTPS que a YCloud envia para o seu aplicativo quando a entrega de mensagens, mensagens recebidas, contatos, modelos, chamadas e outros recursos mudam.Antes de começar
- Armazene sua chave de API da YCloud em
YCLOUD_API_KEY. - Implante um endpoint HTTPS acessível publicamente.
- Preserve o corpo bruto da solicitação para verificação de assinatura.
- Decida quais tipos de evento seu aplicativo precisa.
Como funciona
- Crie um endpoint de Webhook e inscreva-o nos tipos de eventos.
- Armazene o
secretretornado do endpoint. - A YCloud envia uma solicitação de evento para o seu endpoint.
- Verifique o
YCloud-Signatureantes de confiar na solicitação. - Retorne uma resposta
2xximediatamente. - Processe o evento de forma idempotente, pois a entrega pode ser repetida.
Solicitação
Crie um endpoint comPOST /webhookEndpoints.
Campos da solicitação
Exemplo de solicitação
Inscrever-se em eventos de echo e handover
Para Agents integrados por meio da API REST pública, crie um endpoint com as seguintes assinaturas. Agents criados no Console não emitem esses três eventos. Para alterar um endpoint existente, preserve as assinaturas de eventos que você ainda precisa.whatsappMessage no formato de mensagem. O evento de handover contém whatsappMetaBusinessAgent e mantém suas informações de Agent/controle. Eles não usam o contrato do aplicativo WhatsApp Business whatsapp.smb.message.echoes. Consulte detalhes dos eventos de echo e handover para definições de campo, exemplos, ordenação e limites de correlação de handover.
Resposta
A resposta retorna o endpoint criado e seu segredo de assinaturasecret. Armazene o segredo com segurança. A YCloud o utiliza para gerar assinaturas de Webhook.
Exemplo de resposta
Campos da resposta
Receber eventos
Solicitação de evento
A YCloud envia um objeto de evento JSON para aurl configurada. O evento inclui campos comuns, como id, type, apiVersion e createTime, além de uma carga útil específica do tipo.
O seu manipulador deve:
- Ler o corpo bruto da solicitação.
- Validar o cabeçalho
YCloud-Signaturecom o segredo do endpoint antes de confiar na carga útil. - Retornar uma resposta bem-sucedida
2xximediatamente. - Mover o processamento lento para uma fila.
- Tornar o processamento de eventos idempotente para que entregas repetidas não executem ações de negócios duplicadas.
Resposta do receptor
Retorne uma resposta HTTP bem-sucedida2xx assim que a assinatura e a solicitação forem aceitas. O corpo da resposta pode ficar vazio.
2xx pode fazer com que a YCloud tente reenviar o evento; portanto, deduplique pelo id do evento.
Exemplos comuns de payload
Expanda um evento para inspecionar o exemplo completo de carga útil. Esses exemplos vêm da especificação de webhook da OpenAPI. Consulte todos os exemplos de payloads de webhook para cada tipo de evento compatível.Evento de atributos de contato alterados
Evento de atributos de contato alterados
Exemplo de carga útil quando os atributos de contato são alterados
Evento de contato criado
Evento de contato criado
Exemplo de carga útil quando um novo contato é criado
Evento de contato excluído
Evento de contato excluído
Exemplo de carga útil quando um contato é excluído
Evento de cancelamento de assinatura pelo cliente
Evento de cancelamento de assinatura pelo cliente
Exemplo de carga útil quando um cliente cancela a assinatura
O cliente retoma a assinatura
O cliente retoma a assinatura
Exemplo de carga útil quando um cliente retoma a assinatura
Evento de modelo do WhatsApp arquivado
Evento de modelo do WhatsApp arquivado
Exemplo de carga útil quando um modelo do WhatsApp é arquivado
Evento de modelo do WhatsApp desarquivado
Evento de modelo do WhatsApp desarquivado
Exemplo de carga útil quando um modelo do WhatsApp é desarquivado. O status do modelo é o status atual retornado pela Meta e não representa uma nova análise de aprovação.
Evento de chamada do WhatsApp conectada
Evento de chamada do WhatsApp conectada
Exemplo de carga útil quando uma chamada do WhatsApp é conectada
Evento de chamada do WhatsApp encerrada
Evento de chamada do WhatsApp encerrada
Exemplo de payload quando uma chamada do WhatsApp é encerrada
Evento de status de chamada do WhatsApp atualizado
Evento de status de chamada do WhatsApp atualizado
Exemplo de payload quando o status de uma chamada do WhatsApp é atualizado
Event e a referência interativa de payloads.
Alternar o segredo do endpoint
Alterne um segredo se ele for exposto ou como parte da sua política de segurança:Um endpoint que falha repetidamente ao receber notificações pode mudar para o status
pending e parar de receber eventos. Monitore as falhas de webhook e o status do endpoint.
