[codex] Atualiza limites da API de integração#4
Conversation
|
✅ Review postada — #4 (review) job_id: |
There was a problem hiding this comment.
Documentação dos rate limits da API de integração foi atualizada para refletir os grupos configurados em mchapigw/etc/mchapigw.d/ratelimit-rules.yml, incluindo agrupamento por api-key/int-key e a nota sobre fatores multiplicadores. Diff mínimo, escopo claro e idêntico entre v1 e v2.
|
/gaudinho review |
|
✅ Review postada — #4 (review) job_id: |
| | -------- | -------- | -------- | -------- | | ||
| | Crítico | `/api/integracao/solicitacao`<br />`/api/integracao/solicitacaoStatus` | `api-key` | 800 requisições por minuto | | ||
| | Crítico por integrador externo | `/api/integracao/solicitacao`<br />`/api/integracao/solicitacaoStatus` | `int-key` | 800 requisições por minuto | | ||
| | Condutores e créditos | `/api/integracao/saldoCreditosCondutor`<br />`/api/integracao/saldoCreditosCondutor/`<br />`/api/integracao/condutor`<br />`/api/integracao/taxista` | `api-key` | 80 requisições por minuto | |
There was a problem hiding this comment.
Nit (Readability) — a entrada /api/integracao/saldoCreditosCondutor/ (com barra final) ao lado de /api/integracao/saldoCreditosCondutor parece redundante para o leitor humano da doc, mesmo que reflita literalmente o YAML do gateway. Considere consolidar em uma única linha (ex.: /api/integracao/saldoCreditosCondutor[/...]) ou adicionar nota curta explicando por que ambos aparecem, evitando dúvida sobre se é typo.
| | Crítico por integrador externo | `/api/integracao/solicitacao`<br />`/api/integracao/solicitacaoStatus` | `int-key` | 800 requisições por minuto | | ||
| | Condutores e créditos | `/api/integracao/saldoCreditosCondutor`<br />`/api/integracao/saldoCreditosCondutor/`<br />`/api/integracao/condutor`<br />`/api/integracao/taxista` | `api-key` | 80 requisições por minuto | | ||
| | Posição do condutor | `/api/integracao/posicaoCondutor` | `api-key` | 1000 requisições por minuto | | ||
| | Categorias | `/integracao/v1/categoria*` | `api-key` | Sem bloqueio configurado. O gateway registra log a partir de 10 requisições por minuto. | |
There was a problem hiding this comment.
Nit (Readability) — as duas linhas com Sem bloqueio configurado. O gateway registra log a partir de 10 requisições por minuto. repetem texto longo dentro da coluna Limite. Sugestão informativa: extrair como nota de rodapé abaixo da tabela e referenciar via marcador (ex.: Somente log¹), reduzindo ruído visual na tabela e facilitando manutenção quando o limiar mudar.
| Os grupos mais específicos têm prioridade sobre o grupo padrão. | ||
| Os valores da tabela são limites base e podem variar por fatores multiplicadores configurados para cada chave e categoria. | ||
| O limite efetivo é calculado como `limite base * fator multiplicador`. | ||
| Quando não há fator específico, o fator padrão é `1`. |
There was a problem hiding this comment.
Sugestão (Readability) — o bloco explicativo sobre multiplicadores é útil, mas pode confundir integradores que não têm visibilidade dos fatores configurados. Vale uma frase curta dizendo onde/como o cliente consulta o multiplicador efetivo da chave dele (ou que o suporte deve ser contatado), para o leitor não ficar com a impressão de que o limite da tabela é o efetivo.
| | -------- | -------- | | ||
| | `/api/integracao/cliente`<br />`/api/integracao/solicitacao`<br />`/api/integracao/posicaoCondutor`<br />`/api/integracao/posicaoMotorista`<br />`/api/integracao/abrirSolicitacao` | 100 requests por minuto | | ||
| | `/api/integracao/consultarProgramada`<br />`/api/integracao/condutor` | 200 requests por minuto | | ||
| As políticas e limites específicos de rate limit para os endpoints da v2 estão atualmente em desenvolvimento (*Work in Progress*). Esta seção será atualizada assim que as regras definitivas forem estabelecidas. |
There was a problem hiding this comment.
Sugestão (Readability) — marcar a seção como WIP é honesto, mas remover a tabela antiga deixa integradores v2 sem nenhuma referência de limite até a definição final. Considere manter um limite default genérico ou apontar explicitamente para a tabela da v1 enquanto a v2 não tem regras próprias, evitando regressão de informação útil.
marcos-marques-gaudium
left a comment
There was a problem hiding this comment.
Acho relevante deixar um quadro de Rate Limit na V2 baseado no da V1, enquanto estiver em WIP, pq o rate limit da V2 atualmente tem como teto os rate limits dos endpoints de V1, já que internamente é feito o redirecionamento das requests.
O que mudou
mchapigw/etc/mchapigw.d/ratelimit-rules.yml.api-keye a exceção porint-keypara integrador externo.Impacto
Validação
ruby -e 'ARGV.each { |f| s=File.read(f); abort("missing title in #{f}") unless s.match?(/^title:/); abort("unclosed table in #{f}") unless s.include?("| Padrão |/api/integracao/*|api-key| 1000 requisições por minuto |") }; puts "mdx smoke ok"' pages/v1/referencia/introducao.mdx pages/v2/referencia/introducao.mdxgit diff --checkmint broken-linkscom Node 24: falhou por link quebrado existente emessentials/images.mdxpara/writing-content/embed.http://localhost:3000/pages/v2/referencia/introducao#rate-limitehttp://localhost:3000/pages/v1/referencia/introducao#rate-limit.