Method: sendOtp

ইন্টিগ্রেটরকে ফোন নম্বরে একটি OTP পাঠাতে অনুরোধ করে।

যদি ইন্টিগ্রেটর SUCCESS ফেরত দেয়, তাহলে Google ফোন নম্বরে পাঠানো একটি SMS আশা করে৷

Google শুধুমাত্র একটি accountPhoneNumber প্রদান করে যখন একজন ব্যবহারকারী প্রাথমিকভাবে তাদের অ্যাকাউন্ট Google-এর সাথে যুক্ত করে। তারপরে, পরবর্তী সমস্ত কলের জন্য শুধুমাত্র associationId পাঠানো হবে।

অনুরোধটি প্রক্রিয়া করার সময় যদি এন্ডপয়েন্টটি একটি ত্রুটির সম্মুখীন হয়, তাহলে এই এন্ডপয়েন্ট থেকে রেসপন্স বডিটি ErrorResponse টাইপ হওয়া উচিত।

একটি উদাহরণ অনুরোধ এর মত দেখায়:


{
  "requestHeader": {
    "protocolVersion": {
      "major": 1,
      "minor": 0,
      "revision": 0
    },
    "requestId": "0123434-otp-abc",
    "requestTimestamp": "1502545413026"
  },
  "accountPhoneNumber": "+918067218010",
  "smsMatchingToken": "AB12345678C",
  "otpContext": {
    "association": {}
  }
}

একটি উদাহরণ প্রতিক্রিয়া মত দেখায়:


{
  "responseHeader": {
    "responseTimestamp": "1502545413098"
  },
  "paymentIntegratorSendOtpId": "99==ABC EF",
  "result": "SUCCESS"
}

HTTP অনুরোধ

POST https://www.integratorhost.example.com/v1/sendOtp

শরীরের অনুরোধ

অনুরোধের অংশে নিম্নলিখিত কাঠামো সহ ডেটা রয়েছে:

JSON প্রতিনিধিত্ব
{
  "requestHeader": {
    object (RequestHeader)
  },
  "smsMatchingToken": string,
  "otpContext": {
    object (OtpContext)
  },

  // Union field account_identifier can be only one of the following:
  "accountPhoneNumber": string,
  "associationId": string
  // End of list of possible types for union field account_identifier.
}
ক্ষেত্র
requestHeader

object ( RequestHeader )

প্রয়োজনীয় : সমস্ত অনুরোধের জন্য সাধারণ শিরোনাম।

smsMatchingToken

string

প্রয়োজনীয় : এই মানটি Google দ্বারা সরবরাহ করা হয়েছে এবং ব্যবহারকারীকে পাঠানো SMS-এ অবশ্যই অন্তর্ভুক্ত করতে হবে৷ এটি Google কে Android O ডিভাইসের জন্য ডিভাইসে SMS-কে স্বয়ংক্রিয়ভাবে মেলাতে দেয় ( রেফারেন্স দেখুন)। এটি হবে 11টি অক্ষর।

সুতরাং উদাহরণস্বরূপ, যদি এসএমএস সাধারণত এরকম দেখায়:

Here's the OTP you requested: <OTP>

এবং Google এই ক্ষেত্রের জন্য "0123456789A" পাঠায়, তারপর এসএমএস দেখতে হবে:

0123456789A

এখানে আপনার অনুরোধ করা OTP: YYXXZZ

বিকল্পভাবে এটি দেখতে এরকম হতে পারে:

Here's the OTP you requested: YYXXZZ

0123456789A

otpContext

object ( OtpContext )

ঐচ্ছিক : এটি সেই প্রেক্ষাপট যেখানে একটি OTP অনুরোধ করা হচ্ছে।

ইউনিয়ন ফিল্ড account_identifierপ্রয়োজনীয় : এটি সেই অ্যাকাউন্টের শনাক্তকারী যার জন্য একটি OTP পাঠাতে হবে। account_identifier নিম্নলিখিতগুলির মধ্যে একটি হতে পারে:
accountPhoneNumber

string

এটি একটি E.164 ফর্ম্যাট করা ফোন নম্বর৷ উদাহরণগুলির মধ্যে রয়েছে +14035551111 এবং +918067218000। এটি সর্বদা একটি + এর সাথে নেতৃত্ব দেবে এবং পরে শুধুমাত্র সংখ্যা অন্তর্ভুক্ত করবে (কোনও ড্যাশ নেই)।

যখন একজন ব্যবহারকারী প্রাথমিকভাবে তাদের অ্যাকাউন্ট Google-এর সাথে যুক্ত করে এবং পুনঃঅ্যাসোসিয়েশনের সময় তখন এটি পপুলেট হয়।

associationId

string

এটি একটি ব্যবহারকারীর অ্যাকাউন্ট উল্লেখ করতে ব্যবহৃত অ্যাসোসিয়েশন শনাক্তকারী।

প্রাথমিক অ্যাসোসিয়েশনের পরে পরবর্তী সমস্ত কলের জন্য এটি জনবহুল।

প্রতিক্রিয়া শরীর

sendOtp পদ্ধতির জন্য প্রতিক্রিয়া বস্তু।

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

JSON প্রতিনিধিত্ব
{
  "responseHeader": {
    object (ResponseHeader)
  },
  "paymentIntegratorSendOtpId": string,
  "result": enum (SendOtpResultCode)
}
ক্ষেত্র
responseHeader

object ( ResponseHeader )

প্রয়োজনীয় : সমস্ত প্রতিক্রিয়ার জন্য সাধারণ শিরোনাম।

paymentIntegratorSendOtpId

string

ঐচ্ছিক : শনাক্তকারী ইন্টিগ্রেটর জানে যে এটি OTP অনুরোধ পাঠাবে। এই ইন্টিগ্রেটর উত্পন্ন হয়.

result

enum ( SendOtpResultCode )

প্রয়োজনীয় : এই অনুরোধের ফলাফল

OtpContext

যে প্রেক্ষাপটে একটি OTP অনুরোধ করা হচ্ছে।

JSON প্রতিনিধিত্ব
{

  // Union field otp_context can be only one of the following:
  "association": {
    object (Empty)
  },
  "mandateCreation": {
    object (Empty)
  },
  "associationWithMandateCreation": {
    object (Empty)
  }
  // End of list of possible types for union field otp_context.
}
ক্ষেত্র
ইউনিয়ন ক্ষেত্র otp_contextপ্রয়োজনীয় : যে প্রেক্ষাপটে একটি OTP অনুরোধ করা হচ্ছে। otp_context নিম্নলিখিতগুলির মধ্যে একটি হতে পারে:
association

object ( Empty )

অ্যাসোসিয়েশন/রি-অ্যাসোসিয়েশনের প্রেক্ষাপটে ওটিপি অনুরোধ করা হচ্ছে।

mandateCreation

object ( Empty )

ম্যান্ডেট তৈরির প্রেক্ষাপটে ওটিপি অনুরোধ করা হচ্ছে।

associationWithMandateCreation

object ( Empty )

ম্যান্ডেট তৈরির সাথে অ্যাসোসিয়েশনের জন্য OTP অনুরোধ করা হচ্ছে।

খালি

এই ধরনের কোন ক্ষেত্র আছে.

এই বস্তুটি এক্সটেনসিবিলিটির জন্য ব্যবহার করা হয় কারণ বুলিয়ান এবং গণনা প্রায়ই অতিরিক্ত ডেটা সহ প্রসারিত করতে হয়। বাস্তবায়নকারী উপস্থিতি নির্ধারণ করতে এটি ব্যবহার করে। এটি যে গণনাটি উপস্থাপন করে তা ভবিষ্যতের সংস্করণগুলিতে ডেটা ধারণ করার জন্য প্রসারিত হতে পারে।

Empty জন্য JSON প্রতিনিধিত্ব খালি JSON অবজেক্ট {}

SendOtpResultCode

OTP অনুরোধ পাঠানোর জন্য ফলাফল কোড।

Enums
UNKNOWN_RESULT এই ডিফল্ট মান সেট করবেন না!
SUCCESS ইন্টিগ্রেটর ওটিপি পাঠিয়েছে।
PHONE_NUMBER_NOT_ASSOCIATED_WITH_ACCOUNT ফোন নম্বরটি associationId দ্বারা চিহ্নিত অ্যাকাউন্টের সাথে যুক্ত নয়৷
UNKNOWN_PHONE_NUMBER ফোন নম্বর কোনো অ্যাকাউন্টের সাথে যুক্ত নয়। যখন associationId সেট করা না থাকে তখন এটি ব্যবহার করা হয়।
MESSAGE_UNABLE_TO_BE_SENT ইন্টিগ্রেটর কোনো কারণে OTP পাঠাতে পারেনি। এটি একটি ক্ষণস্থায়ী ত্রুটি, এবং এর ফলে এই কলটি পুনরায় চেষ্টা করা হতে পারে৷
INVALID_PHONE_NUMBER ফোন নম্বর বিন্যাস ভুল ছিল.
NOT_ELIGIBLE ব্যবহারকারীর অ্যাকাউন্ট এই পরিষেবার জন্য যোগ্য নয়।
OTP_LIMIT_REACHED ব্যবহারকারী অনেকগুলি ওটিপি যাচাই করার অনুরোধ করেছেন বা চেষ্টা করেছেন৷
ACCOUNT_CLOSED

ইন্টিগ্রেটরের সাথে থাকা ব্যবহারকারীর অ্যাকাউন্টটি বন্ধ করা হয়েছে। এটি শুধুমাত্র তখনই ব্যবহার করা উচিত যখন এই ব্যবহারকারীকে শনাক্ত করার জন্য "associationId" ব্যবহার করা হচ্ছে।

এই মান ফিরিয়ে দিলে ব্যবহারকারীর যন্ত্র Google-এর সাথে বন্ধ হয়ে যাবে। ব্যবহারকারী আবার অ্যাসোসিয়েশন প্রবাহের মধ্য দিয়ে গিয়ে একটি নতুন উপকরণ যোগ করতে বাধ্য হবে।

ACCOUNT_CLOSED_ACCOUNT_TAKEN_OVER

ইন্টিগ্রেটরের সাথে ব্যবহারকারীর অ্যাকাউন্ট বন্ধ করা হয়েছে, সন্দেহজনক অ্যাকাউন্ট দখল করা হয়েছে। এটি শুধুমাত্র তখনই ব্যবহার করা উচিত যখন এই ব্যবহারকারীকে শনাক্ত করার জন্য "associationId" ব্যবহার করা হচ্ছে।

এই মান ফিরিয়ে দিলে ব্যবহারকারীর যন্ত্র Google-এর সাথে বন্ধ হয়ে যাবে। ব্যবহারকারী আবার অ্যাসোসিয়েশন প্রবাহের মধ্য দিয়ে গিয়ে একটি নতুন উপকরণ যোগ করতে বাধ্য হবে।

ACCOUNT_CLOSED_FRAUD

ইন্টিগ্রেটরের সাথে থাকা ব্যবহারকারীর অ্যাকাউন্ট প্রতারণার কারণে বন্ধ করা হয়েছে। এটি শুধুমাত্র তখনই ব্যবহার করা উচিত যখন এই ব্যবহারকারীকে শনাক্ত করার জন্য "associationId" ব্যবহার করা হচ্ছে।

এই মান ফিরিয়ে দিলে ব্যবহারকারীর যন্ত্র Google-এর সাথে বন্ধ হয়ে যাবে। ব্যবহারকারী আবার অ্যাসোসিয়েশন প্রবাহের মধ্য দিয়ে গিয়ে একটি নতুন উপকরণ যোগ করতে বাধ্য হবে।