تُتيح لك واجهة برمجة التطبيقات العامة الاستعلام عن بعض المعلومات من تكامل WhatsApp Cloud الخاص بك، أو تنفيذ إجراءات معينة دون الحاجة لاستخدام واجهة المنصة.
يرجى استخدام عنوان URL التالي لنقطة نهاية API العامة:https://api.whatsapp-cloud.woztell.sanuker.com/v1.2/api/
على سبيل المثال، نقطة النهاية لـ PUT /whatsapp-message-template:https://api.whatsapp-cloud.woztell.sanuker.com/v1.2/api/whatsapp-message-template
يمكن استخدام رمز الوصول من قناة WhatsApp Cloud مع واجهات API العامة باستثناء GET /conversation-analytics
وواجهات التشفير وواجهات Flow.
curl --location --request GET 'https://api.whatsapp-cloud.woztell.sanuker.com/v1.1/api/whatsapp-message-templates?accessToken=${ACCESS_TOKEN}&wabaId=${WABA_ID}&first=10'
يمكن استخدام طريقة المصادقة هذه فقط مع GET /conversation-analytics
وGET /whatsapp-displayname-status
وواجهات تشفير الأعمال وواجهات Flow.
لإجراء المصادقة مع واجهة API العامة، يجب استخدام Payload وSignedContext المطلوبين من قبل التكامل.
{"app":"appId","appIntegration":"appIntegrationId","channel":"channelId"}
(signature).{{base64(JSON.stringify(payload))}}
channel
باستخدام Open API.query {
apiViewer{
channel(channelId:"696327315430a1f98231dfde"){
appId
environment(envId:"7lQNjrXbDO"){
info
integration{
integrationId
}
appIntegrationSignature
}
}
}
}
أنشئ Payload بالشكل التالي:
{"app":"appId","appIntegration":"appIntegrationId","channel":"channelId"}
شفّر Payload بصيغة Base64
ادمج Payload المشفر مع Signature لإنشاء SignedContext بالشكل التالي:
(signature).{{base64(JSON.stringify(payload))}}
X-Woztell-Payload
و X-Woztell-SignedContext
.تُستخدم هذه الواجهة للحصول على معلومات WABA مثل اسم WABA، رقم الهاتف، المجال، ومعرّف WABA للقناة.
الاسم | النوع | الوصف | إجباري |
---|---|---|---|
accessToken | string | رمز الوصول الذي تم توليده من قناة WhatsApp Cloud | نعم |
channelId | string | معرّف القناة | إما هذا أو wabaID |
wabaId | string | معرّف WABA | إما هذا أو channelId |
أو
تُستخدم هذه الواجهة لجلب ملف تعريف النشاط التجاري لرقم WhatsApp.
الاسم | النوع | الوصف | إجباري |
---|---|---|---|
accessToken | string | رمز الوصول الذي تم توليده من قناة WhatsApp Cloud | نعم |
phoneNumberId | string | معرف رقم الهاتف | نعم |
تُستخدم هذه الواجهة لتحديث ملف تعريف النشاط التجاري لرقم WhatsApp.
الاسم | النوع | الوصف | إجباري |
---|---|---|---|
accessToken | string | رمز الوصول المُولد من قناة WhatsApp Cloud | نعم |
phoneNumberId | string | معرّف رقم الهاتف | نعم |
profile | object | المحتوى الذي سيتم تحديثه في ملف النشاط التجاري | نعم |
الاسم | النوع | الوصف | إجباري |
---|---|---|---|
messaging_product | string | يُقبل فقط whatsapp |
نعم |
about | string | نص "حول" | لا |
address | string | عنوان النشاط التجاري | لا |
description | string | نص "الوصف" | لا |
string | البريد الإلكتروني للنشاط التجاري | لا | |
vertical | string | قطاع النشاط التجاري، راجع القائمة هنا للاطلاع على القيم المقبولة | لا |
website | array | رابط/روابط مواقع الويب ويجب أن تبدأ بـ http:// أو https:// (بحد أقصى موقعين) |
لا |
profile_picture_url | string | رابط صورة الملف الشخصي | لا |
تُستخدم هذه الواجهة لتحميل ملف وسائط إلى خادم WhatsApp من أجل الحصول على معرف وسائط (Media ID).
سيتم الاحتفاظ بملف الوسائط الذي تم تحميله على خوادم WhatsApp Cloud لمدة 30 يومًا. بعد انتهاء الصلاحية، يجب على المستخدمين إعادة التحميل للحصول على معرف وسائط جديد.
الاسم | النوع | الوصف | إجباري |
---|---|---|---|
phoneNumberId | string | معرّف رقم الهاتف | نعم |
accessToken | string | رمز الوصول المُولد من WhatsApp Cloud | نعم |
type | string |
image , audio , video , file
|
نعم |
url | string | رابط ملف الوسائط | نعم |
{
"phoneNumberId": "123164329653069",
"accessToken": "ACCESS_TOKEN",
"type": "image",
"url": "MEDIA_URL",
}
{
"ok": 1,
"mediaId": "5770270532993662",
"fileType": "image"
}
تُستخدم هذه الواجهة لجلب تحليلات المحادثات ضمن نطاق زمني محدد.
يجب تضمين Payload والسياق الموقّع في ترويسة الطلب.
الاسم | النوع | الوصف | إجباري |
---|---|---|---|
from | UNIX Timestamp | تاريخ البدء لنطاق التحليل | نعم |
to | UNIX Timestamp | تاريخ الانتهاء لنطاق التحليل | نعم |
granularity | string |
درجة التفصيل المراد بها عرض البيانات؛ HALF_HOUR ، DAILY أو MONTHLY
|
نعم |
numbers | array | قائمة أرقام الهواتف المطلوبة لتحليلها | لا |
metric_types | string | أنواع المقاييس؛ COST وCONVERSATION |
لا |
conversation_types | string | أنواع المحادثات؛ FREE_ENTRY_POINT ، FREE_TIER ، REGULAR ، UNKNOWN |
لا |
conversation_directions | string | اتجاه بدء المحادثة؛ business_initiated وuser_initiated |
لا |
dimensions | string | طرق تقسيم البيانات؛ phone ، country ، conversation_type ، conversation_reaction |
لا |
يمكن أن تُرجع هذه المكالمة عبر واجهة API قائمة الكتالوجات المرتبطة بـ WABA محددة.
يجب تضمين الحمولة والسياق الموقّع في رأس الطلب.
يمكن أن تُرجع هذه المكالمة عبر واجهة API قائمة المنتجات ضمن كتالوج مرتبط بـ WABA محددة.
يجب تضمين الحمولة والسياق الموقّع في رأس الطلب.
الاسم | النوع | الوصف | إجباري |
---|---|---|---|
catalogId | string | معرّف الكتالوج | نعم |
تتيح هذه الواجهة البرمجية عرض قوالب رسائل WhatsApp الخاصة بـ WABA محددة باستخدام الترقيم الصفحي والفلاتر الاختيارية.
الاسم | النوع | الوصف | إجباري |
---|---|---|---|
wabaId | string | معرّف WABA المستهدف | true |
first | integer | عدد قوالب الرسائل؛ الحد الأقصى 100 | true |
after | string | مؤشر للصفحة التالية في الترقيم الصفحي؛ يجب تحديد إما "after" أو "before" | false |
before | string | مؤشر للصفحة السابقة في الترقيم الصفحي؛ يجب تحديد "after" أو "before" | false |
status | string | مصفوفة الحالات لتصفية النتائج؛ القيم الافتراضية: ["APPROVED"], ["PENDING"], ["REJECTED"], ["PENDING_DELETION"], ["DELETED"] | false |
category | string | فئة قالب الرسالة: ["TRANSACTIONAL"], ["MARKETING"], أو ["OTP"] | false |
quality_score | String | تقييم جودة القالب: GREEN, YELLOW أو RED | false |
language | array | لغة القالب؛ يجب أن تكون في مصفوفة باستخدام رموز اللغات المدعومة مثل en_US، es. | false |
name | string | البحث بالاسم لقالب الرسالة | false |
content | Content | البحث بالمحتوى لقالب الرسالة | false |
name or content | string | البحث بالاسم أو المحتوى لقوالب الرسائل | false |
يمكن لهذا الطلب عبر API إنشاء قالب رسالة جديد كليًا على WhatsApp.
يسمح لكل حساب WhatsApp Business بإنشاء 100 قالب رسالة في الساعة.
الاسم | النوع | الوصف | إجباري |
---|---|---|---|
wabaId | string | معرّف WABA | true |
accessToken | string | رمز الوصول المولد من قناة WhatsApp Cloud | true |
name | string | اسم قالب الرسالة | true |
language | string | لغة قالب الرسالة | true |
category | string | فئة قالب الرسالة: TRANSACTIONAL ، MARKETING أو OTP |
true |
components | array | محتوى قالب الرسالة. يرجى الرجوع إلى هذا الرابط لهيكلية المكون. | true |
من خلال إدراج رابط الصورة في
"example":{"header_handle":["IMAGE_URL"]}
، ستقوم هذه الواجهة البرمجية تلقائيًا بتحميل المثال أثناء إنشاء قالب الرسالة.
طلب نموذجي (رأس بصري - صورة)
طلب نموذجي (المعلمات، التذييل، وأزرار الإجراءات)
طلب نموذجي (المعلمات وأزرار الرد السريع)
يمكن لهذا الطلب عبر API تعديل قالب رسالة موجود مسبقًا.
يمكن تعديل قالب الرسالة مرة واحدة فقط خلال 24 ساعة، وحتى 10 مرات خلال 30 يومًا.
الاسم | النوع | الوصف | إجباري |
---|---|---|---|
wabaId | string | معرف WABA | صحيح |
accessToken | string | رمز الوصول الذي تم إنشاؤه من قناة WhatsApp Cloud | صحيح |
messageTemplateName | string | اسم قالب الرسالة | صحيح |
messageTemplateLanguage | string | لغة قالب الرسالة | صحيح |
messageTemplateId | string | المعرّف الفريد لقالب الرسالة | صحيح |
components | array | المحتوى الذي سيتم تحديثه في قالب الرسالة | صحيح |
لكل إصدار لغوي من قالب الرسالة معرّفه الخاص. لتعديل قالب رسالة باستخدام PATCH /whatsapp-message-templates
، ستحتاج إلى تحديد إصدار اللغة من القالب.
عادةً ما تُرجع GET /whatsapp-message-templates
فقط معرّف اللغة الأحدث. لذلك، يجب أولاً الحصول على معرّف لغة معينة عن طريق تطبيق مرشح اللغة في GET /whatsapp-message-templates
.
يمكن أن يؤدي هذا الطلب إلى حذف قالب رسالة موجود.
الاسم | النوع | الوصف | إجباري |
---|---|---|---|
wabaId | string | معرف WABA | صحيح |
accessToken | string | رمز الوصول الذي تم إنشاؤه من قناة WhatsApp Cloud | صحيح |
name | string | اسم قالب الرسالة | صحيح |
تُستخدم هذه الواجهة لاسترجاع قائمة التدفقات.
يجب تضمين الحمولة & السياق الموقّع في الترويسة.
الاسم | النوع | الوصف | إجباري |
---|---|---|---|
limit | عدد صحيح | عدد التدفقات المطلوب استرجاعها | صحيح |
after | سلسلة نصية | للحصول على المجموعة التالية من المحادثات، يمكن الحصول عليها من paging.cursors في الاستجابة | لا |
before | سلسلة نصية | للحصول على المجموعة التالية من المحادثات، يمكن الحصول عليها من paging.cursors في الاستجابة | لا |
تُستخدم هذه الواجهة لاسترجاع حمولة شاشة التدفق لتدفق معين.
يجب تضمين الحمولة & السياق الموقّع في الترويسة.
الاسم | النوع | الوصف | إجباري |
---|---|---|---|
flowId | string | المعرّف الفريد لتدفق معين. | صحيح |
تُستخدم هذه الواجهة لاسترجاع رابط معاينة لتدفق معين.
يجب تضمين الحمولة & السياق الموقّع في الترويسة.
الاسم | النوع | الوصف | إجباري |
---|---|---|---|
flowId | string | المعرّف الفريد لتدفق معين. | صحيح |
تُستخدم هذه الواجهة لاسترجاع تفاصيل تدفق معين.
يجب تضمين الحمولة & السياق الموقّع في الترويسة.
الاسم | النوع | الوصف | إجباري |
---|---|---|---|
flowId | string | المعرّف الفريد لتدفق معين. | صحيح |
تُستخدم هذه الواجهة لإنشاء تدفق جديد.
يجب تضمين الحمولة & السياق الموقّع في الترويسة.
الاسم | النوع | الوصف | إجباري |
---|---|---|---|
name | string | اسم التدفق الجديد. | صحيح |
categories | array | قائمة بفئات التدفق. يمكن إدخال أكثر من قيمة، ولكن يجب إدخال واحدة على الأقل: SIGN_UP ، SIGN_IN ، APPOINTMENT_BOOKING ، LEAD_GENERATION ، CONTACT_US ، CUSTOMER_SUPPORT ، SURVEY ، OTHER |
صحيح |
clone_flow_id | string | معرف التدفق المراد نسخه | غير مطلوب |
endpoint_url | string | رابط نقطة النهاية للتدفق. لا تُدخل هذا الحقل إذا كنت تنسخ تدفقًا بإصدار JSON أقل من 3.0. | غير مطلوب |
تُستخدم هذه الواجهة لتحديث بيانات وصفية لتدفق معين.
يجب تضمين الحمولة & السياق الموقّع في الترويسة.
الاسم | النوع | الوصف | إجباري |
---|---|---|---|
flowId | string | معرّف التدفق الجاري تحديثه | صحيح |
name | string | الاسم الجديد للتدفق | غير مطلوب |
categories | array | فئات جديدة للتدفق | غير مطلوب |
endpoint_url | string | رابط نقطة النهاية لتدفق واتساب. لا تدخل هذا الحقل إذا كنت تقوم بتحديث تدفق بإصدار JSON أقل من 3.0 | غير مطلوب |
تُستخدم هذه الواجهة لتحديث JSON الخاص بتدفق معين.
يجب تضمين الحمولة & السياق الموقّع في الترويسة.
الاسم | النوع | الوصف | إجباري |
---|---|---|---|
name | string | اسم التدفق | صحيح |
version | string | إصدار JSON الخاص بالتدفق | صحيح |
screens | JSON | شاشات التدفق التي يمكن إدخالها في مُنشئ التدفق في WhatsApp Manager | صحيح |
{
"flowId": "910367050421850",
"data": {
"version": "3.1",
"screens": [
{
"id": "PREFERENCES",
"title": "Update Preferences",
"data": {},
"terminal": true,
"layout": {
"type": "SingleColumnLayout",
"children": [
{
"type": "Form",
"name": "form",
"children": [
{
"type": "CheckboxGroup",
"label": "Communication types",
"required": true,
"name": "communicationTypes",
"data-source": [
{
"id": "0",
"title": "Special offers and promotions"
},
{
"id": "1",
"title": "Changes to my subscription"
},
{
"id": "2",
"title": "News and events"
},
{
"id": "3",
"title": "New products"
}
]
},
{
"type": "CheckboxGroup",
"label": "Contact Preferences",
"required": false,
"name": "contactPrefs",
"data-source": [
{
"id": "0",
"title": "Whatsapp"
},
{
"id": "1",
"title": "Email"
},
{
"id": "2",
"title": "SMS"
}
]
},
{
"type": "Footer",
"label": "Done",
"on-click-action": {
"name": "complete",
"payload": {
"communicationTypes": "${form.communicationTypes}",
"contactPrefs": "${form.contactPrefs}"
}
}
}
]
}
]
}
}
]
}
}
{
"ok": 1,
"success": true,
"validation_errors": []
}
واجهة برمجة التطبيقات هذه مخصصة لحذف تدفق.
يجب تضمين الحمولة وسياق التوقيع في رأس الطلب.
الاسم | النوع | الوصف | مطلوب |
---|---|---|---|
flowId | string | معرف التدفق الذي سيتم حذفه | نعم |
https://api.whatsapp-cloud.woztell.sanuker.com/v1.2/api/flow
{
"flowId": "913687770028833"
}
{
"ok": 1,
"success": true
}
واجهة برمجة التطبيقات هذه مخصصة لنشر تدفق.
يجب تضمين الحمولة وسياق التوقيع في رأس الطلب.
الاسم | النوع | الوصف | مطلوب |
---|---|---|---|
flowId | string | معرف التدفق الذي سيتم نشره | نعم |
https://api.whatsapp-cloud.woztell.sanuker.com/v1.2/api/publish-flow
{
"flowId": "913687770028833"
}
{
"ok": 1,
"success": true
}
واجهة برمجة التطبيقات هذه مخصصة لإيقاف تدفق عن العمل.
يجب تضمين الحمولة وسياق التوقيع في رأس الطلب.
الاسم | النوع | الوصف | مطلوب |
---|---|---|---|
flowId | string | معرف التدفق الذي سيتم إيقافه عن العمل | نعم |
https://api.whatsapp-cloud.woztell.sanuker.com/v1.2/api/deprecate-flow
{
"flowId": "913687770028833"
}
{
"ok": 1,
"success": true
}
واجهة برمجة التطبيقات هذه مخصصة لتعيين المفتاح العام للأعمال.
يجب تضمين الحمولة وسياق التوقيع في رأس الطلب.
الاسم | النوع | الوصف | مطلوب |
---|---|---|---|
publicKey | string | مفتاح RSA عام للأعمال بطول 2048 بت تم إنشاؤه. الرجاء الرجوع إلى هنا لمعرفة كيفية إنشاء المفتاح العام. | نعم |
https://api.whatsapp-cloud.woztell.sanuker.com/v1.2/whatsapp-business-encryption
{
"publicKey": "-----BEGIN PUBLIC KEY-----\nABCDIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAls1409DedWXmHnt0Pb6s\nIdGkL6pFXxd5vPxrk/CChQssCGLK7jEPQwzhAZ/La7Cg/IvxjxvgC8DD3v8ZniU7\nHu5xPftKm3rEvNRwstRHaoPF+CNxHzHMy2DkgdVxvnBI6qtEjn+yZXdEOHhGHejH\nEf0EfFSMoyCaXea4E3LqvOE8iJ42uNtC7D4TmyeE+dTKudclswNA3QDA0zLH1M+Y\n9Oxv06FgD9S8gmvSwJgn3hfwLc/j5Dj5Qr6NAd9dRMQGLGeFEbg/JJXAVaAAxFlb\nvITHRG1ynRZDcrAri377Z+HS8G43o3TmrPyD0zRXQFbHCu+kOH5DBs3yFRcFjA7L\nwQIDAQAB\n-----END PUBLIC KEY-----"
}
{
"ok": 1
}
واجهة برمجة التطبيقات هذه مخصصة لاسترجاع المفتاح العام للأعمال.
يجب تضمين الحمولة وسياق التوقيع في رأس الطلب.
curl --location 'https://api.whatsapp-cloud.woztell.sanuker.com/v1.2-dev/whatsapp-business-encryption'
{
"ok": 1,
"data": [
{
"business_public_key": "-----BEGIN PUBLIC KEY-----\nABCDIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAls1409DedWXmHnt0Pb6s\nIdGkL6pFXxd5vPxrk/CChQssCGLK7jEPQwzhAZ/La7Cg/IvxjxvgC8DD3v8ZniU7\nHu5xPftKm3rEvNRwstRHaoPF+CNxHzHMy2DkgdVxvnBI6qtEjn+yZXdEOHhGHejH\nEf0EfFSMoyCaXea4E3LqvOE8iJ42uNtC7D4TmyeE+dTKudclswNA3QDA0zLH1M+Y\n9Oxv06FgD9S8gmvSwJgn3hfwLc/j5Dj5Qr6NAd9dRMQGLGeFEbg/JJXAVaAAxFlb\nvITHRG1ynRZDcrAri377Z+HS8G43o3TmrPyD0zRXQFbHCu+kOH5DBs3yFRcFjA7L\nwQIDAQAB\n-----END PUBLIC KEY-----",
"business_public_key_signature_status": "VALID"
}
]
}