API مختصات جغرافیایی کد پستی
طول و عرض جغرافیایی نقطهٔ متناظر با یک کد پستی دهرقمی را برمیگرداند تا به نقشه و محاسبهٔ فاصله وصل شود.
این سرویس چه میکند
یک سرویس پیک ورودی مشتری را فقط با کد پستی میگیرد و باید بداند نزدیکترین شعبه کدام است. نشانی متنی را نمیشود مستقیم روی نقشه گذاشت، اما دو عدد را میشود. این سرویس کد پستی دهرقمی میگیرد و در پاسخ، latitude و longitude را میدهد.
اگر هر دو عدد در پاسخ بود میتوانید فاصله را حساب کنید، نقطه را روی نقشه بگذارید یا داخل بودن در یک محدوده را بسنجید. پیش از رسم نقشه حتماً بررسی کنید که هر دو کلید حاضرند، چون پاسخ فقط مقدارهای موجود را برمیگرداند.
ترتیب دو عدد را اشتباه نگیرید
عرض جغرافیایی (latitude) اول میآید و طول (longitude) بعد. بعضی کتابخانههای نقشه ترتیب برعکس میخواهند و اگر مختصات را بیاعلام به آنها بدهید، نقطه به جای تهران در اقیانوس میافتد. نام کلیدها را بخوانید و ترتیب را از روی نام کلید بسازید، نه از روی ترتیب چاپ.
کد پستی یک نقطه نیست
کد پستی دهرقمی یک واحد توزیع را مشخص میکند: پنج رقم اول شهر و ناحیه، پنج رقم دوم محل توزیع. پس عددی که برمیگردد نمایندهٔ همان کد است، نه الزاماً در ورودی ساختمان. برای انتخاب نزدیکترین شعبه کافی است، برای مسیریابی آخرین متر کافی نیست. اندازهٔ خطا را روی چند نشانی شناختهشدهٔ خودتان بسنجید و آستانه را بعد از آن تعیین کنید.
آنچه این سرویس نمیکند
نشانی متنی نمیدهد؛ آن کار سرویس استعلام آدرس است. نشانی را هم به مختصات تبدیل نمیکند: ورودی فقط کد پستی است. و از ترافیک، فاصلهٔ جادهای یا زمان رسیدن چیزی نمیگوید.
با مختصات چه کنیم
مختصات یک کد پستی کم تغییر میکند، پس آن را کنار سفارش یا شعبه ذخیره کنید و برای هر کد فقط یک بار بپرسید. ورود دستهای کدها را هم تا سقف شصت فراخوان در دقیقه پخش کنید.
کجا به کار میآید
- تخصیص سفارش به نزدیکترین انبار در فروشگاه زنجیرهایسفارش با کد پستی مشتری ثبت میشود و مختصات آن با مختصات انبارها مقایسه میشود تا سفارش خودکار به نزدیکترین انبار برود.
- بررسی محدودهٔ سرویسدهی پیک موتوریپیش از قبول سفارش، فاصلهٔ نقطهٔ مشتری تا مرکز پخش سنجیده میشود و سفارش بیرون از شعاع، همان لحظه با پیام روشن رد میشود.
- نقشهٔ پراکندگی مشتریان برای انتخاب شعبهٔ تازهکدهای پستی مشتریان فعلی به نقطه تبدیل میشود تا تراکم سفارشها روی نقشه دیده و جای شعبهٔ بعدی سنجیده شود.
ورودی و خروجی
ورودی
postalCodestringکد پستیده رقم.قیمت و شرط پرداخت
قیمت هر فراخوان API مختصات جغرافیایی کد پستی ۷٬۷۰۰ تومان است.
| تعداد استعلام در ماه | قیمت هر استعلام |
|---|---|
| همهٔ فراخوانها | ۷٬۷۰۰ تومان |
آخرین تغییر قیمت:
مبلغ پیش از تماس با سرویس مرجع از موجودی پنل قفل میشود و اگر پاسخی نیاید، آزاد میشود. ورودی نامعتبر، در دسترس نبودن سرویس مرجع و عبور از سقف نرخ هزینهای ندارند. «رکوردی یافت نشد» یک پاسخ معتبر است و هزینه دارد.
کمترین مبلغ شارژ پنل: ۵۰۰٬۰۰۰ تومان
پرسشهای متداول
چطور کد پستی را به طول و عرض جغرافیایی تبدیل کنم؟
کد دهرقمی را به این سرویس بفرستید. پاسخ شامل latitude و longitude و خود کد پستی است. فقط کدی که در پایگاه باشد جواب میدهد و پیدا نشدن هم پاسخ معتبر است.
مختصات برگشتی لوکیشن دقیق ساختمان است؟
نه الزاماً. کد پستی یک واحد توزیع را مشخص میکند و مختصات نمایندهٔ همان کد است. برای انتخاب شعبه یا برآورد فاصله کافی است، ولی برای رساندن مرسوله به در ساختمان باید نشانی متنی هم داشته باشید.
برای نقشه، طول را اول بدهم یا عرض را؟
عرض جغرافیایی (latitude) اول و طول (longitude) بعد در بیشتر قراردادهاست، ولی بعضی کتابخانهها برعکس میخواهند. از نام کلیدهای پاسخ بخوانید و در مستندات کتابخانهٔ نقشه ببینید کدام ترتیب را میپذیرد.
با نام خیابان یا نشانی هم میشود مختصات گرفت؟
نه. این سرویس فقط کد پستی دهرقمی میگیرد و نشانی متنی را به مختصات تبدیل نمیکند. اگر نشانی را دارید و کد پستی ندارید، باید اول کد را از کانالهای پست بگیرید.
میشود با این مختصات فاصله دو مکان را حساب کرد؟
بله، فاصلهٔ خط مستقیم بین دو نقطه را میشود با فرمول فاصلهٔ کروی حساب کرد. فاصلهٔ جادهای، ترافیک و زمان رسیدن در پاسخ این سرویس نیست و باید از ابزار مسیریابی گرفته شود.
برای چند کد پستی باید چند فراخوان بزنم؟
هر کد پستی یک فراخوان است. برای فهرست بلند، فراخوانها را از شصت در دقیقه (سقف پیشفرض هر سرویس) بیشتر نکنید، وگرنه ۴۲۹ میگیرید که هزینه ندارد ولی باید با Retry-After دوباره بفرستید.
اگر برای کدی مختصات نباشد، هزینه دارد؟
بله. «پیدا نشد» پاسخ معتبری است که با HTTP ۲۰۰ و ok:false میآید و صورتحساب میشود. ورودی نامعتبر، یعنی طول غیر از ده رقم یا ده رقم تکراری، هزینه ندارد.
چقدر نتیجه را نگه دارم تا فراخوان تکراری نزنم؟
مختصات یک کد پستی کم تغییر میکند. ما هم پاسخ را مدتی در کش نگه میداریم و source.cached این را نشان میدهد. نسخهای مستقل کنار سفارش یا شعبه ذخیره کنید تا به کش ما وابسته نباشید.
