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-Type✅application/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"
}