Área do desenvolvedor

O NFe+ também permite a comunicação de softwares externos para a emissão de Notas Fiscais Eletrônicas. Você pode enviar suas notas para nosso sistema via API de comunicação e também retirar nosso cabeçalho para colocar a sua logomarca, e não a nossa.

» Formato dos dados
» Exemplo em HTML
» Exemplo em PHP
» Retorno dos dados
» Mensangens de alerta
» Obter dados das configurações
» Retirar o cabeçalho do NFe+
» Modelo de acesso por frame

Veja como é fácil fazer a integração:

Formato dos dados

As informações enviadas ao nosso sistema podem ser em 2 formatos:
* XML, explicado pelo Manual de Integração do Contribuinte - versão 4.0.1 - NT2009.006
* TXT, de acordo com o Manual de importação-exportação TXT da NF-e (versão 2.0.0 - 24/08/2010)

É importante salientar que, diferentemente do rigor exigido ao enviar as informações para os webservices estaduais, o NFe+ aceita XMLs incompletos, pois os restantes dos dados podem ser preenchidos pelo usuário antes do envio.

O envio das informações deve ser feita por POST. De acordo com o exemplo abaixo:

Exemplo em HTML

<form action="http://CNPJ DA EMPRESA EMISSORA:SENHA DE CONEXÃO@nfe2.nfemais.com.br/api/importarNFe.php" method="post">
<textarea name="nota">XML ou TXT com as informações</textarea>
<button type="submit">Enviar</button>
</form>

Este exemplo em HTML é apenas ilustrativo, pois colocar login e senha direto no HTML não é recomendado, mas você pode fazer isso com outras linguagens. Um outro exemplo é que você pode simular o POST por CURL, veja o exemplo em PHP abaixo:

Exemplo em PHP


<?
    
//Endereço de conexão
    
$url  'http://'$cnpj .':'$senha .'@nfe2.nfemais.com.br/api/importarNFe.php';
    
//Os dados devem estar em UTF-8 e com o urlencode.
    
$nota 'nota='urlencode($xml_ou_txt);

    
$ch curl_init();
    
curl_setopt($chCURLOPT_POST1); //Número de campos enviados
    
curl_setopt($chCURLOPT_URL$url); //Endereço de conexão
    
curl_setopt($chCURLOPT_POSTFIELDS$nota); //Dados da nota (XML ou TXT)
    
curl_setopt($chCURLOPT_RETURNTRANSFERtrue); //Requer retorno das informações
    
$retorno curl_exec($ch); //Executa a comunicação

    //O NFe+ retorna as informações em um XML.
    
$dados simplexml_load_string($retorno); //Trata o retorno com o SimpleXML

    
curl_close($ch); //Limpa a memória da conexão.
?>
    

Retorno dos dados

Após o envio dos dados, o sistema tenta importar e retorna um XML com as seguintes informações:

Nome do campo -> Possível retorno
importada -> 1: para sucesso na importação; 0: para erro na importação
situacao -> Importada: quando o sistema conseguiu importar a nota; Não importada: caso o sistema não consiga
cod_interno -> Código interno que a nota foi gravada no NFe+. Não é o mesmo número da nota.
alertas -> Mensagens de alerta que derivam da importação.

Mensagens de alerta

Segue uma lista de possíveis mensagens para a resposta do campo "alertas".

É possível que apareça mais de 1 alerta durante uma importação.

  1. Não foi possível extrair os dados do arquivo enviado. (tag infNFe não encontrada ou conteúdo vazio).
  2. Já há uma nota com esse número e nesta série dentro do sistema. Esta nota foi importada sem o número da NFe, este número poderá ser definido durante a edição.
  3. Já existem nota(s) emitida(s) com o número maior do que o número importado. Isto não é um erro, apenas um aviso para cuidar o número da NFe importada.
  4. A série da nota importada é diferente da série de envio atual. Isto não é um erro, apenas um alerta para verificar se a série está correta antes de enviar.
  5. O CNPJ do emitente é diferente do CNPJ atualmente cadastrado no sistema. O sistema ignorou o CNPJ do emitente do arquivo XML e utilizou os dados do emitente cadastrados nas configurações.
  6. A nota importada está no ambiente de PRODUÇÃO/TESTE. O sistema está no ambiente de PRODUÇÃO/TESTE. A nota foi transformada para o ambiente de PRODUÇÃO/TESTE.

Obter informações das NFe

Para pegar a situação atual de uma ou mais notas, através da comunicação, há o seguinte endereço:

http://CNPJ DA EMPRESA EMISSORA:SENHA DE CONEXÃO@nfe2.nfemais.com.br/api/infoNFe.php?cods=CODS

Onde CODS pode ser um código (ex: 123) ou alguns códigos separados por vírgula e sem espaço (ex: 123,124,125)

Estes códigos não são o número da nota, e sim, o código interno gerado pelo NFe+ no momento da importação da NFe. Também é o código que aparece na barra de status do navegador ao passar o mouse por cima do link da nota na listagem de notas do NFe+.

O retorno possui as seguintes informações:

  • » codigo - código interno do sistema, o mesmo usado na busca pela nota
  • » id - número da NFe, é o número que a NFe fica registrada na Sefaz
  • » chave - chave de acesso da NFe
  • » serie - série da NFe
  • » dt_emissao - data que a NFe foi ou será emitida
  • » situacao - situação atual da NFe. Esta situação pode ser:
    • 10 - Em digitação - A nota está aberta para edição.
    • 15 - Rejeitada - A nota foi enviada e rejeitada pela Sefaz. O emitente deve corrigir e reenviar.
    • 20 - Assinada - A nota recebeu os dados da assinatura do certificado digital.
    • 30 - Validada - A nota passou nos testes básicos da estrutura e está pronta para o envio.
    • 35 - Form. Segur. - A nota foi impressa em formulário de segurança e precisa ser emitida assim que possível.
    • 40 - Enviada - A nota foi enviada à Sefaz. É necessário verificar se ela foi aceita ou não ("Buscar retorno").
    • 50 - Autorizada - A nota foi enviada e autorizada pela Sefaz.
    • 70 - Inutilização - Comando de inutilização de um ou mais números. Os números inutilizados não podem ser usados.
    • 80 - Denegada - A nota foi denegada pela Sefaz devido a alguma irregularidade fiscal do emitente. Não é possível reutilizá-la.
    • 90 - Cancelada - A nota foi cancelada após o envio dela para a Sefaz. É preciso entregar o XML de envio e também o de cancelamento para o destinatário.
    • 91 - Inutilizada - A nota foi cancelada no sistema antes do envio. Para a Sefaz é como se ela nunca tivesse existido e o sistema apenas inutiliza o número da nota que não pode mais ser usado.

Obter dados das configurações

Pode haver a necessidade do seu sistema buscar dados das configurações. Para isto, você pode acessar o endereço abaixo, informando o CNPJ da empresa e a senha de comunicação.

http://CNPJ DA EMPRESA EMISSORA:SENHA DE CONEXÃO@nfe2.nfemais.com.br/api/configuracoes.php

Este endereço, quando acessado corretamente, retorna um XML com diversas informações sobre as configurações da empresa. Você pode acessá-lo pelo seu navegador para visualizar as informações retornadas. Talvez você precise de alguma destas informações para a formação do XML ou TXT da Nota Fiscal Eletrônica.

Retirar o cabeçalho do NFe+

O sistema não envia as notas automaticamente para a receita. O usuário precisa entrar na nota e enviá-la. Por isso, a NFe+ disponibiliza um acesso ao sistema sem que apareça o cabeçalho da NFe+. Caso seu software também seja acessado através do navegador, basta chamar o NFe+ por um frame, utilizando o seguinte endereço: http://interno.nfemais.com.br. Se você abrir este endereço em seu navegador, visualizará o sistema sem o cabeçalho e as abas de acesso.

Além do cabeçalho, o endereço também remove as abas que acessam as áreas do sistema. Desta forma, permite que você integre o sistema diretamente no menu de seu software.

Endereços usados pelo software

Com estes endereços você disponibiliza acesso direto às áreas do sistema. Vale lembrar que o usuário precisa estar logado para conseguir o acesso.

http://interno.nfemais.com.br/inicio - (obrigatório) - Este é o endereço principal, nele o seu usuário conseguirá listar e interagir com as notas.

http://interno.nfemais.com.br/configuracoes - (obrigatório) - Endereço da tela de configurações. Este endereço é obrigatório pois o usuário precisará fazer as configurações da empresa e enviar o Certificado Digital.

http://interno.nfemais.com.br/cfop - (opcional - recomendado) - Seção de cadastro dos CFOPs e Naturezas das Operações possíveis. Esta tela não é obrigatória pois o usuário também tem acesso à ela pela tela de Configurações.

http://interno.nfemais.com.br/exportar - (opcional - recomendado) - Tela de download de arquivos. O sistema permita que o usuário baixe vários arquivos XML de uma só vez, zipados.

http://interno.nfemais.com.br/contatos - (opcional) - Seção de cadastro de contatos (clientes e transportadores).

http://interno.nfemais.com.br/produtos - (opcional) - Tela de cadastro de produtos.

http://interno.nfemais.com.br/importar - (opcional) - Esta tela permite que o usuário envie um XML para o sistema e o sistema importará a nota da mesma forma como se ela fosse enviada pela API de comunicação.

http://interno.nfemais.com.br/recebidas - (opcional) - Esta área serve como depósito para o usuário guargar os XMLs das notas que ele recebeu dos fornecedores.

http://interno.nfemais.com.br/sair - (opcional) - Este endereço faz o sistema desconectar o usuário.

Modelo de acesso por frame

Você pode visualizar e baixar um modelo feito por nós que demonstra como pode ser feito o acesso ao NFe+ com a sua próprio logomarca. Este modelo pode ser utilizado, modificado e redistribuído.

Clique aqui para visualizar o modelo

Clique aqui para baixar o modelo

USE GRATUITAMENTE