Skip to content
Roberto L. Machado edited this page Oct 28, 2015 · 13 revisions

A intenção desse wiki é indicar quais são os passos principais para usar a API.

Pré-Requisito

É obrigatório que você seja um programador e tenha um mínimo de experiencia antes de continuar, se não for um programador DESISTA.

Se você não é um programador de php, ou está muito desatualizado com a linguagem, é muito importante de você estude o que está indicado na seção [Linguagem PHP](https://github.com/nfephp-org/nfephp/wiki/Ferramentas-de-Desenvolvimento-Web#Linguagem PHP) da página dos desenvolvedores, antes de continuar.

Ambiente

O ambiente para a instalação da API deve conter os requisitos indicados no arquivo composer.json quanto à versão do PHP e de seus módulos. É isso ai você tem que conhecer e entender o composer.json, para isso veja o Composer Cheat Sheet for developers Muitos desses módulos do PHP não são instalados por default e necessitam de instalação orientada Instalação do PHP.

Mas uma vez que os componentes estejam instalados a API deve funcionar sem problemas.

NOTA: Alguns sistemas podem instalar versões incompatíveis ou com "BUGS" desses módulos, especialmente aqueles usados para a comunicação (cURL) e o que usa os certificados digitais (OpenSSL). Mais a frente iremos falar disso novamente.

Instalação

A instalação da API pode e deve ser feita preferencialmente com o auxilio do composer. É importante ver que esse gerenciador de pacotes facilita enormemente o trabalho de qualquer programador.

O indice de pacotes disponibilizados para o composer está em Packgist. Ao usar o packagist e o composer você deve ter uma atenção redobrada pois existem muitos "forks" (copias) de projetos e em geral esses "forks" foram alterados de alguma maneira ou não são mantidos atualizados então "tome cuidado".

O nosso projeto pode ser visualizado em NFePHP-ORG no packagist. Veja que todas as versões do projeto aparecem na página, e muitas outras informações. Para baixar o pacote e todas as suas dependências de uma só vez é só ir para a raiz de seu sistema e executar o comando:

composer require nfephp-org/nfephp

Veja que com esse comando será criado um arquivo denominado "composer.json" e uma pasta chamada "vendor" e dentro dessa pasta "vendor" serão instalados todas as pastas da API de suas dependências. Agora vamos dizer que houve uma alteração, uma correção de "BUG" e você precisa atualizar o NFePHP, é só dar o seguinte comando:

composer update

Pronto o composer vai baixar todos os arquivos que sofreram alterações em relação a última instalação. Agora ficou bem fácil manter as coisas funcionando !

Um ALERTA, para aqueles distraídos, desavisados e simplesmente "BURROS", nunca faça uma atualização dessas em ambiente de produção sem antes testar em ambiente de desenvolvimento.

Configuração

Para configurar é necessário editar (criar e/ou editar o config/config.json), para isso foi criada uma página de instalação veja INSTALL.

Essa pasta pode ser copiada para qualquer parte acessível do seu sistema e é só acessar a pagina index.php e preencher os dados corretamente.

USO

A API é dividida em vários blocos : NFe, CTe, MDFe etc..

Para NFe

As etapas para emitir uma NFe são:

1 - criar o xml (usando a classe NFe/MakeNFe.php) veja o exemplo

2 - assinar o xml (usando a classe NFe/ToolsNFe.php) veja o exemplo

3 - validar o xml assinado (usando a classe NFe/ToolsNFe.php) veja o exemplo

4 - enviar o lote de NFe para a Sefaz (usando a classe NFe/ToolsNFe.php) veja o exemplo e pegar o recibo retornado.

5 - como o sistema é assíncrono é necessário buscar o resultado da analise da SEFAZ (usando a classe NFe/ToolsNFe.php) veja o exemplo

6 - se a NFe foi aprovada então adicionar o protocolo de autorização ao xml original enviado (usando a classe NFe/ToolsNFe.php veja o exemplo

7 - com o protocolo já anexado então está autorizada a impressão da DANFE (usando a classe auxiliar Extras/Danfe.php) veja o exemplo