
Интеграция 1С-Битрикс с AccordPost: экспорт заказов и международная доставка
Разработали XML-экспорт заказов в AccordPost, учёт выгруженных заказов и этикетку к бланку. Добавили отдельную обработку международной доставки.
От проблемы к результату
Как мы решали конкретную задачу клиента и что получилось.
Проблема
Интернет-магазину требовалась интеграция с AccordPost для передачи заказов в службу доставки. Предстояло разобраться в формате запросов, встроить экспорт в административный интерфейс и подготовить связанные документы.
В ходе разработки понадобились учёт уже экспортированных заказов и отдельная логика международной доставки.
Решение
Разработали XML-запросы и страницу экспорта в административной части Битрикса. Добавили отслеживание состояния экспорта и фильтрацию по идентификаторам уже выгруженных заказов. Интегрировали формирование этикетки и добавили её к бланку заказов.
Для международных заказов реализовали запрос кода города и отдельное формирование XML. Обычные и международные заказы обрабатывались последовательно. Изменения переносили на рабочий сайт и тестировали.
Результат
Реализован экспорт заказов в AccordPost с отдельной обработкой международной доставки. В записях работ подтверждены учёт выгруженных заказов, добавление этикетки к бланку, перенос и тестирование на рабочем сайте.
Сквозная синхронизация статусов доставки, банковские операции и получение всех транспортных документов этим кейсом не заявляются.
Передача заказов из Битрикса в AccordPost
Задача начиналась с подключения интернет-магазина к API AccordPost. Для реализации изучали документацию, проводили тестовые запросы и уточняли параметры у поддержки сервиса.
Работа включала не только формирование XML: экспорту требовался интерфейс в административной части магазина, учёт уже переданных заказов и документы для обработки отправлений.
Что объединили в экспорте
Запросы в AccordPost
Разработали формирование XML для передачи заказов. При тестовых обращениях разбирали проблемы кодировки и корректировали запросы.
Учёт выгруженных заказов
Добавили отслеживание состояния экспорта. Для выборки собирали идентификаторы уже экспортированных заказов и исключали их фильтром.
Этикетка к бланку
Интегрировали формирование этикетки в страницу экспорта, настроили передачу параметров для её генерации и добавили этикетку к бланку заказов.
Отдельный запрос для определения города
Для международного отправления требовалось получить код города дополнительным запросом. Поэтому для международных заказов предусмотрели отдельное формирование XML.
Обработка шла последовательно: сначала обычные заказы, затем международные. Список городов вывели на отдельную служебную страницу, а часть кода экспорта вынесли в функции.
От тестовых запросов к рабочему сайту
Разобрали протокол обмена
Изучили документацию и схему вызовов. Уточняли назначение параметров у поддержки и проверяли тестовые запросы.
Подготовили XML-экспорт
Разработали запросы и встроили их в страницу экспорта. В ходе проверки разбирали ошибки кодировки.
Выбрали подходящий интерфейс
Первоначальную страницу на основе другого модуля доставки заменили обычной административной страницей Битрикса: возможностей исходного шаблона не хватило.
Добавили учёт выгрузок и этикетку
Настроили отслеживание экспорта, исключение ранее выгруженных заказов и передачу параметров для формирования этикетки.
Перенесли и расширили интеграцию
Выполнили перенос и тестирование на рабочем сайте. Добавили международную доставку с отдельным XML и получением кода города.
Экспорт учитывает особенности доставки
XML-экспорт в административной части
Формирование запросов встроено в страницу экспорта заказов Битрикса.
Выборка с учётом предыдущих выгрузок
Добавлены отслеживание состояния экспорта и фильтр по идентификаторам переданных заказов.
Международные отправления
Реализованы запрос кода города и отдельное формирование XML для международной доставки.
Перенос на рабочий сайт
В истории задачи зафиксированы перенос изменений, доработки и тестирование на рабочем сайте.
Подключим службу доставки к процессам магазина
Начнём с того, какие заказы и поля нужно передавать, какие ответы возвращает сервис и какие документы нужны сотрудникам. Отдельно согласуем правила повторной отправки и обработку ошибок.
Для обсуждения интеграции пригодятся документация API и пример заказа. По ним определим состав обмена и места, где потребуется доработка Битрикса.