Обновление NetSuite SOAP для ДОБАВЛЕНИЯ адреса в адресную книгу

#soap #netsuite

#soap #netsuite

Вопрос:

У меня есть клиент в NetSuite с 3 адресами доставки в адресной книге — 1 по умолчанию и 2, которые не являются стандартными.

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

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

Как я могу определить это по-другому, чтобы он просто добавлял мой новый адрес в адресную книгу клиента?

 <q1:addressbook>                 
    <q1:defaultShipping>false</q1:defaultShipping>
    <q1:addressbookAddress>                         
                        <addr1 xmlns="urn:common_2016_1.platform.webservices.netsuite.com">new address line</addr1>
                        <addrPhone xmlns="urn:common_2016_1.platform.webservices.netsuite.com">555-555-5555</addrPhone>
                        <city xmlns="urn:common_2016_1.platform.webservices.netsuite.com">New York</city>
                        <country xmlns="urn:common_2016_1.platform.webservices.netsuite.com" internalId="_unitedStates"/>
                        <state xmlns="urn:common_2016_1.platform.webservices.netsuite.com">NY</state>
                        <zip xmlns="urn:common_2016_1.platform.webservices.netsuite.com">10001</zip>
    </q1:addressbookAddress>
</q1:addressbook>
  

Ответ №1:

Каждый (или, во всяком случае, большинство) элемент списка * имеет атрибут replaceAll. Установите для этого значение false, и вы будете обновлять или добавлять в список только в том случае, если адресная книга не имеет internalId

например, что-то вроде:

 <q1:addressbookList replaceAll="false">
   <q1.addressbook>...</q1.addressbook>
</q1:addressbookList>
  

https://system.netsuite.com/help/helpcenter/en_US/srbrowser/Browser2018_1/schema/other/customeraddressbooklist.html?mode=package