SMS Phone Confirmation API
El endpoint /GDPR_VERIF/ verifica el código PIN introducido por el usuario contra el token devuelto por una solicitud previa a GDPR_MSG.
Cuándo usar este endpoint - Llame a
GDPR_VERIF para comprobar el PIN que un usuario recibió por SMS. Primero debe obtener un token llamando a SMS Phone Confirmation API — Enviar OTP (/GDPR_MSG/) →
/GDPR_VERIF/
Solicitud
Se admiten tanto GET como POST.
{SERVER_ADDRESS} es proporcionado por DQE al crear la cuenta. Póngase en contacto con su gestor de cuenta de DQE para obtenerlo.
GEThttps://{SERVER_ADDRESS}/GDPR_VERIF/?Phone={PHONE}&Token={SMS_TOKEN}&Pin={CODE_PIN}
Ejemplos de código
Verificar un código 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/
Envíe todos los parámetros en el cuerpo de la solicitud usando Content-Type: application/x-www-form-urlencoded. La dirección del servidor permanece en la URL.
Ejemplos de código
Verificar un código 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))
}
Parámetros
| Parámetro | Descripción | Obl / Opc |
|---|---|---|
| Phone | Número de teléfono en formato internacional, sin el signo + y sin espacios (por ejemplo, 34XXXXXXXXX para España). |
Obligatorio |
| Token | Identificador devuelto por la solicitud GDPR_MSG (campo smsToken). |
Obligatorio |
| Pin | Código de verificación de 6 dígitos recibido por el usuario vía SMS. | Obligatorio |
Respuesta
| Clave | Descripción | Tipo |
|---|---|---|
| status |
OK si el PIN es válido, KO en caso contrario. |
String |
| phone | Número de teléfono en formato internacional. | String |
| dateTime | Fecha y hora de la verificación. | String |
| channels | Canales de comunicación seleccionados. | Object |
| errors | Detalles del error. Véase la tabla de códigos de error a continuación. | Object |
Códigos de error
| Código | Descripción |
|---|---|
00 |
Sin errores. |
01 |
Faltan parámetros. |
02 |
El PIN debe contener 6 dígitos. |
03 |
El PIN ha caducado. |
04 |
PIN no válido para este token o número de teléfono. |
05 |
Token no válido. |
Ejemplo de respuesta
PIN válido
{
"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"
}
Probar la API
Haga clic en el botón de abajo para probar este endpoint en vivo desde su navegador.
Abrir consola
Véase también
Relacionada con