API oficial (Meta)

Instâncias da WhatsApp Cloud API: conexão, janela de 24 horas, templates e diferenças.

Uma instância da API oficial usa a WhatsApp Business Platform da Meta. As rotas e o formato dos webhooks são os mesmos da API OnZap; o que muda são as regras da Meta.

Conexão

No painel, crie a instância como API oficial (Meta) e conecte de um dos jeitos:

  • Com o Facebook: você entra com a conta da empresa na Meta e escolhe o número. Na coexistência, o número continua no app WhatsApp Business do celular e também passa a usar a API.
  • Manual: com as credenciais do seu próprio app na Meta (ID da conta do WhatsApp Business, ID do número, token permanente e chave secreta do app).

Janela de 24 horas

Depois da última mensagem do cliente, você tem 24 horas para responder com qualquer tipo de mensagem. Fora dessa janela, a Meta só aceita templates aprovados:

curl -X POST "https://app.onzap.io/v1/instances/SUA_INSTANCIA/messages/template" \
  -H "X-Instance-Token: SEU_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"chatId": "5511999999999", "template": "pedido_enviado", "language": "pt_BR", "body": ["Maria", "#1234"]}'
  • body preenche as variáveis do corpo: lista para {{1}}, {{2}}… ou objeto para variáveis nomeadas. header e buttons preenchem o cabeçalho e os botões; components aceita o formato cru da Cloud API.
  • GET /templates lista os templates da conta; POST /templates cria um novo (a Meta revisa antes de aprovar).
  • O status da revisão chega no evento template.status.

Botões e mensagens interativas

  • POST /messages/buttons: até 3 botões de resposta, ou um único botão de link.
  • POST /messages/list: lista com seções e opções.
  • POST /messages/interactive: o formato interativo da própria Meta, para casos avançados.

O clique do cliente chega como mensagem com type: button_reply ou list_reply, com o botão escolhido em reply.

Diferenças para a API OnZap

  • Sem grupos, canais, status e etiquetas. Nessas rotas, a resposta é 501 not_supported_by_provider.
  • Sem foto de perfil dos contatos: a Meta não fornece.
  • BSUID: usuários com nome de usuário podem chegar sem número, como BR.abc123@bsuid. Responda com o mesmo chatId.
  • Cobrança por mensagem: a Meta cobra as conversas direto na sua conta do WhatsApp Business. O custo de cada mensagem chega em payload.pricing no evento message.ack.
  • Qualidade e limites: GET /phone-number mostra a qualidade do número e o limite de envio; mudanças chegam no evento phone.quality.