وب هوک Webhook چیست؟
شاید دیده باشید که در تنظیمات برنامههایتان به وبکهوک اشاره شده است و فکر کرده باشید که آیا آنها چیزی هستند که باید از آنها استفاده کنید. پاسخ، به طور خلاصه، احتمالاً بله است.
وب هوک راهکاری برای انواع برنامه ها است که می توانند پیام ها یا اطلاعات خودکار را به برنامه های دیگر ارسال کند. دقیقا به همین شکل فروشگاه آنلاین با دریافت یک سفارش جدید آن را به بخش فروش شما در برنامه مقصد اطلاع رسانی می کند.
یک راه ساده که برنامه های آنلاین شما می توانند با یکدیگر “صحبت” کنند و هنگامی که اتفاق جدیدی رخ می دهد به طور خودکار مطلع شوند. در بسیاری از موارد، اگر می خواهید به طور خودکار داده ها را از یک برنامه به برنامه دیگر منتقل کنید، باید بدانید که چگونه از وب هوک استفاده کنید.


مراحل ساخت وب هوک
برای استفاده از این ابزار در پنل میلزیلا می توانید امکان ارسال نوتیفیکیشن تحت وب را با کلیک روی منوی اصلی تنظمات Setting و سپس Notification و انتخاب «Manage Webhook» مشاهده کنید و با کلیک دکمه Create Webhook یک نوتیفیکیشن جدید تعریف و تنظیم کنید.
این بخش بعنوان تنظیمات پیشرفته می باشد که بخشی از سرویس http api محسوب می گردد.

- وارد پنل ایمیل شوید.
- وارد منوی تنظیمات شوید.
- از بخش اعلان ها، مدیریت وب هوک را انتخاب کنید.
- در صفحه جدید دکمه Create web hook را کلیک کنید.
- در صفحه تنظیمات آدرس نوتیفیکیشن را انجام دهید.
- وب هوک خود را ذخیره کنید.
- در صفحه وب هوک ها، آن را فعال کنید.
HTTP Web Notifications
با ساخت یک اعلان از نوع WebHook شما اتفاق دلخواه مانند باز شدن ایمیل، کلیک یا برگشتی ها و سایر رویدادها را بهمراه جزییات مورد نیاز به آدرس دلخواه برای پردازش انتقال می دهید.
آدرس نوتیفیکیشن URL
آدرس اعلان در اسکریپت و کد برنامه در سرور شما تنظیم می شود تا میلزیلا بتواند نوتیفیکیشن ها را به برنامه شما ارسال کند. برای فعالسازی باید این درخواست با وضعیت پاسخ ۲۰۰ OK در متد Get همراه باشد.

در درخواست خود میتوانید اطلاعات درباره انواع وضعیت ها را با انتخاب در پارامترهای ارسالی قراردهید.
نکته: درصورت عدم دریافت پاسخ صحیح از سمت آدرس URL تنظیم شده، میلزیلا پس از دریافت ۱۰۰۰ درخواست نامعتبر این نوتیفیکیشن را بصورت خودکار متوقف خواهد کرد.
گزینه های اعلان نوتیفیکیشن
برای استفاده از این ابزار در پنل میلزیلا می توانید امکان ارسال نوتیفیکیشن تحت وب را با کلیک روی منوی اصلی تنظمات Setting و سپس Notification و انتخاب «Manage Webhook» مشاهده کنید و با کلیک دکمه Create Webhook یک نوتیفیکیشن جدید تعریف و تنظیم کنید.

Notify On – میتوانید تعیین کنید که کدام وضعیت ایمیل اعلان HTTP را با بررسی وضعیتها به «Notify On» درخواست کند.
شما می توانید یکی را انتخاب کنید:
Sent ارسال شده – زمانی که می خواهید برای ایمیل های ارسالی اعلان دریافت کنید،
Opened باز شده – زمانی که می خواهید برای ایمیل های باز شده اعلان دریافت کنید،
Clicked کلیک شده – زمانی که می خواهید برای ایمیل های کلیک شده اعلان دریافت کنید،
Unsubscribed لغو اشتراک – زمانی که می خواهید اعلان هایی در مورد لغو اشتراک کاربران از ایمیل خود دریافت کنید،
Complaints شکایات – زمانی که می خواهید برای انواع شکایات اعلان دریافت کنید،
Bounce / Error خطا و نامعتبر – زمانی که می خواهید برای ایمیل های برگشتی اعلان دریافت کنید.
پارامترهای آدرس URL
در آدرس های خود میتوانید از پارامترهای زیر برای دریافت و ارسال درخواست ها استفاده کنید:
from – sender’s email address
to – recipient’s email address
date – date and time of the event, UTC
subject – subject of an email
status – Sent, Opened, Clicked, *Error, **AbuseReport, Unsubscribed
channel – name of the channel corresponding to this job
account – account’s email address
category – message category of bounced email
messageid – The MessageID of an email
transaction – The TransactionID of an email. A string guide returned by/mailer/send
*Bounces also fall into this status
**Complaints also fall into this status
For opens and clicks only
IP – IP address of the recipient
Useragent – software used by the recipient to receive emails
Country – recipient’s country of residence
State – recipient’s state of residence
City – recipient’s city of residence
دسته بندی مقادیر پارامتر
پارامتر دسته بندی Category می تواند مقادیر زیر را در خود داده باشد:
:The “category” parameter can have following values:
Ignore
Spam
BlackListed (Identical to “Poor reputation” bounce category)
NoMailbox
GreyListed
Throttled
Timeout
ConnectionProblem
SPFProblem
AccountProblem
DNSProblem
WhitelistingProblem
CodeError
ManualCancel
ConnectionTerminated
ContentFilter
NotDelivered
Unknown
Target: تعیین آدرس برای لینک کلیک شده که اطلاع رسانی می شود.
Custom Header: در ثبت درخواست خود می توانید از هدر سفارشی استفاده کنید. ابتدا باید مطابق این بخش را در پنل میلزیلا منوی تنظیمات و سپس بخش Sending > Advanced فعال کنید.

شما می توانید به هر تعداد که مایل هستید درخواست Custom post back headers انتقال دهید.
برای API به ترتیب از مقادیر زیر برای این کار استفاده کنید:
postback-MyHeader=value
headers_postback-MyHeader=postback-MyHeader: value
برای SMTP از مقدار زیر برای این کار استفاده کنید:
X-ElasticEmail-Postback:value
نمونه آدرس نوتیفیکیشن
در زیر دو نمونه آدرس بصورت متن ساده و آدرس مشاهده میکنید:
http://www.somehost.com/can/be/anything?transaction=a58d3de8-b003-48ba-8e0e-9877c70d264f&to=someone@somehost.com&date=3/10/2012 10:20:30 AM&status=Clicked&channel=your channel name&account=your@account.email.com
http://www.somehost.com/can/be/anything?transaction=a58d3de8-b003-48ba-8e0e-9877c70d264f&to=someone%40somehost.com&date=3%2f10%2f2012+10%3a20%3a30+AM&status=Clicked&channel=