Интеграции с CRM и сайтом
Заказы из вашей CRM или сайта попадают на наш склад без ручного ввода, а ТТН и статусы доставки возвращаются обратно. Всё работает через API партнёра и вебхук. Ключ — в кабинете: Профиль → API.
Как это работает
- Заказ → к нам. Ваша система отправляет
POST https://drop.protovar.com.ua/api/v1/ordersс данными покупателя, отделением, суммой наложенного платежа и позициями (поidилиskuиз нашего фида). Полеexternal_id— номер заказа в вашей системе: повторный запрос дубль не создаст. - Отправка. Оформленное до 11:00 отправляем в тот же день (Пн–Сб), создаём ТТН Новой Почты.
- Статусы → к вам. На адрес из Профиля приходит
POSTпри каждом изменении:order.ttn,order.status,order.received,order.refused,order.cancelled. Или опрашивайтеGET /api/v1/orders/<id>.
KeyCRM
Заказы из Prom, Rozetka, WooCommerce или Instagram уже собираются в KeyCRM — остаётся передать их нам. Три рабочих варианта:
- Автоматизация KeyCRM → HTTP-запрос. Если тариф позволяет исходящие запросы (вебхуки/автоматизации), создайте правило «заказ подтверждён → HTTP POST» на адрес
https://drop.protovar.com.ua/api/v1/ordersс заголовкомAuthorization: Bearer <ключ>и JSON с полями из таблицы ниже. - Через сервис-связку (Make, Zapier, Albato, n8n): триггер — новый заказ в KeyCRM, действие — HTTP-запрос к нам. Такой сценарий собирается за 15 минут без программиста.
- Подключим за вас. Напишите менеджеру, что у вас 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.status | new → confirmed → shipped → received / refused / returned / cancelled | order.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