Отправка post при изменении статуса заказа

Комментарии

Комментариев: 9

  • Екатерина Евтухова

    Добрый день!

     

    В АПИ есть триггеры-вебхуки на изменение сущностей - подробнее https://online.moysklad.ru/api/remap/1.1/doc/index.html#веб-хуки . Они позволяют подписаться на изменение конкретных типов сущностей. При срабатывании веб-хуков вам будет приходить href сущности, по которому можно получить ее актуальное состояние.

    0
    Действия с комментариями Постоянная ссылка
  • admin

    Эээ. А с примерами? Так, чтобы понятно было. Я ранее не работал с вебхуками пт апи. На пальцах какой принцип работы. Я один раз вношу требование на отслеживание изменения статуса заказа и потом скриптом обрабатываю входящие запросы?

    0
    Действия с комментариями Постоянная ссылка
  • Dtrufanov

    Добрый день.

    Вы правы.

    Используя запрос на создание вебхука, вы указываете какая сущность будет отслеживаться (например, заказ покупателя), тип изменения (создание, обновление, удаление), url на который будет отправляться веб-хук.

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

    0
    Действия с комментариями Постоянная ссылка
  • admin

    Поправьте меня, если я ошибся.

    Для того чтобы реализовать механизм получения нового статуса заказа мне нужно:

    Создать ЕДИНОРАЗОВО для всех заказов веб хук на изменение статуса заказа, а именно:

    отправить всего один раз запрос (можно ли его создать при помощи postman например?)
    скриптом ожидать ссылку на измененный заказ
    сделать запрос текущего статуса по пришедшей ссылке
    получить и вытащить из ответа на предыдущий запрос нового статуса

    0
    Действия с комментариями Постоянная ссылка
  • Dtrufanov

    Да, для отдельной сущности, например, для заказов покупателей, веб-хук нужно создать один раз. Но это будет не веб-хук на изменение статуса заказа, а вообще на любое изменение заказа.

    Можно сделать это с помощью postman

    Скрипт должен ожидать post запрос, пример отправляемых данных можно увидеть в документации.

    В запросе придет ссылка на весь заказ, то есть сделав запрос по ней вы получите заказ целиком, в том числе и его текущий статус. Но я еще раз повторю, веб-хук вешается на любое изменение, не только статуса.

    0
    Действия с комментариями Постоянная ссылка
  • admin

    "Но я еще раз повторю, веб-хук вешается на любое изменение, не только статуса."

    Тогда это не решает моей задачи т.к. вести учет последнего статуса при поступлении 20-30 заказов в день без базы тяжелова-то.

    Может, есть какой-то метод, который отслеживает изменения конкретного параметра заказа? Ну, или можно настроить веб-хук как-то, чтобы отправка запроса на мой скрипт происходила только в случае изменения статуса заказа?

    0
    Действия с комментариями Постоянная ссылка
  • Dtrufanov

    Нет, такой возможности нет

    0
    Действия с комментариями Постоянная ссылка
  • admin

    Может, подскажите, какое в в моем случае может подойти решение кроме заведения отдельной базы по изменению статусов по каждому заказу?

    0
    Действия с комментариями Постоянная ссылка
  • Dtrufanov

    Возможно, вам подойдет решение с промежуточным статусом. Этот статус выставляется в основном интерфейсе. Ваш скрипт получает веб-хук, запрашивает заказ. Если он имеет определенный статус, то выполняется нужное действие, а также меняется статус. При всех остальных изменениях заказа, скрипт увидит другой статус и никаких действий совершать не будет.

    1
    Действия с комментариями Постоянная ссылка

Войдите в службу, чтобы оставить комментарий.