theposeidonas / laravel-parasut-api
Paraşüt v4 API 用于 Laravel 项目
Requires
- ext-json: *
- guzzlehttp/guzzle: ^7.8
Requires (Dev)
- orchestra/testbench: ^6.0
- phpunit/phpunit: ^8.0
README
Paraşüt API Laravel 包
Laravel 编写的 Paraşüt V4 API 包。
文档 »
演示 · 问题 · 需求
Laravel Paraşüt API
此项目是一个易于使用的 Paraşüt V4 API 包,用于 Laravel。在将 API 信息输入 .env 文件后,您无需再次进行 Auth 操作,即可轻松地在任何地方执行所需的功能。
为什么需要它?
对于 Laravel 来说,几乎找不到快速简单的 Paraşüt API 包。我们需要一个简单的包,它可以自动执行 OAuth2 操作,当 token 过期时自动获取新的 token,并在 Controller 中仅编写您要执行的操作。
请通过 Issues 部分报告错误和问题。
(返回顶部)
开始
务必与 Paraşüt 联系并获取所需的信息。这适用于测试账户和普通账户。
添加到项目中
在 Laravel 项目的终端中运行以下命令;
composer require theposeidonas/laravel-parasut-api
如果需要,运行以下命令来共享 config 文件;
php artisan vendor:publish --tag=parasut-config --force
如果您的 Laravel 版本较旧或 Auto-Discovery 已关闭,请将以下代码添加到 config/app.php 文件中的 'aliases' 部分,以在所有地方使用;
'Parasut' => Theposeidonas\LaravelParasutApi\Facades\Parasut::class,
配置
将以下行添加并修正到 .env 文件中,以便使用项目;
PARASUT_USERNAME="demo@parasut.com" // Username PARASUT_PASSWORD="XXXXXXXXX" // Password PARASUT_COMPANY_ID="123123" // Company ID PARASUT_CLIENT_ID="XXXXXXXXXXXXXXXXX" // Paraşüt Client ID PARASUT_CLIENT_SECRET="XXXXXXXXXXXXXXXXX" // Paraşüt Client Secret PARASUT_REDIRECT_URI="urn:ietf:wg:oauth:2.0:oob" // Paraşüt Redirect URI, değiştirmenize gerek yok
(返回顶部)
使用
您需要将包包含到将要使用的 Controller 中;
use Theposeidonas\LaravelParasutApi\Facades\Parasut;
类
在完成所有配置和设置后,您可以在将要使用的 Controller 中调用特定的类。这些类如下;
/* Satışlar */ Parasut::Bill(); // Satış faturası https://apidocs.parasut.com/#tag/SalesInvoices Parasut::Customer(); // Müşteri https://apidocs.parasut.com/#tag/Contacts /* Giderler */ Parasut::Receipt(); // Fiş - Fatura https://apidocs.parasut.com/#tag/PurchaseBills Parasut::Bank(); // Banka giderleri https://apidocs.parasut.com/#tag/BankFees Parasut::Salary(); // Maaş giderleri https://apidocs.parasut.com/#tag/Salaries Parasut::Tax(); // Vergi giderleri https://apidocs.parasut.com/#tag/Taxes Parasut::Supplier(); // Tedarikçi https://apidocs.parasut.com/#tag/Contacts Parasut::Employee(); // Çalışan https://apidocs.parasut.com/#tag/Employees /* Resmileştirme */ Parasut::Inbox(); // E-Fatura Gelen Kutusu https://apidocs.parasut.com/#tag/EInvoiceInboxes Parasut::EArchive(); // E-Arşiv https://apidocs.parasut.com/#tag/EArchives Parasut::EBill(); // E-Fatura https://apidocs.parasut.com/#tag/EInvoices Parasut::ESmm(); // E SMM https://apidocs.parasut.com/#tag/ESmms /* Nakit */ Parasut::Account(); // Kasa ve Banka https://apidocs.parasut.com/#tag/Accounts Parasut::Transaction(); // İşlem https://apidocs.parasut.com/#tag/Transactions /* Stok */ Parasut::Product(); // Ürün https://apidocs.parasut.com/#tag/Products Parasut::Warehouse(); // Depo https://apidocs.parasut.com/#tag/Warehouses Parasut::Waybill(); // İrsaliye https://apidocs.parasut.com/#tag/ShipmentDocuments Parasut::StockMovement(); // Stok Hareketi https://apidocs.parasut.com/#tag/StockMovements /* Ayarlar */ Parasut::Category(); // Kategori https://apidocs.parasut.com/#tag/ItemCategories Parasut::Tag(); // Etiket https://apidocs.parasut.com/#tag/Tags
除此之外,您需要使用 Parasut::Product()->inventory($id);
来检查产品的库存水平。
函数
使用 Paraşüt 类时,您可以使用在 https://apidocs.parasut.com 页面上列出的函数。
例如;
客户索引函数:Parasut::Customer()->index();
客户创建函数:Parasut::Customer()->create($data);
客户显示函数:Parasut::Customer()->show($id);
客户编辑函数:Parasut::Customer()->edit($id, $data);
所有在文档中显示的函数都可用。
数据结构
在类中创建函数时,您需要按照 https://apidocs.parasut.com 中所述的方式发送数据。如果您不发送必要的参数,您将收到错误。
此外,您需要以 Array 的形式而不是 JSON 发送数据。包将自行将其转换为 JSON 并发送。
创建客户示例;
$customer = [ 'data'=>[ 'type'=>'contacts', 'attributes'=>[ 'email'=>'demo@parasut.com', 'name'=>'İsim Soyisim', 'contact_type'=>'person', 'tax_number'=>'11111111111', 'account_type'=>'customer' ] ] ]; $response = Parasut::Customer()->create($customer);
如果操作成功,您将收到如下 Array;
Array ( [success] => true // İşlem başarılı ise true [error] => false // İşlem başarısız ise true [body] => stdClass Object // Paraşüt dökümanlarında yazan response -> stdClass Object olarak [status] => 200 // Response Status )
因此,您可以按照如下方式查询返回的操作;
if($response['success']) { // İşlem başarılı ise yapılacak şeyler } $customer = Parasut::Customer()->show($response['body']->data->id); echo $customer['body']->data->attributes->name; // Oluşturulan müşterinin ismini görme
(返回顶部)
TODO
请通过 Issues 部分记录缺失和错误。
- 已添加函数
- 添加了其他缺失的部分。(其他)
- 删除了 Staging 函数。
- 将添加函数的额外过滤器(查询参数)
变更日志
V1.0.3
2024年6月30日
- 在 E-Fatura 收件箱中添加了作为参数的 VKN。(感谢 safakocamanoglu。)
V1.0.2
2024年3月11日
- 添加了其他部分下的函数。
- ApiHome - TrackableJob - Webhook
- 从配置文件中移除了staging配置。(现在不再使用)
- 向composer.json中添加了依赖。
V1.0.1
2024年1月22日
- 在销售发票中添加了遗漏的pay()函数。
V1.0.0
2024年1月20日
- 首次发布
(返回顶部)
许可
在MIT许可证下分发。有关更多信息,请参阅'LICENSE'文件。
(返回顶部)
联系方式
Baran Arda - @theposeidonas - info@baranarda.com
项目链接: https://github.com/theposeidonas/laravel-parasut-api
(返回顶部)