API Pública Compatibilidade Legado

Documentação de Integração

Fluxo rápido para cliente: autenticar, validar sessão existente, gerar QR Code, enviar texto e imagem.

1) Autenticação

Todas as requisições usam o header X-API-Key.

X-API-Key: tk_sua_api_key_aqui

Base URL: https://api-mensageria.tabinfo.com.br/api

2) Sessão

Nos endpoints abaixo, o parâmetro session deve ser o nome da instância criada, por exemplo: instancia_franquia_profissionais_29.

Consultar sessão

curl -X GET "https://api-mensageria.tabinfo.com.br/api/sessions/instancia_franquia_profissionais_29" \
  -H "X-API-Key: tk_sua_api_key_aqui"

3) QR Code

O valor em {session} é o nome da instância criada (ex.: instancia_franquia_profissionais_29).

Gerar QR da sessão

curl -X GET "https://api-mensageria.tabinfo.com.br/api/instancia_franquia_profissionais_29/auth/qr" \
  -H "X-API-Key: tk_sua_api_key_aqui" \
  --output qrcode.png

Retorno desse endpoint é binário image/png.

4) Envio de Mensagens

Enviar texto

curl -X POST "https://api-mensageria.tabinfo.com.br/api/sendText" \
  -H "X-API-Key: tk_sua_api_key_aqui" \
  -H "Content-Type: application/json" \
  -d '{
    "session": "instancia_franquia_profissionais_38",
    "chatId": "5517988275459",
    "text": "Bom dia! Está tudo certo para o atendimento hoje?"
  }'

Enviar imagem

curl -X POST "https://api-mensageria.tabinfo.com.br/api/sendImage" \
  -H "X-API-Key: tk_sua_api_key_aqui" \
  -H "Content-Type: application/json" \
  -d '{
    "session": "instancia_franquia_profissionais_38",
    "chatId": "5517988275459",
    "file": {
      "url": "https://picsum.photos/800/600",
      "mimetype": "image/jpeg"
    },
    "caption": "Foto de exemplo"
  }'

As rotas de envio respondem com PENDING pois o processamento é assíncrono (fila). O campo messageId da resposta é o identificador da mensagem no gateway — guarde-o para consultar a situação real depois.

Consultar a situação de uma mensagem

curl "https://api-mensageria.tabinfo.com.br/api/messages/12345" \
  -H "X-API-Key: tk_sua_api_key_aqui"

Várias de uma vez (até 200 ids): GET /api/messages?ids=12345,12346,12347. Estas consultas não geram novos registros de log.

Resposta (resumo):

{
  "data": {
    "id": 12345,
    "outcome": "delivered",
    "job":      { "status": "completed", "attempts": 1, "error": null },
    "delivery": { "status": "delivered", "wa_message_id": "3EB0…", "delivered_at": "2026-09-09T13:02:11-03:00", "read_at": null },
    "instance": { "id": 42, "name": "instancia_franquia_clientes_42", "status": "connected" }
  }
}

outcome resume tudo num valor só:

5) Formato do chatId

6) OpenAPI / Swagger

Especificação em YAML: /docs/api-openapi

Swagger Editor: editor.swagger.io