Інтеграція 1С-Бітрікс зі службою доставки 5Post

Інтеграція 1С-Бітрікс зі службою доставки 5Post Пункти видачі замовлень — основний канал отримання товарів для покупців у регіонах. 5Post, дочірня служба X5 Retail, керує мережею з понад 15 000 ПВЗ у магазинах «П’ятірочка» та «Перехрестя». Але інтеграція з 1С-Бітрікс часто викликає складнощі: неп
Послуги, які ми пропонуємо
Показано 1 з 1Усі 1626 послуг
Інтеграція 1С-Бітрікс зі службою доставки 5Post
Середній
~1-2 тижні

Наші компетенції:

Часті запитання

Останні роботи

  • image_website-b2b-advance_0.webp
    Розробка сайту компанії B2B ADVANCE
    1454
  • image_bitrix-bitrix-24-1c_fixper_448_0.webp
    Розробка веб-сайту для компанії ФІКСПЕР
    1018
  • image_bitrix-bitrix-24-1c_development_of_an_online_appointment_booking_widget_for_a_medical_center_594_0.webp
    Розробка на базі Бітрікс, Бітрікс24, 1С для компанії Development of an Online
    760
  • image_bitrix-bitrix-24-1c_mirsanbel_458_0.webp
    Розробка на базі 1С Підприємство для компанії МИРСАНБЕЛ
    879
  • image_crm_dolbimby_434_0.webp
    Розробка сайту на CRM Бітрікс24 для компанії DOLBIMBY
    803
  • image_crm_technotorgcomplex_453_0.webp
    Розробка на базі Бітрікс24 для компанії ТЕХНОТОРГКОМПЛЕКС
    1162

Інтеграція 1С-Бітрікс зі службою доставки 5Post

Пункти видачі замовлень — основний канал отримання товарів для покупців у регіонах. 5Post, дочірня служба X5 Retail, керує мережею з понад 15 000 ПВЗ у магазинах «П’ятірочка» та «Перехрестя». Але інтеграція з 1С-Бітрікс часто викликає складнощі: неправильна обробка токенів, невраховані габаритні обмеження, втрата вебхуків. Ми пропонуємо готове рішення — підключаємо 5Post через REST API з нуля або доопрацьовуємо наявну інтеграцію. Досвід нашої команди — 5+ років розробки на Бітрікс, 100+ проектів з інтеграції служб доставки, тому ви отримуєте стабільний результат і гарантію працездатності.

Чому варто інтегрувати 5Post в 1С-Бітрікс?

5Post краща за багато альтернатив: мережа ПВЗ найбільша серед російських служб доставки, а вартість доставки нижча за середньоринкову. Для інтернет-магазину це означає більше лояльних покупців і менші логістичні витрати. Інтеграція через REST API дає повний контроль — від розрахунку вартості до відстеження статусу в реальному часі.

Як налаштувати OAuth 2.0 для 5Post?

5Post надає REST API. Авторизація — через OAuth 2.0 (client_credentials). Базовий URL продакшн: https://api.5post.ru. Тестове середовище надається при підключенні через особистий кабінет 5Post. Отримання токена:

$tokenResponse = $httpClient->post('https://api.5post.ru/api/v1/auth/token', [ 'grant_type' => 'client_credentials', 'client_id' => $clientId, 'client_secret' => $clientSecret, ]); $accessToken = $tokenResponse['access_token']; // токен діє 1 годину — кешуємо в b_option 

Токен дійсний 60 хвилин, тому кешуємо його в опціях модуля та оновлюємо за 5 хвилин до закінчення. При помилці 401 автоматично запитуємо новий токен і повторюємо запит. Документація 5Post API докладно описує параметри запитів.

Основні методи API:

  • POST /api/v1/orders — створення заявки на доставку
  • GET /api/v1/orders/{orderUUID} — статус заявки
  • DELETE /api/v1/orders/{orderUUID} — скасування
  • GET /api/v1/pvz — список ПВЗ з фільтрацією за регіоном/містом
  • POST /api/v1/orders/calc — розрахунок вартості доставки

Що робити при збої вебхуків?

5Post надсилає вебхуки при зміні статусу. Реєструємо URL в особистому кабінеті. Маппінг статусів:

Статус 5Post Статус замовлення Бітрікс
CREATED Передано в доставку
IN_TRANSIT В дорозі
ARRIVED_AT_PVZ Очікує в ПВЗ
ISSUED Доставлено
RETURNED Повернення
CANCELED Скасовано

При отриманні вебхука перевіряємо X-Signature заголовок (HMAC-підпис) — 5Post підписує запити секретним ключем партнера. Якщо підпис не збігається, вебхук ігнорується і логується помилка.

Приклад перевірки HMAC підпису
$signature = $_SERVER['HTTP_X_SIGNATURE']; $payload = file_get_contents('php://input'); $expectedSignature = hash_hmac('sha256', $payload, $secretKey); if (hash_equals($expectedSignature, $signature)) { // обробляємо вебхук } else { // ігноруємо та логуємо } 

Модуль в Бітрікс

Клас доставки успадковує \Bitrix\Sale\Delivery\Services\Base. Параметри зберігаються в b_sale_delivery_service_params: CLIENT_ID, CLIENT_SECRET, PARTNER_CODE (код партнера 5Post).

Розрахунок вартості

$calcResult = $httpClient->post('/api/v1/orders/calc', [ 'partnerOrder' => [ 'partnerOrderId' => 'SHOP-' . $orderId, 'pvzCode' => $selectedPvzCode, 'dimensions' => [ 'length' => $lengthCm, 'width' => $widthCm, 'height' => $heightCm, 'weight' => $weightGram, ], 'assessedValue' => $assessedValue, ], ]); $deliveryCost = $calcResult['deliveryCost']; 

Для попереднього розрахунку (до вибору конкретного ПВЗ) можна передавати код населеного пункту замість коду ПВЗ — API поверне базову вартість по зоні.

Завантаження та відображення ПВЗ

Список ПВЗ — великий: понад 15 000 об'єктів. Стратегія завантаження:

  1. Раз на добу (агент Бітрікс) запитуємо актуальний список GET /api/v1/pvz.
  2. Зберігаємо в HL-блок «ПВЗ 5Post» з полями: код, назва, адреса, координати, час роботи, допустимі габарити.
  3. На сторінці оформлення замовлення фільтруємо ПВЗ за вибраним містом і відображаємо на карті.

Важливий нюанс: ПВЗ 5Post мають обмеження за габаритами. maxDimensionCm і maxWeightGram — обов'язково враховувати при фільтрації, щоб не показувати покупцеві ПВЗ, куди його посилка фізично не поміститься.

Створення заявки

Після вибору ПВЗ та оформлення замовлення створюємо заявку:

$orderPayload = [ 'partnerOrder' => [ 'partnerOrderId' => 'SHOP-' . $bitrixOrderId, 'pvzCode' => $pvzCode, 'recipientName' => $fullName, 'recipientPhone' => $phone, 'recipientEmail' => $email, 'assessedValue' => $assessedValue, 'cashOnDelivery' => $codAmount, 'dimensions' => $dimensions, 'places' => [ ['barcode' => 'SHOP-' . $bitrixOrderId . '-1', 'description' => 'Місце 1'] ], ], ]; 

Відповідь містить orderUUID — зберігаємо в b_sale_order_props. Також повертається етикетка для друку (labelUrl): PDF з штрихкодом для наклейки на посилку.

Особливості роботи

5Post не повертає гроші за невикуплені замовлення автоматично — потрібне налаштування умов повернення в договорі. Термін зберігання на ПВЗ — 7 днів, потім посилка повертається. При поверненні в b_sale_order оновлюємо статус через той самий механізм вебхуків.

Що входить в інтеграцію

  • Налаштування OAuth 2.0 та кешування токенів
  • Розробка класу доставки з розрахунком вартості
  • Завантаження та зберігання ПВЗ в HL-блоці
  • Фільтрація ПВЗ за містом та габаритами
  • Обробка вебхуків з перевіркою HMAC-підпису
  • Створення заявок та друк етикеток
  • Тестування в пісочниці 5Post
  • Документація та навчання вашого менеджера

Строки

Масштаб Склад Строк
Розрахунок + створення заявок Без карти ПВЗ, тільки адресна доставка 3–4 дні
+ Карта ПВЗ HL-блок + віджет вибору + фільтр за габаритами +3–4 дні
+ Вебхуки статусів Обробник + маппінг +1–2 дні

Зв'яжіться з нами — оцінимо ваш проект і запропонуємо точні строки. Ми гарантуємо стабільну роботу інтеграції: моніторинг, обробку помилок і підтримку після запуску. Отримайте консультацію з інтеграції — ми допоможемо налаштувати 5Post під ваш бізнес.