API SMS Phone Confirmation
L'endpoint /GDPR_VERIF/ vérifie le code PIN saisi par l'utilisateur par rapport au jeton renvoyé par une requête GDPR_MSG précédente.
Quand utiliser cet endpoint - Appelez
GDPR_VERIF pour vérifier le code PIN reçu par SMS par un utilisateur. Vous devez d'abord obtenir un jeton en appelant API SMS Phone Confirmation — Envoyer un code OTP (/GDPR_MSG/) →
/GDPR_VERIF/
Requête
Les méthodes GET et POST sont toutes deux prises en charge.
{SERVER_ADDRESS} vous est fourni par DQE à la création de votre compte. Contactez votre chargé de compte DQE pour l'obtenir.
GEThttps://{SERVER_ADDRESS}/GDPR_VERIF/?Phone={PHONE}&Token={SMS_TOKEN}&Pin={CODE_PIN}
Exemples de code
Vérifier un code PIN
curl "https://{SERVER_ADDRESS}/GDPR_VERIF/?Phone=33612345678&Token=C6hfYZIER3CVoGVYwTiZLg&Pin=123456"
fetch("https://{SERVER_ADDRESS}/GDPR_VERIF/?" + new URLSearchParams({
Phone: "33612345678",
Token: "C6hfYZIER3CVoGVYwTiZLg",
Pin: "123456"
}))
.then(r => r.json())
.then(data => console.log(data));
import requests
response = requests.get(
"https://{SERVER_ADDRESS}/GDPR_VERIF/",
params={
"Phone": "33612345678",
"Token": "C6hfYZIER3CVoGVYwTiZLg",
"Pin": "123456",
},
)
print(response.json())
<?php
$params = http_build_query([
'Phone' => '33612345678',
'Token' => 'C6hfYZIER3CVoGVYwTiZLg',
'Pin' => '123456',
]);
$ch = curl_init("https://{SERVER_ADDRESS}/GDPR_VERIF/?{$params}");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
curl_close($ch);
$data = json_decode($response, true);
const axios = require('axios');
axios.get('https://{SERVER_ADDRESS}/GDPR_VERIF/', {
params: {
Phone: '33612345678',
Token: 'C6hfYZIER3CVoGVYwTiZLg',
Pin: '123456'
}
})
.then(response => console.log(response.data));
HttpClient client = HttpClient.newHttpClient();
String url = "https://{SERVER_ADDRESS}/GDPR_VERIF/"
+ "?Phone=33612345678&Token=C6hfYZIER3CVoGVYwTiZLg&Pin=123456";
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create(url))
.GET()
.build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
using var client = new HttpClient();
var url = "https://{SERVER_ADDRESS}/GDPR_VERIF/" +
"?Phone=33612345678&Token=C6hfYZIER3CVoGVYwTiZLg&Pin=123456";
var response = await client.GetAsync(url);
var body = await response.Content.ReadAsStringAsync();
Console.WriteLine(body);
package main
import (
"fmt"
"io"
"net/http"
)
func main() {
url := "https://{SERVER_ADDRESS}/GDPR_VERIF/" +
"?Phone=33612345678&Token=C6hfYZIER3CVoGVYwTiZLg&Pin=123456"
resp, err := http.Get(url)
if err != nil {
panic(err)
}
defer resp.Body.Close()
body, _ := io.ReadAll(resp.Body)
fmt.Println(string(body))
}
POSThttps://{SERVER_ADDRESS}/GDPR_VERIF/
Envoyez tous les paramètres dans le corps de la requête au format Content-Type: application/x-www-form-urlencoded. L'adresse du serveur reste dans l'URL.
Exemples de code
Vérifier un code PIN
curl -X POST "https://{SERVER_ADDRESS}/GDPR_VERIF/" \
-H "Content-Type: application/x-www-form-urlencoded" \
-d "Phone=33612345678" \
-d "Token=C6hfYZIER3CVoGVYwTiZLg" \
-d "Pin=123456"
fetch("https://{SERVER_ADDRESS}/GDPR_VERIF/", {
method: "POST",
headers: { "Content-Type": "application/x-www-form-urlencoded" },
body: new URLSearchParams({
Phone: "33612345678",
Token: "C6hfYZIER3CVoGVYwTiZLg",
Pin: "123456"
})
})
.then(r => r.json())
.then(data => console.log(data));
import requests
response = requests.post(
"https://{SERVER_ADDRESS}/GDPR_VERIF/",
data={
"Phone": "33612345678",
"Token": "C6hfYZIER3CVoGVYwTiZLg",
"Pin": "123456",
},
)
print(response.json())
<?php
$ch = curl_init("https://{SERVER_ADDRESS}/GDPR_VERIF/");
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query([
'Phone' => '33612345678',
'Token' => 'C6hfYZIER3CVoGVYwTiZLg',
'Pin' => '123456',
]));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
curl_close($ch);
$data = json_decode($response, true);
const axios = require('axios');
const qs = require('querystring');
axios.post('https://{SERVER_ADDRESS}/GDPR_VERIF/', qs.stringify({
Phone: '33612345678',
Token: 'C6hfYZIER3CVoGVYwTiZLg',
Pin: '123456'
}))
.then(response => console.log(response.data));
HttpClient client = HttpClient.newHttpClient();
String form = "Phone=33612345678&Token=C6hfYZIER3CVoGVYwTiZLg&Pin=123456";
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://{SERVER_ADDRESS}/GDPR_VERIF/"))
.header("Content-Type", "application/x-www-form-urlencoded")
.POST(HttpRequest.BodyPublishers.ofString(form))
.build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
using var client = new HttpClient();
var form = new Dictionary<string, string> {
["Phone"] = "33612345678",
["Token"] = "C6hfYZIER3CVoGVYwTiZLg",
["Pin"] = "123456"
};
var response = await client.PostAsync(
"https://{SERVER_ADDRESS}/GDPR_VERIF/",
new FormUrlEncodedContent(form));
var body = await response.Content.ReadAsStringAsync();
Console.WriteLine(body);
package main
import (
"fmt"
"io"
"net/http"
"net/url"
)
func main() {
form := url.Values{}
form.Set("Phone", "33612345678")
form.Set("Token", "C6hfYZIER3CVoGVYwTiZLg")
form.Set("Pin", "123456")
resp, err := http.PostForm("https://{SERVER_ADDRESS}/GDPR_VERIF/", form)
if err != nil {
panic(err)
}
defer resp.Body.Close()
body, _ := io.ReadAll(resp.Body)
fmt.Println(string(body))
}
Paramètres
| Paramètre | Description | Obl / Opt |
|---|---|---|
| Phone | Numéro de téléphone au format international, sans le signe + et sans espace (par exemple, 44XXXXXXXXXX pour le Royaume-Uni). |
Obligatoire |
| Token | Identifiant renvoyé par la requête GDPR_MSG (champ smsToken). |
Obligatoire |
| Pin | Code de vérification à 6 chiffres reçu par l'utilisateur via SMS. | Obligatoire |
Réponse
| Clé | Description | Type |
|---|---|---|
| status |
OK si le code PIN est valide, KO sinon. |
String |
| phone | Numéro de téléphone au format international. | String |
| dateTime | Date et heure de la vérification. | String |
| channels | Canaux de communication sélectionnés. | Object |
| errors | Détails de l'erreur. Voir le tableau des codes d'erreur ci-dessous. | Object |
Codes d'erreur
| Code | Description |
|---|---|
00 |
Aucune erreur. |
01 |
Paramètres manquants. |
02 |
Le code PIN doit contenir 6 chiffres. |
03 |
Code PIN expiré. |
04 |
Code PIN invalide pour ce jeton ou ce numéro de téléphone. |
05 |
Jeton invalide. |
Exemple de réponse
Code PIN valide
{
"status": "OK",
"phone": "33631525429",
"errors": {
"00": "00 - No errors"
},
"channels": {
"phone": 0,
"post": 0,
"sms": 1,
"email": 1
},
"dateTime": "2019-07-29 11:34:48.998397"
}
Tester l'API
Cliquez sur le bouton ci-dessous pour tester cet endpoint en direct dans votre navigateur.
Ouvrir la console
Voir aussi
Associé à