Дві різні моделі оплати доставки
Магазин платить, тариф усередині суми замовлення. Так у нас працюють Нова Пошта і
Укрпошта: покупець бачить одну цифру і на видачі не платить нічого.
Покупець платить перевізнику на місці. Так працюють пункти Rozetka Delivery і Meest — там
тариф не наш, ми його навіть не отримуємо.
Пункти Rozetka і Meest не видають пакування. Коробку купує магазин, а
перевізник її вартість на видачі не збирає. Тому в нас у таких замовленнях на суму йде 20 грн
пакування, а сам тариф лишається «при отриманні». Покупець бачить рядок виду «20 ₴ + 50 ₴ при
отриманні» — одна фраза, яка не залишає сюрпризів.
Чотири перевізники по суті
Нова Пошта — тариф з API, пакування (15 грн) уже всередині цифри, накладна створюється
автоматично. Для післяплати — з контролем оплати, і саме на цій накладній працює автоматичний чек
(докладніше в розборі про ПРРО).
Укрпошта — виняток серед решти: магазин платить, тариф усередині суми. Найдешевша на
довгих відстанях, але технічно найвередливіша — про це нижче.
Rozetka Delivery — пункти видачі Розетки; це не те саме, що продавати на Розетці.
Окремий кабінет, окремий ключ. Покупець платить тариф на місці, плюс може бути невеликий збір за
післяплату.
Meest — відділення й поштомати. Публічного API немає взагалі: навіть довідник відділень
вимагає статичного токена, а вхід за телефоном у мобільному застосунку — не той доступ, що потрібен
для інтеграції. Збір за післяплату помітний, і його варто показувати покупцеві.
Укрпошта: три ключі, які ламаються окремо
Якщо будете підключати самі — ось те, на що ми витратили найбільше часу:
- у неї три різні доступи: один для відправлень і довідника адрес, другий лише для
відстеження, третій — «токен контрагента», який передається як параметр в адресі запиту, а
не заголовком. Без нього калькулятор ціни відповідає 404, а не 401 — тобто виглядає як
«немає такого методу», а не «немає доступу»;
- код населеного пункту (КАТОТТГ) треба надсилати без префікса «UA»: з префіксом
відповідь приходить успішна, але зі порожнім списком відділень — і виглядає, ніби в місті
немає пошти;
- головний індекс міста — це не відділення. Кожне відправлення й кожен розрахунок мусить
несити конкретний індекс із довідника;
- відправника треба один раз зареєструвати в їхній базі — інакше накладну не відкрити
взагалі.
Дату доставки краще показувати числом
«Доставка 3–5 днів» — марна фраза: покупець однаково хоче знати день. Ми показуємо дату:
«Доставка 15 вересня». Але рахувати її треба від дня відправки, а не від дня замовлення:
- день відправки — сьогодні, якщо замовлення прийшло не пізніше ніж за 2 години до
закриття нашого відділення; інакше наступний робочий день;
- якщо позицію відправляє постачальник — його розклад, а не наш;
- далі — норматив перевізника: Нова Пошта віддає конкретну дату з API, Укрпошта рахується
днями і без неділь, для пунктів Розетки точного калькулятора не існує, тому там вікно з
двох дат.
І окремо: не пишіть «Отримаєте 15 вересня» — краще «Доставка 15 вересня». Обіцянка від першої
особи перетворює будь-яку затримку перевізника на претензію до магазину.
Як це працює в «Обіг»
- усі чотири перевізники в одному кошику; на замовленні активний лише один;
- тарифи живі, з фолбеком, якщо перевізник не відповідає;
- накладна Нової Пошти створюється сама, у тому числі для дропшипінгу — з відділення
постачальника;
- статус посилки підтягується і перетворюється на задачі: «забрати», «застрягла», «повертається»;
- текст про доставку й післяплату будується з однієї таблиці, тому кошик, картка товару і
сторінка подяки не можуть розійтись між собою.
Тарифи залежать від ваги, габаритів, оголошеної вартості та напрямку — тому ми
не називаємо тут «ціну доставки», а рахуємо кожну посилку живим запитом. Збори за післяплату у
перевізників свої і змінюються.