- list - List Expenses
- create - Create Expense
- get - Get Expense
- update - Update Expense
- delete - Delete Expense
List Expenses
declare(strict_types=1);
require 'vendor/autoload.php';
use Apideck\Unify;
use Apideck\Unify\Models\Components;
use Apideck\Unify\Models\Operations;
use Apideck\Unify\Utils;
$sdk = Unify\Apideck::builder()
->setConsumerId('test-consumer')
->setAppId('dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX')
->setSecurity(
'<YOUR_BEARER_TOKEN_HERE>'
)
->build();
$request = new Operations\AccountingExpensesAllRequest(
serviceId: 'salesforce',
companyId: '12345',
filter: new Components\ExpensesFilter(
updatedSince: Utils\Utils::parseDateTime('2020-09-30T07:43:32.000Z'),
status: Components\ExpensesFilterStatus::Draft,
type: Components\ExpensesFilterType::Expense,
),
);
$responses = $sdk->accounting->expenses->list(
request: $request
);
foreach ($responses as $response) {
if ($response->httpMeta->response->getStatusCode() === 200) {
// handle response
}
}| Parameter | Type | Required | Description |
|---|---|---|---|
$request |
Operations\AccountingExpensesAllRequest | ✔️ | The request object to use for the request. |
?Operations\AccountingExpensesAllResponse
| Error Type | Status Code | Content Type |
|---|---|---|
| Errors\BadRequestResponse | 400 | application/json |
| Errors\UnauthorizedResponse | 401 | application/json |
| Errors\PaymentRequiredResponse | 402 | application/json |
| Errors\NotFoundResponse | 404 | application/json |
| Errors\UnprocessableResponse | 422 | application/json |
| Errors\APIException | 4XX, 5XX | */* |
Create Expense
declare(strict_types=1);
require 'vendor/autoload.php';
use Apideck\Unify;
use Apideck\Unify\Models\Components;
use Apideck\Unify\Models\Operations;
use Apideck\Unify\Utils;
$sdk = Unify\Apideck::builder()
->setConsumerId('test-consumer')
->setAppId('dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX')
->setSecurity(
'<YOUR_BEARER_TOKEN_HERE>'
)
->build();
$request = new Operations\AccountingExpensesAddRequest(
serviceId: 'salesforce',
companyId: '12345',
expense: new Components\ExpenseInput(
number: 'OIT00546',
transactionDate: Utils\Utils::parseDateTime('2021-05-01T12:00:00.000Z'),
accountId: '123456',
supplierId: '12345',
companyId: '12345',
departmentId: '12345',
paymentType: Components\ExpensePaymentType::Cash,
currency: Components\Currency::Usd,
currencyRate: 0.69,
type: Components\ExpenseType::Expense,
memo: 'For travel expenses incurred on 2024-05-15',
taxRate: new Components\LinkedTaxRateInput(
id: '123456',
rate: 10,
),
totalAmount: 275,
lineItems: [
new Components\ExpenseLineItemInput(
trackingCategories: [
new Components\LinkedTrackingCategory(
id: '123456',
name: 'New York',
),
new Components\LinkedTrackingCategory(
id: '123456',
name: 'New York',
),
new Components\LinkedTrackingCategory(
id: '123456',
name: 'New York',
),
],
accountId: '123456',
customerId: '12345',
departmentId: '12345',
locationId: '12345',
taxRate: new Components\LinkedTaxRateInput(
id: '123456',
rate: 10,
),
description: 'Travel US.',
totalAmount: 275,
lineNumber: 1,
),
],
customFields: [
new Components\CustomField1(
id: '2389328923893298',
name: 'employee_level',
description: 'Employee Level',
value: 'Uses Salesforce and Marketo',
),
new Components\CustomField1(
id: '2389328923893298',
name: 'employee_level',
description: 'Employee Level',
value: 'Uses Salesforce and Marketo',
),
new Components\CustomField1(
id: '2389328923893298',
name: 'employee_level',
description: 'Employee Level',
value: 'Uses Salesforce and Marketo',
),
],
rowVersion: '1-12345',
passThrough: [
new Components\PassThroughBody(
serviceId: '<id>',
extendPaths: [
new Components\ExtendPaths(
path: '$.nested.property',
value: [
'TaxClassificationRef' => [
'value' => 'EUC-99990201-V1-00020000',
],
],
),
new Components\ExtendPaths(
path: '$.nested.property',
value: [
'TaxClassificationRef' => [
'value' => 'EUC-99990201-V1-00020000',
],
],
),
new Components\ExtendPaths(
path: '$.nested.property',
value: [
'TaxClassificationRef' => [
'value' => 'EUC-99990201-V1-00020000',
],
],
),
],
),
new Components\PassThroughBody(
serviceId: '<id>',
extendPaths: [
new Components\ExtendPaths(
path: '$.nested.property',
value: [
'TaxClassificationRef' => [
'value' => 'EUC-99990201-V1-00020000',
],
],
),
new Components\ExtendPaths(
path: '$.nested.property',
value: [
'TaxClassificationRef' => [
'value' => 'EUC-99990201-V1-00020000',
],
],
),
new Components\ExtendPaths(
path: '$.nested.property',
value: [
'TaxClassificationRef' => [
'value' => 'EUC-99990201-V1-00020000',
],
],
),
],
),
],
),
);
$response = $sdk->accounting->expenses->create(
request: $request
);
if ($response->createExpenseResponse !== null) {
// handle response
}| Parameter | Type | Required | Description |
|---|---|---|---|
$request |
Operations\AccountingExpensesAddRequest | ✔️ | The request object to use for the request. |
?Operations\AccountingExpensesAddResponse
| Error Type | Status Code | Content Type |
|---|---|---|
| Errors\BadRequestResponse | 400 | application/json |
| Errors\UnauthorizedResponse | 401 | application/json |
| Errors\PaymentRequiredResponse | 402 | application/json |
| Errors\NotFoundResponse | 404 | application/json |
| Errors\UnprocessableResponse | 422 | application/json |
| Errors\APIException | 4XX, 5XX | */* |
Get Expense
declare(strict_types=1);
require 'vendor/autoload.php';
use Apideck\Unify;
use Apideck\Unify\Models\Operations;
$sdk = Unify\Apideck::builder()
->setConsumerId('test-consumer')
->setAppId('dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX')
->setSecurity(
'<YOUR_BEARER_TOKEN_HERE>'
)
->build();
$request = new Operations\AccountingExpensesOneRequest(
id: '<id>',
serviceId: 'salesforce',
companyId: '12345',
);
$response = $sdk->accounting->expenses->get(
request: $request
);
if ($response->getExpenseResponse !== null) {
// handle response
}| Parameter | Type | Required | Description |
|---|---|---|---|
$request |
Operations\AccountingExpensesOneRequest | ✔️ | The request object to use for the request. |
?Operations\AccountingExpensesOneResponse
| Error Type | Status Code | Content Type |
|---|---|---|
| Errors\BadRequestResponse | 400 | application/json |
| Errors\UnauthorizedResponse | 401 | application/json |
| Errors\PaymentRequiredResponse | 402 | application/json |
| Errors\NotFoundResponse | 404 | application/json |
| Errors\UnprocessableResponse | 422 | application/json |
| Errors\APIException | 4XX, 5XX | */* |
Update Expense
declare(strict_types=1);
require 'vendor/autoload.php';
use Apideck\Unify;
use Apideck\Unify\Models\Components;
use Apideck\Unify\Models\Operations;
use Apideck\Unify\Utils;
$sdk = Unify\Apideck::builder()
->setConsumerId('test-consumer')
->setAppId('dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX')
->setSecurity(
'<YOUR_BEARER_TOKEN_HERE>'
)
->build();
$request = new Operations\AccountingExpensesUpdateRequest(
id: '<id>',
serviceId: 'salesforce',
expense: new Components\ExpenseInput(
number: 'OIT00546',
transactionDate: Utils\Utils::parseDateTime('2021-05-01T12:00:00.000Z'),
accountId: '123456',
supplierId: '12345',
companyId: '12345',
departmentId: '12345',
paymentType: Components\ExpensePaymentType::Cash,
currency: Components\Currency::Usd,
currencyRate: 0.69,
type: Components\ExpenseType::Expense,
memo: 'For travel expenses incurred on 2024-05-15',
taxRate: new Components\LinkedTaxRateInput(
id: '123456',
rate: 10,
),
totalAmount: 275,
lineItems: [
new Components\ExpenseLineItemInput(
trackingCategories: [
new Components\LinkedTrackingCategory(
id: '123456',
name: 'New York',
),
new Components\LinkedTrackingCategory(
id: '123456',
name: 'New York',
),
new Components\LinkedTrackingCategory(
id: '123456',
name: 'New York',
),
],
accountId: '123456',
customerId: '12345',
departmentId: '12345',
locationId: '12345',
taxRate: new Components\LinkedTaxRateInput(
id: '123456',
rate: 10,
),
description: 'Travel US.',
totalAmount: 275,
lineNumber: 1,
),
],
customFields: [
new Components\CustomField1(
id: '2389328923893298',
name: 'employee_level',
description: 'Employee Level',
value: 'Uses Salesforce and Marketo',
),
],
rowVersion: '1-12345',
passThrough: [
new Components\PassThroughBody(
serviceId: '<id>',
extendPaths: [
new Components\ExtendPaths(
path: '$.nested.property',
value: [
'TaxClassificationRef' => [
'value' => 'EUC-99990201-V1-00020000',
],
],
),
],
),
new Components\PassThroughBody(
serviceId: '<id>',
extendPaths: [
new Components\ExtendPaths(
path: '$.nested.property',
value: [
'TaxClassificationRef' => [
'value' => 'EUC-99990201-V1-00020000',
],
],
),
],
),
new Components\PassThroughBody(
serviceId: '<id>',
extendPaths: [
new Components\ExtendPaths(
path: '$.nested.property',
value: [
'TaxClassificationRef' => [
'value' => 'EUC-99990201-V1-00020000',
],
],
),
],
),
],
),
);
$response = $sdk->accounting->expenses->update(
request: $request
);
if ($response->updateExpenseResponse !== null) {
// handle response
}| Parameter | Type | Required | Description |
|---|---|---|---|
$request |
Operations\AccountingExpensesUpdateRequest | ✔️ | The request object to use for the request. |
?Operations\AccountingExpensesUpdateResponse
| Error Type | Status Code | Content Type |
|---|---|---|
| Errors\BadRequestResponse | 400 | application/json |
| Errors\UnauthorizedResponse | 401 | application/json |
| Errors\PaymentRequiredResponse | 402 | application/json |
| Errors\NotFoundResponse | 404 | application/json |
| Errors\UnprocessableResponse | 422 | application/json |
| Errors\APIException | 4XX, 5XX | */* |
Delete Expense
declare(strict_types=1);
require 'vendor/autoload.php';
use Apideck\Unify;
use Apideck\Unify\Models\Operations;
$sdk = Unify\Apideck::builder()
->setConsumerId('test-consumer')
->setAppId('dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX')
->setSecurity(
'<YOUR_BEARER_TOKEN_HERE>'
)
->build();
$request = new Operations\AccountingExpensesDeleteRequest(
id: '<id>',
serviceId: 'salesforce',
);
$response = $sdk->accounting->expenses->delete(
request: $request
);
if ($response->deleteExpenseResponse !== null) {
// handle response
}| Parameter | Type | Required | Description |
|---|---|---|---|
$request |
Operations\AccountingExpensesDeleteRequest | ✔️ | The request object to use for the request. |
?Operations\AccountingExpensesDeleteResponse
| Error Type | Status Code | Content Type |
|---|---|---|
| Errors\BadRequestResponse | 400 | application/json |
| Errors\UnauthorizedResponse | 401 | application/json |
| Errors\PaymentRequiredResponse | 402 | application/json |
| Errors\NotFoundResponse | 404 | application/json |
| Errors\UnprocessableResponse | 422 | application/json |
| Errors\APIException | 4XX, 5XX | */* |