ارسال پیام WhatsApp از هر سیستمی با وبهوک
فروشگاه، CRM یا ابزار رزرو شما همین حالا میداند چه زمانی سفارشی ثبت میشود، پرداختی ناموفق میماند یا نوبتی رزرو میشود. یک وبهوک میتواند هر یک از این رویدادها را بدون هیچ کدنویسی از سوی شما به یک پیام WhatsApp تبدیل کند. در اینجا میبینید چگونه آن را برنامهریزی، ایمن و آزمایش کنید.
تیم MonoChat بهروزرسانی: 8 دقیقه مطالعه
در این صفحه
برای اینکه وقتی در سیستم دیگری اتفاقی میافتد پیام WhatsApp ارسال شود، وبهوک آن سیستم را به گیرندهای وصل کنید که مشتری را از روی شماره تلفنش پیدا میکند و یک قالب پیام تأییدشده WhatsApp برایش میفرستد. فروشگاه، CRM یا ابزار رزرو شما همین حالا برای سفارشها، پرداختها و نوبتها وبهوک میفرستد؛ کار اصلی این است که رویدادهایی را که ارزش پیام دارند انتخاب کنید، قالبها را بنویسید، نشانی را ایمن کنید و پیش از آنکه مشتری چیزی ببیند با درخواستهای واقعی آزمایش کنید.
این راهنما برنامهریزی، قواعد WhatsApp که آن را شکل میدهند و نحوه پیادهسازی در MonoChat با جریانی که از نشانی وبهوک اختصاصی خودش شروع میشود را پوشش میدهد.
وبهوک چیست و چه چیزی نیست
وبهوک یک درخواست HTTP است که یک سیستم هنگام وقوع رویدادی به نشانیای که شما به آن دادهاید میفرستد. Shopify میتواند هنگام ایجاد سفارش یکی بفرستد، WooCommerce هنگام بهروزرسانی سفارش، یک CRM هنگام رفتن معامله به مرحله بعد و یک ابزار رزرو هنگام ثبت نوبت. درخواست جزئیات رویداد را معمولاً به صورت JSON با خود دارد: شماره سفارش، مبلغ، نام مشتری و مهمتر از همه برای WhatsApp، شماره تلفن.
وبهوک بهتنهایی چیزی برای مشتری نمیفرستد. چیزی باید درخواست را دریافت کند، تصمیم بگیرد با آن چه کند و WhatsApp Business API را فراخوانی کند. این «چیز» یا کدی است که خودتان مینویسید و میزبانی میکنید، یا یک پلتفرم خودکارسازی که یک نشانی وبهوک به شما میدهد و اجازه میدهد بقیه کار را بدون کدنویسی بسازید.
کدام رویدادها ارزش پیام WhatsApp دارند
هر رویدادی ارزش پیام ندارد. مشتریای که برای یک سفارش پنج اعلان دریافت کند، کمکم همه را نادیده میگیرد. لحظههایی را انتخاب کنید که مشتری واقعاً منتظرشان است:
| رویداد | پیام | دسته قالب |
|---|---|---|
| سفارش ایجاد یا پرداخت شد | تأییدیه با شماره سفارش و مرحله بعد | ابزاری (Utility) |
| پرداخت ناموفق یا در انتظار | یادداشتی کوتاه و راهی برای پرداخت دوباره | ابزاری (Utility) |
| سفارش ارسال شد | شرکت حمل و لینک رهگیری | ابزاری (Utility) |
| سفارش با پرداخت در محل ایجاد شد | یک پرسش: تأیید سفارش، تغییر نشانی یا لغو | ابزاری (Utility) |
| نوبت رزرو شد، تغییر کرد یا فرداست | تاریخ، ساعت، مکان و راهی برای تغییر زمان | ابزاری (Utility) |
| معامله در CRM برنده یا بازنده شد | سپردن به مدیر حساب، یا پرسیدن نظر مشتری | ابزاری یا بازاریابی، بسته به متن |
| سبد خرید رها شد | یادآوری، شاید همراه با پیشنهاد | بازاریابی (Marketing) |
Meta دسته را از روی محتوای قالب تعیین میکند، نه از روی برچسبی که شما انتخاب میکنید. پیامی درباره یک سفارش، پرداخت یا رزرو مشخص ابزاری است؛ هر چیزی که تبلیغ میکند، پیشنهاد میدهد یا قصد متقاعد کردن دارد بازاریابی است و به رضایتی نیاز دارد که بازاریابی را هم پوشش دهد. در نمونههای قالب پیام WhatsApp متن آماده برای موارد ابزاری بالا را پیدا میکنید.
قواعد WhatsApp که اعمال میشوند
بیشتر پیامهای وبهوک به قالب پیام نیاز دارند
پنجره خدمات مشتری زمانی باز میشود که مشتری به شما پیام بدهد یا تماس بگیرد، و تا 24 ساعت پس از آخرین پیام او باز میماند. داخل این پنجره میتوانید آزادانه پاسخ دهید؛ بیرون از آن فقط میتوانید قالبهای پیام از پیش تأییدشده بفرستید. رویدادهای فروشگاه و CRM بهندرت داخل این پنجره رخ میدهند، پس هر پیام وبهوک را بهعنوان قالب پیام برنامهریزی کنید و پیش از فعال کردن هر چیزی، قالبها را برای بررسی ارسال کنید.
شماره تلفن باید قابل استفاده باشد
وبهوک باید شمارهای داشته باشد که WhatsApp بتواند به آن برسد: در قالب بینالمللی و همراه با کد کشور. بسیاری از فروشگاهها اجازه میدهند مشتری شمارهاش را به هر شکلی وارد کند، پس چند سفارش واقعی را بررسی کنید. شماره بدون کد کشور رایجترین دلیل این است که آزمایش کار میکند ولی محیط واقعی نه.
قیمتها از 1 اکتبر 2026 تغییر کرد
Meta از 1 ژوئیه 2025 برای هر پیام تحویلشده هزینه میگیرد. از 1 اکتبر 2026، قالبهای ابزاری (utility) که داخل یک پنجره خدمات مشتری باز ارسال میشوند، پس از دورهای که رایگان بودند، دوباره هزینه دارند و هر شماره تلفن کسبوکار ماهانه 1,000 پیام خدماتی رایگان دریافت میکند. نرخها به دسته و کشور مشتری بستگی دارد. در عمل، تأییدیه سفارش هزینه دارد چه مشتری اخیراً به شما پیام داده باشد چه نه؛ پس پیامهای مهم را بفرستید و بقیه را کنار بگذارید. راهنمای قیمت WhatsApp Business API جدول نرخها را توضیح میدهد.
نشانی وبهوک را ایمن کنید
هر کسی که نشانی یک وبهوک را بداند میتواند آن را فراخوانی کند. اگر آن نشانی پیام WhatsApp میفرستد، لو رفتنش یعنی کس دیگری میتواند به نام شما به مشتریانتان پیام بدهد یا صورتحسابتان را بالا ببرد. سه عادت جلوی این را میگیرد:
- رمز را الزامی کنید. سیستم فرستنده رمز را در یک هدر قرار میدهد، یا بدنه درخواست را با آن امضا میکند (HMAC-SHA256) تا گیرنده بتواند بررسی کند که درخواست در مسیر تغییر نکرده است. درخواستهای بدون رمز یا امضای معتبر رد میشوند.
- برای هر کاربرد یک نشانی. جریان سفارش و جریان رزرو باید نشانی و رمز جداگانه داشته باشند تا بتوانید یکی را عوض کنید بیآنکه به دیگری دست بزنید.
- خطاهای سمت فرستنده را زیر نظر بگیرید. WooCommerce پس از بیش از پنج تحویل ناموفق پشت سر هم، وبهوک را غیرفعال میکند و Shopify اشتراک وبهوکی را که مقصدش بارها پاسخی غیر از 200 برمیگرداند حذف میکند. گیرندهای که خاموش است یا درست تنظیم نشده، میتواند بیصدا اعلانهای شما را متوقف کند.
وبهوک را در Shopify و WooCommerce کجا بسازید
- Shopify: مسیر Settings › Notifications › Webhooks و سپس Create webhook. یک رویداد انتخاب کنید (Order creation، Order payment، Fulfillment creation و بسیاری دیگر)، قالب JSON و یک نشانی
https://. رویداد پس از ساخت وبهوک قابل تغییر نیست، پس برای هر رویداد یک وبهوک بسازید. دکمه Send test بررسی میکند که به نشانی میرسد. - WooCommerce: مسیر WooCommerce › Settings › Advanced › Webhooks و سپس Add webhook. یک موضوع (رویدادهای سفارش، مشتری، کوپن یا محصول) انتخاب کنید، نشانی تحویل و یک رمز وارد کنید؛ WooCommerce هش محتوای درخواست را که با این رمز ساخته شده به هدرهای درخواست اضافه میکند.
- یک CRM یا ابزار رزرو: دنبال «وبهوک»، «خودکارسازی» یا «یکپارچهسازی خروجی» بگردید. اگر فقط قالب ثابتی ارائه میدهد، پیش از ساختن هر چیزی بررسی کنید شماره تلفن مشتری در کدام فیلد است.
پیش از راهاندازی با درخواستهای واقعی آزمایش کنید
محتوای وبهوکها طولانی است و هر پلتفرم فیلدهایش را به شیوه خودش نامگذاری میکند: شماره تلفن ممکن است phone، billing.phone یا customer.default_address.phone باشد. حدس نزنید. یک درخواست آزمایشی واقعی بفرستید، ببینید چه رسیده و فیلدها را بر همان اساس نگاشت کنید. سپس حالتهای خاص را آزمایش کنید:
- سفارشی بدون شماره تلفن، یا با شمارهای بدون کد کشور؛
- همان رویداد که دو بار تحویل میشود، کاری که پلتفرمها هنگام تلاش دوباره انجام میدهند؛
- سفارشی که ساعت 3 بامداد ثبت میشود، اگر ترجیح میدهید پیام تا صبح صبر کند؛
- مشتریای که به اعلان پاسخ میدهد، تا یک نفر یا یک دستیار هوش مصنوعی آماده جواب دادن باشد.
انجام این کار در MonoChat
MonoChat یک Meta Business Partner رسمی است. از نسخه 3.8.37 (اکتبر 2026) یک جریان میتواند با وبهوک شروع شود، بنابراین فروشگاه یا CRM شما میتواند بدون کدنویسی از سوی شما پیامهای WhatsApp را فعال کند.
1. جریان را با گره وبهوک دریافت شد شروع کنید. آن را از میان گرههای رویداد اضافه کنید. این گره نشانی وبهوک و رمز اختصاصی خودش را میگیرد. کانال را انتخاب کنید، مثلاً شماره WhatsApp خود، و مسیر هویت را، یعنی جایی از درخواست که شماره تلفن مشتری در آن است (بهطور پیشفرض request.body.phone). MonoChat مشتری را در آن کانال پیدا میکند یا میسازد و جریان را برای او اجرا میکند. گره پس از قرار گرفتن جریان در صف با 202 به فرستنده پاسخ میدهد، و اگر کانال یا شماره تلفن پیدا نشود با یک خطای روشن.
2. الزام رمز را روشن کنید. فرستنده میتواند رمز را در هدر توکن بگذارد (بهطور پیشفرض Authorization، بهتنهایی یا به شکل Bearer <secret>) یا امضای HMAC-SHA256 بدنه خام را در هدر امضا بفرستد (بهطور پیشفرض X-Signature). نام هر دو هدر را میتوان مطابق سیستم فرستنده تغییر داد.
3. یک درخواست واقعی را ضبط کنید. /test را به انتهای نشانی وبهوک اضافه کنید و وبهوک آزمایشی فروشگاهتان را به آن نشانی بدهید. تا وقتی تنظیمات گره باز است، درخواست زیر درخواست دریافتشده با بدنه، پارامترهای query و هدرهایش نمایش داده میشود، بیآنکه جریان شروع شود. از آن برای پیدا کردن مسیرهای لازم استفاده کنید و سپس آنها را بهعنوان متغیر جریان ذخیره کنید، مثلاً request.body.orderId با نام orderId.
4. پیام را بفرستید. یک گره ارسال پیام الگو با قالب پیام تأییدشده خود اضافه کنید و متغیرهای آن را از متغیرهای جریان پر کنید: شماره سفارش، مبلغ، لینک رهگیری. با شرطها برای وضعیتهای مختلف قالبهای متفاوتی بفرستید.
5. در صورت نیاز نتیجه را برگردانید. گره درخواست HTTP میتواند داده بیشتری از سیستم خودتان بگیرد، یا پاسخ مشتری را در آن ثبت کند، مثلاً «تأیید شد» برای سفارش با پرداخت در محل. وقتی فراخوانی موفق باشد از خروجی ادامه میدهد و وقتی نباشد از در صورت شکست، تا بتوانید پیام جایگزین بفرستید یا گفتگو را به یک نفر واگذار کنید.
وقتی مشتری پاسخ میدهد، گفتگو در همان صندوق ورودی تیم MonoChat قرار میگیرد که بقیه چتهای WhatsApp، Instagram و Messenger شما هستند، و تیم شما یا یک دستیار هوش مصنوعی میتواند آن را ادامه دهد. برای ساخت جریانها خودکارسازی گردشکار را ببینید.
دو راه دیگر، بسته به اینکه چه کسی کار را انجام دهد:
- توسعهدهندگان شما از قبل API فراخوانی میکنند. اپلیکیشن WhatsApp Template API یک قالب پیام تأییدشده را با یک فراخوانی API میفرستد و پاسخها به صندوق ورودی میرسند.
- از Shopify استفاده میکنید و داده سفارش را در چت میخواهید. خودکارسازی چت Shopify محصولات و سفارشها را همگام میکند تا تیم و دستیار هوش مصنوعی بتوانند به پرسشهای سفارش پاسخ دهند.
برای شروع، یک حساب رایگان در app.monochat.ai بسازید، شماره WhatsApp خود را متصل کنید و طرحها را در صفحه قیمتگذاری مقایسه کنید.
منابع
این را با MonoChat عملی کنید