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

نگاهی اولیه به Webhookها (نسخه ۲)

توجه: این قابلیت یا مقاله برای کاربران پیشرفته است.

Webhook راهی است که یک برنامه یا نرم‌افزار مانند Ultimate Multisite می‌تواند اطلاعات را به‌صورت لحظه‌ای در اختیار برنامه‌های دیگر قرار دهد. Webhook داده‌ها یا payloadها را همان لحظه که رویداد اتفاق می‌افتد به برنامه‌های دیگر ارسال می‌کند، یعنی بلافاصله داده‌ها را دریافت می‌کنید.

این قابلیت زمانی مفید است که بخواهید داده‌های خاصی را از Ultimate Multisite به یک CRM یا سیستم دیگر منتقل کنید، هر بار که یک رویداد فعال می‌شود. برای مثال، می‌خواهید نام و آدرس ایمیل کاربر را هر بار که یک حساب کاربری جدید ایجاد می‌شود، به یک لیست ایمیل ارسال کنید.

نحوه ایجاد یک webhook

برای ایجاد یک webhook، به پیشخوان مدیریت شبکه خود بروید. روی Ultimate Multisite > Webhooks > Add New Webhook کلیک کنید.

صفحه لیست Webhookها با دکمه Add New Webhook

هنگام ایجاد یک webhook جدید، از شما اطلاعاتی مانند Name، URL و Event خواسته می‌شود. می‌توانید هر نامی که می‌خواهید برای webhook خود انتخاب کنید. مهم‌ترین فیلدها URL و Event هستند.

فرم webhook جدید با فیلدهای Name، URL و Event

URL همان endpoint یا مقصدی است که Ultimate Multisite payload یا داده‌ها را به آن ارسال می‌کند. این همان برنامه‌ای است که داده‌ها را دریافت خواهد کرد.

Zapier رایج‌ترین راه‌حلی است که کاربران برای آسان‌تر کردن یکپارچه‌سازی با برنامه‌های شخص ثالث استفاده می‌کنند. بدون پلتفرمی مانند Zapier، باید به‌صورت دستی یک تابع سفارشی بسازید که داده‌ها را دریافت و پردازش کند. این مقاله را درباره نحوه استفاده از webhook در Ultimate Multisite با Zapier ببینید.

در این مقاله، به مفهوم پایه‌ای نحوه کار webhook و رویدادهای موجود در Ultimate Multisite نگاه می‌کنیم. از یک سایت شخص ثالث به نام requestbin.com استفاده خواهیم کرد. این سایت به ما امکان می‌دهد یک endpoint بسازیم و payload را بدون نوشتن کد دریافت کنیم. توجه: تنها کاری که انجام می‌دهد این است که به ما نشان می‌دهد داده‌ها دریافت شده‌اند. هیچ پردازش یا عملیاتی روی payload انجام نخواهد شد.

به requestbin.com بروید و روی Create Request Bin کلیک کنید.

دکمه Create Request Bin در وب‌سایت RequestBin

بعد از کلیک روی آن دکمه، از شما خواسته می‌شود که اگر حساب کاربری دارید وارد شوید یا ثبت‌نام کنید. اگر از قبل حساب کاربری دارید، مستقیماً به پیشخوان آن‌ها هدایت می‌شوید. در پیشخوان آن‌ها، بلافاصله endpoint یا URL را می‌بینید که می‌توانید برای ایجاد webhook در Ultimate Multisite استفاده کنید.

پیشخوان RequestBin که URL مربوط به endpoint را نشان می‌دهد

URL را کپی کنید و به Ultimate Multisite برگردید. endpoint را در فیلد URL قرار دهید و یک رویداد را از منوی کشویی انتخاب کنید. در این مثال، Payment Received را انتخاب می‌کنیم.

این رویداد هر زمان که کاربری پرداختی انجام دهد فعال می‌شود. تمام رویدادهای موجود، توضیحات و payloadهای آن‌ها در پایین صفحه لیست شده‌اند. روی دکمه Add New Webhook کلیک کنید تا webhook ذخیره شود.

Webhook پیکربندی‌شده با رویداد Payment Received

حالا می‌توانیم یک رویداد آزمایشی به endpoint ارسال کنیم تا ببینیم آیا webhook که ساختیم کار می‌کند یا نه. این کار را با کلیک روی Send Test Event در زیر webhook که ساختیم انجام می‌دهیم.

گزینه Send Test Event در زیر webhook

این یک پنجره تأیید نشان می‌دهد که می‌گوید آزمایش موفق بوده است.

تأیید موفقیت رویداد آزمایشی webhook

حالا اگر به سایت Requestbin برگردیم، می‌بینیم که payload دریافت شده و حاوی داده‌های آزمایشی است.

RequestBin که داده‌های payload دریافت‌شده از webhook را نشان می‌دهد

این اصل پایه‌ای نحوه کار webhook و endpointها است. اگر بخواهید یک endpoint سفارشی بسازید، باید یک تابع سفارشی ایجاد کنید تا داده‌هایی که از Ultimate Multisite دریافت می‌کنید را پردازش کند.