medeirosdev / arquivei-nfe
Arquivei NFe Getter
1.0.9
2019-11-14 19:06 UTC
Requires
- php: ^7.3
- ext-json: *
- ext-simplexml: *
- guzzlehttp/guzzle: ^6.3
- spatie/url: ^1.3
- symfony/http-foundation: ^4.3
Requires (Dev)
- mockery/mockery: ^1.2@dev
- phpunit/phpunit: >6.0
- symfony/var-dumper: ^4.3
- vlucas/phpdotenv: ^2.4
Suggests
- illuminate/support: Allows you to use this package from within Laravel
README
这是一个简单的包,允许访问 Arquivei NFe API。
信息
为 Arquivei NFe 创建的包
文档 - https://docs.arquivei.com.br/?urls.primaryName=Arquivei%20API
安装
使用 composer 安装此包
$ composer require medeirosdev/arquivei-nfe
框架
目前我们只支持 Laravel 框架的兼容性。然而,我们欢迎 PR 来添加更多框架特定的行为,只要它不会阻止其他人的包使用
Laravel
如果你使用 Laravel,则可以使用我们的服务提供者。如果你有 Laravel >5.5,则包将在安装时自动发现。否则,将以下内容添加到你的 config/app.php 文件中
'providers' => [ ... \MedeirosDev\Arquivei\Frameworks\Laravel\ArquiveiServiceProvider::class, ]
外观
如果你使用 Laravel >5.5,则外观将自动发现。否则,你可以在 config/app.php 文件中添加它。
'aliases' => [ ... 'Arquivei' => \MedeirosDev\Arquivei\Frameworks\Laravel\Arquivei::class, ]
配置
首先,确保你已经复制了配置文件
$ php artisan vendor:publish --tag=config --provider="MedeirosDev\Arquivei\Frameworks\Laravel\ArquiveiServiceProvider"
这将创建一个 config/arquivei.php 文件,这是你的 API 密钥/许可证信息提取的地方。默认情况下,我们使用 .env 配置值来获取你的 API 密钥。
使用 App ID 和 App Code,然后你应该将以下内容添加到你的 .env
ARQUIVEI_BASE_URL=MY-BASE-URL
ARQUIVEI_VERSION=MY-API-VERSION
ARQUIVEI_API_ID=MY-API-ID
ARQUIVEI_API_KEY=MY-API-KEY
请确保不要将你的密钥存储在版本控制中!
使用方法
许可证/API 密钥
在发送请求之前,你需要创建你的许可证对象。你需要的是你的 API 密钥,然后你可以按以下方式创建你的许可证
$license = new License($apiId, $apiKey);
然后,你可以开始发送你的请求
$arquivei = new Arquivei; $arquivei->setLicense($license); // or Laravel framework license is auto generated $request = new Arquivei;
基本使用
$page = 0; $response = (new Arquivei) ->setLicense($license) ->request($page); // Get data with list NFe $response->data // Or key access_key for first NFe $response->data[0]->access_key
Laravel 中的基本使用
无需输入许可证对象
$response = (new Arquivei)->request();
支持的方法
request
$arquivei = new Arquivei; $response = $arquivei->request();
parse(int $cursor = 0)
$arquivei = new Arquivei; $cursor = 0; $response = $arquivei->request($cursor); $listNfe = $arquivei->parse($response);
store(XmlParser ...$listNfe)
// Example Store implementing StoreInterface class MyStore implements StoreInterface { public function store (XmlParser $nfe): bool { Storage::disk('local')->put($nfe->accessKey . '.xml', $nfe->xml); return true; } }
$arquivei = new Arquivei; $response = $arquivei->request(); $listNfe = $arquivei->parse($response); $arquivei->setStore(new MyStore()); $store = $arquivei->store(...$ListNfe)
store(XmlParser ...$listNfe)
$arquivei = new Arquivei(new MyStore()); $response = $arquivei->request(); $listNfe = $arquivei->parse($response); $store = $arquivei->store(...$ListNfe)
requestAll
$arquivei = new Arquivei; $responses = $arquivei->requestAll();
requestAllAndStore
$arquivei = new Arquivei(new MyStore()); $responses = $arquivei->requestAllAndStore();