Conexões

Cadastro e gerenciamento de canais (instâncias) que alimentam o Inbox da Plataforma Keeptor. V1 cobre WhatsApp.

Conexões Omnichannel

Endpoints para cadastrar e gerenciar canais que alimentam o Inbox da Plataforma Keeptor. V1 cobre WhatsApp (canal único). A arquitetura foi desenhada para incluir Email, Instagram e Telegram no futuro sem mudar essa API.

Autenticação

Todas as rotas exigem Authorization: Bearer <access_token> (obtido via Login). Você só acessa conexões da sua própria organização.

Convenção de URL

Todas as URLs são prefixadas por:

  • Produção: https://api.keeptor.com/prd/v1/omni/connections
  • Homologação: https://api.keeptor.com/tst/v1/omni/connections

Endpoints by-id usam query string ?id=N em vez de path param /{id}:

  • GET /v1/omni/connections/by-id?id=42
  • GET /v1/omni/connections/qr?id=42
  • GET /v1/omni/connections/status?id=42
  • POST /v1/omni/connections/disconnect?id=42
  • DELETE /v1/omni/connections/by-id?id=42

Esta é uma decisão arquitetural deliberada do Gateway Keeptor para garantir consistência entre todos os endpoints by-id da Plataforma. O contrato é estável e suportado long-term.

Estados (status_code)

status_codeSignificadoCor sugerida na UI
creatingProvisionando o canalcinza neutro
awaiting_qrQR pronto para scanâmbar pulsante
qr_expiredQR expirou — chamar "Regerar QR"âmbar com badge "Expirado"
connectedConectado e operacionalverde
disconnectedDesconectadocinza com unlink
bannedCanal banidovermelho
errorErro de comunicaçãovermelho alerta

Erros

Padrão Keeptor: toda resposta de erro segue o schema ErrorResponse:

{
  "success": false,
  "error": { "type": "UNAUTHORIZED", "message": "Sessão inválida" }
}

Codes possíveis nos endpoints de Conexões:

HTTPerror.typeSignificado
401UNAUTHORIZEDHeader Authorization ausente
401INVALID_TOKENToken mal-formado ou inválido
401SESSION_NOT_FOUNDSessão foi encerrada
401SESSION_EXPIREDSessão expirou
400VALIDATION_ERRORBody da chamada inválido
404NOT_FOUNDid não existe ou não pertence à sua organização
500ADAPTER_ERRORFalha temporária na comunicação com o canal
500DB_ERRORFalha interna ao gravar/ler dados

Lista canônica completa de codes está no schema ErrorResponse.error.type do OpenAPI.

Eventos em tempo real

Mudanças nos canais (status da conexão, novo QR Code) são capturadas pelos webhooks internos da Plataforma e propagadas em tempo real.