2016-12-02 1 views
0

Prestashop 1.6.1.10 и 1.6.1.4Prestashop запрос API POST продукт возвращает код 97

Привет, Я пытаюсь сделать что-то такое простое, как добавить новый продукт, используя запрос Prestashop REST API Post.

Я отправляю запрос POST на http://url_to_website.com/api/products/?schema=blank с XML-сообщением и получаю обратно много SQL-запросов, которые не могут выполняться должным образом, потому что в операторах where отсутствуют некоторые очевидные параметры. Я ничего не знаю о том, как Prestashop работает для меня, кажется странным, что мне даже нужно будет запускать эти запросы для запроса POST. Если кто-то может рассказать об этом, я буду очень счастлив.

2016/12/02 20:38:51 - Write to log.0 - httpstat = 500 
2016/12/02 20:38:51 - Write to log.0 - Result = <?xml version="1.0" encoding="UTF-8"?> 
<prestashop xmlns:xlink="http://www.w3.org/1999/xlink"> 
<errors> 
<error> 
<code><![CDATA[97]]></code> 
<message><![CDATA[[SQL Error] You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 3. From ProductAdd->hookactionProductSave() Query was : 
      SELECT * 
      FROM ps_product_lang 
      WHERE id_product=]]></message> 
</error> 
<error> 
<code><![CDATA[97]]></code> 
<message><![CDATA[[SQL Error] You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'limit 1' at line 3. From ProductAdd->hookactionProductSave() Query was : 
      SELECT * 
      FROM ps_stock_available 
      WHERE id_product= limit 1]]></message> 
</error> 
<error> 
<code><![CDATA[97]]></code> 
<message><![CDATA[[SQL Error] You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'limit 1' at line 3. From ProductAdd->hookactionProductSave() Query was : 
      SELECT * 
      FROM ps_product 
      WHERE id_product= limit 1]]></message> 
</error> 
<error> 
<code><![CDATA[97]]></code> 
<message><![CDATA[[SQL Error] You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'limit 1' at line 3. From ProductAdd->hookactionProductSave() Query was : 
      SELECT * 
      FROM ps_product_carrier 
      WHERE id_product= limit 1]]></message> 
</error> 
<error> 
<code><![CDATA[97]]></code> 
<message><![CDATA[[SQL Error] You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 3. From ProductAdd->hookactionProductSave() Query was : 
      SELECT * 
      FROM ps_image 
      WHERE id_product=]]></message> 
</error> 
</errors> 
</prestashop> 

ответ

0

POST метод должен использоваться только для создания объектов (добавить). Если вы хотите получить пустой продукт с помощью schema=blank, вам следует использовать метод GET.

Я рекомендую вам использовать Prestashop библиотеку API: here

удачи.

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