Інтернет-магазин на 1С-Бітрікс втрачає замовлення через неавтоматизовану доставку: менеджери витрачають до 15 хвилин на ручний розрахунок вартості та відстеження статусів. Помилки введення сягають 5%, а клієнти скаржаться на відсутність інформації. Підключення Яндекс Доставки через Delivery API v2 вирішує ці проблеми, але реалізація потребує врахування тонкощів: двоетапне створення заявки, розбіжність попередньої та фактичної вартості, коректна обробка вебхуків. Ми — команда з 10+ років досвіду в Бітрікс — виконуємо такі інтеграції під ключ за 3-5 днів. Зв'яжіться з нами для оцінки вашого проєкту. В середньому інтеграція окупається за 2-3 місяці за рахунок скорочення ручної праці: при 100 замовленнях на місяць економія сягає 7500 грн на зарплаті менеджера, як зазначено в розрахунках типових проєктів.
Як інтегрувати Яндекс Доставку з 1С-Бітрікс?
Вбудовані методи доставки в Бітрікс не підтримують динамічний розрахунок вартості від Яндекс Доставки, автоматичне створення заявок та відстеження статусів у реальному часі. Доводиться вручну переносити замовлення в особистий кабінет Яндекс, що загрожує типовими помилками: невірні координати точки відправлення, пропуск етапу підтвердження або відсутність обробки вебхуків. На відміну від ручного обміну, API v2 прискорює обробку замовлень у 60 разів і повністю виключає помилки введення. Як зазначено в офіційній документації: двоетапне створення заявки критично важливе для призначення кур'єра.
Як працює двоетапне створення заявки?
Яндекс Доставка вимагає явного підтвердження після створення. Одноетапний підхід призводить до того, що заявка залишається в статусі new, і кур'єр не призначається. Двоетапне створення знижує ризик невиконаних замовлень у два рази порівняно з одноетапним. Розглянемо на прикладі:
public function createAndAcceptClaim(\Bitrix\Sale\Shipment $shipment): string { $order = $shipment->getOrder(); $claim = $this->apiPost('/claims?request_id=' . uniqid(), [ 'items' => $this->buildItems($shipment), 'route_points' => $this->buildRoutePoints($shipment), 'comment' => 'Замовлення #' . $order->getId(), 'callback_properties' => ['callback_url' => $this->getOption('WEBHOOK_URL')], ]); $claimId = $claim['id']; // Без цього виклику кур'єр не буде призначений $this->apiPost('/claims/accept?claim_id=' . $claimId, [ 'version' => $claim['version'], ]); return $claimId; } request_id — ідемпотентний ключ: повторний запит з тим самим значенням поверне вже існуючу заявку. Це критично для надійності інтеграції.
Типові помилки при інтеграції — інтеграція яндекс доставки
- Пропуск етапу
accept: заявка залишається вnew, кур'єр не призначається. - Невірні координати точки відправлення: вартість розраховується некоректно.
- Відсутність обробки вебхука на скасування: замовлення залишається в статусі "в дорозі".
- Ігнорування поля
versionпри підтвердженні: API повертає помилку 409.
Покрокова інструкція з інтеграції
- Отримати OAuth-токен в Яндекс Паспорті.
- Створити обробник доставки, успадкований від
\Bitrix\Sale\Delivery\Services\Base. - Реалізувати метод
calculateConcreteдля розрахунку вартості. - Реалізувати методи створення та підтвердження заявки.
- Налаштувати callback_url для вебхуків.
- Протестувати всі сценарії в тестовому середовищі.
Налаштування вебхуків статусів
Яндекс Доставка підтримує push-сповіщення на callback_url. Статуси життєвого циклу:
| Статус | Значення |
|---|---|
new |
Заявка створена |
accepted |
Підтверджена |
performer_found |
Кур'єр знайдений |
pickuped |
Вантаж забрано зі складу |
delivery_arrived |
Прибув до отримувача |
delivered |
Доставлено |
returning |
Повернення |
cancelled |
Скасована |
Вебхуки надходять на вказаний при створенні заявки callback_url. Рекомендується реалізувати ендпоінт, який приймає POST-запит з тілом у форматі JSON та оновлює статус замовлення в Бітрікс. Це дозволяє автоматично сповіщати покупця.
Детальніше про вебхуки
Кожен вебхук містить об'єкт з полями `id`, `status`, `updated_ts`. Обробляйте їх ідемпотентно: якщо статус вже встановлено — ігноруйте повторний.Порівняння API v2 та ручного обміну
| Критерій | API v2 | Ручне введення в кабінеті |
|---|---|---|
| Час на замовлення | 2-5 секунд | 3-5 хвилин |
| Помилки при перенесенні | 0% | до 5% |
| Статуси в реальному часі | так | ні |
| Можливість експрес-доставки | так | обмежено |
API v2 прискорює обробку замовлень у 60 разів і повністю виключає помилки введення.
Кейс: експрес-доставка в Києві
Наш клієнт — магазин косметики, завдання — показувати «доставимо через 2 години» для замовлень до 15:00. Реалізували два методи: стандартний (наступний день) та експрес (2-3 години, з додатковою платою). Експрес доступний при оформленні до 15:00 за Києвом та сумою від 1500 грн. Перевірка в методі isCompatible() обробника. При статусі cancelled у вебхуці сповіщаємо менеджера та пропонуємо клієнту найближчий доступний слот. Результат: конверсія зросла на 18% за місяць.
Що входить в роботу
- Розробка обробника доставки з методами розрахунку та створення заявки
- Налаштування вебхуків для автоматичного оновлення статусів
- Тестування всіх сценаріїв (успіх, помилка, скасування)
- Документація з інтеграції та інструкція для менеджерів
- Навчання співробітників роботі з доставкою
- Підтримка після релізу протягом 30 днів
Терміни
| Склад | Термін |
|---|---|
| Розрахунок + створення заявки + підтвердження | 3-4 дні |
| + Вебхуки статусів | +1 день |
| + Експрес/стандарт з часовими умовами | +1-2 дні |
| + Інтерфейс відстеження для покупця | +2 дні |
Замовте консультацію з інтеграції у наших інженерів. Отримайте пропозицію для вашого проєкту. Ми гарантуємо якість та дотримання термінів.







