Boa prática para obter o último NSU no serviço de distribuição (DFe/NSU)

Olá, pessoal.

Estou com uma dúvida em relação ao serviço de distribuição de documentos fiscais via NSU (endpoint: https://adn.nfse.gov.br/contribuintes/DFe/NSU).

Pelo que entendi, o serviço realiza a distribuição sequencial por NSU, retornando os documentos em lotes de 50 NSUs por requisição, sempre a partir do NSU informado.

O cenário que estou enfrentando é o seguinte:

  • Existem empresas que podem ter milhares (ou mais) de documentos.

  • Em alguns casos, o compartilhamento ocorre desde 2023.

  • Isso significa que podem existir milhares de NSUs acumulados.

  • Como o retorno é limitado a 50 NSUs por chamada, para chegar até o NSU mais recente seria necessário percorrer sequencialmente todos os blocos de 50 em 50.

O grande ponto é que, em alguns cenários, não tenho interesse em consumir todo o histórico desde o primeiro NSU, mas sim acessar apenas os documentos mais recentes (por exemplo, do último mês).

Minha dúvida é:

  • Existe alguma boa prática recomendada para alcançar o NSU mais recente sem precisar percorrer toda a sequência desde o início (50 em 50)?
  • Há alguma estratégia sugerida para evitar um volume muito alto de requisições apenas para descobrir qual é o último NSU disponível?

Gostaria de entender se existe alguma orientação oficial ou prática adotada pela comunidade para esse tipo de cenário de alto volume.

Agradeço desde já qualquer direcionamento.

Obrigado!

Bom dia @AlexandreRoyer

Também tenho a mesma duvida.

@elisabetebach @EmirToktar

Bom dia,
Por gentileza, poderia nos ajudar com essa nossa duvida?

Existe uma opção no Demo do ACBr pra trazer por data.
Mas eu decidi usar por lote também, deixo carregando tudo e depois posso apagar os registros a partir de uma data.

Também estamos enfrentando dúvidas nesse sentido. Até então, só localizamos meios de obter as NFS-es através de NSUs (com os grupos de 50 documentos para cada requisição), o que pode dificultar o processo de obtenção desses documentos…

Estou implementando um job para buscar as DFe, eu salvo cada nota separadamente e seu respectivo NSU. Sempre que eu faço uma nova requisição para buscar um próximo lote, eu faço uma consulta em banco de qual o maior NSU registrado, adiciono +1 e mando buscar no endpoint.