سلام، یادمه چند سال پیش سر یک پروژهی فروشگاهی که هنوز لانچ نشده بود میخواستم هزینه پست را به شکل دقیق حساب کنم و حسابی به مشکل برخورد کرده بودم. الحمدالله که هیچ API خاصی هم این شرکت محترم در اختیار من قرار نمیداد و هر چقدر هم باهاشون صحبت میکردم میگفتن بیا سایت و فروشگاهت رو اینجا ثبت کن تا نمیدونم بهت پنل بدیم و از این جور حرفها، هر چی هم گشتم متاسفانه کسی به این موضوع نپرداخته بود و صرفا یک افزونه برای وردپرس(ووکامرس) بود که اونم دقیق حساب نمیکرد.
خلاصه که گفتم خودم بشینم درست کنم انگار راحتتر هست، الگوریتم آن را تا حدودی از سایت منبع پست فهمیدم و با نرخ همان موقع که یک جدول شامل قیمتها با هزینه مالیات بود را حساب کردم. جای سخت کار تقریبا اینجا بود که استانهای همجوار قیمتهای متفاوتی نسبت به دیگر مقاصد داشتند. رفتم سراغ نقشه و دونهدونه استانهایی که در کنار هم بودن و به قول معروف همسایه حساب میشدند را براشون یه تابع نوشتم تا حسابشون بکنه، موضوع جالب اینجا بود که متوجه شدم در حوالی دو سه تا استان در جنوب شرقی و بخش مرکزی کشور دو سه تا استان به اشکال مختلفی کشیده شدن و معلوم نبود کدومها درسته :| انصافا به معنای واقعی کلمه برگام ریخت که مگه میشه نقشهی یه کشور به چند شکل در سایتهای منبع و اصلی به اشکال گوناگون کشیده بشه. در نهایت با تستهای فراوان متوجه شدم که شرکت پست از کدام نقشه برای تعیین همجواری استانها استفاده میکند و در نهایت یک کلاس نوشتم تا هزینه ارسال پست پیشتاز را حساب کند.
این موضوع مال چند سال پیش است و من صرفا خودم که ازش استفاده کردم توی گیتهابم نیز قرارش دادم و الان گفتم شاید خوب باشه این مقاله را هم در موردش بنویسم. قیمتها به قطع بروز نیست و اگر کسی زحمت این کار را بکشد ازش ممنون میشوم.
لینک ریپازیتوری: محاسبهی هزینه ارسال پست پیشتاز با PHP