mix-code/daftra-client
最新稳定版本:v1.0.0
Composer 安装命令:
composer require mix-code/daftra-client
包简介
Simple implementation for Daftra
README 文档
README
A Laravel package for interacting with the Daftra API, supporting clients, products, invoice creation, and invoice payments.
🚀 Features
- Manage clients (list, show, create, update, delete)
- Manage products (list, show, create, update, delete)
- Create invoices and make invoice payments
- Simple API wrapper with Laravel's HTTP Client
- Supports facade usage for convenience
‼️ Requirments
- PHP 8.2
- Laravel 10 or Above
📦 Installation
composer require mix-code/daftra-client
⚙️ Configuration
Publish the configuration file:
php artisan vendor:publish --tag=daftra-client
Then update your .env file:
DAFTRA_API_KEY=your_api_key_here DAFTRA_ENDPOINT=https://api.daftra.com/v2
🛠️ Usage
1️⃣ Daftra Client Directly
You can inject DaftraClient directly anywhere:
use MixCode\DaftraClient\DaftraClient; class ClientController { public function listClients() { $daftraClient = new DaftraClient(); return $daftraClient->listClients(); } }
2️⃣ Using the Facade
You can also use the DaftraClient facade:
use MixCode\DaftraClient\DaftraClientFacade as Daftra; $clients = Daftra::listClients();
3️⃣ Using Dependency Injection
You can inject DaftraClient directly into your controllers or services:
use MixCode\DaftraClient\DaftraClient; class ClientController { public function __construct(private DaftraClient $daftraClient) {} public function listClients() { return $this->daftraClient->listClients(); } }
📚 API Methods
🔹 Clients
List Clients
$clients = $daftraClient->listClients();
Show Client
$client = $daftraClient->showClient($clientId);
Create Client
use MixCode\DaftraClient\Payloads\ClientPayload; $payload = new ClientPayload( name: 'John Doe', email: 'john@example.com' ); $response = $daftraClient->createClient($payload);
update Client
use MixCode\DaftraClient\Payloads\ClientPayload; $payload = new ClientPayload( name: 'John Doe', email: 'john@example.com' ); $response = $daftraClient->updateClient($payload);
Delete Client
$response = $daftraClient->deleteClient($clientId);
🔹 Products
List Products
$products = $daftraClient->listProducts();
Show Product
$product = $daftraClient->showProduct($productId);
Create Product
use MixCode\DaftraClient\Payloads\ProductPayload; $payload = new ProductPayload( name: 'Sample Product', price: 100.00 ); $response = $daftraClient->createProduct($payload);
Update Product
use MixCode\DaftraClient\Payloads\ProductPayload; $payload = new ProductPayload( name: 'Sample Product', price: 100.00 ); $response = $daftraClient->updateProduct($payload);
Delete Product
$product = $daftraClient->deleteProduct($productId);
🔹 Invoices
Create an Invoice
use MixCode\DaftraClient\Payloads\InvoicePayload; use MixCode\DaftraClient\Payloads\InvoiceItemPayload; $items = [ new InvoiceItemPayload(productId: 1, quantity: 2, price: 50.00) ]; $invoicePayload = new InvoicePayload( clientId: 123, date: now()->toDateString(), items: $items ); $invoice = $daftraClient->createInvoice($invoicePayload);
Pay an Invoice
use MixCode\DaftraClient\Payloads\InvoicePaymentPayload; $paymentPayload = new InvoicePaymentPayload( invoiceId: $invoice->id, amount: 100.00, paymentMethod: 'credit_card' ); $payment = $daftraClient->payInvoice($paymentPayload);
Create and Pay an Invoice
use MixCode\DaftraClient\Payloads\InvoicePayload; use MixCode\DaftraClient\Payloads\InvoiceItemPayload; $items = [ new InvoiceItemPayload(productId: 1, quantity: 2, price: 50.00) ]; $invoicePayload = new InvoicePayload( clientId: 123, date: now()->toDateString(), items: $items ); $response = $daftraClient->createAndPayInvoice($invoicePayload, 100.00, 'credit_card');
✅ Testing
vendor/bin/pest
📜 License
This package is open-source and available under the MIT License.
统计信息
- 总下载量: 2
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 0
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2025-03-08