Как обновить несколько контактов с помощью библиотеки xero-node

Я использую пакет xero-node npm и похоже, что это сэкономит мне кучу времени.

Я хочу создать или обновить несколько контактов, но не знаю как. Я надеюсь, что кто-то из Xero отслеживает этот тег.

var contacts = [];
var contact = { "Name": "ABC", ContactNumber:"code123"};
contacts.push(xeroClient.core.contacts.newContact(contact));
const retVal = await xeroClient.core.contacts.saveContacts(contacts);

Если я запускаю его один раз, он создает контакт (или несколько, если я добавляю его в массив). Я хочу обновить контакт, используя мой код (а не сгенерированный xero id - потому что тогда мне нужно будет сохранить его в другой моей системе).

Если я запускаю его во второй раз, он не работает. Я предполагаю, что это потому, что он делает PUT вместо POST..?

Вот документы. https://github.com/XeroAPI/xero-node/blob/2a1ec34888e998cabd72aa79fa58a5b14f2c9cd5/docs/Contacts.md

1 ответ

Решение

Ты прав.

Вот документы по контактам:

https://developer.xero.com/documentation/api/contacts

Смотрите этот раздел:

PUT Contacts Используйте этот метод для создания одной или нескольких записей контактов. Этот метод работает очень похоже на контакты POST, но если существующий контакт соответствует вашему ContactName или ContactNumber, вы получите сообщение об ошибке.

ContactNumber является уникальным. Итак, вы пытаетесь создать два контакта с одним и тем же ContactNumber.

Я думаю, что сохранение контакта, как в примере здесь, поможет: https://github.com/XeroAPI/xero-node/blob/2a1ec34888e998cabd72aa79fa58a5b14f2c9cd5/docs/Contacts.md

Другие вопросы по тегам