Вебхуктар белгілі бір оқиғалар кезінде сайттар мен қолданбалар арасында деректерді автоматты түрде жіберуге арналған механизм. Деректер HTTP сұрауы арқылы беріледі: бір қолданба оларды интернет арқылы екіншісінің алдын ала көрсетілген мекенжайына жібереді.

Вебхуктардың мүмкіндіктері
FLOWIN жүйесінде вебхуктар жөнелтулермен жұмыс істейді. Олар бастапқы чатта (дереккөзде) хабарлама пайда болғанда, өзгертілгенде, жойылғанда немесе бекітілгенде, сондай-ақ хабарламалар жөнелтілетін чатта (межелі чатта) батырма басылғанда іске қосылуы мүмкін.
Осылайша FLOWIN сервисін әлеуметтік желілермен, биржалармен, кестелермен және CRM жүйелерімен (клиенттермен жұмыс істеу жүйелерімен) байланыстыруға болады. Мұндай байланыс интеграция деп аталады және мына мүмкіндіктерді береді:
- Telegram-дағы өтінімдерді CRM жүйесіне автоматты түрде қосу.
- Telegram-дағы сауда сигналдарын автоматты ілесу үшін биржаға беру. Мұндағы автоматты ілесу осы сигналдар бойынша мәмілелерді автоматты түрде жасауды білдіреді.
- Telegram-дағы хабарламаларды басқа әлеуметтік желілерге жөнелту.
- Жазбалар мен хабарламаларды Google Кестелерге көшіру.
- Ботта автожауап беруді баптау.
Әр сценарий үшін сайт немесе қолданба жағында деректерді қабылдауды және қажетті әрекетті баптау керек.
Вебхук жасау
Вебхукты деректерді қабылдайтын мекенжай беріп, алынған сұрауларды көрсететін webhook.site сайтында тексерейік. Оған Telegram-дағы жаңа хабарлама мәтінін жібереміз.
Ол үшін FLOWIN жүйесінде бапталған және жұмыс істеп тұрған жөнелту қажет.
Алғашқы сынақ үшін
Жеке сынақ чатын және ойдан шығарылған өтінімді қолданыңыз. Тексеру үшін аттарды, телефондарды және басқа жеке деректерді қоспай, тек мәтінді беру жеткілікті.
@flow_in_bot ботын ашып,
/startпәрменін жіберіңіз де, «Басқару панелі» батырмасын басыңыз.Бөлек қойындыда webhook.site сайтын ашыңыз. «Your unique URL» өрісінен сұрауларды қабылдау мекенжайын көшіріңіз.
FLOWIN панелінде «Мәзір» → «Вебхуктар» бөлімін ашып, «Жасау» батырмасын басыңыз.
Жоғарғы өріске көшірілген мекенжайды қойыңыз. «Сұрау денесі» өрісіне
{"message":"<message-text>"}деп енгізіп, «Жасау» батырмасын басыңыз. Бұл жіберілетін деректердің үлгісі:<message-text>орнына FLOWIN хабарлама мәтінін қояды, ал алушы оныmessageөрісінде көреді.Жасалған вебхуктың «Қолдану» батырмасын басыңыз. Қажетті жөнелтуді белгілеп, «Сақтау» батырмасын басыңыз.
Дереккөз чатқа сынақ хабарламасын жіберіңіз, мысалы: «№1042 өтінім: жиһаз каталогы керек.». Қайтадан webhook.site сайтына оралыңыз: алғашқы алынған сұрау автоматты түрде ашылады. «Request Content» блогында өтінім мәтіні
messageөрісінде пайда болады. Енді FLOWIN әр жаңа хабарламаның мәтінін межелі чатқа жөнелтпес бұрын көрсетілген мекенжайға автоматты түрде жібереді.
Вебхук баптаулары
Баптауларды жасалған вебхук мысалында қарастырайық: оларды қалай өзгертуге болады және әр өріс нені білдіреді.
Баптауларды қайдан алу керек
Басқа сайтты немесе қолданбаны қосу үшін оның құжаттамасын қолданыңыз. Деректерді қабылдау ережелері әдетте басқа бағдарламалармен өзара әрекеттесуді сипаттайтын API бөлімінде болады. Онда төмендегі өрістерді толтыруға арналған мекенжай, HTTP әдісі және деректер пішімі көрсетілген.
Вебхук баптауларын өзгерту жолы
«Вебхуктар» тізімінде қажетті вебхуктың «Өзгерту» батырмасын басыңыз.
Қажетті өрістерді өзгертіп, «Сақтау» батырмасын басыңыз.
HTTP әдісі
HTTP әдісі сұрау әрекетін белгілейді: POST деректерді өңдеуге береді, GET деректерді сұрайды, PUT оларды ауыстырады. Әдепкі бойынша біздің сынаққа сай келетін POST таңдалған. Басқа сайт немесе қолданба үшін оның құжаттамасында көрсетілген әдісті таңдаңыз.
URL мекенжайы
URL интернеттегі мекенжайды білдіреді. Мұнда қосылатын сайттан немесе қолданбадан алынған, деректерді қабылдайтын мекенжай көрсетіледі. Біздің мысалда оны webhook.site берді.
Сұрау денесі
Сұрау денесінде жіберілетін деректер JSON пішімінде, «өріс атауы: мәні» жұптары түрінде беріледі. Өрістер құрамы қосылатын сайттың немесе қолданбаның талаптарына байланысты.
Метатегтер дегеніміз FLOWIN хабарлама деректерімен алмастыратын белгілер. Мысалы, <message-text> мәтінмен, ал <author-name> автор атымен алмастырылады. Метатегтер тізімі өрістің астындағы «метатегтер» сілтемесімен де ашылады.
Төмендегі тізімдегі пайдаланушы, хабарлама, чат және тақырып нөмірлері олардың Telegram-дағы идентификаторларын (ID) білдіреді.
Хабарлама және автор
- Хабарлама мәтіні:
<message-text>. - Хабарлама күні:
<message-date>. - Хабарлама уақыты:
<message-time>. - Автор нөмірі:
<author-id>. - Автор аты:
<author-name>. - Профиліне HTML сілтеме түріндегі автор аты:
<author-name-link>. - Хэштег түріндегі автор аты:
<author-name-tag>. - Автордың пайдаланушы аты:
<author-username>.
Дереккөз
- Хабарлама мәтіні:
<src-message-text>. - Хабарлама нөмірі:
<src-message-id>. - Хабарламаға сілтеме:
<src-message-link>. - Чат нөмірі:
<src-chat-id>. - Чат атауы:
<src-chat-name>. - Чаттың пайдаланушы аты:
<src-chat-username>. - Тақырып нөмірі:
<src-topic-id>. - Тақырып атауы:
<src-topic-name>.
Межелі чат
- Хабарлама мәтіні:
<dst-message-text>. - Хабарлама нөмірі:
<dst-message-id>. - Хабарламаға сілтеме:
<dst-message-link>. - Чат нөмірі:
<dst-chat-id>. - Чат атауы:
<dst-chat-name>. - Чаттың пайдаланушы аты:
<dst-chat-username>. - Тақырып нөмірі:
<dst-topic-id>. - Тақырып атауы:
<dst-topic-name>.
Межелі чаттағы хабарлама нөмірі мен сілтемесі жөнелтуден кейін пайда болады. Оларды беру үшін «Сұрау триггері» өрісінен «Жібергеннен кейін» нұсқасын таңдаңыз.
Батырманы басу
- Басқан пайдаланушының нөмірі:
<clicker-id>. - Басқан пайдаланушының аты:
<clicker-name>. - Батырма деректері:
<clicker-data>. - Басылған күн:
<click-date>. - Басылған уақыт:
<click-time>.
Мәтінді таңдау
- Тұрақты өрнек мәтінді іздеу ережесін белгілейді. Мысалы,
<regexp>(short|sell)</regexp>мына нұсқалардың біріне сәйкес келетін алғашқы табылған мәтінді қояды:shortнемесеsell. - Кездейсоқ мәтін
<random>1|2|3|4|5</random>бес нұсқаның бірін қояды. Тегтердің арасына өз нұсқаларыңызды жазып, оларды мына таңбамен бөлуге болады:|.
Сұрау тақырыптары
«Сұрау тақырыптарында» алушыға арналған қызметтік мәліметтер болады. Мысалы, кіру кілті сұрауды кім жібергенін тексеруге мүмкіндік береді. Тақырыптар JSON пішімінде беріледі. Әдетте бұл өрісті өзгерту қажет емес; керекті мәндер қосылатын сайттың немесе қолданбаның құжаттамасынан алынады.
Сұрау триггері
«Сұрау триггері» вебхук көрсетілген мекенжайға сұрау жіберуге тиіс оқиға мен сәтті белгілейді. Оқиға ретінде мыналарды таңдауға болады:
- «Жіберу» әдепкі бойынша таңдалған. Вебхук жаңа хабарламаны жөнелткенде іске қосылады.
- «Өзгерту» дереккөздегі хабарламаның өзгеруі өңделгенде іске қосылады.
- «Бекіту» дереккөздегі хабарламаның бекітілуі өңделгенде іске қосылады.
- «Жою» дереккөздегі хабарламаның жойылуы өңделгенде іске қосылады.
- «Батырманы басу» межелі чаттағы кері шақыруы (callback) бар батырмалар үшін іске қосылады. Мұндай батырма ботқа басылғанын хабарлап, өзіне берілген деректерді жібереді. Кәдімгі сілтеме батырмасы бұл вебхукты іске қоспайды.
Жіберу сәті сұраудың жөнелтудің қай кезеңінде жіберілетінін белгілейді:
- «Өңдеуге дейін»: сұрау хабарлама аударылмай және жасанды интеллектпен (ЖИ) өңделмей тұрып жіберіледі.
- «Өңдегеннен кейін»: сұрау аудармадан және ЖИ өңдеуінен кейін жіберіледі.
- «Жібергеннен кейін»: сұрау хабарлама межелі чатқа сәтті жіберілгенде немесе онда өзгертілгенде жіберіледі.
Қолжетімді жіберу сәттері
Үш нұсқа да «Жіберу» және «Өзгерту» оқиғалары үшін қолжетімді. «Бекіту», «Жою» және «Батырманы басу» үшін «Өңдеуге дейін» қолданылады, басқа сәтті таңдау мүмкін емес.
Сипаттама
«Сипаттама» сізге ыңғайлы болуы үшін берілген түсініктеме және вебхук жұмысына әсер етпейді. Өрісті бос қалдыруға болады.
Вебхукпен орындалатын әрекеттер
Жасалған вебхуктарды «Вебхуктар» тізімінен басқаруға болады:
- «Өзгерту» вебхуктың негізгі баптауларын ашады.
- «Тағы» мәзіріндегі «Телнұсқа жасау» вебхук баптауларының көшірмесін жасайды.
- «Тағы» мәзіріндегі «Жобаны таңдау» вебхукты жобаға қосады.
- «Тағы» мәзіріндегі «Жою» вебхукты жояды.
Сонымен қатар әр вебхукта ол қолданылатын жөнелтулерді таңдауды ашатын «Жөнелтулер [N]» батырмасы бар. N таңдалған жөнелтулер санын білдіреді. Жөнелтулер әлі таңдалмаса, оның орнына «Қолдану» батырмасы көрсетіледі.
Жиі қойылатын сұрақтар
Вебхук дегенді қарапайым тілмен қалай түсіндіруге болады?
Бұл белгілі бір оқиға кезінде деректерді басқа қолданбаға автоматты түрде беру тәсілі. Мысалы, жаңа хабарламаны жөнелткенде FLOWIN оның мәтінін HTTP сұрауы арқылы сіз көрсеткен мекенжайға жібереді. Мұнда сұрауды FLOWIN жібереді; ал Telegram-ның setWebhook әдісі басқа бағытты баптайды: жаңартуларды Telegram-нан ботқа қызмет көрсететін бағдарламаға жеткізу.
CRM мекенжайын көрсету жеткілікті ме?
Жоқ. CRM құжаттамасынан деректерді қабылдау мекенжайы, сондай-ақ тиісті HTTP әдісі, JSON өрістері және кіру үшін қажет болса, тақырыптар керек. CRM сайтының кәдімгі мекенжайы бұған жарамайды. FLOWIN сұрау жібереді, ал өтінім жасау немесе басқа әрекет CRM жүйесінің алынған деректерді қалай өңдейтініне байланысты. Өрістер мәндері мына бөлімде сипатталған: «Вебхук баптаулары».
Неліктен межелі чаттағы хабарлама сілтемесі бос?
Жаңа хабарлама сәтті жіберілгенге дейін FLOWIN жүйесінде оның межелі чаттағы нөмірі мен сілтемесі әлі болмайды. <dst-message-id> және <dst-message-link> мәндерін беру үшін «Сұрау триггері» өрісінен «Жіберу» немесе «Өзгерту» оқиғасын және «Жібергеннен кейін» сәтін таңдаңыз. Сілтеме арналар мен супертоптар үшін жасалады. Жеке чат немесе кәдімгі топ үшін <dst-message-link> жібергеннен кейін де бос қалады.
Кәдімгі URL батырмасын басып, вебхукты іске қосуға бола ма?
Жоқ. Кәдімгі URL батырмасы сілтемені ашады. «Батырманы басу» оқиғасы үшін межелі чатта кері шақыруы (callback) бар батырма қажет: ол ботқа басылғаны туралы деректерді береді. Бұл айырмашылық мына бөлімде сипатталған: «Сұрау триггері».
Сыртқы сервис деректерді алғанын қалай тексеруге болады?
Ойдан шығарылған хабарлама жіберіп, сервис жағындағы алынған сұрауды тексеріңіз. webhook.site мысалында өтінім мәтіні «Request Content» блогында пайда болады. Telegram-да хабарламаның сәтті жөнелтілуі сыртқы сервистің деректерді қабылдағанын немесе қажетті әрекетті орындағанын өздігінен растамайды. Тексеру үшін аттарды, телефондарды және басқа жеке деректерді қоспай, тек мәтін жеткілікті.















