Method: sendOtp

Entegratörün telefon numarasına OTP göndermesini ister.

Entegratör SUCCESS değerini döndürürse Google, telefon numarasına SMS gönderilmesini bekler.

Kullanıcı, hesabını Google ile ilk ilişkilendirdiğinde Google yalnızca bir accountPhoneNumber sağlar. Bundan sonra, sonraki tüm aramalar için yalnızca associationId gönderilecektir.

Uç nokta, isteği işlerken bir hatayla karşılaşırsa bu uç noktadaki yanıt gövdesi ErrorResponse türünde olmalıdır.

Örnek istek:


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

Örnek bir yanıt aşağıdaki gibidir:


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

HTTP isteği

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

İstek içeriği

İstek gövdesi, aşağıdaki yapıya sahip verileri içerir:

JSON gösterimi
{
  "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.
}
Alanlar
requestHeader

object (RequestHeader)

ZORUNLU: Tüm istekler için ortak başlık.

smsMatchingToken

string

ZORUNLU: Bu değer Google tarafından sağlanır ve kullanıcıya gönderilen SMS'te yer almalıdır. Bu işlem, Google'ın Android O cihazlar için cihazdaki SMS'i otomatik olarak eşleştirmesine olanak tanır (referans bölümüne bakın). Bu 11 karakter olacak.

Örneğin, SMS normalde şöyle görünüyorsa:

Here's the OTP you requested: <OTP>

Google da "0123456789A", SMS şu şekilde görünmelidir:

0123456789A

Here's the OTP you requested: YYXXZZ

Alternatif olarak şöyle görünebilir:

Here's the OTP you requested: YYXXZZ

0123456789A

otpContext

object (OtpContext)

İSTEĞE BAĞLI: Bu, OTP isteğinde bulunulan bağlamdır.

Birleştirme alanı account_identifier. ZORUNLU: Bu, OTP gönderilmesi gereken hesabın tanımlayıcısıdır. account_identifier şunlardan yalnızca biri olabilir:
accountPhoneNumber

string

Bu, E.164 biçimli bir telefon numarasıdır. Örnek olarak şunlar verilebilir: +14035551111 ve +918067218000. Bu, başına her zaman bir + işareti gelecektir ve yalnızca rakamların ardından gelir (tire olmadan).

Bu alan, kullanıcı hesabını Google ile ilk kez ilişkilendirdiğinde ve yeniden ilişkilendirme sırasında doldurulur.

associationId

string

Bu, kullanıcının hesabına referans vermek için kullanılan ilişkilendirme tanımlayıcısıdır.

Bu alan, ilk ilişkilendirmeden sonra gelen tüm sonraki çağrılar için doldurulur.

Yanıt gövdesi

sendOtp yönteminin yanıt nesnesi.

Başarılı olursa yanıt metni aşağıdaki yapıyla birlikte verileri içerir:

JSON gösterimi
{
  "responseHeader": {
    object (ResponseHeader)
  },
  "paymentIntegratorSendOtpId": string,
  "result": enum (SendOtpResultCode)
}
Alanlar
responseHeader

object (ResponseHeader)

ZORUNLU: Tüm yanıtlar için ortak başlık.

paymentIntegratorSendOtpId

string

İSTEĞE BAĞLI: Entegratörün, OTP isteğini nasıl gönderdiğini bildiği tanımlayıcı. Bu, entegratör tarafından oluşturulmuştur.

result

enum (SendOtpResultCode)

ZORUNLU: Bu isteğin sonucu

OtpContext

OTP'nin istendiği bağlam.

JSON gösterimi
{

  // 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.
}
Alanlar
Birleştirme alanı otp_context. ZORUNLU: OTP'nin istendiği bağlam. otp_context şunlardan yalnızca biri olabilir:
association

object (Empty)

OTP, ilişkilendirme/yeniden ilişkilendirme bağlamında isteniyor.

mandateCreation

object (Empty)

OTP, talimat oluşturma bağlamında talep edilmektedir.

associationWithMandateCreation

object (Empty)

Talimat oluşturma ile birlikte OTP ilişkilendirme için isteniyor.

Boş

Bu türde alan yok.

Boolelerin ve numaralandırmaların genellikle ekstra verilerle genişletilmesi gerektiğinden, bu nesne genişletilebilirlik amacıyla kullanılır. Uygulayan kişi, kimliği belirlemek için bu bilgileri kullanır. Bunun temsil ettiği numaralandırma, gelecekteki sürümlerdeki verileri içerecek şekilde genişletilebilir.

Empty işlevinin JSON gösterimi, boş JSON nesnesidir {}.

SendOtpResultCode

OTP gönderme isteği için sonuç kodları.

Sıralamalar
UNKNOWN_RESULT Bu varsayılan değeri asla ayarlamayın.
SUCCESS Entegratör, OTP'yi gönderdi.
PHONE_NUMBER_NOT_ASSOCIATED_WITH_ACCOUNT Telefon numarası, associationId tarafından tanımlanan hesapla ilişkilendirilmemiş.
UNKNOWN_PHONE_NUMBER Telefon numarası herhangi bir hesapla ilişkilendirilmemiş. Bu, associationId ayarlanmadığında kullanılır.
MESSAGE_UNABLE_TO_BE_SENT Entegratör, bir nedenden dolayı OTP'yi gönderemedi. Bu geçici bir hatadır ve bu çağrının yeniden denenmesine neden olabilir.
INVALID_PHONE_NUMBER Telefon numarası biçimi yanlıştı.
NOT_ELIGIBLE Kullanıcının hesabı bu hizmet için uygun değil.
OTP_LIMIT_REACHED Kullanıcı, çok fazla OTP istedi veya doğrulamayı denedi.
ACCOUNT_CLOSED

Kullanıcının entegrasyon uzmanındaki hesabı kapatıldı. Bu yalnızca "associationId" bu kullanıcıyı tanımlamak için kullanılıyor.

Bu değerin döndürülmesi, kullanıcının aracının Google ile kapatılmasına neden olur. Kullanıcı, ilişkilendirme akışından tekrar geçerek yeni bir araç eklemeye zorlanır.

ACCOUNT_CLOSED_ACCOUNT_TAKEN_OVER

Kullanıcının entegrasyon uzmanındaki hesabı kapatıldı ve şüpheli hesap devralındı. Bu yalnızca "associationId" bu kullanıcıyı tanımlamak için kullanılıyor.

Bu değerin döndürülmesi, kullanıcının aracının Google ile kapatılmasına neden olur. Kullanıcı, ilişkilendirme akışından tekrar geçerek yeni bir araç eklemeye zorlanır.

ACCOUNT_CLOSED_FRAUD

Kullanıcının entegrasyon uzmanındaki hesabı sahtekarlık nedeniyle kapatıldı. Bu yalnızca "associationId" bu kullanıcıyı tanımlamak için kullanılıyor.

Bu değerin döndürülmesi, kullanıcının aracının Google ile kapatılmasına neden olur. Kullanıcı, ilişkilendirme akışından tekrar geçerek yeni bir araç eklemeye zorlanır.