Webhooks
Webhooks são uma maneira comum de as aplicações se comunicarem - para compartilhar dados em tempo real. Nos dias de hoje, raramente temos um aplicativo autônomo que possa fazer tudo. Na maioria das vezes, você está trabalhando em muitos aplicativos ou sistemas diferentes que são especializados para realizar certas tarefas, e esses aplicativos precisam ser capazes de se comunicar entre si. É aí que os webhooks entram.
Um webhook é uma mensagem automatizada de um sistema para outro após um determinado critério ter sido atendido. No Braze, esse critério geralmente é a ativação de um evento personalizado.
Em sua essência, um webhook é um método baseado em eventos para que dois sistemas separados tomem ações eficazes com base em dados transmitidos em tempo real. Essa mensagem contém instruções que dizem ao sistema receptor quando e como realizar uma tarefa específica. Por causa disso, os webhooks podem fornecer acesso mais dinâmico e flexível a dados e funcionalidades programáticas, e capacitar você a configurar jornadas do cliente que otimizam processos.
A disponibilidade de webhooks depende do seu pacote Braze. Entre em contato com seu gerente de conta ou gerente de sucesso do cliente para começar.
Artigos da seção
Casos de uso
Webhooks são uma excelente maneira de conectar seus sistemas—afinal, webhooks são como os aplicativos se comunicam. Aqui estão alguns cenários gerais onde webhooks podem ser particularmente úteis:
- Enviando dados para e de Braze
- Enviando mensagens para seus clientes através de canais não diretamente suportados pelo Braze
- Postando para as APIs do Braze
Alguns casos de uso mais específicos incluem o seguinte:
- Se um usuário cancelar a inscrição do e-mail, você pode ter um webhook atualizando seu banco de dados de análises ou CRM com essa mesma informação, garantindo uma visão holística do comportamento desse usuário.
- Envie mensagens transacionais para usuários dentro do Facebook Messenger ou Line.
- Envie correspondência direta para clientes em resposta à sua atividade no aplicativo e na web usando webhooks para se comunicar com serviços de terceiros como Lob.com.
- Se um jogador atingir um certo nível ou acumular um certo número de pontos, use webhooks e sua configuração de API existente para enviar uma atualização de personagem ou moedas diretamente para a conta dele. Se você enviar o webhook como parte de uma campanha de mensagens multicanal, pode enviar um push ou outra mensagem para avisar o jogador sobre a recompensa ao mesmo tempo.
- Se você é uma companhia aérea, pode usar webhooks e sua configuração de API existente para creditar a conta de um cliente com um desconto após ele ter reservado um certo número de voos.
- Receitas infinitas “Se Isso Então Aquilo” (IFTTT)—por exemplo, se um cliente fizer login no aplicativo via e-mail, então esse endereço pode ser automaticamente configurado no Salesforce.
Anatomia de um webhook
Um webhook consiste nas seguintes partes.
| Parte do Webhook | Descrição |
|---|---|
| Método HTTP | Assim como APIs, webhooks precisam de métodos de solicitação. Esses são dados para a URL que o webhook atinge e informam ao endpoint o que fazer com as informações fornecidas. Existem quatro métodos HTTP que você pode especificar: POST, GET, PUT e DELETE. |
| URL HTTP | O endereço URL do seu endpoint de webhook. O endpoint é o local onde você enviará as informações que está capturando no webhook. |
| Corpo da solicitação | Esta parte do webhook contém as informações que você está comunicando ao endpoint. O corpo da solicitação pode ser pares de chave-valor JSON ou texto bruto. |
!Exemplo de webhook com um método HTTP, URL HTTP e corpo da solicitação.
Métodos HTTP
A tabela a seguir descreve os quatro diferentes métodos HTTP que você pode especificar em seu webhook.
| Método HTTP | Descrição |
|---|---|
| POST | Este método grava novas informações no servidor receptor. Um exemplo comum do método POST em uma aplicação do mundo real é um formulário de contato em um site. Quaisquer informações que você colocar no formulário se tornam parte de um corpo de solicitação e são enviadas a um receptor. Este é o método mais comum usado ao enviar dados. |
| GET | Este método recupera informações existentes, em vez de escrever novas informações. Por definição, uma solicitação GET não suporta um corpo de solicitação. Este é o método mais comum usado ao solicitar dados de um servidor. Por exemplo, considere o endpoint /segments/list endpoint. Se você fizer uma solicitação GET, ela retornará uma lista de seus segmentos. |
| PUT | Este método atualiza informações no endpoint, substituindo qualquer informação existente pelo que está no corpo da solicitação. |
| DELETE | Este método exclui o recurso na URL HTTP. |
Webhooks no Braze
No Braze, você pode criar um webhook como uma campanha de webhook, campanha de API ou componente de Canvas.
- No painel do Braze, vá para Campanhas.
- Clique em Criar Campanha e selecione Webhook.
Consulte Criando um webhook para mais informações.
- No painel do Braze, vá para Campanhas.
- Clique em Criar Campanha e selecione Campanha de API.
- Clique em Adicionar Mensagens e selecione Webhook.
- Formate sua chamada de API para incluir um objeto webhook.
Consulte Criando um webhook para mais informações.
- No seu Canvas, crie um novo componente.
- Na seção Mensagem do seu componente, selecione Webhook.
Consulte Criando um webhook para mais informações.
Tratamento de erros de webhook e limitação de taxa
Quando a Braze recebe uma resposta de erro de uma chamada de webhook, ajustamos automaticamente o comportamento de envio desse webhook com base nesses cabeçalhos de resposta:
Retry-AfterX-Rate-Limit-LimitX-Rate-Limit-RemainingX-Rate-Limit-Reset
Esses cabeçalhos nos ajudam a interpretar limites de taxa e ajustar a velocidade de envio de acordo para evitar mais erros. Também implementamos uma estratégia de retrocesso exponencial para novas tentativas, o que ajuda a reduzir o risco de sobrecarregar seus servidores, espaçando as tentativas de nova tentativa ao longo do tempo.
Se detectarmos que a maioria das solicitações de webhook para um host específico está falhando, adiamos temporariamente todas as tentativas de envio para esse host. Em seguida, retomaremos o envio após um período de resfriamento definido, permitindo que seu sistema se recupere.