aeglio/aeglio-api-php-sdk
最新稳定版本:v0.3.0
Composer 安装命令:
composer require aeglio/aeglio-api-php-sdk
包简介
PHP SDK for the Aeglio API.
README 文档
README
Install
composer require aeglio/aeglio-api-php-sdk
Development
composer install
composer test
AEGLIO_TOKEN=your_token php smoke.php
Create Client
use Aeglio\Aeglio; $aeglio = new Aeglio(token: 'team_api_token');
Default base URL:
Aeglio::DEFAULT_BASE_URL; // https://api.aeglio.com/v1
Expenses
use Aeglio\Dto\ExpenseCategoryData; use Aeglio\Dto\ExpenseData; use Aeglio\Dto\ExpensePaymentData; $category = $aeglio->expenseCategories()->create(new ExpenseCategoryData( name: 'Travel', isGos: false, )); $expense = $aeglio->expenses()->create(new ExpenseData( number: 'EXP-001', amount: 120.50, issuedAt: '2026-04-21', dueAt: '2026-04-28', categoryId: $category->id, notes: 'Hotel stay', billable: true, )); $payment = $expense->addPayment(new ExpensePaymentData( sum: 120.50, paidAt: '2026-04-22', notes: 'Paid by bank transfer', ));
Invoices
use Aeglio\Dto\ClientData; use Aeglio\Dto\InvoiceData; use Aeglio\Dto\InvoicePaymentData; use Aeglio\Dto\InvoiceRowData; $client = $aeglio->clients()->create(new ClientData( name: 'Acme Ltd', locale: 'en_US', countryCode: 'EE', vatNumber: 'EE123456789', address: 'Main Street 1', city: 'Tallinn', postalCode: '10115', stateRegion: 'Harju maakond', )); $invoice = $aeglio->invoices()->create(new InvoiceData( clientId: $client->id, number: 'INV-001', issuedAt: '2026-04-24', dueAt: '2026-05-01', rows: [ new InvoiceRowData( type: 'regular', title: 'Development work', quantity: 2, price: 75.00, ), ], )); $payment = $invoice->addPayment(new InvoicePaymentData( sum: 150.00, paidAt: '2026-04-25', )); $pdf = $invoice->downloadPdf();
Other Resources
use Aeglio\Dto\ClientData; use Aeglio\Dto\ProjectData; use Aeglio\Dto\TaxRateData; $client = $aeglio->clients()->create(new ClientData( name: 'Globex', locale: 'en_US', countryCode: 'FI', vatNumber: 'FI12345678', address: 'Updated Street 5', city: 'Helsinki', postalCode: '00100', stateRegion: 'Uusimaa', )); $project = $aeglio->projects()->create(new ProjectData( clientId: $client->id, name: 'Website rebuild', type: 'time', )); $taxRate = $aeglio->taxRates()->create(new TaxRateData( title: 'VAT', percentage: 22.0, default: true, ));
Available Sections
clients()projects()taxRates()expenseCategories()expenses()invoices()
Public API
Clients
clients()->list(int $perPage = 50, int $page = 1)clients()->find(int $id)clients()->create(ClientData $data)clients()->update(int $id, UpdateClientData $data)clients()->delete(int $id)
Projects
projects()->list(?bool $archived = null, int $perPage = 50, int $page = 1)projects()->find(int $id)projects()->create(ProjectData $data)projects()->update(int $id, UpdateProjectData $data)projects()->delete(int $id)
Tax Rates
taxRates()->list(int $perPage = 50, int $page = 1)taxRates()->find(int $id)taxRates()->create(TaxRateData $data)taxRates()->update(int $id, UpdateTaxRateData $data)taxRates()->delete(int $id)
Expense Categories
expenseCategories()->list(int $perPage = 50, int $page = 1)expenseCategories()->find(int $id)expenseCategories()->create(ExpenseCategoryData $data)expenseCategories()->update(int $id, UpdateExpenseCategoryData $data)expenseCategories()->delete(int $id)
Expenses
expenses()->list(?array $state = null, int $perPage = 50, int $page = 1)expenses()->find(int $id)expenses()->create(ExpenseData $data)expenses()->update(int $id, UpdateExpenseData $data)expenses()->delete(int $id)expenses()->addPayment(int $expenseId, ExpensePaymentData $data)expenses()->updatePayment(int $expenseId, int $paymentId, UpdateExpensePaymentData $data)expenses()->deletePayment(int $expenseId, int $paymentId)expenses()->listPayments(int $expenseId, int $perPage = 50, int $page = 1)expenses()->findPayment(int $expenseId, int $paymentId)expenses()->downloadAttachment(int $expenseId)
Entity helpers:
$expense->addPayment(...)$expense->update(...)$expense->delete()$expense->payments(...)$expense->downloadAttachment()
Invoices
invoices()->list(?array $state = null, int $perPage = 50, int $page = 1)invoices()->find(int $id)invoices()->create(InvoiceData $data)invoices()->update(int $id, UpdateInvoiceData $data)invoices()->delete(int $id)invoices()->addPayment(int $invoiceId, InvoicePaymentData $data)invoices()->updatePayment(int $invoiceId, int $paymentId, UpdateInvoicePaymentData $data)invoices()->deletePayment(int $invoiceId, int $paymentId)invoices()->listPayments(int $invoiceId, int $perPage = 50, int $page = 1)invoices()->findPayment(int $invoiceId, int $paymentId)invoices()->send(int $invoiceId, SendInvoiceData $data)invoices()->downloadPdf(int $invoiceId)
Entity helpers:
$invoice->addPayment(...)$invoice->update(...)$invoice->delete()$invoice->payments(...)$invoice->send(...)$invoice->downloadPdf()
统计信息
- 总下载量: 14
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 1
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2026-04-29