Como adicionar o protocolo ao XML(NFe) transmitida

1,426 views
Skip to first unread message

Paulo Souza

unread,
Sep 25, 2017, 10:03:44 AM9/25/17
to NFePHP
Bom dia Roberto e demais membros que possam me ajudar.

No processo de geração de NFe utilizando sped-nfe php, consigo gerar o XML, Assinar, Transmitir consultar protocolo.

O gargalo está em como adicionar o protocolo ao xml da NFe transmitida? como o trecho abaixo:

<protNFe versao="3.10">
<infProt>
<tpAmb>1</tpAmb>
<verAplic>SP_NFE_PL_008i2</verAplic>
<chNFe>35170911149881000204550020000020236521249711</chNFe>
<dhRecbto>2017-09-12T14:41:37-03:00</dhRecbto>
<nProt>134470532651477</nProt>
<digVal>vz9cPTkLuYniFewlOpGHagl4I+A=</digVal>
<cStat>100</cStat>
<xMotivo>Autorizado o uso da NF-e</xMotivo>
</infProt>
</protNFe>

Eu já havia perguntado antes em outro tópico não relacionado ao assunto, porém, não obtive resposta, criei este tópico porque se ele for sanado, acredito que possa ajudar mais pessoas devido ao título objetivo.

Vi em algum momento, que a forma de transmissão assíncrona ou síncrona influencia nisso, mas, não surtiu efeito pra mim.

Dentro da estrutura do projeto há uma classe Factories\Protocol, onde tem a função add, que espera 2 xmls. O problema é que a função espera 2 xmls, um deles eu tenho, o outro não.

O protocolo tem que ser adicionado manualmente usando esta classe? 1 dos xmls informados pode ser o assinado ok? e o outro, qual é?

Me ajude dando se possível uma explicação desse processo, não precisa mandar código pronto.

Obrigado.

Paulo Souza




Roberto Machado

unread,
Sep 25, 2017, 10:12:57 AM9/25/17
to nfe...@googlegroups.com
Paulo;

Para adicionar o protocolo use Complements::class

use NFePHP\NFe\Complements;

$protocoledXML = Complements::toAuthorize($signedNFe, $response);

Onde :

$signedNFe  = xml da NFe assinado
$response = retorno com o protocolo
$protocoledXML =  xml com o protocolo

Roberto

Paulo Souza

unread,
Sep 25, 2017, 1:22:09 PM9/25/17
to NFePHP
Mensagem de erro retornada: O documento de resposta não contêm o NODE &lt;protNFe (protNFe)

O meu $signedNFe pode ser um file_get_contents('caminho do meu xml assinado') ok?

Roberto Machado

unread,
Sep 25, 2017, 1:57:27 PM9/25/17
to nfe...@googlegroups.com
Sim mas o erro se refere a outra parte. A resposta em xml da SEFAZ apos a consulta do recebo




--
--
Você recebeu esta mensagem porque está inscrito no Grupo "NFePHP".
Para Postar: nfe...@googlegroups.com
Para Sair do Grupo: nfephp+unsubscribe@googlegroups.com
Link: http://groups.google.com.br/group/nfephp?hl=pt-BR
-------
Repositório: https://github.com/nfephp-org/nfephp
---
Você recebeu essa mensagem porque está inscrito no grupo "NFePHP" dos Grupos do Google.
Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para nfephp+unsubscribe@googlegroups.com.
Para mais opções, acesse https://groups.google.com/d/optout.



--
Roberto
Nisi utile est quod facimus stulta est gloriae (Julius Phaedous)

Paulo Souza

unread,
Sep 27, 2017, 9:35:17 AM9/27/17
to NFePHP
Bom dia Roberto, o erro permance o mesmo: O documento de resposta não contêm o NODE <protNFe>.

Pergunta, eu tenho que adicionar esse NODE mesmo que vazio em algum momento? Qual ? e como faria? 



Em segunda-feira, 25 de setembro de 2017 14:57:27 UTC-3, linux.rlm escreveu:
Sim mas o erro se refere a outra parte. A resposta em xml da SEFAZ apos a consulta do recebo



Em 25 de setembro de 2017 14:22, Paulo Souza <gbp...@gmail.com> escreveu:
Mensagem de erro retornada: O documento de resposta não contêm o NODE &lt;protNFe (protNFe)

O meu $signedNFe pode ser um file_get_contents('caminho do meu xml assinado') ok?





Em segunda-feira, 25 de setembro de 2017 11:12:57 UTC-3, linux.rlm escreveu:
Paulo;

Para adicionar o protocolo use Complements::class

use NFePHP\NFe\Complements;

$protocoledXML = Complements::toAuthorize($signedNFe, $response);

Onde :

$signedNFe  = xml da NFe assinado
$response = retorno com o protocolo
$protocoledXML =  xml com o protocolo

Roberto

--
--
Você recebeu esta mensagem porque está inscrito no Grupo "NFePHP".
Para Postar: nfe...@googlegroups.com
Para Sair do Grupo: nfephp+un...@googlegroups.com

Link: http://groups.google.com.br/group/nfephp?hl=pt-BR
-------
Repositório: https://github.com/nfephp-org/nfephp
---
Você recebeu essa mensagem porque está inscrito no grupo "NFePHP" dos Grupos do Google.
Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para nfephp+un...@googlegroups.com.

Para mais opções, acesse https://groups.google.com/d/optout.

Carlos Alberto

unread,
Sep 27, 2017, 9:42:01 AM9/27/17
to NFePHP
Paulo, o método de consulta do recibo, te retorna um xml, coloca esse xml aqui.

Paulo Souza

unread,
Sep 27, 2017, 9:54:39 AM9/27/17
to NFePHP
Anexo o arquivo, este é o retorno da $tools->sefazConsultaRecibo($recibo);

Eu achei estranho foi que o verAplic do retConsReciNFe é diferente do verAplic do protNFe

Mas uma vez que eu tenho esta resposta, como eu adiciono o protocolo ao xml final?
35170911149881000204550020000071081000709717-nfe.xml

Paulo Souza

unread,
Sep 27, 2017, 10:11:18 AM9/27/17
to NFePHP
Olá, consegui adicionar o protocolo ao XML final, já posto como fiz para que outras pessoas possam saber.
Só achei estranho é que a verAplic do protocolo ficou SP_NFE_PL_008i2 e essa é da versão 3.10 não é isso?



Em quarta-feira, 27 de setembro de 2017 10:42:01 UTC-3, Carlos Alberto escreveu:

Roberto Machado

unread,
Sep 27, 2017, 11:49:50 AM9/27/17
to nfe...@googlegroups.com
Paulo, estude a documentação da SEFAZ antes de fazer esse tipo de pergunta !

"verAplic" contido no protocolo é a versão do aplicativo da SEFAZ  e não o seu !!!!

O da SEFAZ SP segue o padrão de "UF"_"NFE"_"SCHEMA", mas outras SEFAZ usam o  que quizerem

Roberto

Paulo Souza

unread,
Sep 27, 2017, 1:26:34 PM9/27/17
to NFePHP
Pensei que ele retornava estas informações baseado nos schemes/PL_008i2 do projeto e do que setei como comfiguração no config.json >

"schemes" => "PL_009_V4",
"versao" => $this->getVersion(),

Márcos Eduardo V. Martins

unread,
Dec 26, 2017, 7:26:33 PM12/26/17
to NFePHP
Como você fez o processo de e protocolar? Eu recebo a mensagem "Undefined property: stdClass::$protNFe" que seria o mesmo que o seu.
Reply all
Reply to author
Forward
0 new messages