Я использую Xero Accounting API с PHP (OAuth2), в частности функцию updateOrCreateInvoices в Xero API для синхронизации транзакций. Однако я заметил, что каждый раз, когда я запускаю эту функцию, некоторые контактные данные обновляются или перезаписываются, особенно поле «дополнительные лица». Это поле очищается после процесса синхронизации.
Буду признателен за любую информацию или разъяснения о поведении функции updateOrCreateInvoices. Существует ли особый способ структурирования запроса для обеспечения целостности контактной информации? Мы будем очень признательны за любую помощь или предложения.
Используемая функция: updateOrCreateInvoices
Проблема: контактные данные, в частности поле «дополнительные лица», перезаписано или удалено.
Вот фрагмент кода, который я использую для синхронизации счетов.
public function create_or_update_invoice($xero_tenant_id, $api_instance, $invoice_list = array()){
$arr_invoices = array();
foreach ($invoice_list as $invoice) {
//Retrieve Existing Contact Details (using the getContacts function):
$contact = $this->get_contact_by_id($xero_tenant_id, $api_instance, $xero_contact_id, $contact_name);
//Prepare Invoice Data with Existing Contact & Invoice Details:
$new_invoice = new XeroAPI\XeroPHP\Models\Accounting\Invoice;
$new_invoice->setType(XeroAPI\XeroPHP\Models\Accounting\Invoice::TYPE_ACCREC)
->setContact($contact)
...
...
->setStatus(XeroAPI\XeroPHP\Models\Accounting\Invoice::STATUS_AUTHORISED);
$arr_invoices[] = $new_invoice;
}
$invoices = new XeroAPI\XeroPHP\Models\Accounting\Invoices;
$invoices->setInvoices($arr_invoices);
try{
//Update or Create Invoice:
$result = $api_instance->updateOrCreateInvoices($xero_tenant_id, $invoices);
return $result;
}catch(Exception $e){
return $e;
}
}
После вышеуказанных действий поле «дополнительные лица» в контактных данных очищается или перезаписывается.
Как ответил sallyhornet, у меня есть протестировано и подтверждено, что, отмечая только ContactID в счете, я могу синхронизировать счета с Xero, не перезаписывая контактные данные.
Обновленный фрагмент примера:
...
//Retrieve Existing Contact Details (using the getContacts function):
//original
//$contact = $this->get_contact_by_id($xero_tenant_id, $api_instance, $xero_contact_id, $contact_name);
//new
$contact = new XeroAPI\XeroPHP\Models\Accounting\Contact;
$contact->setContactID($xero_contact_id);
//Prepare Invoice Data with Existing Contact & Invoice Details:
$new_invoice = new XeroAPI\XeroPHP\Models\Accounting\Invoice;
$new_invoice->setType(XeroAPI\XeroPHP\Models\Accounting\Invoice::TYPE_ACCREC)
->setContact($contact)
...
Подробнее здесь: https://stackoverflow.com/questions/786 ... ct-details
Xero API: updateOrCreateInvoices перезаписывает контактные данные ⇐ Php
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Получить номер телефона из строки, содержащей помеченные контактные данные.
Anonymous » » в форуме Php - 0 Ответы
- 18 Просмотры
-
Последнее сообщение Anonymous
-
-
-
Как я могу включить данные отдела отчета Xero P & L в мой Python API для Power BI?
Anonymous » » в форуме Python - 0 Ответы
- 4 Просмотры
-
Последнее сообщение Anonymous
-