Lógica para puxar notas emitidas no CNPJ do cliente

Opa bom dia pessoal, estou implementando uma lógica no meu sistema para puxar as NF-e e NFC-e emitidas para o CNPJ do cliente. Verifiquei que tem a API de distribuição de nfe que parece ser o que eu preciso, porém ao tentar utilizar ela, está dando erro de permissão, então coloquei no scope do token os seguintes valores:

‘scope’ => ‘empresa nfe distribuicao-nfe’

Erro: {“error”:“access_denied”,“error_description”:“Client has not been granted scopes: distribuicao-nfe”}

Porém depois de colocar a “distribuicao-nfe” não está gerando mais o token. Esse é o scope correto para utilizar essa API?

Outra dúvida, após fazer essa tela para listar as notas emitidas no CNPJ do cliente, preciso fazer uma função para manifestar essas notas, para fazer isso seria essa opção na API né? API Nuvem Fiscal | Nuvem Fiscal

Olá @evandro1, seja bem-vindo à Nuvem Fiscal!

Sim, esse é o escopo correto. Porém, parece que o seu client id é que não está configurado com esse escopo.

Recomendo que você tente criar um novo par de credenciais (client id e client secret) com permissão para gerar token com escopo distribuicao-nfe, e então tente novamente, por favor.

Sim, o controle do fluxograma fica todo sob seu controle, da forma que você quiser fazer no seu sistema.

Você ainda pode também pedir à Nuvem para fazer alguns processos automaticamente, usando o endpoint de configuração:

https://dev.nuvemfiscal.com.br/docs/api/#tag/Empresa/operation/AlterarConfigDistribuicaoNfe

Show Wagner, criei um novo token com as permissões corretas aqui e consegui utilizar com sucesso. A dúvida que estou agora seria com relação a API de de distribuição de nfe. No caso preciso puxar as notas emitidas para o CNPJ de um cliente, eu posso colocar qualquer CNPJ que irá retornar os documentos, ou apenas CNPJ de empresas cadastradas na aba de empresas da NuvemFiscal?

Pergunto isso porque tentei puxar as NFe utilizando a API https://api.nuvemfiscal.com.br/distribuicao/nfe/documentos, porém não está retornando nada no campo data, testei com todos os clientes que temos cadastrados na aba de empresas da NuvemFiscal. Teria alguma data que procura por padrão ou um limite de tempo, por exemplo, notas emitidas dentro de 9 meses para esse cliente ou algo nesse sentido, ou era para puxar mesmo?

Bom dia, @evandro1.

É necessário cadastrar a empresa na Nuvem Fiscal, enviar o certificado digital e configurar o serviço de Distribuição NF-e.

O endpoint Listar documentos retorna apenas os documentos já distribuídos e armazenados na Nuvem Fiscal.

Para efetivamente buscar novos documentos diretamente no Ambiente Nacional da SEFAZ, é necessário realizar um pedido de distribuição através do endpoint Distribuir documentos :
https://dev.nuvemfiscal.com.br/docs/api/#tag/Distribuicao-NF-e/operation/GerarDistribuicaoNfe

Bom dia, @arimateia.

Muito obrigado pela ajuda, consegui emitir notas em homologação e puxar elas pela API de distribuir documentos. Porém fiquei com uma dúvida, apenas estou conseguindo buscar essas notas uma vez por hora, tem alguma configuração para alterar isso? Pergunto porque já temos um sistema com essa integração só que direto com o SEFAZ e é permite utilizar mais vezes dentro de uma hora, aí fiquei na dúvida.

Bom dia, @evandro1.

Essa restrição ocorre em situações específicas, por exigência da SEFAZ, com o objetivo de prevenir o bloqueio do CNPJ por consumo indevido.

O exemplo mais comum é o pedido de distribuição por NSU. Quando ultNSU for igual ao valor do maxNSU retornado pelo serviço, quer dizer que não existem mais documentos para serem recuperados. Neste caso, para não haver bloqueio por uso indevido, deve-se aguardar 1 hora para realização de novas consultas.

Para mais informações, consulte a Nota Técnica 2014.002 da SEFAZ.

@evandro1

Caso prefira, é possível configurar para que a API faça a distribuição e a ciência automática.

Para isso, utilize o endpoint Alterar configuração de Distribuição de NF-e:

Segue o link da documentação completa desse endpoint:
https://dev.nuvemfiscal.com.br/docs/api#tag/Empresa/operation/ConsultarConfigDistribuicaoNfe

Caso queira que a API da Nuvem Fiscal ignore essa restrição, basta utilizar o campo ignorar_tempo_espera no pedido de distribuição.

Mais detalhes no tópico a seguir: