پرش به مطلب اصلی

وب هوک (webhook)

مقدمه

وب هوک (webhook) ابزاری است که امکان ارسال انواع اطلاعات به آدرس دلخواهی که توسط مقصد مشخص شده است را در موقع فراخوانی یک رویداد (event) در مبدا، محیا می‌کند.

نکته

می‌توان برای مدیریت و حفظ امنیت درگاه ورودی از توکن احراز هویت (authentication token) نیز استفاده کرد.

اضافه کردن webhook

برای ساخت وب هوک (webhook) ابتدا باید وارد لندین شده، سپس وارد صفحه مدیریت لید و در نهایت با انتخاب یکی از صفحات، وارد تنظیمات آن شده و در این صفحه می‌توان تنظیمات وب هوک (webhook) مربوط به صفحه لندینگ پیج خود را مشاهده کنید.

حال برای تنظیم آدرس جدید مراحل زیر را طی کنید:

  1. از فعال بودن web application خود در آدرس مربوطه اطمینان حاصل کنید.
  2. آدرس متصل به web application خود را وارد کنید.
  3. در صورت تمایل توکن احراز هویت (authentication token) را برای آدرس مربوطه وارد کنید.
  4. بر روی دکمه ثبت کلیک کرده و پیام‌های دریافتی را دنبال کنید.
توجه

در صورت ذخیره آدرس و تنظیمات مربوط به آن، امکان تغییر آن وجود ندارد و فقط حذف آن امکان پذیر است.

احتیاط

در صورت فعال نبودن آدرس مربوطه، درخواست‌‌های ارسال شده مجدد ارسال نمی‌شود !

خطر

استفاده از توکن احراز هویتی (authentication token) که با گذر زمان منقضی می‌شود، امکان پذیر نیست و بعد از انقضای توکن (token) هیچ درخواستی به مقصد ارسال نخواهد شد !

ساختار Request

درخواست ارسالی از سمت سرور‌های لندین در قالب HTTP با متد POST ارسال خواهد شد.

ساختار header در ادامه آمده است:

accept: "application/json"
content-type: "application/json"
cache-control: "no-cache"
Authorization: "xxxxxxxxxxxxxxxxxxxxxxx"
توجه

هدر Authorization وقتی تنظیم می‌شود که شما توکن احراز هویت (authentication token) را برای این آدرس ثبت کرده باشید.

در قسمت body اطلاعات لید قرار دارد که ساختار آن در ادامه آورده شده است:

{
"landing_id": "xxxxxxxxxxxxxxxxxxxxxx",
"lead_capture_slug": "leadcapture",
"lead_capture_fields": [
{
"key": "نام و نام خانوادگی",
"value": "amir aghayi",
"type": "text"
},
{
"key": "شماره تماس",
"value": "09130000000",
"type": "phone_number"
},
{
"key": "آدرس ایمیل",
"value": "document@landin.ir",
"type": "email_address"
}
],
"utm_params": {
"source": "direct",
"medium": "none",
"campaign": "",
"content": "",
"term": ""
}
}
نکته

صفت lead_capture_slug در واقع بیانگر شناسه تغییر پذیر فرم جمع آوری لید می‌باشد که می‌توان از طریق آن منبع داده دریافتی را تشخیص داد. صفت lead_capture_fields بیانگر مقادیر ورودی است که از کاربر دریافت شده است و شامل ۳ صفت key، value و type است که صفت type فقط می‌تواند شامل یکی از عبارت‌های text، phone_number و email_address باشد.

ساختار Response

سرور‌های مقصد در جواب درخواست ارسال شده از سرور‌های لندین باید جوابی مبنی بر دریافت داده برگردانند. برای این منظور نیاز است در صورت تایید و دریافت اطلاعات، در status code مقدار 200 را قرار دهید.

توجه

در صورت تنظیم status code به 200 نیازی به ارسال body نیست.

در صورتی که به هر دلیلی مشکل پیش بینی شده‌ای در سرور وجود داشته باشد می‌توانید علاوه بر تنظیم status code مورد نظر، در body مطابق ساختار زیر مشکل مربوطه را نیز گزارش دهید:

{
"error_message": "a error occured in web application"
}
توجه

در صورتی که status code چیزی غیر از 200 باشد، بیانگر خطا بوده و لینک مربوطه غیر فعال شده و برای شما ایمیلی حاوی گزارش خطا (درصورت تنظیم توسط شما) ارسال خواهد شد.

احتیاط

بعد از رفع مشکل گزارش شده، باید به داشبورد (dashboard) قسمت اتصالات webhook رفته و لینک غیر فعال شده را با زدن دکمه بررسی مجدد، فعال کنید. در غیر این صورت لید‌های جدید برای این آدرس ارسال نخواهد شد !