Интеграция ИС с заказами из shop-script Rest API Есть решение

Добрый день коллеги.

Клиент nodejs .Вопрос забирания заказов и shop-script.

Я правильно понял инструкцию,что получить список заказов ,чтоб влить их в свою ИС я могу только по api shop.order.search

Запустил request получаю в аккурат заказы...Допустим я их обработал ,как пометить чтоб оно в следующем request мне не лезло...Думаю сделаю удаление shop.order.delete

Успешно выполняется запрос на удаление.Но оно опять ко мне лезет ,-Только появилось дата удаления и статус удален.Думаю ладно есть параметр offset смещение..В инструкции написано смещение от начала списка ...и то ли сортировка там не такая...у меня два заказа.id=1 id=2

Предположим обработал ранний с id=1(вчера) ,-так я не могу получить id=2 .(более поздний)

offset=0 возвращает мне два заказа.

offset=1 возвращает id=1(уже как-бы обработанный)(а ожидалось id=2,-необработанный)

offset=2 возвращает пустой массив заказов.

В толк не возьму как мне синхронизировать заказы со своей ИС, когда их много будет,если есть вариант потери даже на 2х.Возможно я не то rest api пользую,подскажите верный путь?

2 ответа

  • 1
    Александр Басалаев 25 ноября 2018 17:25 # Решение

    Почему то ответ Алексея нельзя пометить как "Есть решение"...Возможно потому,что ветка обсуждения

    для node

    let url=urlмагазина/api.php/shop.order.search?offset=0&hash=search/state_id=new||processing||completed&access_token=###################";
    let заказы=request(url);

  • 1
    BNP (Дмитрий) 25 ноября 2018 14:15 #

    В методе shop.order.search есть же параметр hash, который как раз помогает сделать выборку нужных заказов. Т.е забираешь в запросе только необработанные заказы (допустим в статусе Новый), обрабатываешь (допустим переводишь в статус Подтвержден) и при следующем запросе обработанные (в статусе Подтвержден) не приедут, т.к. запрашиваются только заказы в статусе Новый.

    • +1
      Александр Басалаев Александр Басалаев 25 ноября 2018 15:36 #

      Вот эта фраза


      Т.е забираешь в запросе только необработанные заказы (допустим в статусе Новый),

      Её я и не могу  оформить технически в документации про hash почти ничего не сказано

      Вот это сказано

      Хеш-строка для формирования коллекции заказов. Используется в классе shopOrdersCollection.

      Я не пишу на PHP и не знаю shopOrdersCollection

      Клиент nodejs и пользую только rest api

      Скороченно так.

      let url=urlмагазина/api.php/shop.order.search?offset=0&hash=new&access_token=###################";
      заказы=request(url);

      Какой hash(вместо hash=new

      я должен вставить чтоб получить разницу

      • +2
        Алексей Алексей Webasyst 25 ноября 2018 16:39 #

        например

        hash=search/state_id=new||processing&total>=100

      • +1
        BNP (Дмитрий) BNP (Дмитрий) 25 ноября 2018 23:54 #

        Ну не пишите на пыхе и ладно, но на гит-то можно слазать посмотреть в код? Там, в принципе, нормально описано. Более того, покопав код можно найти много того, что вообще в доках не описано =))

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

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