-
Na API quando uma nota muda de status eu recebo alguma notificação via POST ou algo do tipo através de uma URL de Callback? Ou meu sistema que deve ficar fazendo essas verificações de tempos em tempos nos servidores de vocês?
Acredito que se a API enviar uma notificação para uma URL de call back vocês devem economizar mais processos nos servidores. Pois uma vez que executo uma rotina para verificar a cada minuto no seu servidor poderá ocorrer uma sobrecarga e imagina isso com 1000 clientes.
Qual é o procedimento correto?
-
Sim Vinícius, temos isso no Gateway e o webhook é realmente o melhor caminho para manter seu sistema sincronizado com o que acontece com as notas.
Ainda estamos documentando melhor essa parte mas você pode ver um exemplo no github na lib PHP que disponibilizamos e também aqui (em construção):
https://portal.enotasgw.com.br/knowledge-base/introducao/#Web-hook
https://portal.enotasgw.com.br/knowledge-base/empresa-nota-fiscal-eletronica/
-
-
Ainda estou no aguardo dessa solicitação que enviei em privado.
-
-
Obrigado Jonathan. Vou receber os dados via POST? Existe algum artigo aqui no forum onde é informado o que é recebido no callback? Até para eu já preparar as variáveis?
-
Se pudesse postar aqui um modelo de código em PHP de como receber os dados.
-
Na pasta samples\Webhook tem um exemplo sobre isso, chegou a testar?
https://github.com/eNotasGW/php-client/blob/master/samples/WebHook/webHook.php
-
Obrigado Acaz, por lá foi possível realizar o recebimento dos dados no entanto não sei o nome das variáveis para receber. Tem algum lugar onde é informado essas variáveis? Algo do tipo:
$status = $webHookData->nfeStatus;
$empresa = $webHookData->empresaId;
$idNf = $webHookData->nfeId;
$numero = $webHookData->nfeNumero;
Pois neste link o nome das variáveis estão diferentes: http://app.enotasgw.com.br/docs#/
-
Vinicius, basicamente o seu webhook vai receber a seguinte estrutura JSON:
{
empresaId: “<id único da empresa>”,
nfeId: “<id único da nfe>”,
nfeIdExterno: “<id externo da nfe>”,
nfeStatus: “<status da nfe>”,
nfeNumero: “<numero da nfe>” (preenchido apenas em casos onde a nota foi autorizada)
}
Caso você queira obter mais detalhes sobre a nota, basta consultar a mesma e aí neste caso os atributos contidos no resultado da pesquisa são todos aqueles que tem na doc:
http://app.enotasgw.com.br/docs#!/nfe/get_empresas_empresaId_nfes_nfeId
-
Esta resposta foi modificada 9 anos, 9 meses atrás por
Jonathan Souza.
-
Esta resposta foi modificada 9 anos, 9 meses atrás por
-
Existe algumas outras variáveis que gostaria também de receber. Confere se a nomenclatura está correta:
$webHookData->nfeMotivoStatus
$webHookData->nfeChaveAcesso
$webHookData->nfeCodigoVerificacao
$webHookData->nfeLinkDownloadPDF
$webHookData->nfeLinkDownloadXML
-
Parece que não estou recebendo mais o callback. Foi feito alguma alteração?
-
Vinicius, foi feita uma atualização no sistema no dia 10-09, pode ter gerado alguma mudança, iremos verificar e lhe retorno.
Quanto aos valores recebidos no callback são os descritos anteriormente com o adicional do campo nfeCodigoVerificacao. Podemos verificar a possibilidade de incluir esses campos adicionais, de toda forma esses dados podem ser obtidos usando o método de consulta de nfe da API.
-
Verifique e me comunique por favor Jonahan a respeito do callback.
Acredito que esses campos só sejam necessários no callback caso os mesmos venham assim que a nota for autorizada, ou isso não acontece? Por exemplo, assim que a nota for autorizado já é possível vir no callback o Link do PDF, o Link do XML, a chave de acesso e o código de verificação? Caso essas variáveis estejam disponíveis só depois de algum tempo que a nota for autorizada ai não faz sentido. Ai nesse caso será melhor mesmo o meu sistema consultar. Agora se elas vierem será muito bom uma vez que não será necessário que o meu sistema faça requisição no servidor. Pois os outros dados todos eu já tenho na minha base de dados e as únicas coisas que ficam faltando são:
– Link do Pdf
– Link do XML
– Código de Verificação
– Chave de AcessoAlém dos outros campos que não citei aqui mas que já vem no callback.
-
-
Pessoal, o callback ainda não está funcionando e não tive nenhum feedback de vocês a respeito do assunto. Poderiam me esclarecer por gentileza?
-
Vinicius, não está constando nenhuma falha nos webhooks pelo painel administrativo:
Você consegue mandar emitir uma outra nota aí agora para verificarmos se o fluxo de autorização/notificação via Web Hook irá funcionar corretamente?
Por favor inclua o ID da nota que foi emitida para facilitar a depuração.
-
Segue essas duas notas Jonathan:
ID ENOTAS: 9b8ab7b3-2a06-490e-89f9-1465a1d00000
ID EXTERNO: 25ID ENOTAS: 5c7e94b7-ee09-4e1c-9f70-f2d8aad00000
ID EXTERNO: 27Eu observo no painel administrativo que lá no callback ainda não veio nada no dia de hoje.
-
-
Jonathan, quando consulto no servidor de vocês as notas, a primeira está com o status de EmProcessoDeAutorizacao e a segunda que foi emitida depois está como AutorizacaoSolicitada achei estranho pois aparentemente ambas estão com os mesmos dados e a primeira deveria estar também com o mesmo status.
Esta fase de AutorizacaoSolicitada para Autorizada demora muito tempo? Ou é porque houve algum problema?
Será que não estou recebendo o callback no webhook porque ele só envia quando a nota é Autorizada ou Cancelada não? Estou achando que pode ter alguma coisa nesse sentido de forma que ele não envia nesses estados intermediários.
Se puder verificar e me informar.
-
-
Desde ontem não estou recebendo retorno no callback e as últimas notas que transmiti ainda estão aguardando autorização. Conversei com o Acaz que me disse que final de mês geralmente pode ocorrer essa demora principalmente no ambiente de homologação e que em alguns casos as prefeituras até desabilitam tal ambiente. Poderia verificar o que aconteceu Jonathan? As notas são:
Esse é o ID da última: a0d50c70-0a4d-4bef-92a9-24c225d60000
E esse é o ID da penúltima: be2a2492-6b0d-4c36-9b15-95de7fd50000 -
Vinicius, é exatamente o que o Acaz lhe falou, existem casos em final de mês que as notas chegam a demorar 48 hrs para ser autorizada pela prefeitura, isso em ambiente de produção, no ambiente de homologação da prefeitura muita vezes o mesmo é desabilitado durante esse período.
O eNotas gerencia esse tempo de espera automaticamente.
-
No caso ela ainda pode ser autorizada ou depois de um certo prazo ela é negada automaticamente pelo e-notas?
-
Vinicius, referentes aos estados intermediários, realmente o eNotas só está enviando o callback (webhook) ao fim do processo, quando a nota é Autorizada ou Cancelada.
Já incluí aqui alguns itens no backlog e te respondo quanto a previsão de liberação assim que o backlog for analisado/priorizado.
Itens que foram inclusos:
- Incluir dados adicionais na notificação do webhook, evitando assim uma segunda consulta para pegar detalhes como Link do pdf, link do xml (os demais campos que você perguntou a respeito já são retornados);
- Incluir no histórico de notificações do webhook a identificação da nota (id e idexterno) e a possibilidade de reenviar a notificação;
- Notificar via webhook das mudanças em status intermediários da NFe, hoje estamos notificando apenas quando a mesma é autorizada ou cancelada.
-
Humm muito bom, acredito que com essas atualizações ajudará bastante. Uma última sugestão que eu pensei aqui é o seguinte. Lá no webhook parece que exibe as últimas 15 notificações. Mas agora imagine se tenho 50 empresas que emitem 10 notas por dia. Então eu não vou nem chegar a ver essa alteração de status lá no webhook. Poderia manter do jeito que está mas incluísse um campo de pesquisa por ID ou ID externo onde ele buscava os callbacks somente daquela nota informada.
Voltando a minha pergunta anterior, suponhamos que o sistema da prefeitura fique indisponível em homologação até dia 01/10. Quando ele voltar a minha nota será autorizada ou o e-notas cancela ela ou altera o status antes dessa data?
-
Vinicius, o eNotas espera até que o sistema da prefeitura volte para então dar continuidade ao processo de emissão da nota, o fluxo continua o mesmo, a única diferença nesse caso é que o processo fica mais demorado devido a essa espera.
Lembrando que isso também acontece no ambiente de produção, agora mesmo o ambiente de produção da prefeitura de BH também está fora do ar :(, conforme print:
-
Ah, em relação a listagem de notificações do WebHook, vai ter uma nova tela com filtros, realmente ali é só uma prévia das últimas notificações.
-
Vou aguardar então para verificar se quando o sistema voltar, irá dar continuidade no processo de geração da nota. Sobre a listagem de notificação do webhook ficarei aguardando a atualização com os filtros.
-
Jonathan ontem transmiti uma nota para a prefeitura e verifiquei hoje que a mesma foi processada e as outras duas que havia colocado no dia 30/09 ainda estão aguardando autorização. Está correto? Em breve elas serão processadas também? Se quiser verificar ai os IDS são:
be2a2492-6b0d-4c36-9b15-95de7fd50000
a0d50c70-0a4d-4bef-92a9-24c225d60000A que eu enviei ontem e já foi autorizada o ID é: 19a7f84c-5402-4ac1-9c2d-168e66d70000
-
Vinicius, a prefeitura de BH ainda está intermitente, pelo visto está ocorrendo algum problema no firewall deles que está fazendo com que a maioria das requisições sejam rejeitadas, principalmente quando partem de IPs de fora do Brasil.
Já entramos em contato com a prefeitura e estamos aguardando para solucionar o problema, normalmente eles nos atendem rapidamente.
Assim que tivermos com os envios para BH estabilizados lhe aviso por aqui.
-
Vinicius, a prefeitura de BH ainda não nos deu um retorno oficial, no entanto a comunicação já está um pouco mais estável, se comparado como estava antes.
-
Então uma das notas fiscais que havia ficado pendente daquele dia hoje já foi autorizada. O ID dela é: 4d398df0-43b7-4718-8b36-16d51eda0000
A outra ainda está aguardando autorização. O ID é: a0d50c70-0a4d-4bef-92a9-24c225d60000
Hoje transmiti uma que já foi autorizada também.
-
Jonathan, depois verifique ai para nós. Ontem eu solicitei o cancelamento da nota de ID: f7a64817-0371-4444-a3c2-0b7038da0000. A mesma foi cancelada no entanto não recebi o callback do cancelamento para mudar o status aqui no meu sistema. Confere por favor se realmente o callback não veio?
-
Jonathan, desconsidere este último post pois verifiquei aqui nos logs do meu sistema e ocorreu sim o callback no entanto havia esquecido de executar o comando para alteração do status.
Você deve fazer login para responder a este tópico.