電話番号への OTP の送信をインテグレーターにリクエストします。
インテグレータが SUCCESS
を返すと、Google は電話番号に SMS が送信されることを想定します。
Google は、ユーザーが最初にアカウントを Google に関連付けたときにのみ、accountPhoneNumber
を提供します。その後は、以降のすべての呼び出しで 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 |
必須: この値は Google によって提供され、ユーザーに配信される SMS に含める必要があります。これにより、Google は Android O デバイスに対するデバイスの SMS と自動的にマッチングします(参照を参照)。これは 11 文字です。 たとえば、SMS が通常は次のようになります。
このフィールドに「0123456789A」を送信すると、SMS は次のようになります。
または、次のようになります。
|
otpContext |
省略可: OTP がリクエストされる状況を示します。 |
共用体フィールド account_identifier 。必須: OTP を送信する必要があるアカウントの ID です。account_identifier は次のいずれかになります。 |
|
accountPhoneNumber |
これは E.164 形式の電話番号です。例: +14035551111、+918067218000。先頭は必ず + となり、その後に数字のみが含まれます(ダッシュは使用しません)。 この値は、ユーザーが最初にアカウントを Google に関連付けるときと、再関連付けの際に入力されます。 |
associationId |
これは、ユーザーのアカウントの参照に使用される関連付け ID です。 このデータは、最初の関連付けの後のすべての呼び出しで入力されます。 |
レスポンスの本文
sendOtp メソッドのレスポンス オブジェクト。
成功すると、レスポンスの本文に次の構造のデータが含まれます。
JSON 表現 |
---|
{ "responseHeader": { object ( |
フィールド | |
---|---|
responseHeader |
必須: すべてのレスポンスに共通するヘッダーです。 |
paymentIntegratorSendOtpId |
省略可: インテグレータがこの OTP 送信リクエストとして認識している識別子。これはインテグレータが生成するものです。 |
result |
必須: このリクエストの結果。 |
OTP コンテキスト
OTP がリクエストされているコンテキスト。
JSON 表現 |
---|
{ // Union field |
フィールド | |
---|---|
共用体フィールド otp_context 。必須: OTP がリクエストされているコンテキスト。otp_context は次のいずれかになります。 |
|
association |
関連付け/再関連付けのコンテキストで OTP がリクエストされている。 |
mandateCreation |
委任の作成に関連して OTP がリクエストされています。 |
associationWithMandateCreation |
委任を作成して、関連付けを行うよう OTP をリクエストしています。 |
空
このタイプにはフィールドがありません。
ブール値と列挙は多くの場合、追加データで拡張する必要があるため、このオブジェクトは拡張に使用されます。実装者はこれを使用してプレゼンスを判断します。この列挙型は、今後のバージョンでデータが含まれるように拡張される可能性があります。
Empty
の JSON 表現は、空の JSON オブジェクト {}
です。
SendOtpResultCode
OTP リクエストの送信結果コード。
列挙型 | |
---|---|
UNKNOWN_RESULT |
このデフォルト値を設定しないでください。 |
SUCCESS |
インテグレーターが OTP を送信しました。 |
PHONE_NUMBER_NOT_ASSOCIATED_WITH_ACCOUNT |
電話番号が associationId で指定されたアカウントに関連付けられていません。 |
UNKNOWN_PHONE_NUMBER |
電話番号がどのアカウントにも関連付けられていません。associationId が設定されていない場合に使用されます。 |
MESSAGE_UNABLE_TO_BE_SENT |
なんらかの理由でインテグレーターが OTP を送信できませんでした。これは一時的なエラーであり、この呼び出しが再試行される可能性があります。 |
INVALID_PHONE_NUMBER |
電話番号の形式が間違っていた。 |
NOT_ELIGIBLE |
ユーザーのアカウントはこのサービスの対象外です。 |
OTP_LIMIT_REACHED |
ユーザーがリクエストしている OTP の数が多すぎます。 |
ACCOUNT_CLOSED |
インテグレーターが保持するユーザーのアカウントが閉鎖されています。「aAssociationonId」がこのユーザーの特定に使用される場合にのみ使用してください。 この値を返すと、Google でユーザーの支払い方法が終了します。ユーザーは関連付けフローを再度実行して、新しい支払い方法を追加するよう求められます。 |
ACCOUNT_CLOSED_ACCOUNT_TAKEN_OVER |
インテグレーターのユーザー アカウントが閉鎖されたため、アカウントが乗っ取られた可能性があります。「aAssociationonId」がこのユーザーの特定に使用される場合にのみ使用してください。 この値を返すと、Google でユーザーの支払い方法が終了します。ユーザーは関連付けフローを再度実行して、新しい支払い方法を追加するよう求められます。 |
ACCOUNT_CLOSED_FRAUD |
インテグレーターが保有するユーザーのアカウントは、不正行為を理由に閉鎖されています。「aAssociationonId」がこのユーザーの特定に使用される場合にのみ使用してください。 この値を返すと、Google でユーザーの支払い方法が終了します。ユーザーは関連付けフローを再度実行して、新しい支払い方法を追加するよう求められます。 |