We are making changes to the WhatsApp Business Platform pricing model. See Pricing Updates on the WhatsApp Business Platform.
استخدم نقطة النهاية /PHONE_NUMBER_ID/messages
لإرسال النص والوسائط وجهات الاتصال والموقع والرسائل التفاعلية بالإضافة إلى قوالب الرسائل إلى العملاء. تعرف على المزيد عن الرسائل التي يمكنك إرسالها.
نقطة النهاية | المصادقة |
---|---|
(راجع الحصول على معرف رقم الهاتف) | Developers can authenticate their API calls with the access token generated in the App Dashboard > WhatsApp > API Setup.
Solution Partners must authenticate themselves with an access token with the |
يتم التعرف على الرسائل بواسطة معرف فريد (WAMID). يمكنك تتبع حالة الرسالة في أحداث Webhooks من خلال معرف WAMID الخاص بها. يمكنك أيضًا تحديد الرسالة الواردة كمقروءة من خلال نقطة نهاية الرسائل. يمكن أن يصل طول معرف WAMID هذا إلى 128 حرفًا كحد أقصى.
من خلال API السحابة، لم تعد هناك طريقة للتحقق صراحةً مما إذا كان رقم الهاتف يحتوي على معرف واتساب. ولإرسال رسالة إلى شخص باستخدام API السحابة، ما عليك سوى إرسالها مباشرةً إلى رقم هاتف العميل - بعد أن يكمل اشتراكه. راجع المرجع، الرسائل للحصول على أمثلة.
لإرسال رسالة، يجب أولاً تجميع كائن الرسالة مع المحتوى الذي تريد إرساله. هذه هي المعلمات المستخدمة في كائن message
:
الاسم | الوصف |
---|---|
| مطلوب لقوالب الرسائل. نوع الرسالة التي يتم إرسالها.
|
| مطلوب. معرف WhatsApp الذي يتم إرسال الرسالة إليه. |
سيتم إيقاف استخدام | اختياري. اعتبارًا من يمكن قبول سلسلة بتنسيق المدة ISO-8601، وكذلك بالثواني. ويجب تحديد فترات المدة بدقة مع مضاعفة الأيام، ويتم تقريب أية قيم بينية تلقائيًا إلى أقرب يوم. ولمزيد من المعلومات، يمكنك الرجوع إلى قسم الكائن |
| اختياري. القيمة: |
| مطلوب لرسائل يمكن أن يحتوي على كل معلومات القالب. |
| مطلوب لقوالب الرسائل. العنصر المُضمن في محتوى الرسالة. ويمكن الإشارة إلى أن الرسالة تتمتع ببنية محددة للغاية. وتوفر المعلمات المضمّنة البنية. |
يتم تضمين الكائنات التالية داخل كائن الرسالة:
Name | Description |
---|---|
| Optional. Full contact address(es) formatted as an
|
| Optional.
|
| Optional. Contact email address(es) formatted as an
|
| Required. Full contact name formatted as a
*At least one of the optional parameters needs to be included along with the |
| Optional. Contact organization information formatted as an
|
| Optional. Contact phone number(s) formatted as a
|
| Optional. Contact URL(s) formatted as a
|
الاسم | الوصف |
---|---|
| مطلوب. الإجراء الذي تريد من المستخدم القيام به بعد قراءة الرسالة. |
| اختياري للنوع كائن مع نص الرسالة. يحتوي الكائن
|
| اختياري. كائن يحتوي على تذييل الرسالة. يحتوي كائن
|
| مطلوب للنوع محتوى العنوان المعروض أعلى رسالة. لا يمكنك تعيين العنوان إذا كان الكائن التفاعلي من النوع |
| مطلوب. يمثل نوع الرسالة التفاعلية التي تريد إرسالها. علمًا بأن القيم المدعومة هي:
|
يتم تضمين الكائنات التالية داخل الكائن interactive
:
الاسم | الوصف |
---|---|
| مطلوب لرسائل القوائم. يمثل محتوى الزر. ولا يمكن أن يمثل سلسلة فارغة ويجب أن يكون فريدًا ضمن الرسالة. يتم دعم الرموز التعبيرية وليس markdown. الحد الأقصى للطول: 20 حرفًا. |
| مطلوب لأزرار الرد. يمكن أن يحتوي كائن الزر على المعلمات التالية:
يمكنك إنشاء ما يصل إلى 3 أزرار. لا يمكن أن يكون لديك مسافات بادئة أو زائدة عند تعيين المعرف. |
| مطلوب في رسائل المنتج الواحد ورسائل المنتجات المتعددة. المعرف الفريد لكتالوج فيسبوك المرتبط بحساب واتساب للأعمال. يمكن استرداد هذا المعرف عبر مدير المعاملات التجارية في Meta. |
| مطلوب في رسائل المنتج الواحد ورسائل المنتجات المتعددة. المعرف الفريد للمنتج في الكتالوج. للحصول على هذا المعرف، انتقل إلى مدير المعاملات التجارية في Meta وحدد حساب الأعمال من Meta. ستظهر لك قائمة بالمتاجر المرتبطة بحسابك. انقر على المتجر الذي تريد استخدامه. في اللوحة اليمنى، انقر على الكتالوج > العناصر، واعثر على العنصر الذي تريد ذكره. يتم عرض معرف ذلك العنصر أسفل اسم العنصر. |
| مطلوب في رسائل قوائم المعروضات ورسائل المنتجات المتعددة. يمثل مصفوفة من كائنات |
| اختياري لرسائل التدفقات. الوضع الحالي للدفق، إما القيمة الافتراضية: |
| مطلوب لرسائل التدفقات. يجب أن يكون |
| مطلوب لرسائل التدفقات. رمز يتم إنشاؤه بواسطة النشاط التجاري ليكون بمثابة معرف. |
| مطلوب لرسائل التدفقات. المعرف الفريد للدفق والذي يوفره واتساب. |
| مطلوب لرسائل التدفقات. النص الموجود على زر الدعوة لاتخاذ إجراء، على سبيل المثال. "تسجيل". الحد الأقصى للطول: 20 حرفًا (بدون رموز تعبيرية). |
| اختياري لرسائل التدفقات.
القيمة الافتراضية: |
| اختياري لرسائل التدفقات. مطلوب فقط إذا كان
|
الاسم | الوصف |
---|---|
| مطلوب إذا تم تعيين يحتوي على كائن الوسائط لهذا المستند. |
| مطلوب إذا تم تعيين يحتوي على كائن الوسائط لهذه الصورة. |
| مطلوب إذا تم تعيين يمثل نص العنوان. ويسمح التنسيق بالرموز التعبيرية، وليس markdown. الحد الأقصى للطول: 60 حرفًا. |
| اختياري. نص العنوان. ويسمح التنسيق بالرموز التعبيرية، وليس markdown. الحد الأقصى للطول: 60 حرفًا. |
| مطلوب. نوع العنوان الذي تريد استخدامه. علمًا بأن القيم المدعومة هي:
|
| مطلوب إذا تم تعيين يحتوي على كائن الوسائط لهذا الفيديو. |
الاسم | الوصف |
---|---|
| مطلوب للرسائل المرتبطة بعدة منتجات. مصفوفة من كائنات يحتوي كل كائن
|
| مطلوب لرسائل القوائم. يحتوى على قائمة صفوف. يمكن أن يكون لديك إجمالي 10 صفوف على مستوى الأقسام الخاصة بك. يجب أن يكون لكل صف عنوانًا (الحد الأقصى للطول: 24 حرفًا) ومعرفًا (الحد الأقصى للطول: 200 حرفًا). يمكنك إضافة وصف (الحد الأقصى للطول: 72 حرفًا)، ولكنه اختياري. مثال: "rows": [ { "id":"unique-row-identifier-here", "title": "row-title-content-here", "description": "row-description-content-here", } ] |
| مطلوب إذا كانت الرسالة تحتوي على أكثر من قسم. عنوان القسم. الحد الأقصى للطول: 24 حرفًا. |
Name | Description |
---|---|
| Required. Location latitude in decimal degrees. |
| Required. Location longitude in decimal degrees. |
| Required. Name of the location. |
| Required. Address of the location. |
راجع احصل على معرف الوسائط للحصول على معلومات حول كيفية الحصول على معرف كائن الوسائط. للحصول على معلومات حول أنواع الوسائط المدعومة في API السحابة، راجع أنواع الوسائط المدعومة.
Name | Description |
---|---|
| Required when The media object ID. Do not use this field when message |
| Required when The protocol and URL of the media to be sent. Use only with HTTP/HTTPS URLs. Do not use this field when message Cloud API users only:
|
| Optional. Media asset caption. Do not use with On-Premises API users:
|
| Optional. Describes the filename for the specific document. Use only with The extension of the filename will specify what format the document is displayed as in WhatsApp. |
| Optional. On-Premises API only. This path is optionally used with a |
الاسم | الوصف |
---|---|
| مطلوب. مساحة اسم القالب. بداية من الإصدار |
| مطلوب. اسم القالب. |
| مطلوب. يمكن تحديد اللغة التي قد يتم بها عرض القالب. ولا تعمل سياسة اللغة |
| اختياري. مصفوفة تحتوي على معلمات الرسالة. |
يتم تضمين الكائنات التالية داخل كائن template
:
الاسم | الوصف (انقر على السهم في العمود الأيمن للتعرف على الخيارات المدعومة.) |
---|---|
| مطلوب. يشير إلى نوع المعلمة في الزر. |
| مطلوب لأزرار حمولة البيانات التي يحددها المطوّر والتي سيتم إرجاعها عند النقر على الزر، بالإضافة إلى نص العرض الموجود على الزر. راجع الاستدعاء الوارد من النقر على زر الرد السريع على سبيل المثال. |
| مطلوب لأزرار عنوان URL. اللاحقة التي يوفرها المطوّر والتي يتم إلحاقها بعنوان URL للبادئة المحددة مسبقًا في القالب. |
الاسم | الوصف |
---|---|
| مطلوب. يمكن وصف النوع |
| اختياري. مصفوفة تحتوي على محتوى الرسالة. |
الاسم | الوصف |
---|---|
| مطلوب. النص الافتراضي في حالة فشل الترجمة. |
| مطلوب. رمز العملة كما هو محدد في |
| مطلوب. المبلغ مضروبًا في 1000. |
الاسم | الوصف |
---|---|
| مطلوب. النص الافتراضي. بالنسبة إلى API السحابة، نستخدم دائمًا القيمة الاحتياطية، ولا نحاول الترجمة باستخدام الحقول الاختيارية الأخرى. |
الاسم | الوصف |
---|---|
| مطلوب. يصف نوع المعلمة. علمًا بأن القيم المدعومة هي:
بالنسبة للقوالب المستندة إلى النص، فإن أنواع المعلمات الوحيدة المدعومة هي |
| مطلوب عند وجود نص الرسالة. يختلف عدد الأحرف المسموح به بناءً على نوع المكون المضمن التالي. بالنسبة لنوع المكون
بالنسبة لنوع المكون
|
| مطلوب عند وجود كائن |
| مطلوب عند وجود كائن |
| مطلوب عند وجود كائن |
| مطلوب عند وجود كائن |
| مطلوب عند وجود كائن |
الاسم | الوصف |
---|---|
| مطلوب للرسائل النصية. نص الرسالة النصية التي يمكن أن تحتوي على عناوين URL التي تبدأ بـ http:// أو https:// والتنسيق. راجع خيارات التنسيق المتاحة هنا. إذا قمت بتضمين عناوين URL في النص وتريد تضمين مربع معاينة في الرسائل النصية ( الحد الأقصى للطول: 4096 حرفًا |
| اختياري. API السحابة فقط. قم بالتعيين على إذا تم حذف بالنسبة لمستخدمي API داخل المواقع، استخدم |
الاسم | الوصف |
---|---|
| مطلوب. معرف رسالة واتساب (wamid) للرسالة التي يجب أن يظهر عليها التفاعل. لن يتم إرسال التفاعل إذا:
إذا كان المعرف تابعًا لرسالة تم حذفها، فلن يتم تسليم الرسالة. |
| مطلوب. الرمز التعبيري المطلوب عرضه في الرسالة
|
راجع الدلائل التالية للحصول على معلومات كاملة حول كيفية استخدام نقطة النهاية /messages
لإرسال الرسائل:
curl -X POST \
'https://graph.facebook.com/v21.0
/FROM_PHONE_NUMBER_ID/messages' \
-H 'Authorization: Bearer ACCESS_TOKEN' \
-H 'Content-Type: application/json' \
-d '
{
"messaging_product": "whatsapp",
"recipient_type": "individual",
"to": "PHONE_NUMBER",
"type": "text",
"text": { // the text object
"preview_url": false,
"body": "MESSAGE_CONTENT"
}
}'
curl -X POST \
'https://graph.facebook.com/v21.0
/FROM_PHONE_NUMBER_ID/messages' \
-H 'Authorization: Bearer ACCESS_TOKEN' \
-H 'Content-Type: application/json' \
-d '{
"messaging_product": "whatsapp",
"recipient_type": "individual",
"to": "PHONE_NUMBER",
"type": "reaction",
"reaction": {
"message_id": "wamid.HBgLM...",
"emoji": "\uD83D\uDE00"
}
}'
curl -X POST \
'https://graph.facebook.com/v21.0
/FROM-PHONE-NUMBER-ID/messages' \
-H 'Authorization: Bearer ACCESS_TOKEN' \
-H 'Content-Type: application/json' \
-d '{
"messaging_product": "whatsapp",
"recipient_type": "individual",
"to": "PHONE-NUMBER",
"type": "image",
"image": {
"id" : "MEDIA-OBJECT-ID"
}
}'
curl -X POST \
'https://graph.facebook.com/v21.0
/FROM_PHONE_NUMBER_ID/messages' \
-H 'Authorization: ACCESS_TOKEN' \
-H 'Content-Type: application/json' \
-d '{
"messaging_product": "whatsapp",
"to": "PHONE_NUMBER",
"type": "location",
"location": {
"longitude": LONG_NUMBER,
"latitude": LAT_NUMBER,
"name": LOCATION_NAME,
"address": LOCATION_ADDRESS
}
}'
curl -X POST \
'https://graph.facebook.com/v21.0
/FROM_PHONE_NUMBER_ID/messages' \
-H 'Authorization: ACCESS_TOKEN' \
-H 'Content-Type: application/json' \
-d '{
"messaging_product": "whatsapp",
"to": "PHONE_NUMBER",
"type": "contacts",
"contacts": [{
"addresses": [{
"street": "STREET",
"city": "CITY",
"state": "STATE",
"zip": "ZIP",
"country": "COUNTRY",
"country_code": "COUNTRY_CODE",
"type": "HOME"
},
{
"street": "STREET",
"city": "CITY",
"state": "STATE",
"zip": "ZIP",
"country": "COUNTRY",
"country_code": "COUNTRY_CODE",
"type": "WORK"
}],
"birthday": "YEAR_MONTH_DAY",
"emails": [{
"email": "EMAIL",
"type": "WORK"
},
{
"email": "EMAIL",
"type": "HOME"
}],
"name": {
"formatted_name": "NAME",
"first_name": "FIRST_NAME",
"last_name": "LAST_NAME",
"middle_name": "MIDDLE_NAME",
"suffix": "SUFFIX",
"prefix": "PREFIX"
},
"org": {
"company": "COMPANY",
"department": "DEPARTMENT",
"title": "TITLE"
},
"phones": [{
"phone": "PHONE_NUMBER",
"type": "HOME"
},
{
"phone": "PHONE_NUMBER",
"type": "WORK",
"wa_id": "PHONE_OR_WA_ID"
}],
"urls": [{
"url": "URL",
"type": "WORK"
},
{
"url": "URL",
"type": "HOME"
}]
}]
}'
curl -X POST \
'https://graph.facebook.com/v21.0
/FROM_PHONE_NUMBER/messages' \
-H 'Authorization: Bearer ACCESS_TOKEN' \
-H 'Content-Type: application/json' \
-d '{
"messaging_product": "whatsapp",
"recipient_type": "individual",
"to": "PHONE_NUMBER",
"type": "interactive",
"interactive": {
"type": "product",
"body": {
"text": "optional body text"
},
"footer": {
"text": "optional footer text"
},
"action": {
"catalog_id": "CATALOG_ID",
"product_retailer_id": "ID_TEST_ITEM_1"
}
}
}'
curl -X POST \
'https://graph.facebook.com/v21.0
/FROM_PHONE_NUMBER/messages' \
-H 'Authorization: Bearer ACCESS_TOKEN' \
-H 'Content-Type: application/json' \
-d '{
"messaging_product": "whatsapp",
"recipient_type": "individual",
"to": "PHONE_NUMBER",
"type": "interactive",
"interactive": {
"type": "product_list",
"header":{
"type": "text",
"text": "header-content"
},
"body": {
"text": "body-content"
},
"footer": {
"text": "footer-content"
},
"action": {
"catalog_id": "CATALOG_ID",
"sections": [
{
"title": "section-title",
"product_items": [
{ "product_retailer_id": "product-SKU-in-catalog" },
{ "product_retailer_id": "product-SKU-in-catalog" },
...
]
},
{
"title": "section-title",
"product_items": [
{ "product_retailer_id": "product-SKU-in-catalog" },
{ "product_retailer_id": "product-SKU-in-catalog" },
...
]
}
]
}
}
}
curl -X POST \
'https://graph.facebook.com/v21.0
/FROM_PHONE_NUMBER/messages' \
-H 'Authorization: Bearer ACCESS_TOKEN' \
-H 'Content-Type: application/json' \
-d '{
"messaging_product": "whatsapp",
"recipient_type": "individual",
"to": "PHONE_NUMBER",
"type": "interactive",
"interactive" : {
"type" : "catalog_message",
"body" : {
"text": "Thanks for your order! Tell us what address you’d like this order delivered to."
},
"action": {
"name": "catalog_message",
"parameters": {
"thumbnail_product_retailer_id": "<Product-retailer-id>"
}
}
}
}'
curl -X POST \
'https://graph.facebook.com/v21.0
/FROM_PHONE_NUMBER/messages' \
-H 'Authorization: Bearer ACCESS_TOKEN' \
-H 'Content-Type: application/json' \
-d '{
"messaging_product": "whatsapp",
"recipient_type": "individual",
"to": "PHONE_NUMBER",
"type": "interactive",
"interactive" : {
"type": "flow",
"header": {
"type": "text",
"text": "Flow message header"
},
"body": {
"text": "Flow message body"
},
"footer": {
"text": "Flow message footer"
},
"action": {
"name": "flow",
"parameters": {
"flow_message_version": "3",
"flow_token": "AQAAAAACS5FpgQ_cAAAAAD0QI3s",
"flow_id": "<FLOW_ID>",
"flow_cta": "Book!",
"flow_action": "navigate",
"flow_action_payload": {
"screen": "<SCREEN_ID>",
"data": {
"user_name": "name",
"user_age": 25
}
}
}
}
}
}'
curl -X POST \
'https://graph.facebook.com/v21.0
/FROM_PHONE_NUMBER_ID/messages' \
-H 'Authorization: Bearer ACCESS_TOKEN' \
-H 'Content-Type: application/json' \
-d '{
"messaging_product": "whatsapp",
"recipient_type": "individual",
"to": "PHONE_NUMBER",
"type": "interactive",
"interactive": {
"type": "list",
"header": {
"type": "text",
"text": "HEADER_TEXT"
},
"body": {
"text": "BODY_TEXT"
},
"footer": {
"text": "FOOTER_TEXT"
},
"action": {
"button": "BUTTON_TEXT",
"sections": [
{
"title": "SECTION_1_TITLE",
"rows": [
{
"id": "SECTION_1_ROW_1_ID",
"title": "SECTION_1_ROW_1_TITLE",
"description": "SECTION_1_ROW_1_DESCRIPTION"
},
{
"id": "SECTION_1_ROW_2_ID",
"title": "SECTION_1_ROW_2_TITLE",
"description": "SECTION_1_ROW_2_DESCRIPTION"
}
]
},
{
"title": "SECTION_2_TITLE",
"rows": [
{
"id": "SECTION_2_ROW_1_ID",
"title": "SECTION_2_ROW_1_TITLE",
"description": "SECTION_2_ROW_1_DESCRIPTION"
},
{
"id": "SECTION_2_ROW_2_ID",
"title": "SECTION_2_ROW_2_TITLE",
"description": "SECTION_2_ROW_2_DESCRIPTION"
}
]
}
]
}
}
}'
curl -X POST \
'https://graph.facebook.com/v21.0
/FROM_PHONE_NUMBER_ID/messages' \
-H 'Authorization: Bearer ACCESS_TOKEN' \
-H 'Content-Type: application/json' \
-d '{
"messaging_product": "whatsapp",
"recipient_type": "individual",
"to": "PHONE_NUMBER",
"type": "interactive",
"interactive": {
"type": "button",
"body": {
"text": "BUTTON_TEXT"
},
"action": {
"buttons": [
{
"type": "reply",
"reply": {
"id": "UNIQUE_BUTTON_ID_1",
"title": "BUTTON_TITLE_1"
}
},
{
"type": "reply",
"reply": {
"id": "UNIQUE_BUTTON_ID_2",
"title": "BUTTON_TITLE_2"
}
}
]
}
}
}'
curl -X POST \
'https://graph.facebook.com/v21.0
/FROM_PHONE_NUMBER_ID/messages' \
-H 'Authorization: Bearer ACCESS_TOKEN' \
-H 'Content-Type: application/json' \
-d '{
"messaging_product": "whatsapp",
"recipient_type": "individual",
"to": "PHONE_NUMBER",
"type": "template",
"template": {
"name": "TEMPLATE_NAME",
"language": {
"code": "LANGUAGE_AND_LOCALE_CODE"
},
"components": [
{
"type": "header",
"parameters": [
{
"type": "image",
"image": {
"link": "http(s)://URL"
}
}
]
},
{
"type": "body",
"parameters": [
{
"type": "text",
"text": "TEXT_STRING"
},
{
"type": "currency",
"currency": {
"fallback_value": "VALUE",
"code": "USD",
"amount_1000": NUMBER
}
},
{
"type": "date_time",
"date_time": {
"fallback_value": "MONTH DAY, YEAR"
}
}
]
},
{
"type": "button",
"sub_type": "quick_reply",
"index": "0",
"parameters": [
{
"type": "payload",
"payload": "PAYLOAD"
}
]
},
{
"type": "button",
"sub_type": "quick_reply",
"index": "1",
"parameters": [
{
"type": "payload",
"payload": "PAYLOAD"
}
]
}
]
}
}'
curl -X POST \
'https://graph.facebook.com/v21.0
/FROM_PHONE_NUMBER/messages' \
-H 'Authorization: Bearer ACCESS_TOKEN' \
-H 'Content-Type: application/json' \
-d '{
"messaging_product": "whatsapp",
"context": {
"message_id": "MESSAGE_ID"
},
"to": "PHONE_NUMBER",
"type": "text",
"text": {
"preview_url": false,
"body": "your-text-message-content"
}
}’
{ "messaging_product": "whatsapp", "contacts": [ { "input": "16505555555", "wa_id": "16505555555" } ], "messages": [ { "id": "wamid.HBgLMTY1MDUwNzY1MjAVAgARGBI5QTNDQTVCM0Q0Q0Q2RTY3RTcA" } ] }
Applies to businesses in Brazil, Colombia, and Singapore, starting September 12, 2023. Applies to all businesses starting October 12, 2023.
Messages will have one of the following statuses which will be returned in each of the messages
objects
"message_status":"accepted"
: means the message was sent to the intended recipient"message_status":"held_for_quality_assessment"
: means the message send was delayed until quality can be validated and it will either be sent or dropped at this point{ "messaging_product": "whatsapp", "contacts": [ { "input": "16505555555", "wa_id": "16505555555" } ], "messages": [ { "id": "wamid.HBgLMTY1MDUwNzY1MjAVAgARGBI5QTNDQTVCM0Q0Q0Q2RTY3RTcA", "message_status": "accepted", } ] }