Manuais:DANFEView/IntegracaoERP/ManifestarDocumentos

De unimake
Revisão de 11h03min de 26 de novembro de 2021 por Sergio (discussão | contribs)
Ir para: navegação, pesquisa

Integração: enviar Manifestações do Destinatário para o DANFE View

O sistema ERP pode informar ao DANFE View como ele deve manifestar os documentos que estão aguardando a respectiva manifestação.

Para tanto basta gerar um XML com as informações do documento e da manifestação, conforme esse modelo:

<?xml version="1.0" encoding="utf-8"?>
<manifest>
   <chaveAcesso>12345678901234567890123456789012345678901234</chaveAcesso>
   <cSitConf>3</cSitConf>
   <xJust>JUSTIFICATIVA DE NÃO TER REALIZADO A OPERAÇÃO</xJust>
   <xUsuario>NOME DO USUARIO RESPOSNSÁVEL PELA MANIFESTAÇÃO</xUsuario>
</manifest>


O envio de requisição de informações ao DANFE View se dá através de um arquivo XML que deve ser gerado na pasta tmp\integracao.

Aconselha-se que cada arquivo de requisição tenha sempre um nome exclusivo para evitar confusões entre requisições e respostas, bem como confusão entre requisições simultâneas nas diversas estações da rede. O nome sugerido é no formato "manif-12345678901234567890123456789012345678901234.xml", ou seja, o prefixo "manif-" acrescido da chave de acesso do documento.

O desenvolvedor tem toda a liberdade para criar os nomes de acordo com os recursos disponíveis em sua linguagem de programação.

Após ser lido, o arquivo XML da requisição é automaticamente removido pelo DANFE View, e um XML de resposta é gerado na pasta tmp\integracao\res, com o mesmo nome do XML de requisição, apenas acrescentando o prefixo "ret-" ao seu nome.

Exemplo: Se o XML de requisição for: C:\DANFEView\tmp\integracao\manif-12345678901234567890123456789012345678901234.xml O XML de resposta será: C:\DANFEView\tmp\integracao\res\ret-manif-12345678901234567890123456789012345678901234.xml

Observe que o fato de o DANFE View não gerar uma resposta ao ler o XML de envio não significa que a manifestação foi efetuada com sucesso, pois o processo é assíncrono. A manifestação será enviada à SEFAZ em outro momento, de acordo com a periodicidade configurada no DANFE View. Caso ocorra alguma rejeição da SEFAZ a informação poderá ser verificada pela interface do DANFE View.

TAGS do XML de envio

chaveAcesso Chave de acesso do documento. Esse documento deve existir na tela "Manifestação do Destinatário", do DANFE View.
cSitConf Situação da manifestação, podendo ser:
  • "1" para Confirmação da operação
  • "2" para Desconhecimento da operação
  • "3" para Operação não realizada
  • "4" para Ciência da operação
xJust Justificativa obrigatória quando a manifestação for tipo "3" (operação não realizada).
xUsuario Nome para identificar o responsável pela manifestação no sistema DANFE View

Todas as TAGs são obrigatórias, exceto a TAG "xJust" quando "cSitConf" for diferente de "3".


XML de retorno

<?xml version="1.0" encoding="utf-8"?>
<retManifest>
   <sucesso>1</sucesso>
   <xObs>OK</xObs>
   <ret chaveAcesso="12345678901234567890123456789012345678901234">
      <sucessoDoc>1</sucessoDoc>
      <xObsDoc>OK</xObsDoc>
   </ret>
   ...
</retManifest>

A TAG <sucesso> pode conter:

  • "0" - em caso de erro geral no processamento. Nesse caso, nenhum documento contido no XML de envio foi processado. Ex: a manifestação do destinatário não está configurada no DANFE View.
  • "1" - o lote foi processado, e as manifestações serão enviadas à SEFAZ pelo DANFE View na sequência. Nesse caso será gerado um grupo de TAGs <ret> para cada documento do XML de envio indicando se o mesmo foi processado ou não.

A TAG <xObs> será preenchida com:

  • "OK", se sucesso=1, ou
  • Mensagem de erro gerada pelo DANFE View no processamento da requisição, se sucesso=0; Exemplo: "A manifestação do destinatário não está configurada no DANFE View".

Em caso de sucesso=1, um grupo de TAGs <ret> será gerado para cada documento do XML de envio, com as TAGs:

<sucessoDoc> - podendo conter:

  • "0" - o documento não foi processado
  • "1" - o documento foi processado

<xObsDoc> - poderá conter:

  • "OK", se sucessoDoc=1
  • Mensagem de erro, se sucessoDoc=0