Enviar uma mensagem por um canal
Manda texto livre ou um template aprovado a um contato pelo WhatsApp oficial. Texto livre só vale dentro da janela de 24 h desde a última mensagem do contato; fora dela, só template, conferido na Meta agora contra o nome, o idioma e as variáveis. O cliente bloqueado não envia (402). A Idempotency-Key é obrigatória: um template custa na Meta, e um reenvio depois de um timeout falaria duas vezes com o contato.
Autorização
bearer channels:executeCredencial da v3: o JWT da sessão (o mesmo da v2) ou um token pessoal dom_pat_…. A lista de escopos de cada operação diz o que ela exige: uma capacidade (agents:read), authenticated ou session-only. Segredo de máquina (X-Agent-Secret, X-API-Token, sdk_…) não é aceito.
Em: header
Escopo: channels:execute
Parâmetros de caminho
Id do canal
Parâmetros de cabeçalho
Chave de 1 a 255 caracteres ASCII visíveis, estável por intenção do usuário: a mesma chave numa retentativa devolve a primeira resposta em vez de repetir o efeito.
Corpo da requisição
application/json
Definições TypeScript
Use o tipo request body no TypeScript.
O corpo de POST /channels/{channel_id}/messages.
Corpo da resposta
application/json
application/json
curl -X POST "https://example.com/channels/string/messages" \ -H "Idempotency-Key: b3f0c1e2-4a5b-4c6d-8e9f-0a1b2c3d4e5f" \ -H "Content-Type: application/json" \ -d '{ "content": { "text": "string", "type": "text" }, "to": "string" }'{ "conversation_id": "cc71b11a-25cd-4c2d-9950-df2cc38e3407", "message_ids": [ "string" ]}