Documentação da API

POST /chats/:chatId

Envia uma mensagem de template para um chat existente. Esta rota pode também criar o chat automaticamente se ele ainda não existir, desde que exista um contato correspondente ao identificador informado.

URL Base da API

https://api.whatsapp.fluxki.com.br

Todas as requisições devem ser feitas usando esta URL base seguida pelo endpoint desejado.

Resumo da rota

POST
/chats/:chatId
Autenticação obrigatória
JSON no corpo da requisição
Requer conta ativa
O que esta rota faz: envia uma mensagem baseada em template do WhatsApp para o chat informado. Se o chat não existir, a API tenta localizar um contato com o mesmo identificador.

Autenticação

A rota exige um token válido no cabeçalho Authorization e o cabeçalho X-Token-Type com valor external-app. Sem autenticação, a requisição será bloqueada.

Authorization: Bearer <SEU_TOKEN_DE_ACESSO>
Content-Type: application/json
X-Token-Type: external-app

Parâmetros de rota

Parâmetro Tipo Obrigatório Descrição
chatId string Sim ID do chat. Se não existir, a API tenta buscar um contato com esse mesmo identificador.

Corpo da requisição

O JSON precisa conter o nome do template, o idioma e os componentes opcionais do template.

{
  "language": "pt_BR",
  "template": "nome_do_template",
  "components": null
}
Campo Tipo Obrigatório Descrição
language string Sim Idioma do template. Ex.: pt_BR, en_US.
template string Sim Nome técnico do template cadastrado no WhatsApp Business.
components array ou null Sim Lista de componentes do template. Pode ser null quando o template não precisa de variáveis.
Importante: o formato de components precisa seguir a estrutura esperada pelo template. Se o template tiver parâmetros, eles devem ser enviados corretamente.

Fluxo de processamento

  1. Valida o token de autenticação.
  2. Procura o chat informado por chatId.
  3. Se o chat não existir, procura um contato com o mesmo identificador.
  4. Se encontrar o contato, cria o chat automaticamente.
  5. Valida o corpo da requisição.
  6. Envia o template para o WhatsApp.
  7. Registra a mensagem no chat.

Exemplo de requisição

curl -X POST "https://api.whatsapp.fluxki.com.br/chats/5511999999999" \
  -H "Authorization: Bearer <SEU_TOKEN_DE_ACESSO>" \
  -H "Content-Type: application/json" \
  -H "X-Token-Type: external-app" \
  -d '{
    "language": "pt_BR",
    "template": "boas_vindas",
    "components": null
  }'

Exemplo com variáveis no template

{
  "language": "pt_BR",
  "template": "agendamento_confirmacao",
  "components": [
    {
      "type": "body",
      "parameters": [
        {
          "type": "text",
          "text": "João"
        },
        {
          "type": "text",
          "text": "15/03/2026"
        }
      ]
    }
  ]
}

O exemplo acima é ilustrativo. A estrutura exata dos componentes depende do template configurado.

Exemplo de resposta de sucesso

{
  "responseAPI": {
    "messages": [
      {
        "id": "wamid.HBgL..."
      }
    ]
  },
  "message": {
    "type": "template",
    "from": "app_user",
    "waId": "wamid.HBgL..."
  }
}

Erros comuns

Status Quando acontece Exemplo de mensagem
401 Sem autorização ou token inválido Não autenticado
422 Contato não encontrado para o chatId Nenhum contato encontrado com o número informado
500 Falha ao enviar o template Ocorreu um erro
Observação: se o chat já existir, a rota usa o chat diretamente. Se não existir, ela tenta criar um novo chat com base no contato correspondente.