guardlabs
Наш власний тестовий стенд, не клієнтський проєкт
KeyCRM / інтеграції

Вебхук KeyCRM: замовлення летить у Telegram та SalesDrive

Типова задача українського e-commerce: KeyCRM ловить замовлення з Instagram, Rozetka чи сайту, а менеджерам потрібне миттєве сповіщення у Telegram і копія ліда в SalesDrive. Цей стенд показує міст, який це робить: живий сервіс на цьому сервері, справжній Telegram-канал, справжній мапінг у формат SalesDrive.

KeyCRM

вебхук order.created або зміна статусу, JSON з покупцем, товарами і сумою

Міст GuardLabs

валідація, захист від повторів (KeyCRM ретраїть вебхуки), rate limit, маскування телефону

Telegram + SalesDrive

людське сповіщення в канал і лід у форматі SalesDrive handler

Живий канал зі сповіщеннями: t.me/guardlabs_keycrm_demo. Натисни кнопку нижче і повідомлення з'явиться там за секунду.

Спробуй прямо зараз

Зліва повний payload у форматі вебхука KeyCRM (конверт event + context), можеш редагувати. Кнопка відправляє його на живий ендпоінт цього стенда, справа буде відповідь сервісу з message_id реального повідомлення в каналі.

Відповідь сервісу з'явиться тут. Повтор того самого замовлення протягом 10 хвилин сервіс позначить duplicate і не дублюватиме сповіщення: саме так гасяться ретраї KeyCRM.
Журнал подій стенда (останні 50)

Що всередині моста

1

Розбір вебхука

Приймає конверт KeyCRM {event, context} та голий об'єкт замовлення. Всі поля чистяться і обрізаються, телефон маскується перед публікацією.

2

Захист від повторів

KeyCRM повторює вебхук, якщо не отримав 200. Міст тримає ключ подія + замовлення + статус 10 хвилин: ретрай отримує 200, але сповіщення не дублюється.

3

Мапінг у SalesDrive

Замовлення перекладається у формат SalesDrive handler: fName, phone, products з costPerItem, saleAmount. На стенді режим dry-run, готовий payload видно в журналі. Живому клієнту вмикається один env-параметр з URL його кабінету.

# та сама перевірка з консолі:
curl -s https://guardlabs.online/demo/keycrm-hook/api/example > order.json
curl -s -X POST https://guardlabs.online/demo/keycrm-hook/api/webhook \
     -H 'Content-Type: application/json' -d @order.json
# відповідь:
{"ok": true, "telegram": {"ok": true, "message_id": 3, "channel": "@guardlabs_keycrm_demo"},
 "salesdrive": {"mapped": true, "mode": "dry-run"}}

Як перевірити самостійно