Создание товара/категории и событие создания заказа

Доброго времени суток!

Пишу интеграцию с внешним приложением. Для полноценной интеграции создал плагин, добавил страницу конфигурации, создал страничку для бэкенда, которая выполняет мой код из плагина. Успешно получаю список товаров и категорий из внешнего приложения. Теперь вопрос: как мне создавать соответствующие записи в ShopScript 6? В API вызовы снаружи нашел, а изнутри как-то можно создавать товары/категории? Или напрямую с БД работать?

Второй вопрос: правильно ли я понимаю, что хук order_action.create срабатывает как раз, когда пользователь оформляет заказ. Мне нужно передать заказ в этот помент во внешнее приложение (при условии, что заказ полностью оформлен в ShopScript).

2 ответа

  • 1
    Артем Шубин 17 декабря 2015 14:05 #

    Дополню вопрос: с хуком разобрался, но там я получаю id заказа, но как теперь получить весь заказ с данными по заказанным позициям? Неужели через БД работать? Нет что-ли встроенных методов?

    Вопросы продолжаю читать, документация скудная (((

  • 1
    Алексей Webasyst 17 декабря 2015 17:09 #

    На Github есть замечательное приложение для разработки - developer и можно вот так например

    wa('shop');
    $collection = new shopOrdersCollection('id/30569');
    $order = $collection->getOrders();
    wa_print_r($order);

    Можно еще добавить немного информации через shopHelper::workupOrders($order); перед выводом.

    • +1
      Артем Шубин Артем Шубин 17 декабря 2015 17:34 #

      Алексей, спасибо за ответ! Может я что-то не так делаю... Повесил все это пока в метот для бэкенда, который мне возвращает тестовые данные.

      По номеру получаю любой заказ, но в любом заказе, независимо от статуса, нет ни стрчоки о заказанных позициях:

      Array
      (
        1481 => Array
        (
          id => '1481'
          contact_id => '1'
          create_datetime => '2015-12-18 01:21:30'
          update_datetime => NULL
          state_id => 'new'
          total => '7201.0000'
          currency => 'RUB'
          rate => '1.00000000'
          tax => '0.0000'
          shipping => '0.0000'
          discount => '0.0000'
          assigned_contact_id => NULL
          paid_year => NULL
          paid_quarter => NULL
          paid_month => NULL
          paid_date => NULL
          is_first => '0'
          comment => ''
          id_str => '#1001481'
          total_str => '7 201 <span class="ruble">Р</span>'
          create_datetime_str => 'Сегодня 01:21'
          icon => 'icon16 ss new'
          style => 'color:#009900;font-weight:bold;'
        )
      )

      Еще разобраться бы, как ему статус поменять (хотя, уже кажется, проще бд дернуть), ибо обрабатывать на сайте их уже не нужно. Алексей, поймите меня правильно, я сегодня первый раз с этой системой знакомлюсь, с большой вероятностью завтра будет последний, как только я доделаю плагин. Я не знаю, где искать на гитхабе этот модуль, да и вообще выучить все API довольно трудно ради одного проекта.

      А вот так правильно?

      $order_model = new shopOrderModel();
      $data = $order_model->getOrder($id);

      Взял из API, может оттуда и остальное надергать просто? Или ваш способ еще и методы какие-то полезные содержит? Эх... документацию бы полную на все это...


Добавить ответ

Чтобы добавить комментарий, зарегистрируйтесь или войдите