Служба поддержки✈ Мы в телеграме
+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