【发布时间】:2020-05-22 12:44:33
【问题描述】:
刚刚学习 Xero API (php),但我不确定如何继续。总的来说,这些文档非常好。我已经成功创建了 oauth2 集成,并且连接没有问题(即使对于多个组织/租户),我能够在 Xero 中获取现有联系人,但我现在需要创建一个新联系人(我有这个联系人的名字- 叫她 Jane Doe)然后我希望用这个新的 Contacts 联系人 ID 更新我的数据库记录。
所以文档有点混乱,但看看我认为我可以使用的 php api:
$response = $accountingApi->setContacts( $xeroTenantId, '{"Name": "Jane Doe"}' );
这是否是正确的方法(其中 $accountingApi 在循环早期的调用中定义并已连接)?有没有人举例说明如何将新联系人添加到 Xero 并返回这个新联系人的contactId?
文档没有说明添加新联系人后返回什么(如果有)响应。
最后与此有些相关,我的一些联系人在多个关联的组织中,这些联系人是否具有相同的 clientID,或者我需要以某种方式为每个关联的组织定义一个?
提前致谢
附加
github 上的 api 文档有这个 sn-p:
try {
$person = new XeroAPI\XeroPHP\Models\Accounting\ContactPerson;
$person->setFirstName("John")
->setLastName("Smith")
->setEmailAddress("john.smith@24locks.com")
->setIncludeInEmails(true);
$arr_persons = [];
array_push($arr_persons, $person);
$contact = new XeroAPI\XeroPHP\Models\Accounting\Contact;
$contact->setName('FooBar')
->setFirstName("Foo")
->setLastName("Bar")
->setEmailAddress("ben.bowden@24locks.com")
->setContactPersons($arr_persons);
$arr_contacts = [];
array_push($arr_contacts, $contact);
$contacts = new XeroAPI\XeroPHP\Models\Accounting\Contacts;
$contacts->setContacts($arr_contacts);
$apiResponse = $accountingApi->createContacts($xeroTenantId,$contacts);
$message = 'New Contact Name: ' . $apiResponse->getContacts()[0]->getName();
} catch (\XeroAPI\XeroPHP\ApiException $e) {
$error = AccountingObjectSerializer::deserialize(
$e->getResponseBody(),
'\XeroAPI\XeroPHP\Models\Accounting\Error',
[]
);
$message = "ApiException - " . $error->getElements()[0]["validation_errors"][0]["message"];
}
我只需要 Xero 上的名称(所有其他详细信息都在我的链接应用程序中)并获取 contactId。
【问题讨论】: