Method: sendOtp

Poproś integratora o wysłanie hasła jednorazowego na numer telefonu.

Jeśli integrator zwraca wartość SUCCESS, Google oczekuje SMS-a wysłanego na numer telefonu.

Google udostępnia accountPhoneNumber tylko wtedy, gdy użytkownik po raz pierwszy wiąże swoje konto z Google. Po jej wykonaniu w kolejnych połączeniach będzie wysyłany tylko associationId.

Jeśli podczas przetwarzania żądania punkt końcowy napotka błąd, treść odpowiedzi tego punktu końcowego powinna być typu ErrorResponse.

Przykładowe żądanie wygląda tak:


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

Przykładowa odpowiedź:


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

Żądanie HTTP

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

Treść żądania

Treść żądania zawiera dane o następującej strukturze:

Zapis 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.
}
Pola
requestHeader

object (RequestHeader)

REQUIRED: wspólny nagłówek dla wszystkich żądań,

smsMatchingToken

string

WYMAGANE: ta wartość jest udostępniana przez Google i musi być uwzględniona w SMS-ie dostarczonym do użytkownika. Dzięki temu Google będzie automatycznie dopasowywać SMS-y na urządzeniu z Androidem O (patrz informacje). Będzie to 11 znaków.

Jeśli SMS-y wyglądają np. tak:

Here's the OTP you requested: <OTP>

Google wysyła „0123456789A” w tym polu, SMS powinien wyglądać tak:

0123456789A

Here's the OTP you requested: YYXXZZ

Może też wyglądać tak:

Here's the OTP you requested: YYXXZZ

0123456789A

otpContext

object (OtpContext)

OPCJONALNIE: jest to kontekst, w którym żądane jest hasło jednorazowe.

Pole sumy account_identifier. WYMAGANE: identyfikator konta, na które należy wysłać hasło jednorazowe. account_identifier może mieć tylko jedną z tych wartości:
accountPhoneNumber

string

To jest numer telefonu w formacie E.164. Przykłady: +14035551111 i +918067218000. Ciąg zawsze będzie poprzedzony znakiem + i będzie zawierał tylko cyfry (bez myślników).

Pole jest wypełniane, gdy użytkownik początkowo powiąże swoje konto z Google i podczas procesu powiązania.

associationId

string

Jest to identyfikator powiązania używany do odwołania do konta użytkownika.

Wartość jest wypełniana w przypadku wszystkich kolejnych wywołań po pierwszym powiązaniu.

Treść odpowiedzi

Obiekt odpowiedzi na metodę sendOtp.

W przypadku powodzenia treść żądania zawiera dane o następującej strukturze:

Zapis JSON
{
  "responseHeader": {
    object (ResponseHeader)
  },
  "paymentIntegratorSendOtpId": string,
  "result": enum (SendOtpResultCode)
}
Pola
responseHeader

object (ResponseHeader)

WYMAGANE: wspólny nagłówek wszystkich odpowiedzi.

paymentIntegratorSendOtpId

string

OPCJONALNIE: integrator wie, że wysyła to hasło jednorazowe. Został wygenerowany przez integratora.

result

enum (SendOtpResultCode)

REQUIRED: wynik tego żądania

OtpContext

Kontekst, w którym zażądano hasła jednorazowego.

Zapis 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.
}
Pola
Pole sumy otp_context. WYMAGANE: kontekst, w którym żądane jest hasło jednorazowe. otp_context może mieć tylko jedną z tych wartości:
association

object (Empty)

Żądanie dotyczące hasła jednorazowego jest wymagane w kontekście powiązania lub ponownego powiązania.

mandateCreation

object (Empty)

Żądanie dotyczące hasła jednorazowego jest wymagane w kontekście utworzenia upoważnienia.

associationWithMandateCreation

object (Empty)

Wysyłane jest hasło jednorazowe powiązane z upoważnieniem.

Brak

Ten typ nie zawiera pól.

Ten obiekt jest używany do rozszerzania, ponieważ wartości logiczne i wyliczenia często trzeba rozszerzyć o dodatkowe dane. Stosuje ją na potrzeby określania obecności. Wartość, którą reprezentuje, może zostać rozszerzona, aby uwzględnić dane w kolejnych wersjach.

Reprezentacja JSON Empty jest pustym obiektem JSON {}.

KodOOppSend

Kody wyniku dla żądania hasła jednorazowego wysłanego w wiadomości.

Wartości w polu enum
UNKNOWN_RESULT Nie ustawiaj nigdy tej wartości domyślnej!
SUCCESS Hasło zostało wysłane przez integratora.
PHONE_NUMBER_NOT_ASSOCIATED_WITH_ACCOUNT Numer telefonu nie jest powiązany z kontem wskazanym przez: associationId.
UNKNOWN_PHONE_NUMBER Numer telefonu nie jest powiązany z żadnym kontem. Jest ona używana, gdy zasada associationId nie jest skonfigurowana.
MESSAGE_UNABLE_TO_BE_SENT Z jakiegoś powodu integrator nie mógł wysłać hasła jednorazowego. Jest to błąd przejściowy, co może skutkować ponowieniem tego wywołania.
INVALID_PHONE_NUMBER Format numeru telefonu był nieprawidłowy.
NOT_ELIGIBLE Konto użytkownika nie kwalifikuje się do korzystania z tej usługi.
OTP_LIMIT_REACHED Użytkownik poprosił o weryfikację zbyt wielu haseł jednorazowych.
ACCOUNT_CLOSED

Konto użytkownika objęte integratorem zostało zamknięte. Należy go używać tylko do identyfikowania tego użytkownika za pomocą parametru „associationId”.

Zwracanie tej wartości spowoduje zamknięcie instrumentu użytkownika w Google. Użytkownik będzie musiał dodać nowy instrument, przechodząc proces tworzenia powiązania.

ACCOUNT_CLOSED_ACCOUNT_TAKEN_OVER

Konto użytkownika u integratora zostało zamknięte, co do których zachodzi podejrzenie, że konto zostanie przejęte. Należy go używać tylko do identyfikowania tego użytkownika za pomocą parametru „associationId”.

Zwracanie tej wartości spowoduje zamknięcie instrumentu użytkownika w Google. Użytkownik będzie musiał dodać nowy instrument, przechodząc proces tworzenia powiązania.

ACCOUNT_CLOSED_FRAUD

Konto użytkownika objęte integratorem zostało zamknięte z powodu oszustwa. Należy go używać tylko do identyfikowania tego użytkownika za pomocą parametru „associationId”.

Zwracanie tej wartości spowoduje zamknięcie instrumentu użytkownika w Google. Użytkownik będzie musiał dodać nowy instrument, przechodząc proces tworzenia powiązania.