Как обновить 3D корзину
Как я могу обновить ассортимент опций продукта 3D-корзины с помощью команды runQuery API - интерфейса Advanced SOAP 1.2?
Чтобы было ясно, я не имею в виду updateProductInventory, который предоставляется с использованием API Basic SOAP 1.2.
Ниже мой запрос, без заголовка и использования пустышки и ключа.
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<soap:Body>
<runQuery xmlns="http://3dcart.com/">
<storeUrl>mystore.3dcartstores.com</storeUrl>
<userKey>12345678901234567890123456789012</userKey>
<sqlStatement> update options_Advanced SET AO_Stock = 117 WHERE AO_Suffix = '1346106BLK'</sqlStatement>
<callBackURL/>
</runQuery>
</soap:Body>
</soap:Envelope>
Я получаю ниже загадочный ответ.
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<soap:Body>
<runQueryResponse xmlns="http://3dcart.com/">
<runQueryResult>
<runQueryResponse xmlns="">
<Error>
<Id>99</Id>
<Description>No value given for one or more required parameters.</Description>
</Error>
</runQueryResponse>
</runQueryResult>
</runQueryResponse>
</soap:Body>
</soap:Envelope>
1 ответ
Решение
Обратившись в службу поддержки 3D Cart, я нашел следующий ответ.
Попробуйте это: update options_Advanced SET AO_Stock = 117 WHERE AO_Sufix = '1346106BLK' К сожалению, в нашей базе данных есть опечатка. Итак, вместо AO_Suffix вы должны использовать AO_Sufix
Документация базы данных все еще неправильно определяет столбец как AO_Suffix
,
Правильный запрос будет следующим.
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<soap:Body>
<runQuery xmlns="http://3dcart.com/">
<storeUrl>mystore.3dcartstores.com</storeUrl>
<userKey>12345678901234567890123456789012</userKey>
<sqlStatement> update options_Advanced SET AO_Stock = 117 WHERE AO_Sufix = '1346106BLK'</sqlStatement>
<callBackURL/>
</runQuery>
</soap:Body>
</soap:Envelope>