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 ( |
Pola | |
---|---|
requestHeader |
REQUIRED: wspólny nagłówek dla wszystkich żądań, |
smsMatchingToken |
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:
Google wysyła „0123456789A” w tym polu, SMS powinien wyglądać tak:
Może też wyglądać tak:
|
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 |
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 |
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 ( |
Pola | |
---|---|
responseHeader |
WYMAGANE: wspólny nagłówek wszystkich odpowiedzi. |
paymentIntegratorSendOtpId |
OPCJONALNIE: integrator wie, że wysyła to hasło jednorazowe. Został wygenerowany przez integratora. |
result |
REQUIRED: wynik tego żądania |
OtpContext
Kontekst, w którym zażądano hasła jednorazowego.
Zapis JSON |
---|
{ // Union field |
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 |
Żądanie dotyczące hasła jednorazowego jest wymagane w kontekście powiązania lub ponownego powiązania. |
mandateCreation |
Żądanie dotyczące hasła jednorazowego jest wymagane w kontekście utworzenia upoważnienia. |
associationWithMandateCreation |
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. |