Boa tarde, pessoal.
Estamos enviando DPS em lote para o ADN em Produção Restrita, pelo POST /dfe, com várias DPS no array LoteXmlGZipB64. Seguimos o manual: até 50 documentos por lote, em ordem crescente de número.
Em um teste com 4 DPS no mesmo lote, 2 foram aceitas e 2 foram rejeitadas (E1325). O retorno trouxe 4 itens em Lote:
- Aceitas: vieram com ChaveAcesso e NsuRecepcao preenchidos, então conseguimos identificar a nota pela chave.
- Rejeitadas: vieram com StatusProcessamento = PROCESSADO_COM_ERROS, ChaveAcesso nula e NsuRecepcao vazio. Nada no item indica a qual DPS do envio o erro se refere.
Exemplo resumido do retorno (dados omitidos):
{
“Lote”: [
{ “ChaveAcesso”: “4119905…0001”, “NsuRecepcao”: “123”, “StatusProcessamento”: “PROCESSADO” },
{ “ChaveAcesso”: null, “NsuRecepcao”: “”, “StatusProcessamento”: “PROCESSADO_COM_ERROS”,
“Erros”: [ { “Codigo”: “E1325”, “Descricao”: “…” } ] },
{ “ChaveAcesso”: “4119905…0003”, “NsuRecepcao”: “124”, “StatusProcessamento”: “PROCESSADO” },
{ “ChaveAcesso”: null, “NsuRecepcao”: “”, “StatusProcessamento”: “PROCESSADO_COM_ERROS”,
“Erros”: [ { “Codigo”: “E1325”, “Descricao”: “…” } ] }
]
}
No nosso teste, os itens voltaram na mesma ordem em que as DPS foram enviadas. Então, por enquanto, ligamos cada item rejeitado à DPS pela posição. Só que não encontramos no manual nada que garanta essa ordem no retorno.
No tópico “Falta de identificação de notas fiscais no retorno com erros na integração” também foi sugerido usar o índice do array.
Também citado em “Ordenação de JSON no retorno de envio em lote”
Dúvidas:
- A ordem dos itens em Lote no retorno é garantida igual à ordem de LoteXmlGZipB64 no envio, inclusive quando parte das DPS é rejeitada?
- O retorno pode vir com menos itens do que foram enviados, por exemplo numa rejeição de esquema? Se sim, como identificar qual DPS ficou sem retorno?
- Existe previsão de incluir no item de erro um identificador da DPS, como o Id da infDPS ou a chave, para não depender da posição?
Nos testes gerados com mais de 500 requisições os dados se mantiveram estáveis.
Alguém já passou por isso ou teve retorno oficial do atendimento?
Obrigado!