datomatic / laravel-fatture-in-cloud
Laravel 对 Fatture in Cloud API v2 的封装
v1.4.1
2024-04-24 15:12 UTC
Requires
- php: ^8.1
- ext-json: *
- datomatic/laravel-enum-helper: ^1.0
- illuminate/contracts: ^8.37||^9.0|^10.0|^11.0
- spatie/laravel-package-tools: ^1.13.0
Requires (Dev)
- laravel/pint: ^1.0
- nunomaduro/collision: ^6.0
- nunomaduro/larastan: ^2.0.1
- orchestra/testbench: ^7.0
- pestphp/pest: ^1.21
- pestphp/pest-plugin-laravel: ^1.1
- phpstan/extension-installer: ^1.1
- phpstan/phpstan-deprecation-rules: ^1.0
- phpstan/phpstan-phpunit: ^1.0
- phpunit/phpunit: ^9.5
README
Laravel 对 Fatture in Cloud API v2 的封装
此 Laravel 封装允许您使用 Api v2 集成 Fatture in Cloud。
要求
- Laravel >= 8.37
- PHP >= 8.1
- ext-json
安装
您可以通过 composer 安装此包
composer require datomatic/laravel-fatture-in-cloud
可选地,您可以使用以下命令发布配置文件
php artisan vendor:publish --provider="Datomatic\FattureInCloud\FattureInCloudServiceProvider" --tag="fatture-in-cloud-config"
这是已发布配置文件的内容
return [ 'access_token' => env('FATTURE_IN_CLOUD_ACCESS_TOKEN'), 'company_id' => env('FATTURE_IN_CLOUD_COMPANY_ID'), 'endpoint' => env('FATTURE_IN_CLOUD_ENDPOINT','https://api-v2.fattureincloud.it/'), ];
用法
从服务容器或使用 FattureInCloud
Facade 获取 FattureInCloud 类。
use Datomatic\FattureInCloud\Facades\FattureInCloud; //Facade FattureInCloud::invoices()->... use Datomatic\FattureInCloud\FattureInCloud; //Automatic Injection public function __construct(FattureInCloud $fic){} //Resolve $fic = App::make(FattureInCloud::class); $fic = app(Datomatic\FattureInCloud\FattureInCloud::class);
使用 Fatture In Cloud 工具类
$fic->clients()->create([... user array...]);
请参阅功能说明和传递的数组官方文档。
资源覆盖范围
- user()
- info()
- products()
- clients()
- suppliers()
- invoices()
- quotes()
- proformas()
- receipts()
- deliveryNotes()
- creditNotes()
- orders()
- selfOwnInvoices()
- selfSupplierInvoices()
- invoices()
- work_reports()
- supplierOrders()
- expenses()
- passiveCreditNotes()
- passiveDeliveryNotes()
- paymentAccounts()
- paymentMethods()
每个资源都有相同的方法可用
all(array $data = [])
create(array $data)
edit(int $id, array $data)
delete(int $id, array $data = [])
getById(int $id, array $data = [])
这些方法将返回一个包含 Fatture in Cloud API 响应的数组(除 delete 方法可能返回 null 外)。
例如,要获取所有客户(根据 官方文档),应调用
$fic->clients()->all(['fieldset' => 'detailed'])
枚举
为了提高 API 使用,包含了一个方便的实用枚举列表
- DocumentStatus
- EntityType
- IssuedDocumentType
- ReceivedDocumentType
- PaymentStatus
Utilities
Fatture in CLoud API 仅接受国家字段上的全名 🤦♂️,因此我添加了一个名为 Datomatic\FattureInCloud\Utilities\CountryConverter
的实用类,其中包含 fromAlpha2
和 fromName
方法。
测试
composer test
变更日志
请参阅 CHANGELOG 以获取有关最近更改的更多信息。
贡献
请参阅 CONTRIBUTING 以获取详细信息。
安全漏洞
请参阅 我们的安全策略 了解如何报告安全漏洞。
致谢
许可
MIT 许可证 (MIT)。有关更多信息,请参阅 许可文件。