- Notifications
You must be signed in to change notification settings - Fork17
Pacote para integração com o Plugnotas
License
tecnospeed/plugnotas-php
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
Este pacote foi construído com o objetivo de simplificar a integração com a API doPlugnotas.Para obter informações sobre o funcionamento e contratações acessenosso site ou adocumentação oficial.
Aconselhamos a instalação do pacote peloComposer. Composer é um gerenciador de dependências para PHP que lhe permite declarar e instalar as dependências em seu projeto de forma simplificada.
O pacote pode ser adicionado utilizando o comando do próprio composer:
php composer.phar require tecnospeedsa/plugnotas:~1.4
Ou adicionado manualmente no arquivocomposer.json
:
{ "require": { "tecnospeedsa/plugnotas": "~1.4" }}
O carregamento do pacote é realizado com o autoloader do Composer, caso você não tenha adicionado ao seu projeto é necessário incluir o seguinte require:
require 'vendor/autoload.php;'
Para maiores informações de como instalar, utilizar e melhores práticas para definir dependências em seu projeto acesse o site oficialgetcomposer.org.
Para enviar uma NFSe deve ser criado um objeto do tipo relacionado (TecnoSpeed\Plugnotas\Nfse
), o qual é composto de vários outros objetos agrupados dentro de seu namespace.
Uma vez o objeto criado deve-se chamar o métodosend
do mesmo, este processo pode ser bem complexo e extenso, não se preocupe existe uma forma mais fácil citada a seguir.
Um exemplo doenvio de uma NFSe criando os objetos de forma manual pode ser encontrado aqui.
A classeTecnoSpeed\Plugnotas\Builders\NfseBuilder
é uma classe auxiliar que permite você criar de forma fácil um objetoTecnoSpeed\Plugnotas\Nfse
.
Com esta classe auxiliar utilizando os métodos:withTomador
,withPrestador
,withServico
,withRps
,withImpressao
ewithCidadePrestacao
você pode compor o objeto Nfse,um exemplo disso é mostrado no arquivo nfse.simple.php.
O cadastro de Prestador, Tomador e Serviço simplifica o envio da NFSe, sendo que uma vez cadastrado você pode enviar a nota com menos parâmetros pois o que já tem cadastrado será consultado.
Nos links a seguir você encontra exemplos dos cadastros dos tipos:
Para consultar uma NFSe é necessário criar um objeto do tipoTecnoSpeed\Plugnotas\Configuration
, setar ele num novo objetoTecnoSpeed\Plugnotas\Nfse
utilizando o métodosetConfiguration
.
Após este setup realizado, existe duas possibilidades de consulta, pelo ID da nota ou protocolo gerado na hora que você enviou a nota, ou passando o ID Integração e o CNPJ do Prestador utilizado para criar a NFSe. Os respectivos métodos são:findByCnpjAndIdIntegracao
efindByIdOrProtocol
.
Exemplo utilizando ométodo findByCnpjAndIdIntegracao pode ser encontrado aqui eexemplo utilizando o método findByIdOrProtocol pode ser encontrado aqui.
Da mesma forma que a consulta o download do PDF da Nfse necessita de um objeto do tipoTecnoSpeed\Plugnotas\Configuration
, o qual deve ser setado num novo objetoTecnoSpeed\Plugnotas\Nfse
utilizando o métodosetConfiguration
.Uma particularidade é que é necessário indicar a pasta para escrita dos arquivos no objeto de configuração utilizando o métodosetNfseDownloadDirectory
.
Existe a possibilidade de realizar o download utilizando o ID da nota retornado na criação utilizando o métododownload
, como também realizar o download utilizando o CNPJ do Prestador e o ID Integração utilizados no envio da NFSe através do métododownloadPdfByCnpjAndIdIntegracao
.
Os arquivos serão salvos na pasta configurada (a qual precisa ter permissão de escrita), o padrão do nome do arquivo será o seguinte:
- Quando utilizado o método
download
:<pasta informada>/<id>.pdf
- Quando utilizado o método
downloadPdfByCnpjAndIdIntegracao
:<pasta informada>/<cnpj>-<id integração>.pdf
Exemplo de download utilizando o ID pode ser encontrado aqui eexemplo de download utilizando o CNPJ e ID Integração aqui.
O cancelamento de uma NFSe pode ser realizado da mesma forma com que a busca e o download, informando o ID da Nfse ou o Cnpj do prestador e o ID Integração.
Da mesma forma que a consulta e o download do PDF da Nfse é necessário de um objeto do tipoTecnoSpeed\Plugnotas\Configuration
, o qual deve ser setado num novo objetoTecnoSpeed\Plugnotas\Nfse
utilizando o métodosetConfiguration
.
Os respectivos métodos para realizar este procedimento são:cancel
ecancelByCnpjAndIdIntegracao
.
Ao criar um cancelamento será retornado um protocolo, tal protocolo pode ser utilizado para consultar o status do cancelamento utilizando a rotacancelStatus
.
Você pode conferir alguns exemplos na pasta/examples
.
Todos os objetos decompostos em arrays podem ser vistos no arquivo nfse.array.php.
Acesse oChangelog da aplicação por este link.
About
Pacote para integração com o Plugnotas