Типова задача українського e-commerce: KeyCRM ловить замовлення з Instagram, Rozetka чи сайту, а менеджерам потрібне миттєве сповіщення у Telegram і копія ліда в SalesDrive. Цей стенд показує міст, який це робить: живий сервіс на цьому сервері, справжній Telegram-канал, справжній мапінг у формат SalesDrive.
вебхук order.created або зміна статусу, JSON з покупцем, товарами і сумою
валідація, захист від повторів (KeyCRM ретраїть вебхуки), rate limit, маскування телефону
людське сповіщення в канал і лід у форматі SalesDrive handler
Зліва повний payload у форматі вебхука KeyCRM (конверт event + context), можеш редагувати. Кнопка відправляє його на живий ендпоінт цього стенда, справа буде відповідь сервісу з message_id реального повідомлення в каналі.
Приймає конверт KeyCRM {event, context} та голий об'єкт замовлення. Всі поля чистяться і обрізаються, телефон маскується перед публікацією.
KeyCRM повторює вебхук, якщо не отримав 200. Міст тримає ключ подія + замовлення + статус 10 хвилин: ретрай отримує 200, але сповіщення не дублюється.
Замовлення перекладається у формат 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"}}