غير قادر على إرسال حدث Whatsapp من رقم الاختبار

مشكلة WhatsApp Trigger لا يستقبل الرسائل الواردة، رغم أن Meta ترسل webhook بنجاح

وصف المشكلة/الخطأ/السؤال

مرحباً بالجميع،
أواجه مشكلة مع عقدة WhatsApp Trigger في n8n. قضيت وقتاً طويلاً في تصحيح الأخطاء، ويبدو أن Meta ترسل webhook بنجاح، لكن WhatsApp Trigger لا ينشئ تنفيذاً أبداً.

البيئة
إصدار n8n: 2.28.7
التثبيت: محلي (Node.js)
بدأت الاستخدام: n8n
نظام التشغيل: macOS
النفق: ngrok
واجهة Cloud API الخاصة بـ WhatsApp: Meta Test Number
Webhook: HTTPS (ngrok)

عقدة WhatsApp Trigger لا تعمل أبداً عندما أرسل رسالة من WhatsApp الشخصي الخاص بي إلى رقم Meta Test.

لم يتم إنشاء أي تنفيذ.


ما ينجح

1. التحقق من Webhook

تتحقق Meta من عنوان URL رد الاتصال بنجاح.


2. زر “Test” في Meta

في:

Meta Developers → Webhooks → WhatsApp Business Account → Test

يصل طلب POST إلى webhook الخاص بي بنجاح.

أستطيع رؤية طلب POST في ngrok.


3. رسالة WhatsApp الواردة

عندما أرسل “Hi” من رقم WhatsApp الشخصي المتحقق منه إلى Meta Test Number:

  • يتم تسليم الرسالة بنجاح (علامات رمادية مزدوجة)
  • تعرض Meta حمولة webhook الواردة
  • يستقبل ngrok طلب POST

الحمولة المستقبلة:

{
  "object": "whatsapp_business_account",
  "entry": [
    {
      "changes": [
        {
          "field": "messages",
          "value": {
            "metadata": {
              "phone_number_id": "1262521306937058"
            },
            "contacts": [
              {
                "profile": {
                  "name": "Venkat"
                },
                "wa_id": "919553532575"
              }
            ],
            "messages": [
              {
                "from": "919553532575",
                "type": "text",
                "text": {
                  "body": "Hi"
                }
              }
            ]
          }
        }
      ]
    }
  ]
}

هذا يؤكد أن Meta تنشئ webhook بشكل صحيح.

سلوك WhatsApp Trigger

تنفيذ الخطوة

إذا نقرت على Execute Step، ثم أرسلت رسالة من WhatsApp Business Account → Message subscribe→Test

:white_check_mark: يعمل Trigger بنجاح.


سير العمل النشط

إذا قمت بتفعيل سير العمل:

:cross_mark: إرسال نفس رسالة WhatsApp من رقم الاختبار لا ينشئ أي تنفيذ.


الأشياء التي تحققت منها بالفعل

  • تحديث من n8n 1.97.1 إلى 2.28.7
  • إزالة وإعادة إنشاء WhatsApp Trigger
  • إنشاء سير عمل جديد تماماً
  • إزالة وإعادة إنشاء اشتراك Meta webhook
  • التحقق من عنوان URL رد الاتصال بنجاح
  • الاشتراك في حقل messages فقط
  • إنشاء رمز Meta access token جديد
  • التحقق من تطابق معرف رقم الهاتف
  • التحقق من إضافة رقم المستقبل في Meta
  • التحقق من استقبال ngrok لطلبات webhook بنجاح
  • اختبار كل من Test URL و Production URL
  • إعادة تشغيل n8n عدة مرات

سلوك غريب

عندما يتم تفعيل سير العمل، يبرز واجهة WhatsApp Trigger غالباً Test URL، حتى بعد اختيار Production URL.

أيضاً:

  • تنفيذ العقدة يستمع على /webhook-test/...
  • تفعيل سير العمل يجب أن يستخدم /webhook/...

ومع ذلك، بغض النظر عن عنوان URL المكون في Meta، الرسائل الواردة من WhatsApp لا تنشئ أبداً تنفيذاً في سير العمل النشط.


السؤال

هل واجه أي شخص هذه المشكلة؟

هل هناك:

  • مشكلة معروفة مع WhatsApp Trigger في n8n 2.28.7؟
  • أي إعدادات إضافية مطلوبة لـ trigger لمعالجة webhooks Cloud API الواردة؟
  • أي سجلات تصحيح يجب أن أفعلها لتحديد السبب في تجاهل webhook؟

سأكون ممتناً لأي مساعدة.

شكراً لك!

يرجى مشاركة سير العمل الخاص بك

WhatsApp Trigger
      ↓
AI Agent
      ↓
WhatsApp Send Message

شارك المخرجات التي أرجعتها العقدة الأخيرة

معلومات عن إعداد n8n الخاص بك

  • إصدار n8n: 2.28.7
  • قاعدة البيانات (الافتراضية: SQLite): SQLite (افتراضية)
  • إعداد n8n EXECUTIONS_PROCESS (الافتراضي: own, main): افتراضي (own)
  • تشغيل n8n عبر (Docker, npm, n8n cloud, desktop app): npm (مثبت عالمياً وتشغيل محلي عبر Node.js)
  • نظام التشغيل: macOS Sequoia (Apple Silicon M1 Air)

@jio_mobile

جرّب هذه الخطوات بالترتيب:

  • 「إعادة تعيين قوية」: قم بإلغاء نشر (تعطيل) سير العمل الخاص بك، انتظر حوالي 30 ثانية، ثم قم بنشره (تفعيله) مرة أخرى. هذا التغيير القسري غالباً ما يؤدي إلى إعادة تسجيل webhook من جانب Meta.
  • تحقق من WEBHOOK_URL: بما أنك تشغل محلياً باستخدام ngrok، تأكد من أن متغيرات البيئة في n8n تتضمن: WEBHOOK_URL=https://your-ngrok-subdomain.ngrok-free.app/ إذا لم يتم تعيين هذا، فقد يقوم n8n بإنشاء「URL الإنتاج」في واجهة المستخدم باستخدام localhost، مما يسبب عدم تطابق عندما تحاول Meta الوصول إلى نفق ngrok الخاص بك.

هل يعمل الآن؟

الحل الأفضل هو إنشاء سير عمل منفصل وبسيط يحافظ على اتصال WhatsApp الخاص بك「طازجاً».

كيفية بناؤه:

  1. مشغل الجدول الزمني: اضبطه للتشغيل كل 6 أو 12 ساعة (جرّب وخطأ للحصول على النتيجة المثلى)
  2. مفتاح n8n API: انتقل إلى Settings → API في n8n وأنشئ مفتاح API.
  3. عقدة HTTP Request (تعطيل):
    • الطريقة: POST
    • الرابط: https:// أنت-n8n-instance /api/v1/workflows/ YOUR_WHATSAPP_WORKFLOW_ID /deactivate
    • المصادقة: Header Auth (X-N8N-API-KEY)
  4. عقدة الانتظار: انتظر 5-10 ثوان.
  5. عقدة HTTP Request (تفعيل):
    • الطريقة: POST
    • الرابط: https:// أنت-n8n-instance /api/v1/workflows/ YOUR_WHATSAPP_WORKFLOW_ID /activate
    • المصادقة: Header Auth (X-N8N-API-KEY)

بدورة حالة التفعيل بشكل دوري، تفرض على Meta إعادة التحقق وإعادة تأسيس اشتراك webhook، مما يمنعه من أن يصبح قديماً.