Делаем интеграцию CS CART с несколькими сторонними сервисами. Пишем свой модуль.
Требуется передавать туда в онлайн-режиме всё, что происходит с заказом:
Создание нового заказа
Редактирование заказа пользователем
Редактирование заказа из Админки
Смены статуса заказа
Поступление информации об оплате заказа
Изменение информации об оплате, доставке (если это отдельным хуком делается, а не общим хуком о редактировании товара)
Подскажите, пожалуйста, к каким ХУКАМ надо подключиться?
Что-то много похожих хуков есть, пытался подключатся к разным и так и не понял, какие из них правильные.
Поэтому прошу помощи, кто точно знает, что к чему.
Создание нового заказа/Редактирование заказа fn_set_hook('update_order', $order, $order_id);
Смены статуса заказа fn_set_hook('change_order_status', $status_to, $status_from, $order_info, $force_notification, $order_statuses, $place_order);
Поступление информации об оплате заказа fn_set_hook('update_order', $order, $order_id);
Скорее данная информация где-то с самом массиве данных по заказу будет.
Изменение информации об оплате, доставке (если это отдельным хуком делается, а не общим хуком о редактировании товара) fn_set_hook('update_order', $order, $order_id); - любые операции по изменению заказа
Редактирование заказа пользователем
Клиент вроде не имеет возможности редактировать заказ, если только не доработали.
В нашей версии CS CART хука “create_order” нет, к сожалению…
Но нашёл хук “place_order”. Вроде бы получилось.
Теперь обратная задача: как внести/отредактировать в CS CART заказ, полученный ИЗВНЕ?
Чтобы штатными функциями CS CART.
Как внести данные напрямую в БД - я знаю))) Но так делать не хотелось бы.
Суть в чём: по расписанию с некоторой периодичностью запускается скрипт, который получает данные о заказах из ВНЕШНЕЙ системы (изменение заказов, новые заказы). И эти заказы надо корректировать/добавлять в CS CART. Не совсем понимаю, как это реализовать.
Можете подсказать?
Имеется скрипт, который в CRON-е каждые 5 минут делает запрос на некий СЕРВЕР, оттуда получает массив с данными. Этот массив обрабатывается (до любого формата), а потом надо выполнить что-то типа CS CART-овской функции fn_update_order
Вы все правильно написали. Первый аргумент - массив с данными в нужном формате, вторым - номер заказа. Тогда информация по заказу обновится. Чтобы посмотреть данные, можете поставить в начала функции
Вот я как раз и имел в виду, КАК вызвать эту функцию?
Мой скрипт, запускаемый по расписанию, - это просто сторонний PHP-файл.
Наверное, надо в этом файле как-то подключиться к функционалу CS CART? Ну какой-нибудь INCLUDE прописать или ещё что-то. Чтобы потом в этом php-файле свободно орудовать функциями CS CART-а.