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 (создать кастомные статусы, например, "В пути", "Доставлен").
Отображение информации в личном кабинете:
В разделе «Мои заказы» выводить трекинг-номер и текущий статус доставки. Добавить ссылку на сайт службы доставки для отслеживания (например, www.fedex.com/apps/fedext...
Автоматические уведомления:
Настраивать отправку 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 этих систем доставки