theposeidonas/laravel-parasut-api

Paraşüt v4 API 用于 Laravel 项目

v1.0.4 2024-07-09 15:50 UTC

This package is auto-updated.

Last update: 2024-09-09 16:12:08 UTC


README

Contributors Forks Stargazers Issues MIT License LinkedIn


İstanbul Web Tasarım

Paraşüt API Laravel 包

Laravel Packagist Downloads (custom server)

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

(返回顶部)