ত্রুটি মামলা

একটি ত্রুটির ক্ষেত্রে, DPA একটি HTTP প্রতিক্রিয়া সহ একটি HTTP স্ট্যাটাস কোড ফেরত দেবে বলে আশা করা হচ্ছে যাতে ত্রুটি সম্পর্কে আরও তথ্য সহ একটি JSON অবজেক্ট অন্তর্ভুক্ত করা আবশ্যক৷ ত্রুটি প্রতিক্রিয়া বডিতে অবশ্যই ErrorResponse- এর একটি উদাহরণ থাকতে হবে।

{
  "errorMessage": string,
  "cause": enum(ErrorCause)
}

DPA ত্রুটির প্রতিক্রিয়া অবশ্যই নিম্নলিখিতগুলির সাথে সঙ্গতিপূর্ণ হতে হবে:

  • ব্যবহারকারী বর্তমানে রোমিং করছেন এবং এই ব্যবহারকারীর জন্য DPA ক্যোয়ারী অক্ষম করা হয়েছে৷ DPA ত্রুটির কারণ হিসাবে USER_ROAMING এর সাথে একটি 403 ত্রুটি প্রদান করে৷
  • DPA একটি 404 NOT_FOUND ত্রুটি কোড GTAF কে ইঙ্গিত করে যে ব্যবহারকারী কীটি INVALID_NUMBER সহ অবৈধ (অর্থাৎ, বিদ্যমান ব্যবহারকারী কী )।
  • DPA BAD_CPID এর সাথে একটি 410 GONE এরর কোড প্রদান করে কারণ GTAF কে নির্দেশ করে যে key_type = CPID এবং CPID মেয়াদ শেষ হলে ক্লায়েন্টের একটি নতুন ব্যবহারকারী কী পাওয়া উচিত।
  • DPA একটি 501 NOT_IMPLEMENTED ত্রুটি কোড প্রদান করে যা নির্দেশ করে যে এটি SERVICE_UNAVAILABLE ত্রুটির কারণে এই কলটিকে সমর্থন করে না।
  • ডিপিএ TOO_MANY_REQUESTS ত্রুটির কারণ সহ একটি 429 টি অনেক অনুরোধ ফেরত দেয় পুনরায় চেষ্টা-পরবর্তী শিরোনামটি নির্দেশ করে যে GTAF ডিপিএ-তে অনেক বেশি অনুরোধ করছে।
  • DPA একটি 409 CONFLICT ত্রুটি প্রদান করে যা নির্দেশ করে যে DPA-এর বর্তমান অবস্থার সাথে দ্বন্দ্বের কারণে অনুরোধটি সম্পূর্ণ করা যাবে না।
  • আপাতত এই সেবা বন্ধ আছে. ডিপিএ একটি 503 পরিষেবা অনুপলব্ধ রিটার্ন করে রিট্রাই-আফটার শিরোলেখটি নির্দেশ করে যে কখন একটি নতুন অনুরোধের চেষ্টা করা যেতে পারে।
  • DPA একটি 500 অভ্যন্তরীণ সার্ভার ত্রুটি কোড প্রদান করে অন্য সমস্ত অনির্দিষ্ট ত্রুটির জন্য ত্রুটির কারণ হিসাবে ERROR_CAUSE_UNSPECIFIED।

ক্রয়ের সময় ত্রুটির সম্মুখীন হলে, নিম্নলিখিত ত্রুটি কোডগুলি লেনদেনের ব্যর্থ ফলাফলগুলিকে উপস্থাপন করে:

  • ডিপিএ একটি 400 খারাপ অনুরোধের ত্রুটি কোড ফেরত দেয় যা জিটিএএফকে নির্দেশ করে যে কেনা প্ল্যান আইডিটি অবৈধ।
  • ডিপিএ একটি 402 পেমেন্টের প্রয়োজনীয় ত্রুটি কোড জিটিএএফকে নির্দেশ করে যে ব্যবহারকারীর ক্রয় সম্পূর্ণ করার জন্য পর্যাপ্ত ব্যালেন্স নেই।
  • DPA একটি 409 CONFLICT এরর কোড GTAF কে ইঙ্গিত করে যে ক্রয় করা পরিকল্পনাটি ব্যবহারকারীর বর্তমান পণ্যের মিশ্রণের সাথে সামঞ্জস্যপূর্ণ নয়। উদাহরণস্বরূপ, যদি অপারেটর ডেটা প্ল্যান নীতি পোস্টপেইড এবং প্রিপেইড প্ল্যানগুলিকে মিশ্রিত করার অনুমতি দেয় না, তাহলে পোস্টপেইড ব্যবহারকারীর জন্য একটি প্রিপেইড প্ল্যান কেনার চেষ্টা করা একটি 409 দ্বন্দ্ব ত্রুটির দিকে নিয়ে যাবে৷
  • DPA একটি 403 FORBIDDEN ত্রুটি কোড ফেরত দেয় যা GTAF কে নির্দেশ করে যে বর্তমান লেনদেনটি পূর্বে জারি করা লেনদেনের নকল। DPA এর প্রতিক্রিয়াতে নিম্নলিখিত ত্রুটির কারণগুলি ফেরত দেওয়া উচিত:
    • যদি পূর্ববর্তী লেনদেন ব্যর্থ হয়, ত্রুটির কারণ ব্যর্থতার কারণ নির্দেশ করে।
    • পূর্ববর্তী লেনদেন সফল হলে, DUPLICATE_TRANSACTION।
    • যদি পূর্ববর্তী লেনদেনটি এখনও সারিতে থাকে, REQUEST_QUEUED৷
,

একটি ত্রুটির ক্ষেত্রে, DPA একটি HTTP প্রতিক্রিয়া সহ একটি HTTP স্ট্যাটাস কোড ফেরত দেবে বলে আশা করা হচ্ছে যাতে ত্রুটি সম্পর্কে আরও তথ্য সহ একটি JSON অবজেক্ট অন্তর্ভুক্ত করা আবশ্যক৷ ত্রুটি প্রতিক্রিয়া বডিতে অবশ্যই ErrorResponse- এর একটি উদাহরণ থাকতে হবে।

{
  "errorMessage": string,
  "cause": enum(ErrorCause)
}

DPA ত্রুটির প্রতিক্রিয়া অবশ্যই নিম্নলিখিতগুলির সাথে সঙ্গতিপূর্ণ হতে হবে:

  • ব্যবহারকারী বর্তমানে রোমিং করছেন এবং এই ব্যবহারকারীর জন্য DPA ক্যোয়ারী অক্ষম করা হয়েছে৷ DPA ত্রুটির কারণ হিসাবে USER_ROAMING এর সাথে একটি 403 ত্রুটি প্রদান করে৷
  • DPA একটি 404 NOT_FOUND ত্রুটি কোড GTAF কে ইঙ্গিত করে যে ব্যবহারকারী কীটি INVALID_NUMBER সহ অবৈধ (অর্থাৎ, বিদ্যমান ব্যবহারকারী কী )।
  • DPA BAD_CPID এর সাথে একটি 410 GONE এরর কোড প্রদান করে কারণ GTAF কে নির্দেশ করে যে key_type = CPID এবং CPID মেয়াদ শেষ হলে ক্লায়েন্টের একটি নতুন ব্যবহারকারী কী পাওয়া উচিত।
  • DPA একটি 501 NOT_IMPLEMENTED ত্রুটি কোড প্রদান করে যা নির্দেশ করে যে এটি SERVICE_UNAVAILABLE ত্রুটির কারণে এই কলটিকে সমর্থন করে না।
  • ডিপিএ TOO_MANY_REQUESTS ত্রুটির কারণ সহ একটি 429 টি অনেক অনুরোধ ফেরত দেয় পুনরায় চেষ্টা-পরবর্তী শিরোনামটি নির্দেশ করে যে GTAF ডিপিএ-তে অনেক বেশি অনুরোধ করছে।
  • DPA একটি 409 CONFLICT ত্রুটি প্রদান করে যা নির্দেশ করে যে DPA-এর বর্তমান অবস্থার সাথে দ্বন্দ্বের কারণে অনুরোধটি সম্পূর্ণ করা যাবে না।
  • আপাতত এই সেবা বন্ধ আছে. ডিপিএ একটি 503 পরিষেবা অনুপলব্ধ রিটার্ন করে রিট্রাই-আফটার শিরোলেখটি নির্দেশ করে যে কখন একটি নতুন অনুরোধের চেষ্টা করা যেতে পারে।
  • DPA একটি 500 অভ্যন্তরীণ সার্ভার ত্রুটি কোড প্রদান করে অন্য সমস্ত অনির্দিষ্ট ত্রুটির জন্য ত্রুটির কারণ হিসাবে ERROR_CAUSE_UNSPECIFIED।

ক্রয়ের সময় ত্রুটির সম্মুখীন হলে, নিম্নলিখিত ত্রুটি কোডগুলি লেনদেনের ব্যর্থ ফলাফলগুলিকে উপস্থাপন করে:

  • ডিপিএ একটি 400 খারাপ অনুরোধের ত্রুটি কোড ফেরত দেয় যা জিটিএএফকে নির্দেশ করে যে কেনা প্ল্যান আইডিটি অবৈধ।
  • ডিপিএ একটি 402 পেমেন্টের প্রয়োজনীয় ত্রুটি কোড জিটিএএফকে নির্দেশ করে যে ব্যবহারকারীর ক্রয় সম্পূর্ণ করার জন্য পর্যাপ্ত ব্যালেন্স নেই।
  • DPA একটি 409 CONFLICT এরর কোড GTAF কে ইঙ্গিত করে যে ক্রয় করা পরিকল্পনাটি ব্যবহারকারীর বর্তমান পণ্যের মিশ্রণের সাথে সামঞ্জস্যপূর্ণ নয়। উদাহরণস্বরূপ, যদি অপারেটর ডেটা প্ল্যান নীতি পোস্টপেইড এবং প্রিপেইড প্ল্যানগুলিকে মিশ্রিত করার অনুমতি দেয় না, তাহলে পোস্টপেইড ব্যবহারকারীর জন্য একটি প্রিপেইড প্ল্যান কেনার চেষ্টা করা একটি 409 দ্বন্দ্ব ত্রুটির দিকে নিয়ে যাবে৷
  • DPA একটি 403 FORBIDDEN ত্রুটি কোড ফেরত দেয় যা GTAF কে নির্দেশ করে যে বর্তমান লেনদেনটি পূর্বে জারি করা লেনদেনের নকল। DPA এর প্রতিক্রিয়াতে নিম্নলিখিত ত্রুটির কারণগুলি ফেরত দেওয়া উচিত:
    • যদি পূর্ববর্তী লেনদেন ব্যর্থ হয়, ত্রুটির কারণ ব্যর্থতার কারণ নির্দেশ করে।
    • পূর্ববর্তী লেনদেন সফল হলে, DUPLICATE_TRANSACTION।
    • যদি পূর্ববর্তী লেনদেনটি এখনও সারিতে থাকে, REQUEST_QUEUED৷