Saltar para o conteúdo principal
KSeF 2.0 · API

KSeF HTTP 429, 403 e 401: limites de pedidos e acesso negado

Estas três respostas não têm código KSeF de cinco dígitos, porque são códigos HTTP normais. Ainda assim seguem regras: o 429 chega com o cabeçalho Retry-After, o 403 com um campo reasonCode que diz o que falta e o 401 significa que expirou o token de acesso.

FlexigoTech · Responsável: Víctor Gómez · Atualizado em 5 de novembro de 2026

O essencial

Módulo
KSeF 2.0
Versões
Odoo 17, 18, 19 e 20
Verificado
nas fontes indicadas no fim
Leitura
3 min

Limite de pedidos: 429

Ao ultrapassar o limite, o KSeF responde com HTTP 429 «Too Many Requests», com o cabeçalho Retry-After, e bloqueia o acesso à API durante o tempo indicado. O exemplo da documentação: «Przekroczono limit 20 żądań na minutę. Spróbuj ponownie po 30 sekundach.» (ultrapassado o limite de 20 pedidos por minuto; tente novamente dentro de 30 segundos). Os limites contam-se por segundo, minuto e hora. Os limites mais altos entre as 20:00 e as 06:00 aplicam-se só à descarga e ainda não têm valores publicados; o envio de faturas não tem limites mais altos à noite.

O que mais importa ao enviar a partir do Odoo:

  • envio de uma fatura: 10 por segundo, 30 por minuto, 180 por hora;
  • abertura de sessão interativa: 10, 30 e 120;
  • estado de uma fatura na sessão: 30, 120 e 1200;
  • os restantes pedidos: 10, 30 e 120.
Cartão dos códigos HTTP 429, 403 e 401 do KSeF
O 429 com o texto da API, e o 401 e o 403, que chegam sem código KSeF.

Acesso negado: o 403 e o seu reasonCode

reasonCodeTexto do KSeF
missing-permissions«Brak wymaganych uprawnień do wykonania operacji w bieżącym kontekście.» (faltam permissões no contexto atual)
ip-not-allowed«Żądanie pochodzi z adresu IP innego niż wskazany podczas uwierzytelnienia.» (o pedido provém de um IP diferente do indicado ao iniciar sessão)
insufficient-resource-access«Brak dostępu do wskazanego zasobu.» (sem acesso a esse recurso)
auth-method-not-allowed«Ta operacja nie jest dostępna dla użytej metody uwierzytelnienia.» (não disponível com esse método de autenticação)
security-service-blocked«Żądanie zostało zablokowane przez mechanizmy bezpieczeństwa.» (bloqueado pelos mecanismos de segurança)
context-type-not-allowed«Operacja nie jest dostępna dla uwierzytelnionego typu kontekstu.» (não disponível para esse tipo de contexto)

As respostas 401 e 403 chegam no formato Problem Details, e as 400 e 429 também podem chegar, se o programa enviar o cabeçalho X-Error-Format: problem-details. O Odoo não o envia.

O que fazem Odoo 18, 19 e 20

Perante um 401, o Odoo renova o token de acesso e repete o pedido uma vez. Perante um 403 mostra «KSeF API Error: » com o corpo da resposta, pelo que verá o reasonCode na mensagem. Perante um 429 lança o erro «Too Many Requests»:

  • ao enviar, a fatura recebe esse erro e fica sem estado KSeF, e o Retry-After não é tido em conta: envie-a novamente um pouco mais tarde;
  • a descarga de faturas de fornecedor, que o Odoo faz cada 3 horas, lê o Retry-After e reagenda-se sozinha.

Depois de enviar, o Odoo pergunta pelo estado até 5 vezes, com 2 segundos de intervalo. Com muitas faturas enviadas de uma vez, esses pedidos também contam para o limite de estado.

Esquema: o que o KSeF devolve com as respostas HTTP 429, 403 e 401 e o que o Odoo 20 mostra
Esquema feito a partir do código de l10n_pl_edi do Odoo 20 e da especificação da API do KSeF 2.9.0; o riscado é o que o Odoo não guarda ou não faz.

Como evitar o 429

Uma fatura com o erro «Too Many Requests» não tem estado KSeF, porque o KSeF não aceitou o pedido, pelo que volta às faturas por enviar e não há risco de chegar duas vezes ao KSeF. Envie as faturas em lotes mais pequenos e não clique repetidamente em reenviar. Se atingir com frequência os limites de envio da sessão interativa, o Ministério das Finanças aconselha a pensar primeiro no modo por lotes e, se a sessão interativa for imprescindível, a escrever ao suporte do KSeF. O Odoo só envia faturas em sessão interativa. O nosso módulo, Poland KSeF 2.0 Validator, não faz pedidos ao KSeF, pelo que não gasta estes limites; com a subscrição, a sua validação do FA(3) passa para o FlexigoTech Cloud.

Um 403 security-service-blocked resolve-se sozinho?

A documentação apenas diz que o pedido foi bloqueado pelos mecanismos de segurança. Se se repetir com dados corretos, avise o suporte do KSeF.

Continue a ler

Exceções do KSeF ao enviar uma fatura: 21405, 21180, 21184 e as restantesExceções do KSeF ao enviar uma fatura: 21405, 21001, 21155, 21166, 21167, 21173, 21180, 21184, 21402 e 21403. O que significam e como aparecem no Odoo.Estados de autenticação do KSeF: 415, 425, 450, 470 e 480Estados do início de sessão no KSeF 2.0 além do certificado: sem permissões, revogado, token errado, bloqueio. Códigos 21301 e 21304 e como aparecem no Odoo.Códigos 410 e 415 do KSeF: permissões do vendedor e anexosO 410 «Nieprawidłowy zakres uprawnień» e o 415 em faturas com anexo: o que os causa nos testes do Ministério e o que rever no Odoo 18, 19 e 20.
Verificado nas fontes indicadas

Fontes