Method: sendOtp

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

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

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"
}

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

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

अनुरोध का मुख्य भाग

अनुरोध के मुख्य हिस्से में, नीचे दिए गए स्ट्रक्चर का डेटा शामिल है:

जेएसओएन के काेड में दिखाना
{
  "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 तरीके के लिए रिस्पॉन्स ऑब्जेक्ट.

अगर एपीआई सही से जुड़ जाता है, ताे जवाब के मुख्य भाग में नीचे दिए गए स्ट्रक्चर शामिल होता है.

जेएसओएन के काेड में दिखाना
{
  "responseHeader": {
    object (ResponseHeader)
  },
  "paymentIntegratorSendOtpId": string,
  "result": enum (SendOtpResultCode)
}
फ़ील्ड
responseHeader

object (ResponseHeader)

ज़रूरी: सभी जवाबों के लिए सामान्य हेडर.

paymentIntegratorSendOtpId

string

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

result

enum (SendOtpResultCode)

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

OtpContext

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

जेएसओएन के काेड में दिखाना
{

  // 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

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

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

ACCOUNT_CLOSED_ACCOUNT_TAKEN_OVER

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

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

ACCOUNT_CLOSED_FRAUD

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

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