Интеграция 1С-Битрикс с агрегатором доставок ApiShip
Магазин на Битрикс с 500 заказами в месяц тратит до 40 часов на сопровождение прямых интеграций с СДЭК, Boxberry и Почтой России. Изменение API любой службы — аврал: правка кода, тестирование, деплой. ApiShip централизует всё: один API для 30+ перевозчиков, единый расчёт и трекинг. Мы внедрили такое решение для клиента из сегмента DIY — после интеграции время на поддержку доставки сократилось с 20 часов в неделю до 2, а ежемесячная экономия составила 80 000–100 000 ₽.
Почему стоит выбрать агрегатор ApiShip вместо прямых интеграций?
Прямая интеграция с каждой службой — это отдельные модули с разными credentials, разные схемы запросов и ответов, необходимость отслеживать изменения API каждого перевозчика и обновлять код. ApiShip унифицирует всё: единая авторизация (Bearer-токен), расчёт стоимости по всем перевозчикам одним запросом, создание отправлений через один эндпоинт, трекинг в едином формате.
Обратная сторона: агрегатор добавляет прослойку — иногда задержка при обновлении API перевозчика составляет 1–2 дня. Для магазинов с нестандартными требованиями к конкретному перевозчику прямая интеграция может быть точнее. Но в 90% случаев ApiShip — оптимальный выбор: мы гарантируем стабильность и своевременную поддержку.
API ApiShip: основные эндпоинты
Базовый URL: https://api.apiship.ru/v2. Авторизация: Bearer-токен. Тестовая среда: https://api.test.apiship.ru/v2. Подробнее см. документацию ApiShip API.
| Метод | URL | Описание |
|---|---|---|
| POST | /calculator | Расчёт стоимости по активным перевозчикам |
| POST | /orders | Создание заявки на доставку |
| GET | /orders/{id} | Получение статуса заявки |
| GET | /points | Список ПВЗ по фильтру (город, перевозчик) |
| GET | /deliveries | Список подключённых перевозчиков |
| DELETE | /orders/{id} | Отмена заявки |
Как мы реализуем интеграцию с ApiShip в Битрикс?
Один модуль покрывает все службы. Архитектурный выбор: либо один класс \Bitrix\Sale\Delivery\Services\Base с параметром «перевозчик», либо несколько экземпляров одного класса для разных перевозчиков (курьер, ПВЗ и т.д.). Второй подход удобнее для покупателя: он видит отдельные способы доставки.
Параметры в b_sale_delivery_service_params:
-
APISHIP_API_KEY— ключ из личного кабинета ApiShip; -
PROVIDER_KEY— код перевозчика (cdek, boxberry, russian_post и т.д.); -
FROM_POINT_ID— ID точки отправки (склад в системе ApiShip); -
DELIVERY_TYPE—door(курьер) илиpoint(ПВЗ).
Расчёт стоимости
$calcRequest = [
'fromPoint' => ['id' => $fromPointId],
'toPoint' => [
'address' => $deliveryAddress,
'cityId' => $apishipCityId,
],
'parameters' => [
'weight' => $weightGram,
'length' => $lengthCm,
'width' => $widthCm,
'height' => $heightCm,
'declaredValue' => $declaredValue,
],
'deliveryType' => $deliveryType,
'providers' => [$providerKey], // пустой массив = все перевозчики
];
$results = $httpClient->post('/v2/calculator', $calcRequest);
// $results — массив вариантов с ценой и сроками для каждого перевозчика
Если providers — пустой массив, ApiShip вернёт расчёт по всем активным перевозчикам. Это позволяет реализовать на сайте блок сравнения способов доставки с ценами.
Получение и хранение ПВЗ
ПВЗ в ApiShip запрашиваются по фильтрам:
GET /points?cityId={id}&providerKey={key}&type=pickup_point
Загружаем раз в сутки агентом для активных перевозчиков. Сохраняем в HL-блок «ПВЗ» с полями: providerKey, pointId, name, address, lat, lng, workingHours, maxWeight. На карте отображаем всё агрегированно — покупатель выбирает любой ПВЗ любого перевозчика.
При выборе ПВЗ сохраняем в b_sale_order_props: APISHIP_PROVIDER_KEY и APISHIP_POINT_ID.
Создание заявки
$orderPayload = [
'providerKey' => $providerKey,
'senderPointId' => $fromPointId,
'deliveryType' => $deliveryType,
'toPoint' => [
'id' => $pvzId, // если ПВЗ
'address' => $address, // если курьер
],
'recipient' => ['name' => $name, 'phone' => $phone],
'parameters' => $parameters,
'orderNumber' => 'SHOP-' . $bitrixOrderId,
'declaredValue' => $declaredValue,
'cashOnDelivery' => $codAmount,
'places' => $places,
];
Ответ: orderId в системе ApiShip и trackingNumber перевозчика. Оба сохраняем в b_sale_order_props.
Трекинг и статусы
Подробнее о настройке вебхуков
Вебхуки: ApiShip отправляет POST при смене статуса. Регистрируем URL в личном кабинете. Статусы унифицированы для всех перевозчиков — один маппинг работает для всех.
Что входит в работу
При заказе интеграции под ключ мы предоставляем:
- анализ текущей схемы доставки и рекомендации;
- разработку модуля с учётом ваших бизнес-процессов;
- настройку расчёта стоимости, выбора ПВЗ и создания заявок;
- интеграцию с трекингом и вебхуками;
- документацию по API и инструкцию для операторов;
- гарантию 3 месяца на бесперебойную работу.
Наш опыт и гарантии
Мы 5+ лет разрабатываем на 1С-Битрикс и Битрикс24. За плечами 10+ успешных проектов по интеграции служб доставки, в том числе с ApiShip, прямыми API перевозчиков и кастомными решениями. Мы даём гарантию на все работы — если что-то пойдёт не так, исправим в приоритетном порядке. Свяжитесь с нами, чтобы получить консультацию и оценку вашего проекта.
Сроки ориентировочно
| Масштаб | Состав | Срок |
|---|---|---|
| Один перевозчик через ApiShip | Расчёт + заявки + трекинг | 3–4 дня |
| Несколько перевозчиков | + Логика выбора + несколько экземпляров | 5–6 дней |
| + Карта ПВЗ | HL-блок + виджет | +2–3 дня |
| + Сравнение тарифов | JS-блок на оформлении заказа | +2 дня |
Стоимость рассчитывается индивидуально — зависит от объёма и сложности. Пришлите описание вашей схемы доставки — мы оценим проект и подготовим коммерческое предложение. Свяжитесь с нами, чтобы обсудить детали.







