primehover/danfebr

Pacote em Laravel/Lumen para conexão com a API da danfe.br.com

v1.0.4 2018-10-16 16:35 UTC

This package is not auto-updated.

Last update: 2024-12-19 18:26:49 UTC


README

Author PHP from Packagist Packagist

Funcionalidades

  • Conecta com a API da danfe.br.com
  • Gera uma DANFE com base em um XML de uma NF-e
  • Gera um XML com base em um Captcha
  • Gera uma DANFE com base em um Captcha

Requisitos

  • CURL precisa estar ativado. Certifique-se que a extensão extension=php_curl.dll está ativa em seu php.ini

Instalação via Composer

$ composer require primehover/danfebr

Configuração

  • Primeiramente, você deve criar uma conta em danfe.br.com
  • Você deve liberar que a API tenha acesso a sua conta. Por padrão, todas as contas vem bloqueadas para o acesso via API. Para liberar este acesso, acesse a sua conta e vá para o menu (configurações > sistema), e marque a opção "Permitir o uso da API em minha conta?".
  • Agora, você precisa pegar a sua chave da API, pois ela garante que as NFes geradas via API caiam diretamente na sua conta. Para ter acesso a sua chave da API, acesse sua conta e vá para o menu (configurações > api key).
  • Com a sua chave da API, abra o seu arquivo .env e insira a seguinte variável:
DANFEBR_KEY=SUA_CHAVE_AQUI
  • Caso queira usar a API como uma Facade, basta adicionar a classe à sua array aliases:
'aliases' => [
  ...
  'DanfeBR' => Primehover\DanfeBR\DanfeBR::class,
],

Exemplo de Uso

// Capturando a DANFE com o XML da NF-e
$xml = file_get_contents('/path/to/xml'); // deve ser uma string
$api = new API();
$danfe = $api->getDanfeByXML($xml);

header("Content-type: application/pdf");
echo $danfe;
die;

// Usando a Facade
$danfe = DanfeBR::getDanfeByXML($xml);
header("Content-type: application/pdf");
echo $danfe;
die;

Métodos

// Captura uma DANFe com o XML da NF-e
$api->getDanfeByXML($xml);

// Captura um novo Captcha
$captcha = $api->getCaptcha();
$captcha->getCode(); // código de identificação do Captcha
$captcha->getImage(); // link da imagem do Captcha

// Captura o XML de acordo com o Captcha
$api->getXMLByCaptcha(Captcha $captcha, $key, $answer);

// Captura a DANFe de acordo com o Captcha
$api->getDanfeByCaptcha(Captcha $captcha, $key, $answer);