2016-01-06 3 views
0

Я пытаюсь отредактировать продукт через Prestashop Webservice.link_rewrite пуст - Редактировать продукт - Prestashop Webservice REST

Я использую Python 3 и создаю свой весь XML вместо использования PHP-решения.

Когда я кладу XML редактировать продукт, я получаю сообщение об ошибке

{"errors":[ 
    {"code":84, 
    "message":"Validation error: \"Property Product->link_rewrite is empty\""}]} 

XML-я отправка:

<prestashop> 
    <product> 
     <id>273481</id> 
     <price>35.20</price> 
     <wholesale_price>19.33</wholesale_price> 
    </product> 
</prestashop> 

Почему я получаю эту ошибку? Поле link-rewrite заполнено во всех моих продуктах.

+0

Привет, Энди, можете ли вы указать конец запроса PUT? – timactive

+0

Конец JSON выше. Я отправляю запрос put с параметром output_format = JSON, затем я получаю результат в этом формате. Без этого параметра я получаю тот же ответ, но в формате XML. –

ответ

1

вам необходимо отправить по крайней мере все обязательные поля в запрос, а не только отдельные поля, которые были изменены, позвоните /api/products?schema=synopsis, чтобы увидеть обязательные поля.

Также имеется here также Python lib, который работает с web-сервисом Prestashop, может быть, это вам поможет.

+0

К сожалению, prestapyt (Python lib) работает только в Python 2.7. Я использую python 3.4. Я думаю, что в «обновлении» я не посылаю все обязательные поля, а только поля, которые я обновляю. В «вставке» я согласен. Но я попробую. –

+0

С Prestashop Webservice вам нужно сначала получить объект, который вы хотите обновить, изменить его значения и затем отправить запрос на обновление со всеми полями, заполненными в противном случае забытые поля будут обновляться как пустые. –

Смежные вопросы