PicChat

Guias

HubSpot

Com um workflow do HubSpot, cada contato que entra no workflow é criado ou atualizado na PicChat e inscrito numa automação, que dispara a mensagem no WhatsApp. É o mesmo disparo por automação, numa rota que aceita o contato direto no corpo, do jeito que o webhook do HubSpot manda.

Antes de começar

  1. Uma automação de disparo ativa no painel da PicChat, com canal e template aprovado.
  2. O ID da automação: no painel, abra a automação e use Integrar via API. A aba do HubSpot já mostra a URL e o corpo prontos para copiar.
  3. Um token de integração da conta (veja Autenticação e tokens). Crie um só para o HubSpot: se precisar trocar, você revoga sem derrubar as outras integrações.
  4. No HubSpot, um plano em que os workflows tenham a ação de webhook.

Configurar o workflow

No HubSpot, em Automações › Workflows, crie (ou abra) um workflow de contatos e adicione a ação de webhook:

Campo Valor
Método POST
URL https://api.picchat.com.br/automations/enrollments/hubspot
Autenticação Cabeçalho Authorization com o valor Bearer SEU_TOKEN
Corpo JSON com os campos abaixo
{
  "automation_id": "0193e1b7-2a3c-7f40-9b51-6c7d8e9fa0b2",
  "first_name": "{{contact.firstname}}",
  "last_name": "{{contact.lastname}}",
  "mobilephone": "{{contact.phone}}",
  "email": "{{contact.email}}"
}
  • automation_id é fixo: é a automação da PicChat que vai disparar.
  • Os demais campos vêm das propriedades do contato no HubSpot. Ligue cada chave à propriedade correspondente no editor do corpo do webhook.
  • Precisa de pelo menos celular ou e-mail. O celular pode vir em qualquer formato: a PicChat guarda só os dígitos e completa o 55 quando falta.

Qualquer outro campo no corpo vira propriedade do contato na PicChat, desde que a propriedade exista na conta com o mesmo nome interno. Mande, por exemplo, "etapa_do_funil": "{{contact.lifecyclestage}}" e use o valor nas variáveis do template.

Testar sem o HubSpot

curl --request POST \
  --url https://api.picchat.com.br/automations/enrollments/hubspot \
  --header 'Authorization: Bearer SEU_TOKEN' \
  --header 'Content-Type: application/json' \
  --data '{
    "automation_id": "0193e1b7-2a3c-7f40-9b51-6c7d8e9fa0b2",
    "first_name": "Maria",
    "mobilephone": "+55 (11) 99999-0000",
    "email": "maria.souza@example.com"
  }'
{ "message": "Hubspot enrollment request sent to processing queue" }

Esta chamada envia a mensagem de verdade. Teste com o seu próprio número. Como no disparo comum, o 201 só confirma que o pedido entrou na fila: confira o envio em GET /v1/messages?automation_id=….

O que acontece depois

  1. O contato é procurado pelo celular e pelo e-mail. Se existir, é atualizado; se não, é criado.
  2. Ele é inscrito na automação, que agenda o envio conforme o horário de atendimento do canal (detalhes).
  3. Cada vez que o workflow do HubSpot rodar de novo para o mesmo contato, a mensagem sai de novo. Use as regras de reinscrição do workflow para controlar isso.

Erros

Código Quando
400 Corpo sem automation_id
403 Automação desativada (Automation is inactive) ou que não é da conta do token (Automation Not found with id …)
498 Token ausente, inválido ou revogado. Confira se o cabeçalho tem o prefixo Bearer