إرسال الموقع
إرسال موقع جغرافي ثابت إلى الدردشة.
تسجيل الدخول مطلوب
سجل الدخول لاستبدال المعرفات (Instance ID) ورمز الوصول (Access Token) بمعلومات حسابك الحقيقي لاختبار ال API مباشرة.
تسجيل الدخوللا توجد معاملات استعلام مطلوبة
هذه النهاية الطرفية لا تتوقع بيانات في الرابط.
توصيات
أضف تأخيرات عشوائية بين الرسائل لمحاكاة السلوك البشري.
تحقق من أرقام الهواتف قبل الإرسال لضمان التسليم.
تحديد المواقع بدقة: إتقان محرك الموقع الجغرافي
تعد مشاركة الموقع أداة قوية لسد الفجوة بين المحادثة الرقمية والعالم المادي. سواء كنت تساعد عميلًا في العثور على متجر واقعي، أو توجه سائق توصيل إلى نقطة تسليم دقيقة، أو تنظم تجمعًا ماديًا، فإن نقطة نهاية /v2/send/location توفر طريقة موثوقة لإرسال دبابيس خريطة تفاعلية مباشرة إلى دردشة واتساب.
🏗️ مسار الموقع الجغرافي: من البيانات إلى الدبوس
عندما تستدعي نقطة النهاية /send/location، يقوم محرك Wawp بترجمة البيانات الجغرافية الخام إلى فقاعة تفاعلية غنية على هاتف المستلم:
- التحقق من الإحداثيات: يقبل المحرك خطوط العرض (
latitude) وخطوط الطول (longitude) كسلاسل عشرية. ويتحقق من وقوع هذه الإحداثيات ضمن النطاقات الصالحة (-90 إلى 90 لخط العرض، و-180 إلى 180 لخط الطول). - حقن البيانات الوصفية: يتم حقن حقلي
title(العنوان) وmessage(الرسالة/العنوان المفصل) في البيانات الوصفية للرسالة. لا تظهر هذه الحقول على الفقاعة فحسب؛ بل تُستخدم غالبًا كـ "تسمية" عندما ينقر المستخدم على الدبوس ويفتحه في تطبيقات خارجية مثل خرائط جوجل أو Waze. - العرض التفاعلي: يضمن Wawp عرض الرسالة الناتجة مع صورة مصغرة لخريطة قابلة للنقر. يتم إنشاء هذه الصورة المصغرة بواسطة شبكة واتساب بناءً على الإحداثيات المقدمة، مما يمنح المستخدم "سياقًا" بصريًا فوريًا للمنطقة المحيطة.
🛡️ أفضل الممارسات الاستراتيجية للبيانات الجغرافية
1. الدقة العشرية (قاعدة "سقف المبنى")
في بيانات الموقع، الدقة هي كل شيء.
- إجراء المطور: استخدم 6 منازل عشرية على الأقل لإحداثياتك (مثل
38.893725). هذا المستوى من الدقة دقيق بما يصل إلى 0.1 متر تقريبًا - وهو الفرق بين سقوط الدبوس على سطح مبنى أو سقوطه في منتصف تقاطع مزدحم. - الأمان: تجنب تقريب الإحداثيات في خلفية تطبيقك، حيث أن التغييرات الطفيفة حتى في المنزلة العشرية الرابعة يمكن أن تزيح الموقع بعشرات الأمتار.
2. صياغة تسميات ذات معنى
حقلا title و message هما فرصتك لتوفير وضوح لهوية علامتك التجارية.
- العنوان (اسم المكان): استخدم اسم الوجهة (مثل "فندق جراند بلازا - المدخل الرئيسي").
- الرسالة (السياق/العنوان): استخدم هذا للعنوان المحدد أو التلميحات المفيدة (مثل "الطابق الأول، بجوار النافورة").
- تأثير تجربة المستخدم: تقلل التسميات عالية الجودة من قلق المستخدم وتجعل الرسالة المؤتمتة تبدو مدروسة واحترافية.
3. المواقع الثابتة مقابل الحية
- الدبابيس الثابتة: ترسل نقطة النهاية هذه دبوسًا ثابتًا. إنه يمثل "لقطة" محددة في المكان.
- الموقع الحي (Live Location): لاحظ أن Wawp يركز حاليًا على الدبابيس الثابتة لتدفقات الأعمال عالية التزامن. إذا كانت حالة الاستخدام الخاصة بك تتطلب نقطة متحركة في الوقت الفعلي (الموقع الحي)، نوصي بدمج الدبابيس الثابتة مع تحديثات نصية منتظمة أو روابط تتبع خارجية عبر
/v2/send/link-preview.
🧩 حالات استخدام متقدمة
دعم توصيل الميل الأخير
في تطبيق التوصيل، بمجرد أن ينقر السائق على "وصلت"، يمكن لنظامك إرسال دبوس الموقع الدقيق تلقائيًا إلى العميل. يتيح ذلك للعميل فتح الدبوس في تطبيق التنقّل المفضل لديه للتحقق من موقع السائق، مما يقلل بشكل كبير من مكالمات الدعم.
العروض الشخصية المعتمدة على الموقع (Geo-Fencing)
إذا اكتشف نظامك أن مستخدمًا بالقرب من فرع تجزئة معين، يمكنك إرسال رسالة "ترحيب" مؤتمتة تتضمن دبوس الموقع لهذا الفرع بالضبط. باستخدام معلمة reply_to، يمكنك ربط هذا الموقع برسالة كوبون خصم محددة، مما يخلق مسار مبيعات فعالاً من "الإنترنت إلى الواقع".
🛠️ المزالق الشائعة والحلول
- تبديل الإحداثيات: يعد الخلط بين خطوط العرض وخطوط الطول خطأً فنيًا شائعًا يؤدي إلى سقوط الدبابيس في وسط المحيط. تحقق دائمًا من أزواج إحداثياتك.
- التسميات الفارغة: يؤدي إرسال موقع بعنوان
titleفارغ غالبًا إلى فقاعة "موقع" عامة. للحفاظ على سلطة علامتك التجارية، قدم دائمًا عنوانًا وصفيًا. - سلاسل الإحداثيات: تأكد من إرسال الإحداثيات كسلاسل (Strings) عبر API لمنع فقدان دقة الفاصلة العائمة الذي يحدث أحيانًا مع أنواع أرقام JSON عند عدد كبير من المنازل العشرية.
ملخص الإمكانيات:
- إرسال دبابيس خريطة ثابتة تفاعلية وقابلة للنقر مع عناوين وأسماء مخصصة.
- دعم عالي الدقة للإحداثيات العشرية (خط العرض/خط الطول).
- تكامل سلس مع خرائط جوجل، وخرائط آبل، و Waze للمستخدم النهائي.
- دعم لتداخل الخيوط المعقدة عبر معلمة
reply_to. - تقارير نجاح موثوقة مع توليد معرف
message_idفريد لتتبع التسليم الكامل.
البارامترات
قم بتهيئة المعاملات المطلوبة للتفاعل مع نقطة النهاية هذه. جميع وسائط الاستعلام والبيانات مدرجة أدناه مع تفاصيلها.
محتوى الطلب
يرسل كـ JSONstring | المعرف الفريد لجلسة واتساب مثال: | ||
string | رمز وصول API مثال: | ||
string | رقم واتساب للمستلم مثال: | ||
string | خط العرض الجغرافي (مثل 38.8937255) مثال: | ||
string | خط الطول الجغرافي (مثل -77.0969763) مثال: | ||
string | اسم المكان (مثل 'مكتبنا الرئيسي') مثال: | ||
string | العنوان أو نص وصفي إضافي مثال: | ||
string | — | معرف الرسالة التي تقوم بالرد عليها مثال: |
أمثلة الكود
استخدم أمثلة الكود الجاهزة لدمج واجهة برمجة التطبيقات (API) في مشروعك بسرعة وكفاءة. اختر لغة البرمجة والمكتبة التي تفضلها.
الردود المتوقعة
استكشف كافة الردود والنتائج المحتملة من الخادم. قمنا بتوثيق كل كود حالة (Status Code) مع أمثلة للبيانات لتسهيل معالجة الأخطاء والنجاح.
Example
{
"_data": {
"id": {
"fromMe": true,
"remote": "000000000000@c.us",
"id": "MSG_ID_123456",
"_serialized": "true_000000000000@c.us_MSG_ID_123456"
},
"viewed": false,
"body": "BASE64_IMAGE_DATA",
"type": "image",
"t": 1759108866,
"from": {
"server": "c.us",
"user": "111111111111",
"_serialized": "111111111111@c.us"
},
"to": {
"server": "c.us",
"user": "000000000000",
"_serialized": "000000000000@c.us"
},
"ack": 0,
"isNewMsg": true,
"star": false,
"kicNotified": false,
"caption": "Here's your requested image.",
"deprecatedMms3Url": "https://example.com/media-url",
"directPath": "/media/direct/path/example",
"mimetype": "image/jpeg",
"filehash": "FILE_HASH_PLACEHOLDER",
"encFilehash": "ENC_FILE_HASH_PLACEHOLDER",
"size": 192487,
"mediaKey": "MEDIA_KEY_PLACEHOLDER",
"mediaKeyTimestamp": 1759108865,
"streamable": false,
"mediaHandle": null,
"isFromTemplate": false,
"pollInvalidated": false,
"isSentCagPollCreation": false,
"latestEditMsgKey": null,
"latestEditSenderTimestampMs": null,
"mentionedJidList": {
},
"groupMentions": {
},
"isEventCanceled": false,
"eventInvalidated": false,
"isVcardOverMmsDocument": false,
"isForwarded": false,
"isQuestion": false,
"questionReplyQuotedMessage": null,
"questionResponsesCount": 0,
"readQuestionResponsesCount": 0,
"labels": {
},
"hasReaction": false,
"disappearingModeInitiator": "chat",
"disappearingModeTrigger": "chat_settings",
"productHeaderImageRejected": false,
"lastPlaybackProgress": 0,
"isDynamicReplyButtonsMsg": false,
"isCarouselCard": false,
"parentMsgId": null,
"callSilenceReason": null,
"isVideoCall": false,
"callDuration": null,
"callCreator": null,
"callParticipants": null,
"isCallLink": null,
"callLinkToken": null,
"isMdHistoryMsg": false,
"stickerSentTs": 0,
"lastUpdateFromServerTs": 0,
"invokedBotWid": null,
"bizBotType": null,
"botResponseTargetId": null,
"botPluginType": null,
"botPluginReferenceIndex": null,
"botPluginSearchProvider": null,
"botPluginSearchUrl": null,
"botPluginSearchQuery": null,
"botPluginMaybeParent": false,
"botReelPluginThumbnailCdnUrl": null,
"botMessageDisclaimerText": null,
"botMsgBodyType": null,
"requiresDirectConnection": false,
"bizContentPlaceholderType": null,
"hostedBizEncStateMismatch": false,
"senderOrRecipientAccountTypeHosted": false,
"placeholderCreatedWhenAccountIsHosted": false,
"galaxyFlowDisabled": false,
"links": {
}
},
"mediaKey": "MEDIA_KEY_PLACEHOLDER",
"id": {
"fromMe": true,
"remote": "000000000000@c.us",
"id": "MSG_ID_123456",
"_serialized": "true_000000000000@c.us_MSG_ID_123456"
},
"ack": 0,
"hasMedia": true,
"body": "Here's your requested image.",
"type": "image",
"timestamp": 1759108866,
"from": "111111111111@c.us",
"to": "000000000000@c.us",
"deviceType": "android",
"isForwarded": false,
"forwardingScore": 0,
"isStatus": false,
"isStarred": false,
"fromMe": true,
"hasQuotedMsg": false,
"hasReaction": false,
"vCards": {
},
"mentionedIds": {
},
"groupMentions": {
},
"isGif": false,
"links": {
}
}Command Palette
Search for a command to run...