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

نگاهی اولیه به Webhooks (v2)

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

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

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

چگونه یک webhook ایجاد کنیم

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

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

سپس می‌توانید پیکربندی webhook را ویرایش کنید:

فرم Add New Webhook با فیلدهای Name، Event و URL

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

رابط ویرایش webhook که فیلد URL و پیش‌نمایش payload را نشان می‌دهد

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

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

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

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

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

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

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

فهرست کشویی رویداد webhook با Payment Received انتخاب‌شده

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

فهرست Webhooks که یک webhook پیکربندی‌شده و عمل Send Test را نشان می‌دهد

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

نتیجه رویداد آزمایشی webhook پس از ارسال یک payload آزمایشی

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

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