Based on NDD Frete SOAP Endpoint Architecture, the asynchronous process will be used to send NF-e Cancellation documents to NDD Frete, so the steps 3 to 6 will be used here:
•Step 3: NF-e cancellation sending step. Single or multiple NF-es are allowed.
oSingle NF-e cancellation Example:
<procEventoNFe xmlns="http://www.portalfiscal.inf.br/nfe" versao="1.00">
<evento xmlns="http://www.portalfiscal.inf.br/nfe" versao="1.00">
<infEvento Id="ID1101113520013843396600019555001000000029153491510901">
<cOrgao>35</cOrgao>
<tpAmb>1</tpAmb>
<CNPJ>38433966000195</CNPJ>
<chNFe>35200138433966000195550010000000291534915109</chNFe>
<dhEvento>2021-11-30T08:26:31-03:00</dhEvento>
<tpEvento>110111</tpEvento>
<nSeqEvento>1</nSeqEvento>
<verEvento>1.00</verEvento>
<detEvento versao="1.00">
<descEvento>Cancelamento</descEvento>
<nProt>143210249865045</nProt>
<xJust>divergencia de marca</xJust>
</detEvento>
</infEvento>
<Signature xmlns="http://www.w3.org/2000/09/xmldsig#">
<SignedInfo>
<CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/>
<SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1"/>
<Reference URI="#ID1101114321110840776800027755001000037397115476083201">
<Transforms>
<Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature"/>
<Transform Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/>
</Transforms>
<DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/>
<DigestValue>9jxCcq6J/YvRf/dDyxo8rEMvCYU=</DigestValue>
</Reference>
</SignedInfo>
<SignatureValue>V3WrPmZKXPVGVQ7L1bY1zc6GocNg7Wh61pu2JqlFySxbyJXsOxWDe8JJNc4ord2K+abhFXxqGTFlZwOo0w9vSkQCk6y3dO/R/Xu/L9W97ZWpPr2F3tInIksl9+BI/hWL4mZbM8K+Myufsn8Ywm/mRfrAb6hIdDIyG3mfhn5RtqQjQnN7c2rQSRL0oE67fPsbxDc6rA85HrMqdEi+CIXx4Shf4/Y9Ho2kFltiLEmONnL5XtN3Nw5Qk68oSjltcLAx4P5x8jFw3QVFjVj4ODNFqojZctxYeDTj3S3wtRBfdBhKpRv/Ax465Re1uKgrONoYZwwTQ1MY0oHqgKlXTGXvxQ==</SignatureValue>
<KeyInfo>
<X509Data>
<X509Certificate>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</X509Certificate>
</X509Data>
</KeyInfo>
</Signature>
</evento>
<retEvento versao="1.00">
<infEvento>
<tpAmb>1</tpAmb>
<verAplic>202110261938</verAplic>
<cOrgao>35</cOrgao>
<cStat>135</cStat>
<xMotivo>Evento registrado e vinculado a NF-e</xMotivo>
<chNFe>35200138433966000195550010000000291534915109</chNFe>
<tpEvento>110111</tpEvento>
<nSeqEvento>1</nSeqEvento>
<CNPJDest>00729406000100</CNPJDest>
<dhRegEvento>2021-11-30T08:26:34-03:00</dhRegEvento>
<nProt>143210249880339</nProt>
</infEvento>
</retEvento>
</procEventoNFe>
oMultiple NF-es:
oOnly with CompressedSend Method.
•Step 4: Sending result. This step is a result from the previous request, it will return if NDD Frete was able to receive the external call or not. The result is based on Request Settings Structure (header), and the ResponseCode will inform if the message has been received.
oExample:
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<soap:Body>
<SendResponse xmlns="http://nddigital.com.br/">
<SendResult><![CDATA[
<CrosstalkMessage>
<CrosstalkHeader>
<ProcessCode>6002</ProcessCode>
<MessageType>100</MessageType>
<ExchangePattern>7</ExchangePattern>
<Guid>5713de42-100f-ec11-9ae5-000d3ac10626</Guid>
<EnterpriseId>3296265a-1861-4170-8c7e-89de8b10162d</EnterpriseId>
<Token>1ac9cc6b-5044-4abf-a418-a6a42527628e</Token>
<ContentEncoding>utf-8</ContentEncoding>
<ContentType>text/xml</ContentType>
<ResponseCode>200</ResponseCode>
<ResponseMessage>A mensagem foi recebida e está sendo processada.</ResponseMessage>
</CrosstalkHeader>
</CrosstalkMessage>
]]></SendResult>
</SendResponse>
</soap:Body>
</soap:Envelope>
•Step 5: This request is not mandatory and is used to check if the NF-es sent were successful processed. In order to get the NF-es processing result, the external system must inform the <Guid> returned at step 4 response and set "8" in the <ExchangePattern> parameter, just like the following image:
PS.: The <Guid> retrived at step 4 will be an input in this step.
oExample
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ndd="http://nddigital.com.br/">
<soapenv:Header/>
<soapenv:Body>
<ndd:Send>
<!--Optional:-->
<ndd:header><![CDATA[
<CrosstalkMessage>
<CrosstalkHeader>
<ProcessCode>6002</ProcessCode>
<MessageType>100</MessageType>
<ExchangePattern>8</ExchangePattern>
<Guid>5713de42-100f-ec11-9ae5-000d3ac10626</Guid>
<EnterpriseId>3296265a-1861-4170-8c7e-89de8b10162d</EnterpriseId>
<Token>1ac9cc6b-5044-4abf-a418-a6a42527628e</Token>
<ContentEncoding>utf-8</ContentEncoding>
<ContentType>text/xml</ContentType>
</CrosstalkHeader>
</CrosstalkMessage>
]]></ndd:header>
<!--Optional:-->
<ndd:rawdata></ndd:rawdata>
</ndd:Send>
</soapenv:Body>
</soapenv:Envelope>
•Step 6: The NF-es cancellation processing result will be informed in the Dynamic Content (rawdata), at the following structure:
oExample:
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<soap:Body>
<SendResponse xmlns="http://nddigital.com.br/">
<SendResult><![CDATA[
<CrosstalkMessage>
<CrosstalkHeader>
<ProcessCode>6002</ProcessCode>
<MessageType>100</MessageType>
<ExchangePattern>8</ExchangePattern>
<Guid>5713de42-100f-ec11-9ae5-000d3ac10626</Guid>
<EnterpriseId>3296265a-1861-4170-8c7e-89de8b10162d</EnterpriseId>
<Token>1ac9cc6b-5044-4abf-a418-a6a42527628e</Token>
<ContentEncoding>utf-8</ContentEncoding>
<ContentType>text/xml</ContentType>
<ResponseCode>205</ResponseCode>
<ResponseMessage>A mensagem foi processada com sucesso.</ResponseMessage>
</CrosstalkHeader>
<CrosstalkBody>
<RawData>
<![CDATA[
<DataInputResponse Version="1.0">
<InputBlock>
<ResponseCode>410</ResponseCode>
<ResponseMessage>Processamento realizado com sucesso.</ResponseMessage>
</InputBlock>
<Document>
<Id>29201033337122022600550010000000011869296432</Id>
<ResponseCode>422</ResponseCode>
<ResponseMessage>Processamento realizado com inconsistência. O Documento Originário não possui nenhuma relação informada de vínculo com Ordens/Embarques!</ResponseMessage>
</Document>
</DataInputResponse>]]]]>>
<![CDATA[
</RawData>
</CrosstalkBody>
</CrosstalkMessage>
]]></SendResult>
</SendResponse>
</soap:Body>
</soap:Envelope>
oResponseCode: The processing result code, check each code meaning bellow:
Code |
Message |
Situation |
409 |
Em processamento. Processing. |
|
410 |
Processamento realizado com sucesso. Document successful processed. |
|
411 |
Erro ao realizar o processamento. Ocorreu um erro inesperado no processamento do conteúdo, valor de entrada não condiz com o esperado. The content informed in step 3 didn't meet what NDD Frete was expecting (NF-e). |
|
412 |
Processamento realizado com inconsistência. |
|
413 |
Processamento realizado com inconsistência. NF-e {Chave NF-e} não encontrada. |
|
414 |
Processamento realizado com inconsistência. Não é possível receber cancelamento de NF-e vinculada a embarque liberado |
|
415 |
Liberação de Embarque não pode ser enviada para processamento. Não é possível receber a Liberação de Embarque porque o Embarque já está liberado. |
|
416 |
A Liberação de Embarque foi enviada para processamento com sucesso. |
|
417 |
O emitente/destinatário da NF-e não é uma filial cadastrada. |
|
418 |
Ordem(ns) não encontrada(s): {Lista de ordens} |
|
419 |
Liberação de embarque já encontrada para a {Chave NF-e} |
|
420 |
Falha na Integração TMS. |
|
421 |
Não foi encontrado a(s) Ordem(ns) com o número do pedido informado no Documento Originário: {Chave NF-e} |
|
422 |
O Documento Originário não possui nenhuma relação informada de vínculo com Ordens/Embarques! |
|
423 |
Ocorreu um erro na integração das informações do Documento Originário. |
|
424 |
Documentos cancelados não podem ser vinculados a embarques. |
|
425 |
O Documento Originário não possui vinculo com Ordens/Embarques. |