Мазмұнға өту
N1
CRM / Bitrix24 · филиалдардағы визиттер · OTP және келісімдер

Клиенттің филиалға визитін тіркеу: QR-кодтан Bitrix24-тегі мәмілеге дейін

Клиент: Қаржы компаниясы, NDA Санат: CRM / Bitrix24 Стек: PHP 8, Bitrix24 REST, JavaScript, SMS-шлюз, клиентті тексерудің сыртқы сервистері, JSON-анықтамалықтар, cron Мерзім: кезең-кезеңмен енгізілді
Мәселе

39 филиалдың кез келгеніне келген клиент бірден CRM-ге түсуі керек — расталған телефонмен, несие бюросына сұраныс жасауға келісіммен және дубликатсыз. Клиенттің ескі өтінімдері жаңаларының қасында жинала беретін, ал бір реттік код тікелей браузерде генерацияланып, сонда салыстырылатын, яғни растау жай ғана формальдылық еді.

Шектеулер

Форма телефоннан QR-код арқылы ашылады, бүкіл филиал интернетке бір NAT арқылы шығады, сыртқы тексерулердің бір бөлігі ақылы әрі тұрақсыз жұмыс істейді — кез келген сыртқы сервистің ақаулығы визитті жоғалтпауы тиіс.

Не істедім
  • QR-код бойынша екі тілді RU/KZ форма: 39 филиал мен 18 көздің анықтамалықтары, ЖСН, телефон мен соманы валидациялау, авто маркасы, моделі мен жылы бойынша алдын ала бағалау
  • Контакт ЖСН мен телефон бойынша ізделеді немесе жасалады; клиенттің соңғы ашық мәмілесі жаңартылады, қалғандары «Дубликат» сатысына ауыстырылады
  • Нөмір иесін тексеру, несие бюросына сұраныс жасауға келісім коды және келісім құжатын генерациялау; сервис қолжетімсіз болса — қағазға қолмен қол қою тармағы
  • Браузердегі кодтың орнына серверлік бір реттік код: 5 минут жарамды, енгізуге 5 әрекет, қайта жіберу 60 секундта бір реттен жиі емес
  • Клиентті ішкі несие жүйесіне fire-and-forget режимінде беру, ақылы сұраныстарды екі кезеңмен есепке алу және барлық қадамдардан өтетін ортақ visit_request_id
  • 25.07.2026 инцидентін талдау: 34 сақтау әрекетінің тек 2-еуі өтті — браузерлер 30 күнге кэштелген ескі JS-ті ұстап тұрды; статикалық файлдарға нұсқалау енгізілді, IP-лимиттер алынып тасталды
Архитектура
RU/KZ QR-формасы → Тексерулер және келісім → Визитті сақтау → Bitrix24: контакт және мәміле → Несие жүйесі (fire-and-forget)
Нәтиже

Кез келген филиалдан келген визит CRM-ге форманы бір рет жіберумен түседі: контакт табылады немесе жасалады, өтінім дубликаттары біріктіріледі, ал сыртқы тексерудің немесе несие жүйесінің ақаулығы клиентті жоғалтпайды. Сақтаудан бас тарту инциденті келесі күні жабылды, енді кез келген визит журналдардан бір идентификатор бойынша жиналады.

Нені қайта қолдануға болады
TTL, әрекет лимиті және үзілісі бар серверлік OTP-сервис Статиканы файлдың өзгеру уақыты бойынша нұсқалау Дербес деректерсіз ақылы сұраныстардың екі кезеңді журналы