إرسال رسائل الوسائط

يمكنك استخدام العقدة messages لإرسال رسائل تحتوي على مقطع صوتي أو مستندات أو صور أو ملصقات أو مقاطع فيديو إلى عملائك.

وعندما ترسل بصفة أساسية رسالة تتضمن وسائط، يجب أن توفر معرف الوسائط التي يتم تحميلها أو رابطًا إلى الوسائط في النص الأساسي للطلب. كما يجب أن تحدد نوع الوسائط التي ترسلها: audio أو document أو image أو sticker أو video. وعند تلقي الطلب، يتم تحميل الوسائط إلى خادم WhatsApp وإرسالها إلى المستخدم المُشار إليه في الحقل to.

تتوفر حاليًا طريقتان لإرسال رسائل الوسائط باستخدام واجهة API الخاصة بتطبيق WhatsApp للأعمال:

  • المعرفات — لاستخدام معرف، يجب أولاً تحميل الوسائط باستخدام العقدة media للحصول على المعرف المطلوب لاستدعاء واجهة API messages.
  • الروابط — لاستخدام رابط، يجب توفير رابط HTTP(S) سيعمل التطبيق من خلاله على تنزيل الوسائط مما يوفر عليك إجراء خطوة تحميل الوسائط بنفسك.

قبل البدء

ستحتاج إلى ما يلي:

الخطوة الأولى: إجراء طلب POST إلى /messages

بعد الانتهاء من تحميل الوسائط، استخدم المعرف الذي تم إرجاعه للحقل id في استدعاء واجهة API لإرسال رسالة الوسائط. وبدلاً من ذلك، يمكنك توفير معلمة link بحيث تشير إلى الوسائط التي تريد إرسالها (يتم حاليًا دعم روابط HTTP/HTTPS فقط).

ويلزم توفير id أو link، ولكن لا ينبغي استخدامهما في الوقت نفسه.

مثال

تعرض العينة أدناه عدة كائنات مختلفة، مثل audio وdocument وimage وsticker وvideo وذلك لأغراض التوضيح فقط. ولا يتضمن نص الطلب الصالح سوى كائن واحد من هذه الكائنات.

POST /v1/messages
{
  "recipient_type": "individual",
  "to": "whatsapp-id",
  "type": "audio" | "contact" | "document" | "image" | "location" | "sticker" | "text" | "video",
  
  "audio": {
    "id": "your-media-id"
  }
  
  "document": {
    "id": "your-media-id",
    "filename": "your-document-filename"
  }
  
  "document": {
    "link": "the-provider-name/protocol://the-url",
    "provider": {
        "name" : "provider-name"
    }
  }
  
  "document": {
    "link": "http(s)://the-url.pdf"
  }
  
  "video": {
    "id": "your-media-id"  
  }
  
  "image": {
    "link": "http(s)://the-url",
    "provider": {
        "name" : "provider-name"
    }
  }
  
  "image": {
    "id": "your-media-id"   
  }
  
  "sticker": {
    "id": "your-media-id"
  }
  
  "sticker": {
    "link": "http(s)://the-url",
    "provider": {
      "name" : "provider-name"
    }
  }
}

لمزيد من المعلومات حول المعلمات، يمكنك الرجوع إلى:

الخطوة الثانية: التحقق من الاستجابة

تتضمن الاستجابة الناجحة كائن messages بمعرف رسالة.

{
  "messages": [{
    "id": "gBEGkYiEB1VXAglK1ZEqA1YKPrU"
  }]
}  

في حالة عدم نجاح الاستجابة، يتم إرسال استدعاء إلى عنوان URL لحدث Webhook لديك على الرغم من أن الاستجابة ستؤدي إلى الحصول على معرف رسالة مماثل للمعرف الذي يتوفر عند إرسال رسالة بنجاح. ولذلك، يُعد إعداد خادم Webhook أمرًا مهمًا.

لمزيد من المعلومات حول الأخطاء، يمكنك الرجوع إلى رموز الخطأ والحالة.