Ознакомьтесь с обновлениями продуктов, которые мы анонсировали! Смотрите, что нового.

/

Пакетная загрузка трек номеров почты Росиии по заказам

Введение

На сайте есть возможность загрузки трек номеров Почты России по заказам.

Для этого раз в сутки в 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 данных служб!

Это необходимо для того, чтобы обрабатывались трек номера по новым службам доставки!