guardlabs
Наш власний тестовий стенд, не клієнтський проєкт
ChoiceQR / KeyCRM · синхронізація замовлень

ChoiceQR → KeyCRM: нове замовлення летить у CRM автоматично

Гість зробив замовлення через QR-меню ChoiceQR — офіціанту чи менеджеру не треба вручну переносити його в KeyCRM. Стенд ловить вебхук order.created від ChoiceQR (реальна схема з їхньої документації), мапить кожне поле на формат KeyCRM, відсікає повтори одного й того ж замовлення і показує, що піде в KeyCRM ще до того, як там з'явиться платний ключ.

ChoiceQR

webhook order.created: клієнт, товари, доставка, оплата

→
Цей сервіс

дедуп за ID замовлення, мапінг полів, лог помилок

→
KeyCRM

POST /order: покупець, товари, оплата, коментар

Що саме показує стенд

1

Повний набір полів клієнта

Ім'я, телефон, адреса доставки, спосіб доставки, дата/час, товари з кількістю і ціною, загальна сума, коментар клієнта, спосіб оплати, джерело — усе з реальної схеми order.created ChoiceQR.

2

Без дублів

ChoiceQR повторює вебхук, якщо не отримав 2xx. Сервіс запам'ятовує ID замовлення і другий прихід тієї ж події просто позначає як дубль — у KeyCRM нічого зайвого не потрапить.

3

Лог помилок

Якщо KeyCRM відповів помилкою, недоступний, або формат замовлення несподіваний — запис іде у публічний лог нижче з причиною, нічого не губиться мовчки.

4

Готово розширювати

Той самий дедуп-шар і той самий event-роутинг за type легко покриє наступні події ChoiceQR — order.accepted, order.cancelled, order.delivery.update — це вже зміна статусу в KeyCRM, друге питання клієнта в ТЗ.

Мапінг полів (ChoiceQR → KeyCRM)

Потрібно клієнтуChoiceQR (order.created)KeyCRM (POST /order)
ім'я клієнта→delivery.customer.name→buyer.full_name
телефон→delivery.customer.phone→buyer.phone
адреса доставки→delivery.customer.address.*→manager_comment (адреса)
спосіб доставки→type (delivery/takeaway/table)→manager_comment (тип)
дата та час доставки→delivery.when→manager_comment (час)
товари, кількість, ціна→items[]{name,count,price}→products[]{name,quantity,price}
загальна сума→total→payment_amount
коментар клієнта→customerComments[]→manager_comment
спосіб оплати→payBy→payment_method
джерело замовлення→(фіксовано: ChoiceQR)→source_id

KeyCRM не має окремих полів під адресу/дату доставки на рівні API-замовлення — тому вони йдуть у manager_comment читабельним рядком; якщо потрібно окремими колонками — це два додаткові кастомні поля в KeyCRM, налаштовуються за хвилини в самому KeyCRM.

Спробуйте самі

Зліва — приклад вебхука ChoiceQR (можна редагувати), справа — що піде в KeyCRM і що відповість цей сервіс. Другий клік по тій самій кнопці без змін ID покаже дедуп дублів.

тут з'явиться відповідь сервісу і що пішло в KeyCRM…
Публічний лог подій…
—ще немає подій

Як перевірити, що це не картинка

Хочете таке саме для свого бізнесу?

Ми робимо такі демо і впроваджуємо під ваш процес — залиште заявку, відповімо швидко.

Дякуємо — заявку отримано, відповімо найближчим часом.