Verificar disponibilidade da sefaz para depois emitir nota

205 views
Skip to first unread message

Professor Leandro Alfredo

unread,
Jun 2, 2016, 10:23:54 AM6/2/16
to NFePHP
Pessoal, fui emitir nota agora NESTE momento e Não conectou com o site da Receita. No mesmo instante fui consultar o site e nem abriu.

Minha dúvida é a seguinte: Qual o exato endereço para eu verificar se ele está disponível para, então, se estiver disponível autorizar a emissão senão deixar nota em digitação para emissão posterior?

Faço o comando pelo seguinte code:

$retorno1 = fsockopen("dominio.com.br", "80", $errno, $errstr, 1);

Vcs tratam assim?

Roberto Machado

unread,
Jun 2, 2016, 10:30:34 AM6/2/16
to nfe...@googlegroups.com
Leandro;

Caso o erro retornado na comunicação SOAP indique que o site está fora do ar devemos fazer o seguinte:

1 - Aguardar !!!

Se estiver amarelo ou vermelho está com problemas e nesse caso 

3 - Consultar a pagina para ver de alguma contingência está habilitada http://www.nfe.fazenda.gov.br/portal/principal.aspx

3a - Essa consulta também pode ser feita no sieta da Autorizadora

Se a contingência estiver habilitada então pode usar

4 - chavear o sistema para usar a contingência SVC-AN ou SVC-RS

NOTA : se a contingência não estiver habilitada não há nada que se possa fazer !! Somente aguardar.

Roberto


Fernando Mertins

unread,
Jun 2, 2016, 10:42:03 AM6/2/16
to nfe...@googlegroups.com
Por experiência própria no passado, a SEFAZ fica indisponível e demora uns bons minutos até sinalizar com amarelo/vermelho no Portal Nacional. E se for ativar a contingência demora mais ainda, por isso tem mesmo que aguardar algum tempo antes de tentar as alternativas.

--
--
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.

Professor Leandro Alfredo

unread,
Jun 2, 2016, 10:47:50 AM6/2/16
to NFePHP
Entendi, Roberto.
Esta comunicação com o SOAP a API realiza? O retorno é feito a partir de qual variável e em qual momento? Porque quando eu fui emitir a nota hoje de manhã deu a seguinte mensagem: Não houve retorno do Curl, Com isto entendi que o site estava fora do ar. Mas queria ver isto antes de começar o processo de emissão da nota e dar mensagem para o cliente aguardar.

Roberto Machado

unread,
Jun 2, 2016, 10:48:56 AM6/2/16
to nfe...@googlegroups.com
Essa é a resposta de erro padrão quando o serviço está fora do ar !

--
--
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.



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

Professor Leandro Alfredo

unread,
Jun 2, 2016, 10:52:50 AM6/2/16
to NFePHP
Certo, entendi. Mas tem uma variável, retorno para eu tratar?

Roberto Machado

unread,
Jun 2, 2016, 10:53:25 AM6/2/16
to nfe...@googlegroups.com
Antes de emitir somente consultando o status do sistema use o metodo 

public function sefazStatus($siglaUF = '', $tpAmb = '2', &$aRetorno = array())

Mas nem sempre esse método irá retornar que o autorizador está com problemas !!!

Uma forma de verificar cada webservice separadamente é usando diretamente o cURL ou o openssl, mas isso não tem na API uma demonstração parecida pode ser vista em https://github.com/nfephp-org/nfephp/wiki/Teste-de-acesso-com-o-cURL

Roberto

Roberto Machado

unread,
Jun 2, 2016, 10:54:23 AM6/2/16
to nfe...@googlegroups.com
try { } catch {}

É uma exception !!

Professor Leandro Alfredo

unread,
Jun 2, 2016, 2:54:01 PM6/2/16
to NFePHP
Roberto, perfeito!

Certinho! :D Obrigado!

Chinnon Santos

unread,
Jun 8, 2016, 9:25:25 PM6/8/16
to NFePHP
Rapaz isso é um negocio que a SEFAZ deixa a desejar, cada SEFAZ possui uma webservice para consulta de status, mas na pratica ela só é útil quando a webservice esta em contingência mas ainda esta no ar informando a contingência (nem sempre é assim...), e ainda por cima futuramente iram tirar esse serviço, porque eles alegam que estão fazendo mau uso do serviço, colocando as aplicação em loop consultado o status sem parar kkkkkk

Tinha que existir algum para que nossas aplicações fizesse o chaveamento de entrada e saída da contingência de forma automática, mas não da para ter um meio exato, tem que ficar esperando, consultando um site ou outro e ir lá e definir manualmente na aplicação... apesar que no site da NF-e nacional tem uma lista de previsão de contingência que da para você criar algum programado na aplicação para ela entrar em contingência na hora certa, mas nem sempre eles fazem manutenção programada, vi essa lista no site poucas vezes com programações de datas com 7 dias de antecedência...
Reply all
Reply to author
Forward
0 new messages