Пакетная загрузка трек номеров почты Росиии по заказам
Введение
На сайте есть возможность загрузки трек номеров Почты России по заказам.
Для этого раз в сутки в 20:00 на cron выполняется задача по адресу /local/tools/track_number/index.php
Перед этим необходимо загрузить файл track_number.json в папку /upload со следующей структурой:
Пример
- ID - id заказа
- TRACKING_NUMBER - трек номер почты России
После каждого выполнения файла идет запись в лог, который можно посмотреть в корне сайта track_number.txt
Пример
- # 2021-03-09 09:03:37 - Дата и время обработки
- SUCCESS - количество успешно добавленных трек номеров
- ERROR - ошибка FILE NOT FOUND означает, что в момент загрузки файл не был загружен в папку /upload
Листинг
Описание
Первым делом подключается файл settings.php где хранится путь к файлу на сервере.
require_once $_SERVER['DOCUMENT_ROOT'].'/local/tools/track_number/class.php'; - подключаем класс для работы функции по добавлению трек номера в заказ и выставлению статуса заказа "Отправлен".
После парсим сам файл track_number.json если он не найден или пустой делаем соответствующую запись в лог, иначе идем дальше. Разбиваем обработку по шагам по 100 треков за раз. Прогоняем в массиве все треки с помощью функции TrackNumberParser::init и делаем запись в лог количество успешно добавленных трек номеров.
Листинг класса TrackNumberParser
Описание
7,50,51 - id служб доставки почты России
☝️При добавлении новой службы доставки необходимо обязательно добавить id данных служб!
Это необходимо для того, чтобы обрабатывались трек номера по новым службам доставки!