Skip to navigation

Enviando sua Primeira Mensagem

Pré-requisitos

  • Uma conta no Muchaw DEV com uma chave de API
  • Um número de WhatsApp com status: ACTIVE (veja o Quickstart)
  • O número de telefone do destinatário deve ter o WhatsApp instalado

Passo 1 — Encontre o ID do seu número

curl "https://dev.muchau.com.br/api/numbers?status=ACTIVE" \
-H "Authorization: Bearer $MUCHAW_API_KEY"

Copie o id do número a partir do qual você quer enviar.

Passo 2 — Envie uma mensagem de texto

curl -X POST https://dev.muchau.com.br/api/messages/send \
-H "Authorization: Bearer $MUCHAW_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"number_id": "<SEU_NUMBER_ID>",
"to": "5511999990000",
"type": "text",
"text": { "body": "Olá! Seu pedido #1234 está pronto." }
}'

Resposta bem-sucedida:

{
"id": "msg_01j...",
"wa_message_id": "wamid.HBgL...",
"status": "sent"
}

Passo 3 — Evite envios duplicados (opcional)

Adicione o header Idempotency-Key para fazer retry seguro em requisições com falha:

curl -X POST https://dev.muchau.com.br/api/messages/send \
-H "Authorization: Bearer $MUCHAW_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: pedido-1234-notificacao-v1" \
-d '{
"number_id": "<SEU_NUMBER_ID>",
"to": "5511999990000",
"type": "text",
"text": { "body": "Seu pedido #1234 está pronto." }
}'

Se você chamar este endpoint novamente com o mesmo Idempotency-Key dentro de 24 horas, você receberá a resposta original sem enviar uma mensagem duplicada.

Enviando diferentes tipos de mensagem

Mensagem de template

Templates precisam ser pré-aprovados pela Meta. Use-os para a primeira mensagem a um usuário (fora de uma janela de conversa).

{
"number_id": "<SEU_NUMBER_ID>",
"to": "5511999990000",
"type": "template",
"template": {
"name": "confirmacao_pedido",
"language": { "code": "pt_BR" },
"components": [
{
"type": "body",
"parameters": [
{ "type": "text", "text": "1234" }
]
}
]
}
}

Mensagem de imagem

{
"number_id": "<SEU_NUMBER_ID>",
"to": "5511999990000",
"type": "image",
"image": {
"link": "https://seu-cdn.com/recibo-1234.png",
"caption": "Seu recibo"
}
}

Mensagem de documento

{
"number_id": "<SEU_NUMBER_ID>",
"to": "5511999990000",
"type": "document",
"document": {
"link": "https://seu-cdn.com/nota-fiscal-1234.pdf",
"filename": "nota-fiscal-1234.pdf",
"caption": "Nota Fiscal #1234"
}
}

Tratando erros

Status HTTPCódigo de erroSignificado
401UNAUTHORIZEDChave de API inválida ou revogada
403FORBIDDENO número pertence a uma conta diferente
404NOT_FOUNDID do número não encontrado
422VALIDATION_ERRORCampos ausentes ou inválidos no corpo da requisição
{
"error": {
"code": "NOT_FOUND",
"message": "Number not found",
"status": 404
}
}

Acompanhe o status de entrega

Verifique o status da mensagem após o envio:

curl "https://dev.muchau.com.br/api/messages/<msg_id>" \
-H "Authorization: Bearer $MUCHAW_API_KEY"

Ou configure um webhook para os eventos message.delivered e message.read para atualizações em tempo real.