datomatic/laravel-fatture-in-cloud

Laravel 对 Fatture in Cloud API v2 的封装

v1.4.1 2024-04-24 15:12 UTC

This package is auto-updated.

Last update: 2024-09-24 16:04:28 UTC


README

Laravel-Fatture-in-Cloud-DarkLaravel-Fatture-in-Cloud-Light

Laravel 对 Fatture in Cloud API v2 的封装

Latest Version on Packagist GitHub Code Style Action Status Total Downloads

此 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 的实用类,其中包含 fromAlpha2fromName 方法。

测试

composer test

变更日志

请参阅 CHANGELOG 以获取有关最近更改的更多信息。

贡献

请参阅 CONTRIBUTING 以获取详细信息。

安全漏洞

请参阅 我们的安全策略 了解如何报告安全漏洞。

致谢

许可

MIT 许可证 (MIT)。有关更多信息,请参阅 许可文件