Webhook: пішіндерден сценарийге деректерді қабылдау

Пішіндерден сценарийге деректерді қабылдау үшін Webhook деректер қабылдағышын пайдалануға болады. Деректер POST әдісі арқылы жіберіледі.
Вебхукты қосу үшін Сайт параметрлері → Пішіндер → Вебхук тармағына өтіңіз
Сценарийдің мекенжайын көрсетіңіз. Cookie файлдарын жібергіңіз келсе, құсбелгіні қойыңыз. Сақтау.
Webhook қосылғаннан кейін бірден деректер сынағы=тесті (POST әдісі) бар сұрау жіберіледі және Webhook 200 OK кодын қайтарады деп күтілуде.
Маңызды: Сценарийге сілтеме қолжетімді болуы керек және сценарий бес секунд ішінде жауап беруі керек. Әйтпесе, деректер жіберілмейді және жүйе әрқайсысы бір минуттан кейін оны жіберуге тағы екі әрекет жасайды.

Сценарий қауіпсіз HTTPS протоколын да пайдалануы керек.
Бетке өтіңіз және пішіні бар блоктың «Мазмұн» мәзірінде Webhook деректерін қабылдау қызметін тексеріңіз.

Бетті сақтаңыз және жариялаңыз. Пішінді толтырған кезде деректер POST әдісі арқылы параметрлерде көрсетілген сценарий мекенжайына жіберіледі.
Деректерді поштаға жіберетін сценарийдің мысалы
Скриптті серверге орналастырыңыз, Webhook қабылдағыш параметрлерінде сценарий мекенжайын көрсетіңіз. Нәтиже – веб-хук арқылы келетін деректерді поштаға жібереді.
Өнім деректерін тасымалдау
Webhook қызметінің параметрлері өнім деректерін сценарийге тасымалдауға арналған қосымша параметрлерді қамтиды: өнімдер туралы деректерді массивтегі ретпен тасымалдау және өнімдердегі басқа жүйелерден сыртқы кодты (сыртқы кодты) тасымалдау.
Өнімнің сыртқы идентификаторын тасымалдауға арналған құсбелгі тек өнім деректерін массивте тасымалдау опциясын таңдасаңыз ғана қолжетімді болады. Ол іске қосылған кезде, осы өнімді сыртқы жүйемен (мысалы, MySklad немесе 1C) байланыстыру үшін каталогтан сыртқы өнім коды жіберіледі.
API кілт деректерін Webhook қабылдағышы арқылы беру
Webhook арқылы деректерді жіберген кезде API кілтін пайдаланып пайдаланушыларды анықтау қажет болуы мүмкін. Ресивердің параметрлерінде кілттің атын және оның мәнін көрсетуге болады, сондай-ақ тасымалдау әдісін (POST немесе тақырыптарда тасымалдау) көрсетуге болады.

Қосымша ақпарат және PHP-де айнымалы мәндерді алу
Барлық өрістер мен мәндерді өзгеріссіз алу үшін $_POST айнымалысына сілтеме жасау керек. $_POST – деректердің ассоциативті массиві, мысалы:
Email=test%40email.com Name=test+name Телефон=0123456789 Түсініктемелер=мысал+түсініктеме Таңдау ұяшығы=қызыл құсбелгі=иә Күн=25-03-2017 Уақыт=17%3A59 Саны=124 Url=website.com
Белгілі бір өріс туралы ақпаратты алу үшін массив элементіне аты бойынша сілтеме жасау керек, мысалы, $_POST["Күн"] , мұндағы Күн - пішіндегі өріс үшін көрсетілген айнымалының атауы.

Өзіңіздің өріс пікірлеріңізді қосу қажет болса, мұны мына мысалмен орындауға болады:
$value) {
  if($key == "Күн") {
    $message.= "Бөліп алу күні"; 
  Тағы } 
    $message.= $key; 
  }
  $message .= ": " $value . "\n"; 
} 

$message = print_r($message, шын);

@mail('to@mail.ru', 'Tilda TEST', $message, $headers);

«ок» жаңғырығы;

>
Егер өрістердің «айнымалы атауларын» өзгертпесеңіз, онда ақпарат бірінші әріп бас әріппен жазылған өрістердің атауларымен бірге келеді.

Өріс үшін басқа «айнымалы атауын» орнатсаңыз, олар мына пішінде келеді:
customnamefield=сары
Қолданбаның өрістеріне қосымша келесі өрістер келеді:
tranid=467251%3A8442970 formid=form48844953
мұндағы транид "Тапсырыстар" бөліміндегі Жетекші идентификаторына (бірегей тапсырыс нөмірі) сәйкес келеді және formid Блок идентификаторына (жіберу жасалған блок нөмірі) сәйкес келеді.

Сұрауларды жіберу алдында кейбір таңбалар өшіріледі (мысалы, @ (ит) % 40 болады, : (қос нүкте) % 3a болады). Бұл таңбаларды декодтау үшін urldecode функциясын пайдалану керек ( http://php.net/manual/ru/function.urldecode.php ).

Өтініш келген мекенжайды алу

$_SERVER["HTTP_REFERER"] айнымалысынан сізге Webhook сұрауы келген жерден мекенжайды алуға болады.

Қосымша: Cookie файлын алу

Webhook параметрлерінде Cookie файлдарын жіберу қосымша параметрі тексерілген болса, онда cookie файлдары болса, сұрау өрістерімен бірге COOKIES өрісі болады, мысалы:
COOKIES=_ga%3DGA1.2.1861016115.1519204131%3B+_ym_uid%3D2021810468765220932
Маңызды! Егер пайдаланушы бұрын сіздің сайтыңызда болмаған болса, онда cookie файлдары жоқ болады және сұраумен бірге келмейді. Егер пайдаланушы бұрын сіздің сайтыңызға UTM тегін келіп, 30 күннен кешіктірмей қайтарса, cookie файлында UTM тегтері туралы ақпарат болады, мысалы:
COOKIES=TILDAUTM%3Dutm_source%253Dyandex%257C%257C%257Cutm_medium%253Dcpc%257C%257C%257Cutm_campaign%253Dpromo%257C%257C%contentlocktC25%257Cutm55% 7Cutm_term%253Dpoisk%257C%257C%257C
Сұраулардан келетін өрістердің қалай көрінетінін тексеру үшін қызметтерді пайдаланыңыз:
http://requestcatcher.com
https://webhook.site
Өкінішке орай, сіздің кодыңыздың жұмысына қатысты мәселелерге қолдау көрсетпейтінімізді ескеріңіз.
Made on
Tilda