استخدام أحداث Webhooks لتتبع انتهاكات السياسة من جانب حساب واتساب للأعمال

يمكن دمج الأنشطة التجارية مع أحداث webhooks لتلقي إشعارات فورية حول التغييرات التي تم إجراؤها على حساب واتساب للأعمال (WABA)، بما في ذلك عند انتهاك أي نشاط تجاري لسياسة واتساب. يتناول هذا الدليل كيفية إعداد أحداث webhooks لتلقي تلك الإشعارات، بحيث يمكن للأنشطة التجارية تعديل السلوك بسرعة لتجنب تلقي المزيد من التحذيرات و/أو إجراءات الإنفاذ.

قبل البدء

لإكمال هذا الدليل، تحتاج إلى التسجيل كمطوّر Meta. بمجرد التسجيل، يجب إعداد حساب مدير الأعمال وتطبيق Meta للمطوّرين.

عند إنشاء تطبيق Meta، تأكد من تحديد النوع "أعمال" وربط تطبيقك الجديد بمدير الأعمال.

بمجرد إنشاء التطبيق، أضف واتساب كمنتج في تطبيقك. ولإجراء ذلك:

  • انتقل إلى developers.facebook.com/apps وانقر على التطبيق. بعد النقر، ستتم إعادة توجيهك إلى لوحة معلومات التطبيق الخاصة بتطبيقك.
  • في لوحة المعلومات، ابحث عن المنتجات على الشريط الجانبي الأيمن وانقر على إضافة منتج. بمجرد النقر، ستظهر قائمة بالمنتجات التي يمكنك إضافتها إلى التطبيق.
  • ابحث عن واتساب، وانقر على إعداد.

بالإضافة إلى ذلك، تأكد من إكمال تطبيقك لعملية مراجعة التطبيقات وطلب الإذن whatsapp_business_management.

الخطوة الأولى: إعداد نقطة النهاية وتكوين أحداث Webhooks

اتبع دليل بدء استخدام Webhooks لإنشاء نقطة النهاية وتكوين أحداث Webhooks.

الخطوة الثانية: تفعيل اشتراك تطبيقك في حساب واتساب للأعمال

يجب أن يشترك تطبيقك في إشعارات Webhook لحساب واتساب للأعمال. يمكنك تفعيل الاشتراك بطريقتين مختلفتين:

الخطوة الثالثة: التسجيل للحصول على تحديثات الحساب

وبعد أن تم تسجيل تطبيقك لتلقي أحداث webhooks المرتبطة بحساب واتساب للأعمال، يمكنك تحسين أنواع التحديثات التي تريد تلقيها. ولتتبع حالة حساب واتساب للأعمال، تحتاج إلى تحديد الخيار account_update. بهذه الطريقة، سيتم إرسال إشعار إليك بمجرد انتهاك حساب واتساب للأعمال سياسات واتساب.

لتحديد هذا الخيار، انتقل إلى لوحة معلومات التطبيق وابحث عن الخيار إعدادات. وسيظهر قسم Webhooks يتضمن كل المعلومات التي أدخلتها في الخطوات السابقة. ابحث عن حقول Webhook وانقر على إدارة. سيظهر مربع حوار يتضمن كل الحقول التي يمكنك الاشتراك فيها. انقر على "اشتراك" للحصول على account_update.

والآن، في كل مرة ينتهك فيها حساب واتساب للأعمال أي سياسة، ستتلقى إشعارًا بهذا الشكل:

{
  "object": "whatsapp_business_account",
  "entry": [
    {
      "id": "whatsapp-business-account-id",
      "time": 1604703058,
      "changes": [
        {
          "field": "account_update",
          "value": {
            "phone_number": "16505551111",
            "event": "ACCOUNT_VIOLATION",
            "violation_info": {
            	"violation_type": "ALCOHOL",
            }
          }
        }
      ]
    }
  ]
}


يمكن العثور على كل انتهاكات السياسة هنا.

الخطوة الرابعة: تتبع تقييدات حساب واتساب للأعمال

يجب أن تراقب أحداث webhooks للتحقق مما إذا تم تقييد حساب واتساب للأعمال نتيجة انتهاكات السياسة. إذا تم فرض تقييد، فستتلقى حدث webhook يتضمن الحقل restriction_info، بداخل كائن القيمة. يسرد الحقل restriction_info كل التقييدات المفروضة على حسابك وموعد انتهاء صلاحية تلك التقييدات.

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

{
  "field": "account_update",
  "value": {
    "phone_number": "PHONE_NUMBER",
    "event": "ACCOUNT_RESTRICTION",
    "restriction_info": [
      {
        "restriction_type": "RESTRICTION_ON_ADD_PHONE_NUMBER_ACTION",
        "expiration": TIMESTAMP
      },
    ]
  }
}

هنا، يمكنك رؤية حساب واتساب للأعمال الذي لم يعد مسموحًا له بإرسال الرسائل التي بدأها النشاط التجاري:

{
  "field": "account_update",
  "value": {
    "phone_number": "PHONE_NUMBER",
    "event": "ACCOUNT_RESTRICTION",
    "restriction_info": [
      {
        "restriction_type": "RESTRICTED_BIZ_INITIATED_MESSAGING",
        "expiration": TIMESTAMP
      },
    ]
  }
}

وأخيرًا، يمكنك رؤية حساب واتساب للأعمال الذي لم يعد مسموحًا له بالرد على الرسائل التي بدأها المستخدم:

{
  "field": "account_update",
  "value": {
    "phone_number": "PHONE_NUMBER",
    "event": "ACCOUNT_RESTRICTION",
    "restriction_info": [{
        "restriction_type": "RESTRICTED_CUSTOMER_INITIATED_MESSAGING",
        "expiration": TIMESTAMP
      }
    ]
  }
}