-
Notifications
You must be signed in to change notification settings - Fork 686
Passo a Passo
A intenção desse wiki é indicar quais são os passos principais para usar a API.
É 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.
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.
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.
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.
A API é dividida em vários blocos : NFe, CTe, MDFe etc..
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