Method: sendOtp

इंटिग्रेटर से फ़ोन नंबर पर ओटीपी भेजने का अनुरोध किया जाता है.

अगर इंटिग्रेटर SUCCESS दिखाता है, तो Google उम्मीद करता है कि फ़ोन नंबर पर मैसेज (एसएमएस) भेजा जाएगा.

जब कोई उपयोगकर्ता शुरुआत में अपने खाते को Google से जोड़ता है, तब Google सिर्फ़ accountPhoneNumber उपलब्ध कराता है. इसके बाद, बाद के सभी कॉल के लिए सिर्फ़ 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"
}

एचटीटीपी अनुरोध

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 ने दी है और उपयोगकर्ता को डिलीवर किए गए एसएमएस में शामिल की जानी चाहिए. इससे Google, Android O डिवाइसों के लिए, डिवाइस पर मौजूद एसएमएस का अपने-आप मिलान कर लेता है (रेफ़रंस देखें). इसमें 11 वर्ण होंगे.

उदाहरण के लिए, अगर एसएमएस सामान्य तौर पर ऐसा दिखता है:

Here's the OTP you requested: <OTP>

और Google "0123456789A" भेजता है तो एसएमएस ऐसा दिखना चाहिए:

0123456789A

Here's the OTP you requested: YYXXZZ

इसके अलावा, यह ऐसा दिख सकता है:

Here's the OTP you requested: YYXXZZ

0123456789A

otpContext

object (OtpContext)

ज़रूरी नहीं: यह वह कॉन्टेक्स्ट है जिसमें ओटीपी का अनुरोध किया जा रहा है.

यूनियन फ़ील्ड account_identifier. ज़रूरी: यह उस खाते का आइडेंटिफ़ायर है जिसके लिए ओटीपी भेजना ज़रूरी है. 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

ज़रूरी नहीं: इंटिग्रेटर के आइडेंटिफ़ायर के पास यह जानकारी होती है कि ओटीपी का अनुरोध इस तौर पर भेजा गया है. यह इंटिग्रेटर जनरेट किया गया है.

result

enum (SendOtpResultCode)

ज़रूरी: इस अनुरोध का नतीजा

OtpContext

ओटीपी के लिए अनुरोध की जानकारी.

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_context इनमें से सिर्फ़ एक हो सकता है:
association

object (Empty)

असोसिएशन/फिर से असोसिएशन के लिए ओटीपी का अनुरोध किया जा रहा है.

mandateCreation

object (Empty)

मैंडेट बनाने के लिए, ओटीपी का अनुरोध किया जा रहा है.

associationWithMandateCreation

object (Empty)

मैंडेट बनाने के साथ-साथ जोड़ने के लिए, ओटीपी का अनुरोध किया जा रहा है.

खाली

इस टाइप में कोई फ़ील्ड नहीं है.

इस ऑब्जेक्ट का इस्तेमाल एक्सटेंशन के लिए किया जाता है, क्योंकि बूलियन और वैल्यू को अक्सर ज़्यादा डेटा के साथ बढ़ाना पड़ता है. लागू करने वाला इसका इस्तेमाल, मौजूदगी का पता लगाने के लिए करता है. इस तरह की जानकारी को आने वाले वर्शन में डेटा शामिल करने के लिए बढ़ाया जा सकता है.

Empty के लिए JSON में, खाली JSON ऑब्जेक्ट {} है.

SendOtpResultCode

ओटीपी का अनुरोध भेजने के लिए नतीजों के कोड.

Enums
UNKNOWN_RESULT कभी भी इस डिफ़ॉल्ट वैल्यू को सेट न करें!
SUCCESS इंटिग्रेटर ने ओटीपी भेज दिया है.
PHONE_NUMBER_NOT_ASSOCIATED_WITH_ACCOUNT यह फ़ोन नंबर, उस खाते से नहीं जुड़ा है जिसकी पहचान associationId ने की है.
UNKNOWN_PHONE_NUMBER यह फ़ोन नंबर किसी भी खाते से नहीं जुड़ा है. इसका इस्तेमाल तब किया जाता है, जब associationId सेट न हो.
MESSAGE_UNABLE_TO_BE_SENT इंटिग्रेटर किसी वजह से ओटीपी नहीं भेज सका. यह कुछ समय के लिए होने वाली गड़बड़ी है. इस वजह से, इस कॉल को फिर से इस्तेमाल करने की कोशिश की जा सकती है.
INVALID_PHONE_NUMBER फ़ोन नंबर का फ़ॉर्मैट गलत था.
NOT_ELIGIBLE उपयोगकर्ता का खाता इस सेवा के लिए ज़रूरी शर्तें पूरी नहीं करता.
OTP_LIMIT_REACHED उपयोगकर्ता ने बहुत ज़्यादा ओटीपी के लिए अनुरोध किया है या पुष्टि करने की कोशिश की है.
ACCOUNT_CLOSED

इंटिग्रेटर के पास मौजूद उपयोगकर्ता का खाता बंद कर दिया गया है. इसका इस्तेमाल सिर्फ़ तब करना चाहिए, जब "associationId" का इस्तेमाल इस उपयोगकर्ता की पहचान करने के लिए किया जा रहा है.

इस मान को लौटाने से उपयोगकर्ता का डिवाइस Google के साथ बंद हो जाएगा. फिर से असोसिएशन फ़्लो का इस्तेमाल करके, उपयोगकर्ता को एक नया इंस्ट्रुमेंट जोड़ना होगा.

ACCOUNT_CLOSED_ACCOUNT_TAKEN_OVER

इंटिग्रेटर के साथ काम करने वाले उपयोगकर्ता का खाता बंद कर दिया गया है. संदिग्ध खाते का अधिग्रहण कर लिया गया है. इसका इस्तेमाल सिर्फ़ तब करना चाहिए, जब "associationId" का इस्तेमाल इस उपयोगकर्ता की पहचान करने के लिए किया जा रहा है.

इस मान को लौटाने से उपयोगकर्ता का डिवाइस Google के साथ बंद हो जाएगा. फिर से असोसिएशन फ़्लो का इस्तेमाल करके, उपयोगकर्ता को एक नया इंस्ट्रुमेंट जोड़ना होगा.

ACCOUNT_CLOSED_FRAUD

धोखाधड़ी के कारण, इंटिग्रेटर के पास मौजूद उपयोगकर्ता का खाता बंद कर दिया गया है. इसका इस्तेमाल सिर्फ़ तब करना चाहिए, जब "associationId" का इस्तेमाल इस उपयोगकर्ता की पहचान करने के लिए किया जा रहा है.

इस मान को लौटाने से उपयोगकर्ता का डिवाइस Google के साथ बंद हो जाएगा. फिर से असोसिएशन फ़्लो का इस्तेमाल करके, उपयोगकर्ता को एक नया इंस्ट्रुमेंट जोड़ना होगा.