Служба підтримки✈ Ми в телеграмі
+38 063 641 32 56

Інтеграції з CRM і сайтом

Замовлення з вашої CRM або сайту потрапляють на наш склад без ручного вводу, а ТТН і статуси доставки повертаються назад. Усе працює через API партнера і вебхук. Ключ — у кабінеті: Профіль → API.

Готових «кнопок» під кожну CRM немає — API універсальний, підключається за 20–40 хвилин за прикладами нижче. Не хочете налаштовувати самі — напишіть менеджеру, підключимо разом.

Як це працює

  1. Замовлення → до нас. Ваша система надсилає POST https://drop.protovar.com.ua/api/v1/orders із даними покупця, відділенням, сумою післяплати й позиціями (за id або sku з нашого фіду). Поле external_id — номер замовлення у вашій системі: повторний запит дубль не створить.
  2. Відправка. Оформлене до 11:00 — відправляємо того ж дня (Пн–Сб), створюємо ТТН Нової Пошти.
  3. Статуси → до вас. На адресу з Профілю приходить POST при кожній зміні: order.ttn, order.status, order.received, order.refused, order.cancelled. Або опитуйте GET /api/v1/orders/<id>.

KeyCRM

Замовлення з Prom, Rozetka, WooCommerce чи Instagram уже збираються у KeyCRM — лишається передати їх нам. Три робочі варіанти:

  1. Автоматизація KeyCRM → HTTP-запит. Якщо ваш тариф дозволяє вихідні запити (вебхуки/автоматизації), створіть правило «замовлення підтверджене → HTTP POST» на адресу https://drop.protovar.com.ua/api/v1/orders із заголовком Authorization: Bearer <ключ> і JSON з полями з таблиці нижче.
  2. Через сервіс-зв'язку (Make, Zapier, Albato, n8n): тригер — нове замовлення в KeyCRM, дія — HTTP-запит до нас. Такий сценарій збирається за 15 хвилин без програміста.
  3. Ми підключимо за вас. Напишіть менеджеру, що у вас KeyCRM — узгодимо формат і зробимо тест на одному замовленні.

Статуси назад у KeyCRM: вкажіть у Профілі адресу вхідного вебхука вашої CRM або сервіс-зв'язки — ми надішлемо туди номер ТТН і кожну зміну статусу.

SalesDrive і LP-CRM

У налаштуваннях постачальника оберіть «власна інтеграція / API», вставте адресу https://drop.protovar.com.ua/api/v1/orders і ключ як Bearer-токен. Для оновлення статусів вкажіть адресу вебхука вашої CRM у нашому Профілі. Якщо CRM вимагає інший формат полів — напишіть менеджеру, підлаштуємо.

WooCommerce (WordPress)

Найпростіший шлях без плагінів — невеликий фрагмент у functions.php вашої теми (або в плагіні Code Snippets): при переході замовлення в статус «Обробляється» воно летить до нас. Артикули товарів (SKU) у вашому магазині мають збігатися з артикулами з нашого фіду.

add_action('woocommerce_order_status_processing', function ($order_id) {
  $o = wc_get_order($order_id);
  $items = [];
  foreach ($o->get_items() as $it) {
    $p = $it->get_product();
    $items[] = ['sku' => $p ? $p->get_sku() : '', 'qty' => $it->get_quantity()];   // SKU = артикул із нашого фіду
  }
  wp_remote_post('https://drop.protovar.com.ua/api/v1/orders', [
    'headers' => ['Content-Type' => 'application/json', 'Authorization' => 'Bearer ВАШ_КЛЮЧ'],
    'body'    => wp_json_encode([
      'external_id' => 'WC-' . $order_id,
      'buyer_name'  => $o->get_formatted_shipping_full_name() ?: $o->get_formatted_billing_full_name(),
      'buyer_phone' => $o->get_billing_phone(),
      'carrier'     => 'Нова Пошта',
      'city'        => $o->get_shipping_city() ?: $o->get_billing_city(),
      'branch'      => $o->get_shipping_address_1() ?: $o->get_billing_address_1(),
      'cod_sum'     => (int) round($o->get_total()),
      'items'       => $items,
      'kind'        => 'drop',
      'comment'     => $o->get_customer_note(),
    ]),
    'timeout' => 20,
  ]);
});

Статуси у WooCommerce: приймайте наш вебхук своїм REST-маршрутом (register_rest_route) і міняйте статус замовлення за external_id, або просто дивіться ТТН у кабінеті. Товари й залишки — через XML-фід із вашими цінами, WooCommerce імпортує його плагіном імпорту за розкладом.

Інший сайт, Google Таблиці, свій скрипт

Будь-яка система, що вміє зробити HTTP-запит, підключається так само. Для Google Таблиць достатньо Apps Script з UrlFetchApp.fetch. Щоб перевірити інтеграцію без створення замовлення, ТТН і сповіщень, додайте до запиту ?dry_run=1 (або заголовок X-Dry-Run: 1, або "dry_run": true у тілі). Ми виконаємо ті самі перевірки, що й у бойовому запиті (товар, наявність, ціни, дані отримувача, баланс), і повернемо {"ok":true,"dry_run":true,…} із розрахунком, нічого не записавши. Приклад:

curl -X POST "https://drop.protovar.com.ua/api/v1/orders?dry_run=1" \
  -H "Authorization: Bearer ВАШ_КЛЮЧ" -H "Content-Type: application/json" \
  -d '{"external_id":"TEST-1","buyer_name":"Тест Тестович","buyer_phone":"+380671234567",
       "carrier":"Нова Пошта","city":"Київ","branch":"Відділення №1","cod_sum":1100,
       "items":[{"sku":"АРТИКУЛ_З_ФІДУ","qty":1}],"kind":"drop","comment":""}'

Поля замовлення

ПолеОбов'язковеЩо передати
external_idтакномер замовлення у вашій системі, захист від дублів
buyer_name, buyer_phoneтакПІБ і телефон отримувача
carrierтак«Нова Пошта» або «Укрпошта»
city, branchтакмісто й відділення / поштомат / адреса
cod_sumтаксума післяплати, не менша за дроп-ціну позицій
itemsтакмасив {"id":"…","qty":1} або {"sku":"…","qty":1}
kindніdrop (типово) або opt
commentнікоментар для складу

Статуси й вебхук

ПодіяКолиЩо в JSON
order.statusnew → confirmed → shipped → received / refused / returned / cancelledorder.status
order.ttnстворено ТТНorder.ttn, order.ttn_status
order.receivedпокупець забрав посилкуorder.received_at
order.refusedвідмова / невикуп—
order.cancelledскасовано до відправки—

Кожен виклик підписаний: заголовок X-Protovar-Signature = HMAC-SHA256 тіла вашим API-ключем (hex). Перевіряйте підпис, щоб не приймати чужі запити. Результат останнього виклику видно в Профілі.

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

Що буде, якщо товару вже немає?

Відповідь {"ok":false,"error":"…"} із назвою позиції — замовлення не створюється. Щоб такого не було, оновлюйте залишки з нашого фіду автоматично.

Покупець заплатив наперед, післяплати немає

Передайте "pay":"prepay" або оформіть тип «Своя ТТН» у кабінеті — дроп-ціну сплачуєте з балансу. Докладно у FAQ.

Чи можна тестувати без реальних відправок?

Так, без створення замовлення: додайте до запиту ?dry_run=1 — ми виконаємо всі перевірки й повернемо розрахунок, нічого не записавши (без замовлення, ТТН і сповіщень). Або створіть замовлення з коментарем «тест, не відправляти» і скасуйте його в кабінеті чи через POST /api/v1/orders/<id>/cancel до створення ТТН.

Скільки це коштує?

Нічого. API, фід і вебхуки входять у безкоштовну роботу на платформі.

Підключимо разом
Напишіть менеджеру, яка у вас CRM або сайт, — узгодимо формат і зробимо тест на одному замовленні.
Написати в Telegram Отримати ключ API