Интеграция - Обновление статуса заказа

  • В этой теме 8 ответов, 3 участника, последнее обновление 19.11.2019 в 19:03 сделано adminadmin.
Просмотр 9 сообщений - с 1 по 9 (из 9 всего)
  • Автор
    Сообщения
  • #116664

    burgutov
    Участник
    • Сообщений: 3

    Уважаемые программисты. Вопрос такой: “Где или как понять, что нужный заказ поменял статус?”. В общем, интеграция с одним сервисом(кэшбек) и при заказе передается статус заказа, допустим “ожидается”. Потом в админке мы меняем статус на “Подтвержден”, и мне нужно передать сервису автоматически, что статус подтвержден. Но не пойму, как именно это сделать. Получается, то что в базе статус заказа меняется это понятно. Два нюанса, не каждый заказ может быть с кэшбеком(получается при определенных условиях все выполняется через url принимаются данные, что клиент пришел с сервиса. И мне нужно понять, что именно мой нужный заказ поменял статус.

    Программист начинающий, может что-то не догоняю. Даже не большой подсказке был бы рад. Нельзя же каждую секунду проверять статус “нужного” заказа кодом (наподобие цикла 😀 ).

    #116672
    admin
    admin
    Хранитель
    • Сообщений: 13346

    Посмотрите в моделе заказа /administrator/components/com_virtuemart/models/orders.php в методе updateStatusForOneOrder.
    Думаю, что можно будет использовать триггер plgVmCouponUpdateOrderStatus.

    #116677

    burgutov
    Участник
    • Сообщений: 3

    Спасибо за ответ! Вот еще нашел кое-что administrator/components/com_virtuemart/controllers/orders.php :

    Вот эта функция должна ведь помочь? Как думаете?

    #116681

    burgutov
    Участник
    • Сообщений: 3

    Только сейчас дошло насчет триггера)Спасибо буду пробовать!)

    #116687
    admin
    admin
    Хранитель
    • Сообщений: 13346

    Хорошо.

    #119365

    swoop
    Участник
    • Сообщений: 2

    Не совсем в тему, но близко – очень интересует автоматическое изменение статуса заказа!
    Всегда есть неоплаченные заказы которые резервируют товары и хорошо бы их, на пример, через неделю отменять.
    PHP и SQL я владею и поменять статусы самих заказов не проблема, сложность в том, чтобы товары вернулись в систему.
    Понятно что оптимально это сделать через механизмы самого Virtuemarta, беда в том, что я с ним очень на Вы 🙁

    Не подскажите как изменить статус заказа инструментами VM3?

    #119369
    admin
    admin
    Хранитель
    • Сообщений: 13346

    По автоматическому изменению не подскажу, нужно писать отдельный скрипт и запускать его по cron-у.
    Изменить статус заказа можно в настройках заказа в Virtuemart > Заказы и покупатели > Заказы.

    #119387

    swoop
    Участник
    • Сообщений: 2

    Спасибо за ответ!
    Да, о запускаемом по cron-у скрипте речь как раз и идёт.
    Вопрос в том, каким методом можно изменить статус заказа и как к этому методу из скрипта обратиться?

    #119393
    admin
    admin
    Хранитель
    • Сообщений: 13346

    Думаю, что подойдет метод updateOrderStatus класса VirtueMartModelOrders из файла /administrator/components/com_virtuemart/models/orders.php

Просмотр 9 сообщений - с 1 по 9 (из 9 всего)

Для ответа в этой теме необходимо авторизоваться.

С 15-18 июня admin в отпуске.

Ответы на все вопросы и ссылки на товары будут присланы 19 июня.

Спасибо за понимание и хороших выходных.

×