prosi integratora o wysłanie hasła jednorazowego na numer telefonu.
Jeśli integrator zwróci wartość SUCCESS
, Google oczekuje SMS-a wysłanego na numer telefonu.
Google udostępnia usługę accountPhoneNumber
tylko wtedy, gdy użytkownik po raz pierwszy powiążesz swoje konto z Google. Od tego momentu w przypadku wszystkich kolejnych połączeń będzie wysyłane tylko associationId
.
Jeśli podczas przetwarzania żądania punkt końcowy napotka błąd, treść odpowiedzi z 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ź wygląda tak:
{
"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 |
WYMAGANE: wspólny nagłówek dla wszystkich żądań. |
smsMatchingToken |
WYMAGANE: ta wartość jest podawana przez Google i musi być zawarta w SMS-ie dostarczanym do użytkownika. To pozwala Google na automatyczne dopasowywanie SMS-ów na urządzeniu z Androidem O (patrz źródło informacji). Będzie to 11 znaków. Jeśli na przykład SMS wygląda zwykle tak:
Google wysyła kod „0123456789A” w tym polu wiadomość SMS powinna wyglądać tak:
Może też wyglądać tak:
|
otpContext |
OPCJONALNY: to kontekst, w którym żądane jest hasło jednorazowe. |
Pole sumy account_identifier . WYMAGANE: to jest identyfikator konta, w którego przypadku ma zostać wysłane 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. Zawsze zaczyna się od znaku +, a po nim zawiera tylko cyfry (bez myślników). To pole jest wypełniane, gdy użytkownik po raz pierwszy powiąże swoje konto z Google i w trakcie anulowania powiązania. |
associationId |
Jest to identyfikator powiązania używany do odwoływania się do konta użytkownika. Pole jest wypełniane przy wszystkich kolejnych wywołaniach po pierwszym powiązaniu. |
Treść odpowiedzi
Obiekt odpowiedzi dla metody 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 |
OPCJONALNE: identyfikator, który integrator wie, że to żądanie wysłane z użyciem hasła jednorazowego jest wysyłane. Wygenerowano go przez integratora. |
result |
WYMAGANE: wynik tego żądania. |
OtpContext
Kontekst, w którym żądane jest hasło jednorazowe.
Zapis JSON |
---|
{ // Union field |
Pola | |
---|---|
Pole sumy otp_context . WYMAGANE: kontekst, w którym wysyłane jest żądanie hasła jednorazowego. otp_context może mieć tylko jedną z tych wartości: |
|
association |
Zażądano hasła jednorazowego w kontekście powiązania/ponownego powiązania. |
mandateCreation |
Hasło jednorazowe jest wysyłane w kontekście tworzenia upoważnienia. |
associationWithMandateCreation |
Zgłasza się prośbę o utworzenie powiązania z hasłem jednorazowym wraz z utworzeniem upoważnienia. |
Pusta
Ten typ nie zawiera pól.
Ten obiekt służy do rozszerzania, ponieważ wartości logiczne i wyliczenia często wymagają rozszerzenia o dodatkowe dane. Na jego podstawie realizator określa obecność. Przedstawione tu wyliczenie może zostać rozszerzone, aby obejmowało dane w przyszłych wersjach.
Reprezentacja pola Empty
w formacie JSON to pusty obiekt JSON {}
.
SendOtpResultCode
Kody wyników do wysłania żądania hasła jednorazowego.
Wartości w polu enum | |
---|---|
UNKNOWN_RESULT |
Nigdy nie ustawiaj tej wartości domyślnej. |
SUCCESS |
Integrator wysłał hasło jednorazowe. |
PHONE_NUMBER_NOT_ASSOCIATED_WITH_ACCOUNT |
Numer telefonu nie jest powiązany z kontem zidentyfikowanym 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 chwilowy błąd i może spowodować ponowienie próby połączenia. |
INVALID_PHONE_NUMBER |
Nieprawidłowy format numeru telefonu. |
NOT_ELIGIBLE |
Konto użytkownika nie ma dostępu do tej usługi. |
OTP_LIMIT_REACHED |
Użytkownik poprosił lub próbował zweryfikować zbyt wiele haseł jednorazowych. |
ACCOUNT_CLOSED |
Konto użytkownika przypisane do integratora zostało zamknięte. Należy go używać tylko wtedy, gdy „associationId” jest wykorzystywany do identyfikacji tego użytkownika. Zwrócenie tej wartości spowoduje zamknięcie instrumentu użytkownika przez Google. Użytkownik będzie musiał dodać nowy instrument, wykonując ponownie proces tworzenia powiązania. |
ACCOUNT_CLOSED_ACCOUNT_TAKEN_OVER |
Konto użytkownika u integratora zostało zamknięte. Istnieje podejrzenie przejęcia konta. Należy go używać tylko wtedy, gdy „associationId” jest wykorzystywany do identyfikacji tego użytkownika. Zwrócenie tej wartości spowoduje zamknięcie instrumentu użytkownika przez Google. Użytkownik będzie musiał dodać nowy instrument, wykonując ponownie proces tworzenia powiązania. |
ACCOUNT_CLOSED_FRAUD |
Konto użytkownika powiązane z integratorem zostało zamknięte z powodu oszustwa. Należy go używać tylko wtedy, gdy „associationId” jest wykorzystywany do identyfikacji tego użytkownika. Zwrócenie tej wartości spowoduje zamknięcie instrumentu użytkownika przez Google. Użytkownik będzie musiał dodać nowy instrument, wykonując ponownie proces tworzenia powiązania. |