Fluxo rápido para cliente: autenticar, validar sessão existente, gerar QR Code, enviar texto e imagem.
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
Nos endpoints abaixo, o parâmetro session deve ser o nome da instância criada, por exemplo: instancia_franquia_profissionais_29.
curl -X GET "https://api-mensageria.tabinfo.com.br/api/sessions/instancia_franquia_profissionais_29" \ -H "X-API-Key: tk_sua_api_key_aqui"
O valor em {session} é o nome da instância criada (ex.: instancia_franquia_profissionais_29).
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.
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?"
}'
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.
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ó:
queued — aguardando a vez na fila (pacing anti-ban).sending — em processamento.sent — saiu do gateway para o WhatsApp; ainda sem confirmação de entrega.delivered / read — confirmado pelo WhatsApp (via webhook).failed — não foi enviada; job.error traz o motivo (ex.: imagem inacessível, instância desconectada).55 + DDD + numero5517988275459