راقب استخدام مفتاحك قبل أن تبلغ الحد
متابعة ترويسات الحصة أولًا بأول تخبرك متى يقترب الحد، قبل وقت طويل من رفض أي طلب فعليًا.
تحتاج خدمة التوصيل التي لا تغطي إلا منطقة معينة إلى طريقة لرفض العناوين الواقعة خارج تلك المنطقة قبل تقديم الطلب، لا بعد أن يكتشف السائق ذلك أثناء الإرسال.
عندما يرسل العميل عنوان التوصيل الخاص به، رمّزه جغرافيًا قبل قبول الطلب.
GET /v1/forward?q=10 Downing Street, London&limit=1{
"status": "ok",
"results": [
{"formatted": "10 Downing Street, London, UK", "lat": 51.5033, "lon": -0.1276, "type": "address", "precision": "house", "confidence": 0.96, "place_id": "op678", "components": {}}
]
}بعد الحصول على إحداثيات العميل وإحداثيات مركز التوصيل الثابت لديك، احسب المسافة المستقيمة بينهما باستخدام صيغة haversine القياسية في الكود الخاص بك، وقارنها بنصف قطر التوصيل لديك.
distance_km = haversine(hub_lat, hub_lon, 51.5033, -0.1276)
if distance_km > max_radius_km:
reject_order()درجة الثقة المنخفضة في نتيجة الترميز الجغرافي تعني أن العنوان نفسه كان غامضًا، لا بالضرورة أنه يقع خارج نصف القطر لديك. تعامل مع المطابقة منخفضة الثقة بشكل منفصل عن الرفض الواضح لوقوع العنوان خارج النطاق، ربما بأن تطلب من العميل تأكيد عنوانه أو تدقيقه بدلًا من رفض الطلب مباشرة.
يجب على النشاط التجاري الذي يدير أكثر من مركز توصيل أن يحسب المسافة إلى كل مركز، لا إلى مركز واحد فقط، وأن يقبل الطلب إذا كان نصف قطر أي مركز يغطي العنوان. وإسناد الطلب إلى المركز الأقرب يهيئ جانب التنفيذ بشكل صحيح من الحساب نفسه، لأنك تعرف هوية المركز الفائز بمجرد الترتيب حسب المسافة.
nearest_hub = min(hubs, key=lambda h: haversine(h.lat, h.lon, cust_lat, cust_lon))
if nearest_hub.distance_km > nearest_hub.max_radius_km:
reject_order()لا ترفض الطلب في اللحظة التي تتجاوز فيها distance_km قيمة max_radius_km بمقدار ضئيل، مثل بضع عشرات من الأمتار، دون إعطاء العميل أي تفسير أو بديل. فالعنوان الواقع عمليًا على خط الحدود نتيجة طبيعية لرسم نصف قطر على الخريطة، والرفض القاطع دون سياق يبدو اعتباطيًا لعميل يسكن على بعد شارعين خارج خط لا يستطيع رؤيته. وعرض المسافة المحسوبة ونصف القطر المغطى، بدلًا من رفض مجرد، يشرح السبب على الأقل.
نصف القطر بخط مستقيم تقريب بسيط، وسيشمل أحيانًا نقطة بعيدة فعليًا من حيث الطريق، أو يستبعد نقطة قريبة من حيث الطريق لكنها بعيدة بخط مستقيم، مثل نقطة على الضفة الأخرى من نهر لا يوجد جسر قريب عليه. وفي معظم عمليات التحقق من مناطق التوصيل يكون هذا التقريب كافيًا، وتحسينه أكثر يتطلب بيانات توجيه تتجاوز ما يوفره استعلام الترميز الجغرافي.
كل تحقق من عنوان هو طلب ترميز جغرافي واحد، أو طلب واحد لكل مركز مرشح تجري المقارنة معه إذا كنت تتحقق من العنوان مقابل قائمة مراكز عبر استدعاءات منفصلة بدلًا من إعادة استخدام الإحداثيات نفسها محليًا، لأن العنوان وحده هو ما يحتاج إلى ترميز جغرافي، لا كل مركز. ونموذج التوصيل الذي يتحقق من كل طلب مُرسل يبقى ضمن 2,500 طلب مجاني يوميًا المضمنة مع كل مفتاح بفارق كبير بالنسبة إلى نشاط تجاري محلي نموذجي، ولا ينتقل إلى الرصيد مسبق الدفع إلا عندما ينمو حجم الطلبات بشكل كبير.
رفض الطلب الواقع خارج المنطقة عند الإرسال، بدلًا من رفضه عند التوزيع، يوفر على الطرفين محادثة لا طائل منها لاحقًا. التفاصيل الكاملة للمعاملات موجودة في توثيق الترميز الجغرافي الأمامي، وفئات الأسعار الحالية في صفحة الأسعار.