Webhooks
Os webhooks da Zardio permitem que você integre seus sistemas externos e dispare automações via WhatsApp de forma programática. Com eles, você pode iniciar fluxos de automação automaticamente quando eventos acontecem no seu CRM, e-commerce ou qualquer outro sistema.
Visão Geral
Webhooks são URLs únicas geradas pela Zardio que permitem disparar fluxos de automação a partir de sistemas externos. Quando você faz uma requisição HTTP para essa URL, a Zardio automaticamente executa o fluxo configurado, enviando mensagens pelo WhatsApp para o contato especificado.
Para que servem?
Os webhooks são ideais para automatizar comunicações baseadas em eventos do seu negócio:
- Name
Integração com CRM- Description
Quando um novo cliente é cadastrado no seu CRM, dispare automaticamente uma mensagem de boas-vindas pelo WhatsApp.
- Name
E-commerce- Description
Envie notificações automáticas de confirmação de pedido, rastreamento de entrega ou carrinho abandonado.
- Name
Sistemas de Agendamento- Description
Lembre seus clientes automaticamente sobre consultas, reuniões ou compromissos agendados.
- Name
Plataformas de Pagamento- Description
Notifique clientes sobre pagamentos confirmados, boletos gerados ou assinaturas renovadas.
Exemplo Prático
Imagine que você tem um CRM e deseja enviar uma mensagem de boas-vindas personalizada para cada novo cliente cadastrado:
- Você cria um fluxo de automação na Zardio com a mensagem de boas-vindas
- Cria um webhook vinculado a esse fluxo
- No seu CRM, configura para fazer uma requisição POST para a URL do webhook sempre que um novo cliente for cadastrado
- O cliente recebe automaticamente a mensagem pelo WhatsApp
Exemplo de requisição do seu CRM
{
"phone": "5511999999999",
"contextData": {
"nome": "João Silva",
"empresa": "Tech Solutions"
}
}
Com isso, seu fluxo pode usar as variáveis {{nome}} e {{empresa}} para personalizar a mensagem.
Criando um Webhook
Siga os passos abaixo para criar um webhook na plataforma Zardio.
Passo 1: Acesse a página de Webhooks
Na barra lateral da Zardio, clique em Webhooks para acessar a página de gerenciamento.
Passo 2: Clique em "Novo Webhook"
Na página de webhooks, clique no botão Novo Webhook no canto superior direito.
Passo 3: Preencha as informações
Um modal será exibido para você configurar o webhook:
- Name
Nome- Type
- obrigatório
- Description
Um nome identificador para o webhook. Exemplo: "Boas-vindas CRM", "Confirmação de Pedido".
- Name
Instância- Type
- obrigatório
- Description
Selecione qual número de WhatsApp conectado será usado para enviar as mensagens. Se não selecionar, será usada a primeira instância ativa.
- Name
Fluxo- Type
- obrigatório
- Description
Selecione qual fluxo de automação será executado quando o webhook for chamado.
Passo 4: Clique em "Criar"
Após preencher as informações, clique no botão Criar. O webhook será criado e você verá a URL gerada.
Passo 5: Copie a URL do Webhook
O webhook criado aparecerá na lista. Clique no ícone de copiar ao lado da URL para copiá-la para a área de transferência.
Criando sua Chave de API
Para disparar webhooks via API, você precisa de uma API Key. Siga os passos abaixo para gerar sua chave.
Passo 1: Acesse seu Perfil
Na barra lateral da Zardio, clique em Perfil para acessar as configurações da sua conta.
Passo 2: Gere uma nova API Key
Role a página até a seção API Keys e clique no botão Gerar Nova API Key.
Passo 3: Copie sua API Key
Um modal será exibido com sua nova API Key. Clique no botão Copiar API Key para copiá-la para a área de transferência.
Atenção: Esta é a única vez que você verá sua API Key completa! Por questões de segurança, ela não será exibida novamente. Guarde-a em um local seguro. Caso perca, será necessário gerar uma nova chave.
Disparar um Webhook
Este endpoint permite disparar um fluxo de automação via webhook. Quando chamado, a Zardio executa o fluxo configurado e envia mensagens pelo WhatsApp para o número especificado.
Headers Obrigatórios
- Name
Content-Type- Type
- string
- Description
Deve ser
application/json.
- Name
x-api-key- Type
- string
- Description
Sua chave de API. Obtenha em Configurações > API Keys.
Atributos Obrigatórios
- Name
phone- Type
- string
- Description
Número de telefone do destinatário no formato internacional sem caracteres especiais. Exemplo:
5511999999999.
Atributos Opcionais
- Name
behavior- Type
- string
- Description
Define o comportamento quando já existe um fluxo ativo para o mesmo número. Valores possíveis:
IGNORE(padrão): Ignora a requisição se já houver um fluxo ativoCANCEL_AND_START: Cancela o fluxo ativo e inicia um novoRUN_BOTH: Executa o novo fluxo em paralelo com o existente
- Name
scheduledAt- Type
- string
- Description
Agenda a execução para uma data/hora específica. Formato:
YYYY-MM-DD HH:mm(horário de Brasília). Exemplo:2024-12-25 10:00.
- Name
contextData- Type
- object
- Description
Objeto com dados personalizados que serão disponibilizados como variáveis no fluxo. Use
{{chave}}no seu fluxo para acessar os valores.
Request
curl -X POST https://api.zardio.com/webhooks/call/exemple \
-H "Content-Type: application/json" \
-H "x-api-key: SUA_API_KEY" \
-d '{
"phone": "5511999999999"
}'
Response
{
"success": true,
"message": "Flow started"
}
Exemplo Completo com Dados Personalizados
Este exemplo mostra como enviar dados personalizados que podem ser usados como variáveis no seu fluxo de automação.
Usando variáveis no fluxo
Os dados enviados no contextData ficam disponíveis como variáveis no fluxo. Por exemplo, se você enviar:
{
"contextData": {
"nome": "Maria",
"pedido": "12345"
}
}
No seu fluxo, você pode usar {{nome}} e {{pedido}} para personalizar as mensagens.
Request
curl -X POST https://api.zardio.com/webhooks/call/exemple \
-H "Content-Type: application/json" \
-H "x-api-key: SUA_API_KEY" \
-d '{
"phone": "5511999999999",
"behavior": "CANCEL_AND_START",
"scheduledAt": "2024-12-25 10:00",
"contextData": {
"nome": "João Silva",
"email": "joao@email.com",
"pedido": "12345",
"valor": 149.90
}
}'
Response
{
"success": true,
"message": "Flow started"
}
Respostas de Erro
A API retorna diferentes códigos de status HTTP dependendo do resultado da requisição:
- Name
200 OK- Description
Requisição bem-sucedida. O fluxo foi iniciado ou agendado.
- Name
400 Bad Request- Description
Parâmetros inválidos ou webhook sem fluxo configurado.
- Name
401 Unauthorized- Description
API Key inválida ou não fornecida.
- Name
403 Forbidden- Description
API Key não autorizada para este webhook.
- Name
404 Not Found- Description
Webhook não encontrado ou inativo.
Exemplo de erro
{
"statusCode": 404,
"message": "Webhook não encontrado ou inativo"
}