Method: sendOtp

يتم طلب كلمة المرور لمرة واحدة لإرسال رقم كلمة المرور لمرة واحدة إلى رقم الهاتف.

إذا أرجع مطوّر الألعاب عملية الدمج مع 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 مطابقة الرسائل القصيرة SMS تلقائيًا على الجهاز الذي يعمل بنظام التشغيل Android O (راجِع المرجع) المؤلَّف من 11 حرفًا.

على سبيل المثال، إذا كانت الرسالة القصيرة SMS تبدو عادةً:

Here's the OTP you requested: <OTP>

وتُرسل Google الرسالة "0123456789A" لهذا الحقل، ومن المفترض أن تبدو الرسائل القصيرة SMS على النحو التالي:

0123456789A

Here's the OTP you requested: YYXXZZ

وبدلاً من ذلك، قد يظهر لك على النحو التالي:

Here's the OTP you requested: YYXXZZ

0123456789A

otpContext

object (OtpContext)

اختياري: هذا هو السياق الذي يتم فيه طلب كلمة المرور لمرة واحدة.

حقل الاتحاد 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

اختياري: معرّف عملية الدمج يعرف أنّ هذا الطلب يرسل كلمة المرور لمرة واحدة. هذا الرمز هو عبارة عن نموذج متكامل.

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_context سوى واحد مما يلي:
association

object (Empty)

يتم طلب كلمة المرور لمرة واحدة في سياق الارتباط/إعادة الربط.

mandateCreation

object (Empty)

كلمة المرور لمرة واحدة (OTP) مطلوبة في سياق إنشاء التفويض.

associationWithMandateCreation

object (Empty)

كلمة المرور لمرة واحدة (OTP) مطلوبة للربط جنبًا إلى جنب مع إنشاء التفويض.

ما مِن لاعبين

لا يحتوي هذا النوع على أي حقول.

ويُستخدم هذا الكائن مع إمكانية التوسّع، نظرًا لأن العديد من القيم المنطقية والتعداد غالبًا ما يلزم توسيعها باستخدام بيانات إضافية. وتستخدمه جهة التنفيذ لتحديد الحضور. يمكن توسيع عملية التعداد التي تمثلها لتشمل البيانات في الإصدارات المستقبلية.

تمثيل JSON للسمة Empty فارغ من عنصر JSON {}.

رمز إرسال نتيجة البحث

رموز النتائج لطلب OTP.

عمليات التعداد
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. سيضطر المستخدم إلى إضافة وسيلة جديدة من خلال تنفيذ عملية الربط مرة أخرى.