Demande à l'intégrateur d'envoyer un mot de passe à usage unique au numéro de téléphone.
Si l'intégrateur renvoie SUCCESS
, Google s'attend à ce qu'un SMS soit envoyé au numéro de téléphone.
Google ne fournit un accountPhoneNumber
que lorsqu'un utilisateur associe initialement son compte à Google. Ensuite, seul associationId
serait envoyé pour tous les appels suivants.
Si le point de terminaison rencontre une erreur lors du traitement de la requête, le corps de la réponse de ce point de terminaison doit être de type
.ErrorResponse
Exemple de requête:
{
"requestHeader": {
"protocolVersion": {
"major": 1,
"minor": 0,
"revision": 0
},
"requestId": "0123434-otp-abc",
"requestTimestamp": "1502545413026"
},
"accountPhoneNumber": "+918067218010",
"smsMatchingToken": "AB12345678C",
"otpContext": {
"association": {}
}
}
Exemple de réponse:
{
"responseHeader": {
"responseTimestamp": "1502545413098"
},
"paymentIntegratorSendOtpId": "99==ABC EF",
"result": "SUCCESS"
}
Requête HTTP :
POST https://www.integratorhost.example.com/v1/sendOtp
Corps de la requête
Le corps de la requête contient des données présentant la structure suivante :
Représentation JSON |
---|
{ "requestHeader": { object ( |
Champs | |
---|---|
requestHeader |
REQUIRED: en-tête commun à toutes les requêtes. |
smsMatchingToken |
REQUIRED: cette valeur est fournie par Google et doit être incluse dans le SMS envoyé à l'utilisateur. Cela permet à Google de faire correspondre automatiquement le SMS sur l'appareil Android O (voir la référence). Cela représente 11 caractères. Par exemple, si le SMS ressemble généralement à ceci:
Et si Google envoie "0123456789A" à ce champ, le SMS devrait ressembler à ceci:
Voici un exemple:
|
otpContext |
FACULTATIF: il s'agit du contexte dans lequel un OTP est demandé. |
Champ d'union account_identifier . OBLIGATOIRE: il s'agit de l'identifiant du compte pour lequel un mot de passe à usage unique doit être envoyé. La account_identifier ne peut être qu'un des éléments suivants : |
|
accountPhoneNumber |
Il s'agit d'un numéro de téléphone au format E.164. Exemples : +14035551111 et +918067218000. Le signe "+" est alors toujours ajouté, suivi des chiffres (pas de tirets). Ce champ est renseigné lorsqu'un utilisateur associe son compte à Google lors de la réassociation. |
associationId |
Il s'agit de l'identifiant d'association utilisé pour référencer le compte d'un utilisateur. Valeur renseignée pour tous les appels suivants après l'association initiale |
Corps de la réponse
Objet de réponse pour la méthode sendOtp.
Si la requête aboutit, le corps de la réponse contient des données qui ont la structure suivante :
Représentation JSON |
---|
{ "responseHeader": { object ( |
Champs | |
---|---|
responseHeader |
REQUIRED: en-tête commun pour toutes les réponses. |
paymentIntegratorSendOtpId |
FACULTATIF: identifiant de l'intégrateur envoyé pour cette requête d'envoi de mot de passe à usage unique. Il est généré par l'intégrateur. |
result |
REQUIRED: résultat de cette requête |
Contexte OTP
Contexte dans lequel un OTP est demandé.
Représentation JSON |
---|
{ // Union field |
Champs | |
---|---|
Champ d'union otp_context . REQUIRED: contexte dans lequel un OTP est demandé. La otp_context ne peut être qu'un des éléments suivants : |
|
association |
L'OTP est demandé dans le contexte de l'association ou de la réassociation. |
mandateCreation |
Le mot de passe à usage unique est demandé dans le cadre de la création du mandat. |
associationWithMandateCreation |
L'association et la création du mandat sont demandées. |
Vide
Ce type ne comporte aucun champ.
Cet objet est utilisé pour l'extensibilité, car les valeurs booléennes et les énumérations doivent souvent être étendues avec des données supplémentaires. Le responsable de l'implémentation l'utilise pour déterminer la présence. L'énumération que vous représentez peut être étendue pour contenir des données dans les futures versions.
La représentation JSON pour Empty
est un objet JSON vide {}
.
Envoyer le code OtpResult
Codes de résultat pour l'envoi de la requête OTP.
Enums | |
---|---|
UNKNOWN_RESULT |
Ne définissez jamais cette valeur par défaut. |
SUCCESS |
L'intégrateur a envoyé le mot de passe à usage unique. |
PHONE_NUMBER_NOT_ASSOCIATED_WITH_ACCOUNT |
Le numéro de téléphone n'est pas associé au compte identifié par associationId . |
UNKNOWN_PHONE_NUMBER |
Le numéro de téléphone n'est associé à aucun compte. Utilisée lorsque associationId n'est pas défini. |
MESSAGE_UNABLE_TO_BE_SENT |
L'intégrateur n'a pas pu envoyer le mot de passe à usage unique pour une raison inconnue. Il s'agit d'une erreur temporaire qui peut entraîner une nouvelle tentative de l'appel. |
INVALID_PHONE_NUMBER |
Le format du numéro de téléphone était incorrect. |
NOT_ELIGIBLE |
Le compte de l'utilisateur n'est pas éligible pour ce service. |
OTP_LIMIT_REACHED |
L'utilisateur a demandé ou essayé de valider un trop grand nombre de mots de passe à usage unique. |
ACCOUNT_CLOSED |
Le compte de l'utilisateur associé à l'intégrateur a été clôturé. Ce champ ne doit être utilisé que pour identifier l'utilisateur grâce à "associationId". Si vous renvoyez cette valeur, l'instrument de l'utilisateur sera fermé avec Google. L'utilisateur sera contraint d'ajouter un nouvel instrument en suivant à nouveau le flux d'association. |
ACCOUNT_CLOSED_ACCOUNT_TAKEN_OVER |
Le compte de l'utilisateur associé à l'intégrateur a été clôturé. Il risque d'être piraté. Ce champ ne doit être utilisé que pour identifier l'utilisateur grâce à "associationId". Si vous renvoyez cette valeur, l'instrument de l'utilisateur sera fermé avec Google. L'utilisateur sera contraint d'ajouter un nouvel instrument en suivant à nouveau le flux d'association. |
ACCOUNT_CLOSED_FRAUD |
Le compte de l'utilisateur détenu par l'intégrateur a été clôturé pour cause de fraude. Ce champ ne doit être utilisé que pour identifier l'utilisateur grâce à "associationId". Si vous renvoyez cette valeur, l'instrument de l'utilisateur sera fermé avec Google. L'utilisateur sera contraint d'ajouter un nouvel instrument en suivant à nouveau le flux d'association. |