1. Цель проекта
Разработать интеграцию служб доставки UPS, USPS и FedEx с англоязычным интернет-магазином на платформе «1С-Битрикс» для автоматизации процесса доставки. Пользователи должны получать трекинг-номера в личном кабинете, видеть статусы доставки и получать автоматические email-уведомления о смене статуса заказа, как в Shopify.
2. Требования к проекту
Общие требования:
Интеграция должна быть реализована через официальные API служб доставки (UPS Tracking/Shipping API, USPS Web Tools API, FedEx Tracking/Ship Service API).
Все данные о трекинг-номерах и статусах должны сохраняться в базе данных Битрикс.
Решение должно быть масштабируемым и поддерживать обработку не менее 100 заказов в день.
Код должен быть написан на PHP с использованием стандартов Битрикс (D7, ORM, без прямых SQL-запросов).
Функциональные требования:
Создание отправлений и получение трекинг-номеров:
При изменении статуса заказа на «Отправлен» (или аналогичный) автоматически создавать отправление через API служб доставки.
Получать трекинг-номер и сохранять его в свойстве заказа.
Отслеживание статусов доставки:
Периодически (например, раз в час) проверять статусы всех активных трекинг-номеров через API.
Обновлять статус заказа в Битрикс на основе данных API (создать кастомные статусы, например, "В пути", "Доставлен").
Отображение информации в личном кабинете:
В разделе «Мои заказы» выводить трекинг-номер и текущий статус доставки.
Добавить ссылку на сайт службы доставки для отслеживания (например,
Автоматические уведомления:
Настраивать отправку email-уведомлений при смене статуса заказа (например, "Заказ отправлен", "Доставлен").
Использовать стандартный механизм бизнес-процессов Битрикс для отправки писем.
Админ-интерфейс:
Добавить в админку возможность вручную указать трекинг-номер и обновить статус доставки для заказа.
3. Технические требования
Язык разработки: PHP 8.x, совместимый с Битрикс.
API:
UPS: Использовать UPS Tracking API и UPS Shipping API.
USPS: USPS Web Tools API.
FedEx: FedEx Tracking API и FedEx Ship Service.
Хранение данных: Использовать свойства заказа в модуле «Интернет-магазин» (Sale).
Обновление статусов: Реализовать через cron-задание на сервере.
Логирование: Вести лог запросов к API и ошибок в отдельном файле (например, /bitrix/.settings/logs/delivery_integration.log).
Документация: Предоставить краткую инструкцию по настройке и использованию модуля.
4. Этапы выполнения
Анализ и подготовка (5-10 часов):
Изучить документацию API UPS, USPS, FedEx.
Получить тестовые API-ключи (предоставлю доступы или ожидаю, что фрилансер запросит их самостоятельно).
Согласовать структуру модуля.
Разработка базовой интеграции (20-30 часов):
Подключение к API служб доставки.
Настройка создания отправлений и получения трекинг-номеров.
Сохранение данных в свойствах заказа.
Автоматизация статусов (15-20 часов):
Настройка cron-задания для проверки статусов.
Обновление статусов заказа в Битрикс.
Интерфейс и уведомления (15-20 часов):
Доработка шаблона личного кабинета для отображения трекинг-номеров и статусов.
Настройка бизнес-процессов для отправки писем.
Тестирование и доработка (10-15 часов):
Тестирование на тестовых заказах.
Исправление ошибок и оптимизация.
5. Ожидаемый результат
Рабочий модуль интеграции, установленный на сайте.
Автоматическое создание отправлений и получение трекинг-номеров при статусе «Отправлен».
Обновление статусов доставки в реальном времени (с периодичностью проверки через cron).
Отображение трекинг-номеров и статусов в личном кабинете пользователя.
Автоматическая отправка email-уведомлений при смене статуса.
Инструкция по настройке (например, где вставить API-ключи).
Доступ: Предоставлю доступ к админке и FTP/SSH сервера.
API-ключи: Предоставлю по запросу после начала работы
7. Сроки и бюджет
Ориентировочные сроки: 2-3 недели (60-95 часов).
8. Критерии приемки
Модуль успешно установлен и работает на тестовом сервере.
Трекинг-номера генерируются и отображаются в личном кабинете.
Статусы обновляются автоматически (проверка через cron).
Письма отправляются при смене статуса (проверка на тестовом email).
Отсутствие критических ошибок в логах.
Опыт работы с Битрикс и интеграциями API.
Если возникнут вопросы по ТЗ, прошу уточнить до начала работы.
В отклике обязательно укажите своё портфолио по работе с API этих систем доставки