簡體   English   中英

在 Xero 中創建聯系人並使用 php api (oauth2) 獲取其聯系人 ID

[英]Create a contact in Xero and get its contact Id using php api (oauth2)

剛剛學習 Xero API (php) 但我不確定如何繼續。 總的來說,這些文檔非常好。 我已經成功創建了 oauth2 集成,並且連接沒有問題(即使對於多個組織/租戶),我能夠在 Xero 中獲取現有聯系人,但我現在需要創建一個新聯系人(我有這個聯系人的名字- 叫她 Jane Doe)然后我希望用這個新的 Contacts 聯系人 ID 更新我的數據庫記錄。

所以文檔有點混亂,但看看 php api 我想我可以使用:

$response = $accountingApi->setContacts( $xeroTenantId, '{"Name": "Jane Doe"}' );

這會是正確的方法嗎(其中 $accountingApi 在循環早期的調用中定義並已連接)? 有沒有人有關於如何向 Xero 添加新聯系人並返回這個新聯系人contactId 的示例?

文檔沒有說明添加新聯系人后返回什么(如果有)響應。

最后與此有些相關,我的一些聯系人在多個關聯組織中,這些聯系人是否具有相同的 clientID,或者我需要以某種方式為每個關聯組織定義一個?

提前致謝

附加的

github 上的 api 文檔有這個片段:

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。

好的,所以查看了我要使用的文檔:

                $contact = new XeroAPI\XeroPHP\Models\Accounting\Contact;
                $contact->setName('Jane Doe');
                $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();
                $contactId = $apiResponse->getContacts()[0]->getContactId();

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM