Pular para o conteúdo principal

Contratos HTTP — Padrão de Governança

Objetivo

  • Contrato versionado e machine-readable (OpenAPI 3.1)
  • Clareza de request/response e semântica de erro
  • Compatibilidade evolutiva (backward compatible)
  • Rastreabilidade operacional por correlationId

Fonte da verdade

A especificação oficial vive em docs/openapi/bot-handler.openapi.yaml.

O playground interativo está disponível em API Reference.

Endpoints cobertos

EndpointMétodoDescrição
/healthGETHealth check — estado do serviço e circuit breakers
/readyzGETReadiness probe — conectividade DynamoDB
/api/messagesPOSTRecebe Activity do Bot Framework (Teams)

Headers obrigatórios

HeaderObrigatórioDescrição
Content-Typeapplication/json
AuthorizationEm produçãoBearer <Bot Framework JWT>
x-ms-bot-agent-signatureConfigurávelHMAC para validação de origem

Semântica de erro

StatusSignificado
200Sucesso — resposta já entregue ao usuário
202Aceito para processamento assíncrono
400Payload inválido ou schema incorreto
401Autenticação ausente ou inválida
429Rate limit excedido
500Erro interno — verificar logs e /health

Correlation ID

Todas as respostas de erro incluem correlationId para rastreamento em logs:

{
"error": "rate_limit_exceeded",
"correlationId": "a1b2c3d4-e5f6"
}