সময় অঞ্চল অনুরোধ এবং প্রতিক্রিয়া

সময় অঞ্চল

টাইম জোন এপিআই অনুরোধগুলো একটি ইউআরএল স্ট্রিং হিসেবে গঠিত হয়। এই এপিআই পৃথিবীর কোনো একটি নির্দিষ্ট বিন্দুর জন্য টাইম জোন ডেটা প্রদান করে, যা একটি অক্ষাংশ/দ্রাঘিমাংশ জোড়া দ্বারা চিহ্নিত করা হয়। উল্লেখ্য যে, মহাসাগর বা সাগরের মতো জলভাগের ওপর অবস্থিত স্থানগুলোর জন্য টাইম জোন ডেটা উপলব্ধ নাও থাকতে পারে।

একটি টাইম জোন অনুরোধের রূপটি নিম্নরূপ:

https://maps.googleapis.com/maps/api/timezone/outputFormat?parameters

যেখানে outputFormat নিম্নলিখিত মানগুলির যেকোনো একটি হতে পারে:

দ্রষ্টব্য: বৈধ হওয়ার জন্য ইউআরএল অবশ্যই সঠিকভাবে এনকোড করা আবশ্যক এবং সকল ওয়েব পরিষেবার জন্য এর অক্ষর সংখ্যা ১৬৩৮৪-তে সীমাবদ্ধ। আপনার ইউআরএল তৈরি করার সময় এই সীমাবদ্ধতা সম্পর্কে সচেতন থাকুন। মনে রাখবেন যে, বিভিন্ন ব্রাউজার, প্রক্সি এবং সার্ভারের ইউআরএল অক্ষর সীমাও ভিন্ন হতে পারে।

প্রয়োজনীয় প্যারামিটার

  • অবস্থান

    একটি কমা দ্বারা পৃথক করা অক্ষাংশ ও দ্রাঘিমাংশের টাপল, location=39.6034810,-119.6822510 , যা অনুসন্ধান করার অবস্থানকে নির্দেশ করে।

  • টাইমস্ট্যাম্প

    ১ জানুয়ারী, ১৯৭০ ইউটিসি মধ্যরাত থেকে সেকেন্ডে কাঙ্ক্ষিত সময়। টাইম জোন এপিআই, location টাইম জোনের উপর ভিত্তি করে ডেলাইট সেভিংস প্রয়োগ করা হবে কি না, তা নির্ধারণ করতে timestamp ব্যবহার করে।

    উল্লেখ্য যে, এপিআইটি ঐতিহাসিক টাইম জোন বিবেচনা করে না। অর্থাৎ, আপনি যদি অতীতের কোনো টাইমস্ট্যাম্প উল্লেখ করেন, তাহলে এপিআইটি এই সম্ভাবনাটি বিবেচনা করে না যে অবস্থানটি পূর্বে অন্য কোনো টাইম জোনে ছিল।

ঐচ্ছিক পরামিতি

  • ভাষা

    যে ভাষায় ফলাফল ফেরত দেওয়া হয়।

    • সমর্থিত ভাষাগুলোর তালিকা দেখুন। গুগল প্রায়শই সমর্থিত ভাষাগুলো হালনাগাদ করে, তাই এই তালিকাটি সম্পূর্ণ নাও হতে পারে।
    • যদি language সরবরাহ করা না হয়, তাহলে API-টি Accept-Language হেডারে নির্দিষ্ট করা পছন্দের ভাষাটি ব্যবহার করার চেষ্টা করে।
    • এপিআইটি ব্যবহারকারী এবং স্থানীয় বাসিন্দা উভয়ের জন্য পাঠযোগ্য একটি রাস্তার ঠিকানা প্রদান করার জন্য যথাসাধ্য চেষ্টা করে। সেই লক্ষ্য অর্জনের জন্য, এটি পছন্দের ভাষাটি অনুসরণ করে রাস্তার ঠিকানাগুলো স্থানীয় ভাষায় ফেরত দেয় এবং প্রয়োজনে ব্যবহারকারীর পাঠযোগ্য লিপিতে তা প্রতিবর্ণীকরণ করে। অন্য সব ঠিকানা পছন্দের ভাষাতেই ফেরত দেওয়া হয়। ঠিকানার সমস্ত উপাদান একই ভাষায় ফেরত দেওয়া হয়, যা প্রথম উপাদানটি থেকে বেছে নেওয়া হয়।
    • পছন্দের ভাষায় কোনো নাম উপলব্ধ না থাকলে, এপিআই সবচেয়ে কাছাকাছি মিল থাকা নামটি ব্যবহার করে।
    • এপিআই যে ফলাফলগুলো ফেরত দেবে এবং সেগুলো যে ক্রমে ফেরত আসবে, তার ওপর পছন্দের ভাষার সামান্য প্রভাব রয়েছে। জিওকোডার ভাষার ওপর নির্ভর করে সংক্ষিপ্ত রূপগুলোকে ভিন্নভাবে ব্যাখ্যা করে, যেমন রাস্তার প্রকারভেদের সংক্ষিপ্ত রূপ, অথবা এমন সমার্থক শব্দ যা একটি ভাষায় বৈধ হলেও অন্যটিতে নয়। উদাহরণস্বরূপ, হাঙ্গেরীয় ভাষায় 'utca' এবং 'tér' হলো রাস্তার সমার্থক শব্দ।

সময় অঞ্চলের উদাহরণ

এই বিভাগে কিছু নমুনা কোয়েরি অন্তর্ভুক্ত করা হয়েছে যা এপিআই-এর বৈশিষ্ট্যগুলো প্রদর্শন করে।

নিচের কোয়েরিটি মার্কিন যুক্তরাষ্ট্রের নেভাডার জন্য একটি টাইম জোন অনুরোধ সম্পাদন করে। টাইমস্ট্যাম্পটি ৫ই ডিসেম্বর, ২০২৪-এ সেট করা হয়েছে।

ইউআরএল

https://maps.googleapis.com/maps/api/timezone/json
  ?location=39.6034810%2C-119.6822510
  ×tamp=1733428634
  &key=YOUR_API_KEY

কার্ল

curl -L -X GET 'https://maps.googleapis.com/maps/api/timezone/json?location=39.6034810%2C-119.6822510×tamp=1733428634&key=YOUR_API_KEY'

JSON

{
  "dstOffset": 0,
  "rawOffset": -28800,
  "status": "OK",
  "timeZoneId": "America/Los_Angeles",
  "timeZoneName": "Pacific Standard Time",
}

এক্সএমএল

<TimeZoneResponse>
 <status>OK</status>
 <raw_offset>-28800.0000000</raw_offset>
 <dst_offset>0.0000000</dst_offset>
 <time_zone_id>America/Los_Angeles</time_zone_id>
 <time_zone_name>Pacific Standard Time</time_zone_name>
</TimeZoneResponse>
      

নিচের কোয়েরিটি মার্কিন যুক্তরাষ্ট্রের নেভাডার জন্য একটি টাইম জোন অনুরোধ সম্পাদন করে। অবস্থানটি উপরের অনুরোধের মতোই, কিন্তু টাইমস্ট্যাম্পটি ১৫ই মার্চ, ২০২৪-এ সেট করা হয়েছে। প্রতিক্রিয়াটিতে এখন একটি ডেলাইট সেভিংস টাইম অফসেট অন্তর্ভুক্ত রয়েছে।

ইউআরএল

https://maps.googleapis.com/maps/api/timezone/json
  ?location=39.6034810%2C-119.6822510
  ×tamp=1710547034
  &key=YOUR_API_KEY

কার্ল

curl -L -X GET 'https://maps.googleapis.com/maps/api/timezone/json?location=39.6034810%2C-119.6822510×tamp=1710547034&key=YOUR_API_KEY'

JSON

{
  "dstOffset": 3600,
  "rawOffset": -28800,
  "status": "OK",
  "timeZoneId": "America/Los_Angeles",
  "timeZoneName": "Pacific Daylight Time",
}
        

এক্সএমএল

<TimeZoneResponse>
 <status>OK</status>
 <raw_offset>-28800.0000000</raw_offset>
 <dst_offset>3600.0000000</dst_offset>
 <time_zone_id>America/Los_Angeles</time_zone_id>
 <time_zone_name>Pacific Daylight Time</time_zone_name>
</TimeZoneResponse>

এই উদাহরণটি উপরের দুটির মতোই, তবে এটি একটি ভাষার প্যারামিটার নির্ধারণ করে। এর ফলে প্রতিক্রিয়াটি এখন স্প্যানিশ ভাষায় স্থানীয়করণ করা হবে।

ইউআরএল

https://maps.googleapis.com/maps/api/timezone/json
  ?language=es
  &location=39.6034810%2C-119.6822510
  ×tamp=1710547034
  &key=YOUR_API_KEY

কার্ল

curl -L -X GET 'https://maps.googleapis.com/maps/api/timezone/json?location=39.6034810%2C-119.6822510×tamp=1710547034&language=es&key=YOUR_API_KEY'

JSON

{
  "dstOffset": 3600,
  "rawOffset": -28800,
  "status": "OK",
  "timeZoneId": "America/Los_Angeles",
  "timeZoneName": "hora de verano del Pacífico",
}
      

এক্সএমএল

<TimeZoneResponse>
 <status>OK</status>
 <raw_offset>-28800.0000000</raw_offset>
 <dst_offset>3600.0000000</dst_offset>
 <time_zone_id>America/Los_Angeles</time_zone_id>
 <time_zone_name>hora de verano del Pacífico</time_zone_name>
</TimeZoneResponse>
      

সময় অঞ্চলের প্রতিক্রিয়া

প্রতিটি বৈধ অনুরোধের জন্য, টাইম জোন অনুরোধ URL-এ নির্দেশিত বিন্যাসে একটি প্রতিক্রিয়া ফেরত দেয়।

টাইমজোন প্রতিক্রিয়া

মাঠ প্রয়োজনীয় প্রকার বর্ণনা
প্রয়োজনীয় টাইমজোন স্ট্যাটাস আরও তথ্যের জন্য TimeZoneStatus দেখুন।
ঐচ্ছিক সংখ্যা

ডেলাইট সেভিংস টাইমের জন্য অফসেট সেকেন্ডে। নির্দিষ্ট timestamp টাইম জোনটি ডেলাইট সেভিংস টাইমে না থাকলে এর মান শূন্য হবে।

ঐচ্ছিক স্ট্রিং

প্রদত্ত স্ট্যাটাস কোডের পেছনের কারণগুলো সম্পর্কে বিস্তারিত তথ্য। স্ট্যাটাস ' Ok ছাড়া অন্য কিছু হলে এটি অন্তর্ভুক্ত করা হয়।

ঐচ্ছিক সংখ্যা

প্রদত্ত অবস্থানের জন্য UTC থেকে অফসেট (সেকেন্ডে)। এতে ডেলাইট সেভিংসের প্রভাব বিবেচনা করা হয়নি।

ঐচ্ছিক স্ট্রিং

একটি স্ট্রিং যাতে টাইম জোনের আইডি থাকে, যেমন "America/Los_Angeles" বা "Australia/Sydney"। এই আইডিগুলো ইউনিকোড কমন লোকাল ডেটা রিপোজিটরি (CLDR) প্রজেক্ট দ্বারা সংজ্ঞায়িত এবং বর্তমানে timezone.xml ফাইলে উপলব্ধ। যখন একটি টাইম জোনের একাধিক আইডি থাকে, তখন প্রামাণিক আইডিটি ফেরত দেওয়া হয়। এক্সএমএল (xml) রেসপন্সে, এটি প্রতিটি টাইম জোনের প্রথম অ্যালিয়াস। উদাহরণস্বরূপ, "Asia/Calcutta" ফেরত দেওয়া হয়, "Asia/Kolkata" নয়।

ঐচ্ছিক স্ট্রিং

সময় অঞ্চলের পূর্ণাঙ্গ নাম। ভাষা প্যারামিটার সেট করা থাকলে এই ক্ষেত্রটি স্থানীয় ভাষায় পরিবর্তিত হবে। যেমন, Pacific Daylight Time বা Australian Eastern Daylight Time

টাইমজোন স্ট্যাটাস

টাইম জোন রেসপন্স অবজেক্টের অন্তর্গত status ফিল্ডটিতে অনুরোধের অবস্থা থাকে। status ফিল্ডটিতে নিম্নলিখিত মানগুলি থাকতে পারে:

  • OK নির্দেশ করে যে অনুরোধটি সফল হয়েছে।

  • INVALID_REQUEST নির্দেশ করে যে অনুরোধটি ত্রুটিপূর্ণ ছিল।

  • OVER_DAILY_LIMIT নিম্নলিখিত যেকোনো একটিকে নির্দেশ করে:

    • এপিআই কী অনুপস্থিত অথবা অবৈধ।
    • আপনার অ্যাকাউন্টে বিলিং চালু করা হয়নি।
    • স্বেচ্ছায় নির্ধারিত ব্যবহারের সীমা অতিক্রম করা হয়েছে।
    • প্রদত্ত অর্থপ্রদানের পদ্ধতিটি আর বৈধ নয় (উদাহরণস্বরূপ, ক্রেডিট কার্ডের মেয়াদ শেষ হয়ে গেছে)।
  • OVER_QUERY_LIMIT নির্দেশ করে যে অনুরোধকারী কোটা অতিক্রম করেছেন।

  • REQUEST_DENIED নির্দেশ করে যে API অনুরোধটি সম্পন্ন করেনি। নিশ্চিত করুন যে অনুরোধটি HTTP-এর পরিবর্তে HTTPS-এর মাধ্যমে পাঠানো হয়েছিল।

  • UNKNOWN_ERROR একটি অজানা ত্রুটি নির্দেশ করে।

  • ZERO_RESULTS নির্দেশ করে যে নির্দিষ্ট অবস্থান বা সময়ের জন্য কোনো সময় অঞ্চলের তথ্য খুঁজে পাওয়া যায়নি। নিশ্চিত করুন যে অনুরোধটি স্থলভাগের কোনো অবস্থানের জন্য, জলভাগের ওপরের কোনো অবস্থানের জন্য নয়।

স্থানীয় সময় গণনা করা

কোনো নির্দিষ্ট স্থানের স্থানীয় সময় হলো timestamp প্যারামিটার এবং ফলাফল থেকে প্রাপ্ত dstOffsetrawOffset ফিল্ডগুলোর যোগফল।