Webhook: Деректерді пішіндерден Сценарийге алу
Скриптіңіздегі форма деректерін алу үшін Webhook деректер қабылдағышын пайдалануға болады. Деректер POST әдісі арқылы жіберіледі.
Вебхокты белсендіру үшін Сайт параметрлері → пішіндер → Webhook бөліміне өтіңіз
Скрипт мекенжайын енгізіңіз. Егер сіз cookie файлдарын жібергіңіз келсе, құсбелгіні қойыңыз. Сақтау.

Webhook қосылғаннан кейін бірден test=test деректері бар сұрау жіберіледі (POST әдісі) және Webhook 200 OK кодын қайтарады деп күтілуде.
Маңызды: Скриптке сілтеме қолжетімді болуы керек және скрипт бес секунд ішінде жауап беруі керек. Әйтпесе, деректер жіберілмейді және жүйе тағы екі әрекет жасайды, әрқайсысы бір минут ішінде.

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

Бетті сақтап, жариялаңыз. Форманы толтырған кезде, деректер параметрлерде көрсетілген скрипт мекенжайына POST арқылы жіберіледі.
Деректерді электрондық поштаға жіберетін сценарийдің мысалы
Сценарийді серверге қойып, Webhook қабылдағышының параметрлерінде сценарий мекенжайын көрсетіңіз. Нәтижесінде ол webhook арқылы келетін деректерді поштаға жібереді.
<?php

header('Access-Control-Allow-Origin: *');

$headers = "From: from@webhookservesite.ru";​ 
/* замените электронную почту на действующую почту,  с которой вам будет приходить письмо  */
​
 $message = print_r($_POST,true);
 @mail('to@mail.ru', 'Tilda TEST', $message, $headers);
/* замените электронную почту на вашу действующую почту,  на которую вам будет приходить письмо  */

echo"ok";

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

Егер өрістерге өз пікірлеріңізді қосу қажет болса, мұны келесі мысалды пайдаланып жасай аласыз:
<?php

header('Access-Control-Allow-Origin: *');

$headers = "From: from@webhookservesite.ru";​

$message = "";

foreach($_POST as $key => $value) {
  if($key == "Date") {
    $message .= "Дата выезда из гостиницы"; 
  } else { 
    $message .= $key; 
  }
  $message .= ": " . $value . "\n"; 
} 

$message = ​print_r($message, true);

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

echo "ok";

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

Егер сіз өріс үшін басқа «айнымалы атауын» көрсетсеңіз, олар келесі түрде келеді:
реттелетін атауы=сары
Өтініштегі өрістерден басқа, келесі өрістер алынады:
tranid=467251% 3A8442970
пішін=пішін48844953
мұндағы tranid «Қолданбалар» бөліміндегі Lead id (бірегей өтінім нөмірі) сәйкес келеді, ал 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%257С%257С%257Cutm_campaign%253Dpromo%257С%257С%257Cutm_content%253Dblocktext%257С%257С%257Cutm_term%253Dpoisk%257С%257С%257С 
Сұраулардан алынған өрістердің көрінісін тексеру үшін келесі қызметтерді пайдаланыңыз:
http://requestcatcher.com
https://webhook.site
Өкінішке орай, біз сіздің кодыңыздың жұмысына қатысты мәселелерге қолдау көрсетпейтінімізді ескеріңіз.
Made on
Tilda