Webhook сұрау инспекторы

Сұрауды тексеру және көшірілетін сынақ пәрменін құру үшін веб-хук әдісін, тақырыптарды және негізгі мәтінді қойыңыз.

Webhook сұрауы
Атау: мән пішіміндегі жолға бір тақырып.
Кез келген серверлік талдаудан бұрын түсірілген нақты өңделмеген денені қойыңыз.
Дайын. Түсірілген вебхук сұрауын қойыңыз.
Пішімделген дене
Осы нәтижені көру үшін сұрауды тексеріңіз.
Қолтаңба өрістері
Осы нәтижені көру үшін сұрауды тексеріңіз.

Қолтаңба өрісінің табылуы сұраудың түпнұсқа екенін дәлелдемейді — нақты тексеру үшін жіберушінің қол қою ережелері, құпия сөз немесе кілт және бастапқы сұрау байттары қажет.

Жергілікті cURL сынағы
Осы нәтижені көру үшін сұрауды тексеріңіз.

Қойылған сұрауыңыз браузерде қалады. BroBroGo оны жүктеп салмайды немесе сақтамайды.

Жиі қойылатын сұрақтар

Қандай веб-хук негізгі пішімдерін тексеруге болады?

JSON және URL-кодталған пішін денелері анықталады және пішімделеді. Басқа денелер қарапайым мәтін ретінде қалады, сондықтан құрал XML, көп бөлікті немесе екілік мазмұнды болжамайды.

Қолтаңба өрісін табу сұраудың түпнұсқалығын дәлелдей ме?

Жоқ. Құрал тек қолтаңбаны және қатысты уақыт белгісінің тақырыптарын көрсетеді. Нақты тексеру үшін жіберушінің нақты қол қою ережелері, құпия немесе ашық кілт және бастапқы сұрау байттары қажет.

Бұл бет тікелей вебхук кері қоңырауды қабылдай ала ма?

Жоқ. Тексеру үшін түсірілген сұрауды осы жерге қойыңыз. Бет жалпы соңғы нүктені жасамайды, кері қоңырауларды қабылдамайды немесе жасалған сынақ сұрауын жібермейді.

Webhook сұрауларының құрылымын түсіну

Вебхуктер (Webhooks) — жүйелер арасында нақты уақыт режимінде деректер алмасуды қамтамасыз ететін негізгі құрал. Сыртқы қызмет белгілі бір оқиға орын алғанда сіздің серверіңізге HTTP сұрауын жібереді. Бұл сұраулардың құрылымын, соның ішінде тақырыптары мен негізгі мәтінін (body) дұрыс талдау интеграцияны сәтті аяқтау үшін өте маңызды.

Сұраудың форматын түсіну үшін оның құрамдас бөліктерін жеке-жеке тексеру қажет. Әдетте, вебхук сұрауы белгілі бір HTTP әдісімен (мысалы, POST немесе PUT), арнайы метадеректерді тасымалдайтын тақырыптармен және оқиға туралы мәліметтер жазылған негізгі мәтінмен жіберіледі. Осы деректерді жүйелі түрде талдау және жергілікті ортада сынақтан өткізу үшін сұраудың құрылымын дәл анықтап алу қажет.


Вебхук байланысындағы тақырыптардың рөлі

HTTP тақырыптары вебхук сұрауларын өңдеуде маңызды рөл атқарады. Олар серверге қабылданатын деректердің түрін, жіберушінің сәйкестігін және қауіпсіздік параметрлерін хабарлайды.

Инспекция кезінде тақырыптарды талдау келесі себептерге байланысты маңызды:

  • Мазмұн түрін анықтау: Content-Type тақырыбы қабылдаушы серверге деректерді қалай оқу керектігін нұсқайды.
  • Қауіпсіздік және сәйкестендіру: Көптеген провайдерлер сұраудың тұтастығын қамтамасыз ету үшін арнайы қолтаңбалар мен уақыт белгілерін тақырыптар арқылы жібереді.
  • Жүйелік ақпарат: Сұраудың қайдан келгенін және оның бірегей идентификаторларын анықтауға көмектеседі.

Бұл құрал тақырыптарды талдау кезінде белгілі бір шектеулерді қолданады. Енгізілетін тақырыптардың максималды ұзындығы 100 000 таңбадан аспауы тиіс және ең көп дегенде 200 бос емес тақырып жолын қосуға рұқсат етіледі. Әрбір жол "Атау: мән" форматында болуы шарт.


Вебхук денесінің форматтары: JSON және URL-encoded

Вебхуктер арқылы жіберілетін деректер негізінен екі түрлі форматта болады: JSON немесе URL-кодталған пішін деректері (URL-encoded form data).

  1. JSON форматы: Қазіргі заманғы API интерфейстерінде ең жиі қолданылатын формат. Ол күрделі және тармақталған деректер құрылымын тасымалдауға мүмкіндік береді. Құрал JSON деректерін анықтаған кезде оларды JSON.parse функциясы арқылы талдайды және қайта реттейді. Бұл реттеу барысында бастапқы бос орындар (whitespace) мен өрістердің орналасу реті сақталмайды.
  2. URL-encoded форматы: Деректер кілт-мән жұптары ретінде кодталып жіберіледі. Құрал мұндай пішін деректерін де автоматты түрде анықтап, оқуға ыңғайлы түрде пішімдейді.

Егер вебхук денесі осы екі форматтың ешқайсысына сәйкес келмесе, ол қарапайым мәтін (plain text) ретінде көрсетіледі. Енгізілетін дененің максималды шегі 1 000 000 таңбаны құрайды. Серверлік талдаудан бұрын түсірілген нақты өңделмеген денені (raw body) пайдалану өте маңызды, себебі кез келген өзгеріс қолтаңбаны тексеру кезінде қателіктерге әкелуі мүмкін.


Жергілікті сынақтар үшін cURL пәрменін пайдалану

Вебхуктерді қабылдайтын қолданбаны әзірлеу кезінде әр уақыт сайын сыртқы провайдерден нақты оқиғаның жіберілуін күту тиімсіз. Жергілікті әзірлеу ортасында вебхук сұрауларын модельдеу үшін cURL пәрмені қолданылады.

Бұл құрал енгізілген әдіс, тақырыптар және дене негізінде автоматты түрде cURL пәрменін жасайды. Бұл пәрмен жергілікті серверді сынау үшін арнайы http://localhost:3000/webhooks мекенжайына бағытталған. Әзірлеушілер осы пәрменді көшіріп алып, өздерінің терминалында іске қосу арқылы вебхук қабылдағыш кодын оңай тексере алады.


Вебхук қолтаңбалары және уақыт белгілері

Қауіпсіздікті қамтамасыз ету үшін вебхук жіберушілері сұрауға қолтаңба (signature) мен уақыт белгісін (timestamp) қосады. Бұл құрал сұрау ішіндегі ортақ қолтаңба немесе уақыт белгісі тақырыптарын атау үлгілері бойынша анықтайды. Ол үшін signature, hmac, digest сияқты кілт сөздерді және жиі кездесетін уақыт белгісі атауларын іздейді.

Алайда, инспекциялау мен түпнұсқалықты тексеру (verification) арасындағы айырмашылықты түсіну қажет. Бұл құрал:

  • HMAC есептеулерін жүргізбейді.
  • Криптографиялық алгоритмдерді орындамайды.
  • Бастапқы байттардың тұтастығын немесе құпия кілттерді (secret) тексермейді.
  • Қайталау шабуылдарынан қорғайтын уақыт терезесін (replay window) немесе провайдерге тән арнайы тексерулерді жүзеге асырмайды.

Құралда қолтаңба өрісінің табылуы сұраудың түпнұсқа екенін дәлелдемейді — нақты тексеру үшін жіберушінің қол қою ережелері, құпия сөз немесе кілт және бастапқы сұрау байттары қажет.


Қателер және оларды шешу жолдары

Сұрауды тексеру барысында енгізілген деректердің форматына байланысты келесі қателер туындауы мүмкін:

Қате хабарламасы Себебі және шешімі
"Алдымен кемінде бір тақырыпты немесе сұрау мәтінін қойыңыз." Енгізу өрістері бос болған жағдайда көрсетіледі. Сұрау деректерін қойыңыз.
"Тақырыптар бұл құрал үшін тым ұзын. Байланысты емес немесе қайталанатын мәндерді алып тастаңыз." Тақырыптардың жалпы көлемі 100 000 таңбадан асқанда пайда болады.
"Бұл құрал үшін дене тым ұзын. Оны 1 000 000 таңбадан аспаңыз." Сұраудың негізгі мәтіні рұқсат етілген шектен асып кеткен.
"Тақырып жолдары тым көп. Сұрауды 200 немесе одан аз тақырыптарға сақтаңыз." Енгізілген тақырыптардың жол саны 200-ден асып кеткен.
"‹line›: тақырып жолы жарамсыз. Атын пайдаланыңыз: мән." Көрсетілген жолдағы тақырып форматы дұрыс емес. Әр жолда қос нүкте болуы керек.
"Дене JSON сияқты көрінеді, бірақ талдау мүмкін емес." Мәтін JSON форматына ұқсас, бірақ синтаксистік қателер бар (мысалы, жабылмаған жақшалар немесе үтірлер).
"Пішін денесінде толық емес пайыздық шығу бар." URL-кодталған деректердегі пайыздық кодтау (percent escape) аяқталмай қалған.

Құпиялылық және деректерді өңдеу ережелері

Бұл құралды пайдалану кезінде деректердің қауіпсіздігі толықтай қамтамасыз етіледі. Қойылған сұрауыңыз браузерде қалады. BroBroGo оны жүктеп салмайды немесе серверге сақтамайды. Барлық талдау және пішімдеу процестері тікелей сіздің құрылғыңызда орындалады.


Жиі қойылатын сұрақтар (FAQ)

Бұл бет тікелей вебхук кері қоңырауды қабылдай ала ма?
Жоқ. Тексеру үшін түсірілген сұрауды осы жерге қойыңыз. Бет жалпы соңғы нүктені жасамайды, кері қоңырауларды қабылдамайды немесе жасалған сынақ сұрауын жібермейді.

Қандай веб-хук негізгі пішімдерін тексеруге болады?
JSON және URL-кодталған пішін денелері анықталады және пішімделеді. Басқа денелер қарапайым мәтін ретінде қалады, сондықтан құрал XML, көп бөлікті немесе екілік мазмұнды болжамайды.

Қолтаңба өрісін табу сұраудың түпнұсқалығын дәлелдей ме?
Жоқ. Құрал тек қолтаңбаны және қатысты уақыт белгісінің тақырыптарын көрсетеді. Нақты тексеру үшін жіберушінің нақты қол қою ережелері, құпия немесе ашық кілт және бастапқы сұрау байттары қажет.