Подскажите с названиями ХУКОВ

Добрый день всем.

Делаем интеграцию CS CART с несколькими сторонними сервисами. Пишем свой модуль.
Требуется передавать туда в онлайн-режиме всё, что происходит с заказом:

  1. Создание нового заказа
  2. Редактирование заказа пользователем
  3. Редактирование заказа из Админки
  4. Смены статуса заказа
  5. Поступление информации об оплате заказа
  6. Изменение информации об оплате, доставке (если это отдельным хуком делается, а не общим хуком о редактировании товара)

Подскажите, пожалуйста, к каким ХУКАМ надо подключиться?

Что-то много похожих хуков есть, пытался подключатся к разным и так и не понял, какие из них правильные.

Поэтому прошу помощи, кто точно знает, что к чему.

Спасибо!

Пробуйте такие варианты:

Создание нового заказа/Редактирование заказа
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); - любые операции по изменению заказа

Редактирование заказа пользователем

Клиент вроде не имеет возможности редактировать заказ, если только не доработали.

Добавлю, для редактирования заказа

fn_set_hook('update_order', $order, $order_id);

а для добавления

fn_set_hook('create_order', $order);

В нашей версии CS CART хука “create_order” нет, к сожалению…
Но нашёл хук “place_order”. Вроде бы получилось.

Теперь обратная задача: как внести/отредактировать в CS CART заказ, полученный ИЗВНЕ?
Чтобы штатными функциями CS CART.
Как внести данные напрямую в БД - я знаю))) Но так делать не хотелось бы.

Суть в чём: по расписанию с некоторой периодичностью запускается скрипт, который получает данные о заказах из ВНЕШНЕЙ системы (изменение заказов, новые заказы). И эти заказы надо корректировать/добавлять в CS CART. Не совсем понимаю, как это реализовать.

Можете подсказать?

Имеется скрипт, который в CRON-е каждые 5 минут делает запрос на некий СЕРВЕР, оттуда получает массив с данными. Этот массив обрабатывается (до любого формата), а потом надо выполнить что-то типа CS CART-овской функции fn_update_order

Как это сделать?

Спасибо!

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

if (AREA == 'A') {
     fn_print_die($cart);
}

и обновить заказ в админке

Вот я как раз и имел в виду, КАК вызвать эту функцию?
Мой скрипт, запускаемый по расписанию, - это просто сторонний PHP-файл.

Наверное, надо в этом файле как-то подключиться к функционалу CS CART? Ну какой-нибудь INCLUDE прописать или ещё что-то. Чтобы потом в этом php-файле свободно орудовать функциями CS CART-а.

Подскажите, пожалуйста.

Спасибо.

Подключите init.php из корня, он подтянет все функции CS-Cart

Спасибо огромное!!!
Попробую…

1 лайк