واتساپ
WhatsApp Business
اتوماسیون واتساپ: ارسال پیام، Template، رسانه، پیام تعاملی و پشتیبانی مشتریان
نمای کلی
نود WhatsApp Business یکی از مهمترین نودهای n8n برای ارتباط با مشتریان است، به خصوص برای کسبوکارهایی که بازار بینالمللی دارند.
WhatsApp Business Cloud API:
واتساپ از طریق Meta (فیسبوک سابق) یک API قدرتمند برای کسبوکارها ارائه میدهد. این API به شما امکان میدهد پیامهای خودکار ارسال کنید، به پیامهای مشتریان پاسخ دهید، و فرآیندهای ارتباطی را اتوماسیون کنید.
قابلیتهای کلیدی:
- ارسال پیام متنی ساده
- ارسال Template Message (پیامهای از پیش تأیید شده)
- ارسال تصویر، ویدیو، صدا و فایل
- ارسال لوکیشن و اطلاعات تماس
- پیامهای تعاملی: دکمهها (Buttons) و لیستها (Lists)
- علامتگذاری پیام به عنوان خوانده شده
- آپلود، دانلود و مدیریت رسانه
- ارسال Reaction (واکنش اموجی)
- مدیریت پروفایل کسبوکار
Cloud API در مقابل On-Premise API:
- Cloud API: میزبانی توسط Meta، راهاندازی سادهتر، بروزرسانی خودکار، مقیاسپذیر
- On-Premise API: میزبانی روی سرور شما، کنترل بیشتر، مناسب سازمانهای بزرگ
قانون پنجره ۲۴ ساعته:
- پس از آخرین پیام کاربر، ۲۴ ساعت فرصت دارید پیام آزاد ارسال کنید
- خارج از پنجره ۲۴ ساعته فقط Template Message مجاز است
- Template Messageها باید از قبل توسط Meta تأیید شوند
کاربردها در ایران و بینالمللی:
- ارسال اعلان سفارش و تحویل
- پشتیبانی مشتریان خارجی
- یادآوری نوبت و قرار ملاقات
- تأیید پرداخت و فاکتور
- ارسال کاتالوگ محصولات
- بازاریابی و پروموشن با Template
- ربات پاسخگوی خودکار
احراز هویت
احراز هویت WhatsApp Business Cloud API
پیشنیازها:
- 1اکانت فیسبوک (Meta)
- 2اکانت Meta Business Suite
- 3اپلیکیشن ثبت شده در Meta for Developers
- 4شماره تلفن تجاری تأیید شده
مراحل راهاندازی:
#### مرحله ۱: ایجاد اکانت Meta Business
- 1به [business.facebook.com](https://business.facebook.com) بروید
- 2ثبتنام یا ورود کنید
- 3اطلاعات کسبوکار را وارد کنید
- 4تأیید هویت کسبوکار (ممکن است چند روز طول بکشد)
#### مرحله ۲: ایجاد اپلیکیشن در Meta for Developers
- 1به [developers.facebook.com](https://developers.facebook.com) بروید
- 2My Apps > Create App
- 3نوع اپ: Business
- 4نام و Business Account انتخاب کنید
- 5در داشبورد اپ، WhatsApp را اضافه کنید
#### مرحله ۳: دریافت Access Token
- 1در داشبورد WhatsApp > API Setup
- 2Temporary Access Token را کپی کنید (۲۴ ساعت اعتبار)
- 3برای Production: System User Token بسازید:
- Business Settings > System Users > Add
- نقش: Admin
- Generate Token با دسترسی
whatsapp_business_messagingوwhatsapp_business_management
#### مرحله ۴: تنظیم شماره تلفن
- 1WhatsApp > API Setup > Add phone number
- 2شماره تجاری خود را وارد کنید
- 3کد تأیید SMS/تماس را وارد کنید
- 4Phone Number ID را یادداشت کنید
#### مرحله ۵: تنظیم در n8n
- 1Credentials > WhatsApp Business Cloud API
- 2فیلدها:
Access Token: YOUR_ACCESS_TOKEN
Business Account ID: YOUR_BUSINESS_ACCOUNT_ID
Phone Number ID: YOUR_PHONE_NUMBER_ID- 1Test Connection بزنید
تنظیم Webhook (دریافت پیام):
- 1در داشبورد Meta > WhatsApp > Configuration
- 2Callback URL: آدرس n8n Webhook شما
- 3Verify Token: یک رشته دلخواه
- 4فیلدهای اشتراک:
messages,message_deliveries,message_reads
نکات امنیتی:
- System User Token برای Production استفاده کنید (بدون انقضا)
- Temporary Token فقط برای تست (۲۴ ساعت اعتبار)
- Token را در Environment Variables ذخیره کنید
- دسترسیهای Token را محدود کنید
- Webhook Verify Token قوی انتخاب کنید
عملیاتهای موجود
sendTextMessage
ارسال پیام متنی ساده به شماره واتساپ مقصد
sendTemplate
ارسال پیام Template از پیش تأیید شده توسط Meta (برای خارج از پنجره ۲۴ ساعته)
sendImage
ارسال عکس به مخاطب از طریق URL یا Media ID
sendVideo
ارسال فایل ویدیویی (حداکثر 16MB)
sendDocument
ارسال فایل (PDF, Word, Excel و ...) حداکثر 100MB
sendAudio
ارسال فایل صوتی (MP3, AAC, OGG و ...) حداکثر 16MB
sendLocation
ارسال موقعیت مکانی با نام و آدرس
sendContact
ارسال کارت ویزیت / اطلاعات تماس
sendInteractiveButtons
ارسال پیام با دکمههای قابل کلیک (حداکثر 3 دکمه)
sendInteractiveList
ارسال پیام با لیست انتخابی (حداکثر 10 آیتم در هر بخش)
markAsRead
علامتگذاری پیام به عنوان خوانده شده (دو تیک آبی)
sendReaction
ارسال اموجی واکنش به یک پیام
uploadMedia
آپلود فایل رسانهای و دریافت Media ID برای استفاده در پیامها
getMediaUrl
دریافت لینک دانلود فایل رسانهای از Media ID
downloadMedia
دانلود فایل رسانهای ارسال شده توسط مخاطب
getBusinessProfile
مشاهده اطلاعات پروفایل WhatsApp Business
updateBusinessProfile
تغییر اطلاعات پروفایل تجاری واتساپ
کاربردهای متداول
1. اعلان سفارش و تحویل
هنگام ثبت یا ارسال سفارش:
Webhook (سفارش جدید)
→ Set (آمادهسازی داده)
→ WhatsApp (sendTemplate)
PhoneNumberId: YOUR_PHONE_ID
To: {{$json.customerPhone}}
TemplateName: order_confirmation
LanguageCode: fa
Components: [
{type: "body", parameters: [
{type: "text", text: "{{$json.orderId}}"},
{type: "text", text: "{{$json.totalAmount}} تومان"},
{type: "text", text: "{{$json.estimatedDelivery}}"}
]}
]2. ربات پشتیبانی مشتریان
پاسخ خودکار به پیامهای واتساپ:
Webhook (پیام واتساپ دریافتی)
→ WhatsApp (markAsRead)
MessageId: {{$json.messageId}}
→ Switch (بررسی محتوای پیام)
Case "سلام/شروع":
→ WhatsApp (sendInteractiveButtons)
BodyText: "سلام! به پشتیبانی خوش آمدید. چه کاری میتوانم انجام دهم؟"
Buttons: [
{id: "track_order", title: "پیگیری سفارش"},
{id: "products", title: "لیست محصولات"},
{id: "human_support", title: "ارتباط با پشتیبانی"}
]
Case "track_order":
→ MySQL (جستجوی سفارش)
→ WhatsApp (sendTextMessage)
Text: "سفارش شما: {{$json.status}}"
Default:
→ OpenAI (Chat)
→ WhatsApp (sendTextMessage)3. یادآوری نوبت و قرار ملاقات
ارسال یادآوری ۲۴ ساعت و ۱ ساعت قبل:
Schedule (هر ساعت)
→ MySQL (نوبتهای فردا)
→ Loop
→ WhatsApp (sendTemplate)
TemplateName: appointment_reminder
Components: [
{type: "body", parameters: [
{type: "text", text: "{{$json.patientName}}"},
{type: "text", text: "{{$json.doctorName}}"},
{type: "text", text: "{{$json.appointmentTime}}"}
]}
]
→ Wait (500ms)4. تأیید پرداخت و ارسال فاکتور
پس از پرداخت موفق:
Webhook (پرداخت موفق)
→ HTTP Request (دریافت PDF فاکتور)
→ WhatsApp (uploadMedia)
File: Binary PDF
MimeType: application/pdf
→ WhatsApp (sendDocument)
To: {{$json.customerPhone}}
DocumentUrl: {{$json.mediaId}}
Filename: "فاکتور-{{$json.invoiceId}}.pdf"
Caption: "فاکتور خرید شما - مبلغ: {{$json.amount}} تومان"5. ارسال کاتالوگ محصولات با لیست تعاملی
نمایش محصولات به صورت لیست:
Webhook (درخواست کاتالوگ)
→ MySQL (دستهبندی محصولات)
→ Code (ساخت ساختار لیست)
→ WhatsApp (sendInteractiveList)
BodyText: "محصولات ما را مشاهده کنید:"
ButtonText: "مشاهده محصولات"
Sections: [
{
title: "لوازم الکترونیکی",
rows: [
{id: "p1", title: "گوشی سامسونگ", description: "12,500,000 تومان"},
{id: "p2", title: "لپتاپ ایسوس", description: "28,000,000 تومان"}
]
},
{
title: "لوازم جانبی",
rows: [
{id: "p3", title: "هدفون بلوتوثی", description: "850,000 تومان"},
{id: "p4", title: "پاوربانک", description: "450,000 تومان"}
]
}
]6. پیگیری ارسال مرسوله
اعلان مراحل ارسال:
Webhook (بروزرسانی وضعیت ارسال)
→ Switch (وضعیت)
Case "shipped":
→ WhatsApp (sendTemplate)
TemplateName: order_shipped
Case "out_for_delivery":
→ WhatsApp (sendTextMessage)
Text: "مرسوله شما در حال تحویل است."
→ WhatsApp (sendLocation)
Latitude: {{$json.driverLat}}
Longitude: {{$json.driverLng}}
Name: "موقعیت پیک"
Case "delivered":
→ WhatsApp (sendInteractiveButtons)
BodyText: "سفارش تحویل داده شد. از خرید شما ممنونیم!"
Buttons: [
{id: "rate", title: "امتیاز دهید"},
{id: "issue", title: "مشکلی دارم"}
]7. بازاریابی و ارسال پروموشن
ارسال انبوه Template تبلیغاتی:
Schedule (شنبه ساعت 10 صبح)
→ MySQL (مشتریان فعال با رضایت بازاریابی)
→ Loop
→ WhatsApp (sendTemplate)
TemplateName: weekly_promotion
Components: [
{type: "header", parameters: [
{type: "image", image: {link: "https://example.com/promo.jpg"}}
]},
{type: "body", parameters: [
{type: "text", text: "{{$json.customerName}}"},
{type: "text", text: "20%"},
{type: "text", text: "PROMO20"}
]},
{type: "button", sub_type: "url", index: 0,
parameters: [{type: "text", text: "winter-sale"}]
}
]
→ Wait (1 second) // رعایت Rate Limit
→ MySQL (لاگ ارسال)8. پاسخ خودکار هوشمند با AI
ترکیب واتساپ با OpenAI:
Webhook (پیام واتساپ)
→ WhatsApp (markAsRead)
→ IF (پیام متنی)
→ OpenAI (Chat)
System: "تو دستیار فارسیزبان فروشگاه آنلاین هستی.
پاسخها باید کوتاه و مفید باشند.
اگر نمیدانی، بگو به پشتیبانی انسانی وصل میکنی."
User: {{$json.text}}
Temperature: 0.3
→ WhatsApp (sendTextMessage)
Text: {{$json.response}}
→ IF (تصویر)
→ WhatsApp (getMediaUrl)
→ WhatsApp (downloadMedia)
→ OpenAI (Vision)
→ WhatsApp (sendTextMessage)9. سیستم نظرسنجی رضایت مشتری
دریافت بازخورد پس از خرید:
Schedule (هر شب)
→ MySQL (خریدهای ۲ روز قبل بدون نظرسنجی)
→ Loop
→ WhatsApp (sendInteractiveButtons)
BodyText: "{{$json.name}} عزیز، از خرید محصول {{$json.product}} چقدر راضی هستید؟"
Buttons: [
{id: "rate_5", title: "عالی بود"},
{id: "rate_3", title: "معمولی بود"},
{id: "rate_1", title: "ناراضی هستم"}
]
→ Wait (500ms)
Webhook (پاسخ دکمه)
→ MySQL (ذخیره نظرسنجی)
→ IF (rate_1)
→ WhatsApp (sendTextMessage)
Text: "متأسفیم. لطفاً مشکل خود را شرح دهید تا پیگیری کنیم."
→ MySQL (ایجاد تیکت پشتیبانی)10. ثبت سفارش از طریق واتساپ
سفارشگیری تعاملی:
Webhook (پیام /order)
→ WhatsApp (sendInteractiveList)
BodyText: "دسته مورد نظر را انتخاب کنید:"
ButtonText: "مشاهده دستهها"
Sections: [محصولات]
Webhook (انتخاب محصول)
→ MySQL (اطلاعات محصول)
→ WhatsApp (sendImage)
ImageUrl: {{$json.imageUrl}}
Caption: "{{$json.name}}\nقیمت: {{$json.price}} تومان\n\nبرای سفارش عدد بفرستید"
Webhook (تعداد)
→ MySQL (ثبت سفارش)
→ WhatsApp (sendTextMessage)
Text: "سفارش ثبت شد!\nکد پیگیری: {{$json.orderId}}"11. گزارش روزانه به مدیران
ارسال آمار فروش:
Schedule (هر شب ساعت 23)
→ MySQL (آمار فروش روز)
→ Code (فرمت فارسی)
→ WhatsApp (sendTextMessage)
To: MANAGER_PHONE
Text: "📊 گزارش فروش امروز\n\nتعداد سفارش: {{$json.orders}}\nمبلغ کل: {{$json.total}} تومان\nمیانگین: {{$json.avg}} تومان\nپرفروشترین: {{$json.topProduct}}"12. احراز هویت دو مرحلهای (OTP)
ارسال کد تأیید:
Webhook (درخواست OTP)
→ Code (تولید کد 6 رقمی)
→ Redis (ذخیره کد با TTL 5 دقیقه)
→ WhatsApp (sendTemplate)
TemplateName: otp_verification
Components: [
{type: "body", parameters: [
{type: "text", text: "{{$json.otpCode}}"}
]},
{type: "button", sub_type: "url", index: 0,
parameters: [{type: "text", text: "{{$json.otpCode}}"}]
}
]نکات حرفهای
نکات حرفهای
- 1فرمت شماره تلفن: همیشه با کد کشور و بدون صفر اول:
ایران: 989121234567 (نه 09121234567 یا +989121234567)
ترکیه: 905321234567
امارات: 971501234567- 1ساخت Template Message حرفهای:
// متن Template در Meta Business Suite:
"{{1}} عزیز، سفارش شماره {{2}} با موفقیت ثبت شد.
مبلغ: {{3}} تومان
زمان تحویل: {{4}}"
// ارسال در n8n:
Components: [{
type: "body",
parameters: [
{type: "text", text: customerName},
{type: "text", text: orderId},
{type: "text", text: amount},
{type: "text", text: deliveryDate}
]
}]- 1مدیریت پنجره ۲۴ ساعته: زمان آخرین پیام کاربر را ذخیره کنید:
Webhook (پیام دریافتی)
→ MySQL (ذخیره lastMessageAt = NOW())
→ ادامه workflow...
// قبل از ارسال:
MySQL (بررسی lastMessageAt)
→ IF (NOW() - lastMessageAt < 24h)
→ پیام آزاد (Text, Image, ...)
→ ELSE
→ Template Message- 1پیام تعاملی با دکمه (Interactive Buttons):
{
"type": "button",
"body": {"text": "سفارش شما آماده است. تأیید میکنید؟"},
"action": {
"buttons": [
{"type": "reply", "reply": {"id": "confirm", "title": "تأیید"}},
{"type": "reply", "reply": {"id": "cancel", "title": "لغو"}},
{"type": "reply", "reply": {"id": "change", "title": "تغییر آدرس"}}
]
}
}- 1پیام تعاملی با لیست (Interactive List):
{
"type": "list",
"body": {"text": "دستهبندی مورد نظر را انتخاب کنید:"},
"action": {
"button": "انتخاب دسته",
"sections": [{
"title": "محصولات",
"rows": [
{"id": "cat_1", "title": "موبایل", "description": "گوشی و تبلت"},
{"id": "cat_2", "title": "لپتاپ", "description": "نوتبوک و PC"}
]
}]
}
}- 1ارسال عکس با Caption فارسی:
WhatsApp (sendImage)
ImageUrl: "https://example.com/product.jpg"
Caption: "*محصول جدید*\n\nنام: {{$json.name}}\nقیمت: {{$json.price}} تومان\n\nبرای خرید عدد 1 ارسال کنید"نکته: از *bold* و _italic_ در Caption پشتیبانی میشود.
- 1Webhook امن برای دریافت پیام:
// تأیید امضای Webhook Meta:
Code Node:
const crypto = require('crypto');
const signature = $headers['x-hub-signature-256'];
const expected = 'sha256=' + crypto
.createHmac('sha256', APP_SECRET)
.update(JSON.stringify($json))
.digest('hex');
if (signature !== expected) throw new Error('Invalid signature');- 1مدیریت وضعیت پیام (Delivery/Read):
Webhook (Status Update)
→ Switch (status)
Case "sent": MySQL (وضعیت: ارسال شد)
Case "delivered": MySQL (وضعیت: تحویل شد)
Case "read": MySQL (وضعیت: خوانده شد)
Case "failed": Telegram (هشدار خطا)- 1جلوگیری از Spam و حفظ Quality Rating:
- حداکثر ۱ پیام تبلیغاتی در هفته
- همیشه گزینه انصراف (Opt-out) بگذارید
- پیامها ارزشمند و مرتبط باشند
- از ارسال به شمارههای ناشناس خودداری کنید
- Quality Rating را در Meta Business Suite پایش کنید
- 1محدودیتهای مهم واتساپ:
پیام متنی: 4096 کاراکتر
Caption: 1024 کاراکتر
دکمههای تعاملی: حداکثر 3 عدد
آیتم لیست: حداکثر 10 در هر بخش
بخشهای لیست: حداکثر 10 بخش
عکس: 5 مگابایت
ویدیو: 16 مگابایت
صوت: 16 مگابایت
فایل: 100 مگابایت
Reaction: فقط یک اموجی
Template نام: حداکثر 512 کاراکتر- 1افزایش تدریجی سقف ارسال (Messaging Limits):
Tier 1: 1,000 مخاطب یکتا / 24 ساعت
Tier 2: 10,000 مخاطب یکتا / 24 ساعت
Tier 3: 100,000 مخاطب یکتا / 24 ساعت
Tier 4: نامحدود
// افزایش Tier:
- Quality Rating بالا نگه دارید
- حجم ارسال را تدریجی افزایش دهید
- 2 برابر Tier فعلی ارسال کنید تا ارتقا دهند- 1Template فارسی: نکات تأیید سریع:
- از زبان رسمی و مؤدبانه استفاده کنید
- اطلاعات ارزشمند ارائه دهید نه فقط تبلیغ
- نمونه مقادیر واقعی در زمان ثبت Template ارائه دهید
- لینک کوتاه قابل شناسایی استفاده کنید
- Category صحیح انتخاب کنید: Marketing, Utility, Authentication
- 1تفاوت نوع Template:
Marketing: پروموشن، تخفیف، اخبار
→ نیاز به Opt-in کاربر
→ ممکن است توسط Meta محدود شود
Utility: اعلان سفارش، تحویل، تأیید
→ بدون نیاز به Opt-in
→ Rate Limit بالاتر
Authentication: OTP و تأیید هویت
→ بدون نیاز به Opt-in
→ اولویت بالا در ارسال- 1Cache مدیای پرتکرار: فایلهایی که مکرر ارسال میشوند را یک بار آپلود کنید:
// ابتدا آپلود و ذخیره Media ID
WhatsApp (uploadMedia)
→ MySQL (ذخیره: file_hash → media_id)
// استفاده مکرر بدون آپلود مجدد
MySQL (بررسی media_id)
→ IF (موجود) → WhatsApp (sendImage با media_id)
→ ELSE → Upload → WhatsApp (sendImage)نکته: Media ID پس از ۳۰ روز منقضی میشود.
- 1Error Handling حرفهای: مدیریت خطاها در ارسال انبوه:
Loop (لیست مخاطبین)
→ WhatsApp (sendTemplate)
→ On Error:
→ IF (429 Rate Limit)
→ Wait (30 seconds) → Retry
→ IF (400 Invalid Number)
→ MySQL (علامت شماره نامعتبر)
→ IF (131026 Outside Window)
→ Queue (صف ارسال Template بعدی)
→ Default:
→ Telegram (هشدار ادمین)
→ MySQL (لاگ خطا)- 1پشتیبانی فارسی و RTL: واتساپ به صورت پیشفرض فارسی و RTL پشتیبانی میکند:
- نیازی به تگ RTL نیست
- اموجی در پیام فارسی بدون مشکل نمایش داده میشود
- لینکها در متن فارسی به درستی کار میکنند
- برای ترکیب فارسی و انگلیسی از خط جدید استفاده کنید
رفع مشکلات
خطاهای رایج و راهحلها
1. خطای "Invalid Access Token" (401)
علت: Token نامعتبر یا منقضی شده
راهحل
- Temporary Token فقط ۲۴ ساعت اعتبار دارد
- System User Token بسازید (بدون انقضا)
- مطمئن شوید Token دسترسی
whatsapp_business_messagingدارد - Token را از Business Settings > System Users بروز کنید
2. خطای "Phone number not registered" (400)
علت: شماره مقصد واتساپ فعال ندارد
راهحل
- فرمت شماره: کد کشور + شماره بدون صفر:
989121234567 - شماره باید واتساپ فعال داشته باشد
- از
+در ابتدای شماره استفاده نکنید - شمارههای تست فقط با شمارههای تأیید شده کار میکنند
3. خطای "Template not found" یا "Template rejected"
علت: Template وجود ندارد یا رد شده
راهحل
- نام Template دقیقاً مطابق داشبورد Meta باشد (case-sensitive)
- وضعیت Template: باید
APPROVEDباشد - زبان Template صحیح باشد:
faنهfa_IR - متغیرهای Template تعداد و ترتیبشان صحیح باشد
- Template جدید ۲۴-۴۸ ساعت زمان تأیید میبرد
4. خطای "Outside 24-hour window" (131026)
علت: تلاش برای ارسال پیام آزاد خارج از پنجره ۲۴ ساعته
راهحل
- پس از ۲۴ ساعت از آخرین پیام کاربر فقط Template مجاز است
- از Template Message استفاده کنید
- مطمئن شوید پنجره ۲۴ ساعته باز است:
IF (lastMessageTime + 24h > now)
→ WhatsApp (sendTextMessage) // پیام آزاد
ELSE
→ WhatsApp (sendTemplate) // فقط Template5. خطای "Rate limit hit" (429)
علت: تعداد درخواست بیش از حد مجاز
راهحل
- محدودیتها بر اساس Tier:
- Business: 250 پیام/ثانیه
- شماره جدید: شروع از 250 پیام/روز
- بین ارسالها Wait اضافه کنید
- ارسال انبوه را در ساعات مختلف پخش کنید
- مقیاس پیامرسانی را تدریجی افزایش دهید
6. خطای "Media upload failed"
علت: فرمت یا حجم نادرست رسانه
راهحل
- فرمتهای مجاز:
- تصویر: JPEG, PNG (حداکثر 5MB)
- ویدیو: MP4, 3GPP (حداکثر 16MB)
- صوت: MP3, AAC, OGG (حداکثر 16MB)
- فایل: PDF, DOC, XLS و ... (حداکثر 100MB)
- URL رسانه باید HTTPS و عمومی باشد
- از MediaID بجای URL برای ارسال مکرر استفاده کنید
7. Template Message متغیرها نمایش نمیدهد
علت: ساختار Components اشتباه است
راهحل
- ترتیب متغیرها باید با Template مطابقت داشته باشد
- ساختار صحیح:
{
"type": "body",
"parameters": [
{"type": "text", "text": "مقدار اول"},
{"type": "text", "text": "مقدار دوم"}
]
}- اگر Template دارای header/button است، همه را ارسال کنید
8. Webhook پیام دریافت نمیکند
علت: تنظیمات Webhook نادرست
راهحل
- Callback URL باید HTTPS و عمومی باشد
- Verify Token در n8n و Meta یکسان باشد
- فیلدهای اشتراک فعال شوند:
messages - n8n Webhook باید در حالت Production فعال باشد
- فایروال پورتها را چک کنید
9. پیامها با تأخیر ارسال میشوند
علت: صف پیام واتساپ یا مشکل شبکه
راهحل
- وضعیت Phone Number Quality Rating را بررسی کنید
- اگر Rating پایین باشد سرعت ارسال کاهش مییابد
- شماره مسدود نشده باشد
- تعداد ارسال روزانه را بررسی کنید
10. خطای "Business verification required"
علت: حساب کسبوکار تأیید نشده
راهحل
- به Meta Business Suite بروید
- فرآیند Business Verification را تکمیل کنید
- مدارک هویت کسبوکار آپلود کنید
- تأیید ممکن است ۲-۷ روز کاری طول بکشد
