Найти в Дзене

Лайфхак техспеца

Всём привет!

Делюсь очередным лайфхаком техспеца.

Итак, задача до банального простая-сделать процесс, который будет отправлять вебхук из Геткурс в Сейлбот после оплаты заказа.
Да, продажи идут через сейлбот, оплата через страницу геткурс. Если интересна механика такой интеграции, пишите в комментах, сделаю пост и об этом.

Но вернёмся к нашим вебхукам.

Я собрал процесс по передачи информации после оплаты пользователем заказа обратно в сейлбот, чтобы клиенту пришло уведомление об оплате и он продолжил получать дальнейшие сообщения, предусмотренные воронкой.

Некоторые могут сказать, что процесс какой-то не такой, уж слишком много блоков для процесса такого рода. Мол там надо-то всего три блока: Начало-Коллбэк-Завершение. Согласен, стандартный процесс по передаче вебхука из геткурса в сейлбот выглядит именно так.

Но есть маленькое НО...

Необходимо, чтобы клиент, оплативший заказ получал уведомление об успешной оплате и двигался дальше по воронке как можно быстрее.
И вот тут-то и кроется проблема.

Если процесс запустить с периодической проверкой условия "Оплачен заказ", то периодичность проверки процессом этого условия может достигать 5-15 минут, что не совсем приемлемо. Получится так, что клиент оплатил заказ и ему возможно придётся ждать до 15 минут обратной связи от бота. За это время могут возникнуть вопросы у клиента, что не очень хорошо для нас.

Можно запускать процесс из формы и блок "Ожидание условия" ставить сразу после начала работы скрипта. Но опять же время проверки этим блоком может достигать 15 минут. Получается что ни так ни так не подходит, но как-то же надо сделать.

И тут на помощь приходит смекалка)

Что сделал я?

Я реализовал это с помощью счётчика и задержек. С началом работы процесса устанавливает счётчик на 0. Ждём минуту, проверяем оплачен ли заказ(этого времени вполне достаточно для совершения оплаты), если да, то от отправляем вебхук, если нет, то увеличиваем значение счётчика на 1, снова ждём минуту и делаем проверку оплаты заказа. И так по кругу. Но также добавил проверку значения счётчика "Равно 10".

Зачем? Затем, чтобы процесс не работал вечно)

Как только значение счётчика достигнет 10-ти(это чуть больше 10-ти минут, за это время заинтересованный клиент всегда успеет оплатить свой заказ), процесс уйдёт по ветке "Ожидание условия" и будет ждать оплату(вдруг клиент передумал или ещё что-то), а через 30 дней завершится работа процесса.

С помощью такого маленького лайфхака я решил стоящуюю проблему с отправкой вебхука из геткурса в сейлбот.

Надеюсь было полезно! Ставьте лайк! Подписывайтесь! Следите за обновлениями!