Meta Graph API

Mensagens e Graph API

A HookCloud provisiona e gerencia a conexão. O backend do partner pode enviar diretamente pela Meta.

Obter token e URL de envio

bash
curl --request POST 'https://api.hookcloud.app/functions/v1/swift-worker' \
  --header 'apikey: SUA_PUBLISHABLE_KEY' \
  --header 'Authorization: Bearer hc_partner_live_SUA_CHAVE' \
  --header 'Content-Type: application/json' \
  --data '{
    "route": "reveal-partner-instance-meta-token",
    "phone_number_id": "PHONE_NUMBER_ID"
  }'

Armazene criptografado no backend e substitua quando houver reconnect. Não registre o token em logs de aplicação.

Enviar texto

javascript
const response = await fetch('https://graph.facebook.com/v25.0/PHONE_NUMBER_ID/messages', {
  method: 'POST',
  headers: {
    Authorization: `Bearer ${META_ACCESS_TOKEN}`,
    'Content-Type': 'application/json'
  },
  body: JSON.stringify({
    messaging_product: 'whatsapp',
    to: '5511999999999',
    type: 'text',
    text: { body: 'Olá! Como podemos ajudar?' }
  })
});
const data = await response.json();

Referência: Messages API

Enviar template

javascript
const payload = {
  messaging_product: 'whatsapp',
  to: '5511999999999',
  type: 'template',
  template: {
    name: 'confirmacao_agendamento',
    language: { code: 'pt_BR' },
    components: [{
      type: 'body',
      parameters: [
        { type: 'text', text: 'Marcos' },
        { type: 'text', text: '22/07 às 15h' }
      ]
    }]
  }
};

Antes de enviar, consulte sendable=true e valide parameter_schema.

Receber status

json
{
  "object": "whatsapp_business_account",
  "entry": [{
    "changes": [{
      "field": "messages",
      "value": {
        "metadata": { "phone_number_id": "PHONE_NUMBER_ID" },
        "statuses": [{
          "id": "wamid.xxxxx",
          "status": "failed",
          "recipient_id": "5511999999999",
          "timestamp": "...",
          "errors": [{ "code": 131049, "title": "..." }]
        }]
      }
    }]
  }]
}

Mapeie o wamid à campanha e reporte os estados finais para a HookCloud quando quiser consolidar Saúde de Entregas.

Referência: Message Status Update Notifications

Janela de atendimento

Mensagens livres e templates seguem regras diferentes da plataforma. Use templates aprovados quando necessário, mantenha opt-in e não use automação para contornar controles de qualidade ou engajamento.

Retry recomendado

SituaçãoAção
HTTP 5xx / indisponibilidade temporáriaRetry exponencial com jitter
HTTP 429 / rate limitRespeitar Retry-After e reduzir concorrência
131049Não fazer retry imediato; aguardar e rever engajamento
131042Corrigir pagamento/linha de crédito da WABA
132000Corrigir parâmetros do template
132001Revalidar template, idioma e disponibilidade
Esta página ajudou?Use o Partner Portal para suporte e compartilhe o link desta seção.