Автор Тема: Проблема с Prestashop API  (Прочитано 426 раз)

06 Сентябрь 2018, 14:31:05
  • Новичок
  • *
  • Сообщений: 3
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Всем привет!

На основе API от Prestashop сделал приложение на Андроид, работает абсолютно все что мне нужно было кроме оформления заказов, а именно - не делает POST в таблицу order_histories
Пишет что бы заполнил все данные хотя абсолютно всё заполненно.

Спасибо :)  8)
06 Сентябрь 2018, 15:37:21
Ответ #1
  • Ветеран
  • *****
  • Сообщений: 16667
  • Репутация: +14630/-5
  • Сообщество PrestaShop
    • Просмотр профиля
order id заполнили?
06 Сентябрь 2018, 16:10:31
Ответ #2
  • Новичок
  • *
  • Сообщений: 3
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
order id заполнили?

Да, конечно
так же и order_state
По вызову /api/order_histories?schema=synopsis  проверил все что нужно добавить

Вот пример xml которое я высылаю в POST
api/order_histories?schema=

"<prestashop>\n" +
                        "<order_history>\n" +
                        "<id_order_state>18</id_order_state>\n" +
                        "<id_order>10382</id_order>\n" +
                        "</order_history>\n" +
                        "</prestashop>"

Хочу так же дополнить что в cart, orders всё добавляется отлично, таким же способом как я выше описал.

Может у меня последовательность какая-то не правильная?
В первую очередь я создаю cart и отсылаю его в магазин, потом я на основе cart(беру ID) создаю заказ, заказ таким же способом высылаю в магазин, всё окей.

order_histories мне нужен для того что бы изменить статус заказа, так как PUT на orders не работает вообще, в том смысле что order_state не изменяется никак, прочитал на зарубежных форумах что это делается при помощи order_histories.
06 Сентябрь 2018, 21:55:37
Ответ #3
  • Ветеран
  • *****
  • Сообщений: 16667
  • Репутация: +14630/-5
  • Сообщество PrestaShop
    • Просмотр профиля
Статус заказу присваивают так
$xml = $webService->get(array('url' => PS_SHOP_PATH.'/api/order_histories?schema=blank'));
$xml->order_history->id_order = $id['order'];
$xml->order_history->id_order_state = 'ид статуса';
07 Сентябрь 2018, 08:58:18
Ответ #4
  • Новичок
  • *
  • Сообщений: 3
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Статус заказу присваивают так
$xml = $webService->get(array('url' => PS_SHOP_PATH.'/api/order_histories?schema=blank'));
$xml->order_history->id_order = $id['order'];
$xml->order_history->id_order_state = 'ид статуса';
А почему schema=blank?Это возвращает ведь пустой xml для того что бы его заполнить )
07 Сентябрь 2018, 09:20:58
Ответ #5
  • Ветеран
  • *****
  • Сообщений: 16667
  • Репутация: +14630/-5
  • Сообщество PrestaShop
    • Просмотр профиля
Вы создаете новый заказ.
07 Сентябрь 2018, 10:25:18
Ответ #6
  • Ветеран
  • *****
  • Сообщений: 1807
  • Репутация: +49/-1
  • Сообщество PrestaShop
    • Просмотр профиля
Цитировать
When you need to create a new entry, the API can help you by providing a blank schema for any resource, or even a synopsis with indications of the meaning for each tag:
// Returns a blank XML document, with all the tags ready to fill
http://UCCLLQ9N2ARSHWCXLT74KUKSSK34BFKX@example.com/api/manufacturers?schema=blank
// Returns a blank XML document, with all the tags ready to fill and indication of the expected value for each
http://UCCLLQ9N2ARSHWCXLT74KUKSSK34BFKX@example.com/api/manufacturers?schema=synopsis
Нет значений "blank", когда хотите присвоить значения тегам "synopsis".