переменная xero PHP, которая начинается с { - PullRequest
0 голосов
/ 27 марта 2020

В ряде примеров API учетных записей Xero есть PHP переменные, которые начинаются с {

Пример:

$invoices = {invoices:[{type: Invoice.TypeEnum.ACCREC, contact:{contactID:"00000000-0000-0000-000-000000000000"}, lineItems:[{ description:"Acme Tires", quantity:2.0, unitAmount:20.0, accountCode:"000", taxType:"NONE", lineAmount:40.0}], date:"2019-03-11", dueDate:"2018-12-10", reference:"Website Design", status: Invoice.StatusEnum.DRAFT}]};

Я изо всех сил пытаюсь понять, как это может работать. Я пытаюсь использовать API для создания нескольких счетов-фактур за один и тот же вызов, я могу сделать это хорошо в Почтальоне, поэтому я знаю, что мой код в порядке.

Я попробовал следующее:

Но по какой-то причине я просто не могу найти способ заставить его работать.

1 Ответ

0 голосов
/ 27 марта 2020

Все наши SDK и документация созданы на основе наших спецификаций OpenAPI. Создание исполняемого кода в наших документах является нашей долгосрочной целью. Тем временем нам нужно было предложить «некоторые» сгенерированные документы, но полезные данные JSON не предназначены для использования.

Мы создали пример приложения, которое демонстрирует различные конечные точки и отображает код, используемый для совершения вызова.

https://github.com/XeroAPI/xero-php-oauth2-app

Вот код вам нужно будет создать счета

$result = $apiInstance->getContacts($xeroTenantId);
$contactId = $result->getContacts()[0]->getContactId();

$contact = new XeroAPI\XeroPHP\Models\Accounting\Contact;
$contact->setContactId($contactId);

$arr_invoices = []; 

$invoice_1 = new XeroAPI\XeroPHP\Models\Accounting\Invoice;
$invoice_1->setReference('Ref-456')
    ->setDueDate(new DateTime('2019-12-10'))
    ->setContact($contact)
    ->setLineItems($lineitems)
    ->setStatus(XeroAPI\XeroPHP\Models\Accounting\Invoice::STATUS_AUTHORISED)
    ->setType(XeroAPI\XeroPHP\Models\Accounting\Invoice::TYPE_ACCPAY)
    ->setLineAmountTypes(\XeroAPI\XeroPHP\Models\Accounting\LineAmountTypes::EXCLUSIVE);    
array_push($arr_invoices, $invoice_1);

$invoice_2 = new XeroAPI\XeroPHP\Models\Accounting\Invoice;
$invoice_2->setReference('Ref-123')
    ->setDueDate(new DateTime('2019-12-02'))
    ->setContact($contact)
    ->setLineItems($lineitems)
    ->setStatus(XeroAPI\XeroPHP\Models\Accounting\Invoice::STATUS_AUTHORISED)
    ->setType(XeroAPI\XeroPHP\Models\Accounting\Invoice::TYPE_ACCPAY)
    ->setLineAmountTypes(\XeroAPI\XeroPHP\Models\Accounting\LineAmountTypes::EXCLUSIVE);    
array_push($arr_invoices, $invoice_2);

$invoices = new XeroAPI\XeroPHP\Models\Accounting\Invoices;
$invoices->setInvoices($arr_invoices);

$result = $apiInstance->createInvoices($xeroTenantId,$invoices); 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...