Вот запрос Netsuite SuiteTalk.
<soap:Envelope xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<soap:Header>
<preferences xmlns="urn:messages_2016_1.platform.webservices.netsuite.com">
<warningAsError>false</warningAsError>
<ignoreReadOnlyFields>true</ignoreReadOnlyFields>
</preferences>
<tokenPassport xmlns="urn:messages_2016_1.platform.webservices.netsuite.com">
<account xmlns="urn:core_2016_1.platform.webservices.netsuite.com">1111111</account>
<consumerKey xmlns="urn:core_2016_1.platform.webservices.netsuite.com">****************************************************************</consumerKey>
<token xmlns="urn:core_2016_1.platform.webservices.netsuite.com">****************************************************************</token>
<nonce xmlns="urn:core_2016_1.platform.webservices.netsuite.com">11111111</nonce>
<timestamp xmlns="urn:core_2016_1.platform.webservices.netsuite.com">1536472013</timestamp>
<signature algorithm="HMAC-SHA1" xmlns="urn:core_2016_1.platform.webservices.netsuite.com">****************************</signature>
</tokenPassport>
</soap:Header>
<soap:Body>
<add xmlns="urn:messages_2016_1.platform.webservices.netsuite.com">
<record externalId="KO31008" xsi:type="q1:SalesOrder" xmlns:q1="urn:sales_2016_1.transactions.webservices.netsuite.com">
<q1:entity type="customer" internalId="45016">
<name xmlns="urn:core_2016_1.platform.webservices.netsuite.com">63163</name>
</q1:entity>
<q1:currency type="currency" internalId="1">
<name xmlns="urn:core_2016_1.platform.webservices.netsuite.com">AUD</name>
</q1:currency>
<q1:tranId>KO31008</q1:tranId>
<q1:memo/>
<q1:toBeEmailed>true</q1:toBeEmailed>
<q1:email>xxxxxx@gmail.com</q1:email>
<q1:shippingAddress>
<country xmlns="urn:common_2016_1.platform.webservices.netsuite.com">xxxxxx</country>
<addressee xmlns="urn:common_2016_1.platform.webservices.netsuite.com">xxxxxxxxxxxx</addressee>
<addr1 xmlns="urn:common_2016_1.platform.webservices.netsuite.com">xxxxxxxxxxxxxxxxxx</addr1>
<addr2 xmlns="urn:common_2016_1.platform.webservices.netsuite.com"/>
<city xmlns="urn:common_2016_1.platform.webservices.netsuite.com">xxxxxx</city>
<state xmlns="urn:common_2016_1.platform.webservices.netsuite.com"/>
<zip xmlns="urn:common_2016_1.platform.webservices.netsuite.com">xxxxxxx</zip>
</q1:shippingAddress>
<q1:shipMethod type="estimate" internalId=""/>
<q1:shippingCost>0</q1:shippingCost>
<q1:shippingTaxCode type="salesTaxItem" internalId="10"/>
<q1:shipComplete>true</q1:shipComplete>
<q1:subTotal>0</q1:subTotal>
<q1:department type="department" internalId="1"/>
<q1:location type="location" internalId="7"/>
<q1:giftCertApplied>72.24</q1:giftCertApplied>
<q1:giftCertRedemptionList>
<q1:giftCertRedemption>
<q1:authCode type="giftCertificate" internalId="65509"/>
<q1:authCodeApplied>72.24</q1:authCodeApplied>
</q1:giftCertRedemption>
</q1:giftCertRedemptionList>
<q1:itemList>
<q1:item>
<q1:item type="inventoryItem" internalId="40269"/>
<q1:quantity>1</q1:quantity>
<q1:rate>72.24</q1:rate>
<q1:grossAmt>72.24</q1:grossAmt>
</q1:item>
</q1:itemList>
<q1:customFieldList>
<customField scriptId="custbody_web_order_status" xsi:type="SelectCustomFieldRef" xmlns="urn:core_2016_1.platform.webservices.netsuite.com">
<value typeId="1307" internalId="6"/>
</customField>
</q1:customFieldList>
</record>
</add>
</soap:Body>
</soap:Envelope>
А вот ответ Netsuite SuiteTalk.
<soapenv:Envelope xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<soapenv:Header>
<platformMsgs:documentInfo xmlns:platformMsgs="urn:messages_2016_1.platform.webservices.netsuite.com">
<platformMsgs:nsId>WEBSERVICES_3778817_090820181126278433927387249_25a0c73f2966</platformMsgs:nsId>
</platformMsgs:documentInfo>
</soapenv:Header>
<soapenv:Body>
<addResponse xmlns="urn:messages_2016_1.platform.webservices.netsuite.com">
<writeResponse>
<platformCore:status isSuccess="false" xmlns:platformCore="urn:core_2016_1.platform.webservices.netsuite.com">
<platformCore:statusDetail type="ERROR">
<platformCore:code>INVALID_KEY_OR_REF</platformCore:code>
<platformCore:message>Invalid authcode reference key 65509 for currency 1.</platformCore:message>
</platformCore:statusDetail>
</platformCore:status>
</writeResponse>
</addResponse>
</soapenv:Body>
</soapenv:Envelope>
Я знаю, что код ошибки (INVALID_KEY_OF_REF) связан с пустой записанной ссылкой.
Поэтому я проверил подарочный сертификат и валюту с этим внутренним идентификатором 65509, 1 и смог увидеть соответствующий подарочный сертификат и валюту.
И не мог видеть никаких других проблем.
Как я могу исправить эту проблему?
А также, что именно означает «Неверный код ссылки на код авторизации 65509 для валюты 1». ?
Выше мыло для создания SalesOrder.
В этом случае мне интересно, какие существуют отношения между валютой SalesOrder и giftCertificate.