API shop.order.*

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

Что-то я немного недопонимаю реализацию методов API shop.order.*

Например shop.order.ship. Смотрю описание параметров

tracking_number POST Необязательно Идентификатор отправления.

Смотрю код метода

<?php
class shopOrderShipMethod extends shopApiMethod
{
    protected $method = 'POST';
    public function execute()
    {
        $order_id = $this->post('id', true);
        $order_model = new shopOrderModel();
        if (!$order_model->getById($order_id)) {
            throw new waAPIException('invalid_param', 'Order not found', 404);
        }
        $workflow = new shopWorkflow();
        $this->response = $workflow->getActionById('ship')->run($order_id);
    }
}

Опять смотрю описание ... и снова код. Где и как тут учитывается tracking_number?

Такая же история с shop.order.comment. В описание есть

text POST Текст комментария.

где это в коде?

<?php
class shopOrderCommentMethod extends shopApiMethod
{
    protected $method = 'POST';
    public function execute()
    {
        $order_id = $this->post('id', true);
        $order_model = new shopOrderModel();
        if (!$order_model->getById($order_id)) {
            throw new waAPIException('invalid_param', 'Order not found', 404);
        }
        $workflow = new shopWorkflow();
        $this->response = $workflow->getActionById('comment')->run($order_id);
    }
}

Причем, если в первом случае параметр необязательный, то во втором - обязательный. И я пока не очень понимаю, что будет происходить при использовании второго метода?

Пы.Сы. Экспериментировать не пробовал, т.к. мне мне сам API не нужен, я туда иногда подглядываю для реализации своих задач. В частности в текущем случае меня интересует как добавлять параметры к выполняемым действиям.

1 ответ

  • 1
    Syrnik.com 9 августа 2017 18:22 #

    в `shopWorkflowShipAction` учитывается

    • +1
      BNP (Дмитрий) BNP (Дмитрий) 9 августа 2017 19:21 #

      Ага, спасибо, кажется разобрался.

      Ну и что бы не открывать новый топик, кто-нибудь подскажет, сложно в шестой ss впилить хук order_action.* ?

      • +1
        Алексей Алексей Webasyst 9 августа 2017 20:35 #

        Сложно. Заменить почти весь Workflow, который потянет за собой еще заказы и отчеты. Не говоря о совместимости с плагинами.

      • +1
        Syrnik.com Syrnik.com 9 августа 2017 21:05 #

        Ну э.

        Сделать свой класс workflowAction. Добавить его в конфиг workflow. Вызвать хук из своего класса.

        Я и в SS-6 так делал. Там немного работа с workflow в некоторых деталях отличается... А так...

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

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