SMS Phone Confirmation API — Enviar OTP

Support DQE
Support DQE
  • Actualización
SMS Phone Confirmation API

El endpoint /GDPR_MSG/ envía un SMS que contiene un código de verificación a un número de teléfono, junto con los canales de consentimiento de comunicación GDPR seleccionados.

Cuándo usar este endpoint - Llame a GDPR_MSG para enviar un código de verificación SMS de un solo uso a un número de teléfono. Una vez que el usuario responda con el código, verifíquelo usando SMS Phone Confirmation API — Verificar OTP (/GDPR_VERIF/) →

/GDPR_MSG/

Solicitud

Se admiten tanto GET como POST.

{SERVER_ADDRESS} y {LICENCE_CODE} son proporcionados por DQE al crear la cuenta. Póngase en contacto con su gestor de cuenta de DQE para obtenerlos.
GEThttps://{SERVER_ADDRESS}/GDPR_MSG/?Phone={PHONE}&Duration={DURATION}&Custom_sms={CUSTOM_SMS_CONTENT}&Phonecom={VALUE_PHONECOM}&Email={VALUE_EMAIL}&Post={VALUE_POST}&Sms={VALUE_SMS}&Country={COUNTRY_CODE}&Licence={LICENCE_CODE}&Company={COMPANY_NAME}

Ejemplos de código

Enviar un código de verificación

curl "https://{SERVER_ADDRESS}/GDPR_MSG/?Licence={LICENCE_CODE}&Phone=33612345678&Country=FRA&Company=MYCOMPANY&Custom_sms=Your%20confirmation%20code%20is"
fetch("https://{SERVER_ADDRESS}/GDPR_MSG/?" + new URLSearchParams({ Licence: "{LICENCE_CODE}", Phone: "33612345678", Country: "FRA", Company: "MYCOMPANY", Custom_sms: "Your confirmation code is" })) .then(r => r.json()) .then(data => console.log(data));
import requests response = requests.get( "https://{SERVER_ADDRESS}/GDPR_MSG/", params={ "Licence": "{LICENCE_CODE}", "Phone": "33612345678", "Country": "FRA", "Company": "MYCOMPANY", "Custom_sms": "Your confirmation code is", }, ) print(response.json())
<?php $params = http_build_query([ 'Licence' => '{LICENCE_CODE}', 'Phone' => '33612345678', 'Country' => 'FRA', 'Company' => 'MYCOMPANY', 'Custom_sms' => 'Your confirmation code is', ]); $ch = curl_init("https://{SERVER_ADDRESS}/GDPR_MSG/?{$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_MSG/', { params: { Licence: '{LICENCE_CODE}', Phone: '33612345678', Country: 'FRA', Company: 'MYCOMPANY', Custom_sms: 'Your confirmation code is' } }) .then(response => console.log(response.data));
HttpClient client = HttpClient.newHttpClient(); String url = "https://{SERVER_ADDRESS}/GDPR_MSG/" + "?Licence={LICENCE_CODE}&Phone=33612345678&Country=FRA&Company=MYCOMPANY&Custom_sms=Your+confirmation+code+is"; 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_MSG/" + "?Licence={LICENCE_CODE}&Phone=33612345678&Country=FRA&Company=MYCOMPANY&Custom_sms=Your+confirmation+code+is"; 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_MSG/" + "?Licence={LICENCE_CODE}&Phone=33612345678&Country=FRA&Company=MYCOMPANY&Custom_sms=Your+confirmation+code+is" 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_MSG/

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

Enviar un código de verificación

curl -X POST "https://{SERVER_ADDRESS}/GDPR_MSG/" \ -H "Content-Type: application/x-www-form-urlencoded" \ -d "Licence={LICENCE_CODE}" \ -d "Phone=33612345678" \ -d "Country=FRA" \ -d "Company=MYCOMPANY" \ -d "Custom_sms=Your confirmation code is"
fetch("https://{SERVER_ADDRESS}/GDPR_MSG/", { method: "POST", headers: { "Content-Type": "application/x-www-form-urlencoded" }, body: new URLSearchParams({ Licence: "{LICENCE_CODE}", Phone: "33612345678", Country: "FRA", Company: "MYCOMPANY", Custom_sms: "Your confirmation code is" }) }) .then(r => r.json()) .then(data => console.log(data));
import requests response = requests.post( "https://{SERVER_ADDRESS}/GDPR_MSG/", data={ "Licence": "{LICENCE_CODE}", "Phone": "33612345678", "Country": "FRA", "Company": "MYCOMPANY", "Custom_sms": "Your confirmation code is", }, ) print(response.json())
<?php $ch = curl_init("https://{SERVER_ADDRESS}/GDPR_MSG/"); curl_setopt($ch, CURLOPT_POST, true); curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query([ 'Licence' => '{LICENCE_CODE}', 'Phone' => '33612345678', 'Country' => 'FRA', 'Company' => 'MYCOMPANY', 'Custom_sms' => 'Your confirmation code is', ])); 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_MSG/', qs.stringify({ Licence: '{LICENCE_CODE}', Phone: '33612345678', Country: 'FRA', Company: 'MYCOMPANY', Custom_sms: 'Your confirmation code is' })) .then(response => console.log(response.data));
HttpClient client = HttpClient.newHttpClient(); String form = "Licence={LICENCE_CODE}&Phone=33612345678&Country=FRA&Company=MYCOMPANY&Custom_sms=Your+confirmation+code+is"; HttpRequest request = HttpRequest.newBuilder() .uri(URI.create("https://{SERVER_ADDRESS}/GDPR_MSG/")) .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> { ["Licence"] = "{LICENCE_CODE}", ["Phone"] = "33612345678", ["Country"] = "FRA", ["Company"] = "MYCOMPANY", ["Custom_sms"] = "Your confirmation code is" }; var response = await client.PostAsync( "https://{SERVER_ADDRESS}/GDPR_MSG/", 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("Licence", "{LICENCE_CODE}") form.Set("Phone", "33612345678") form.Set("Country", "FRA") form.Set("Company", "MYCOMPANY") form.Set("Custom_sms", "Your confirmation code is") resp, err := http.PostForm("https://{SERVER_ADDRESS}/GDPR_MSG/", 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
Licence Código de licencia asignado a su cuenta. Obligatorio
Phone Número de teléfono en formato internacional, sin el signo + y sin espacios (por ejemplo, 34XXXXXXXXX para España). Obligatorio
Country Código de país ISO de 3 letras. Obligatorio
Company Nombre de la empresa utilizado como remitente del SMS. Mínimo 3 caracteres y máximo 11 caracteres. Obligatorio
Custom_sms Contenido personalizado del SMS. Limitado a 125 caracteres. El código de verificación se añade automáticamente. Obligatorio
Duration Duración de validez del código SMS, en minutos. Opcional
Phonecom 1 o 0. Indica si se seleccionó el consentimiento de comunicación telefónica. Opcional
Email 1 o 0. Indica si se seleccionó el consentimiento de comunicación por correo electrónico. Opcional
Post 1 o 0. Indica si se seleccionó el consentimiento de comunicación postal. Opcional
Sms 1 o 0. Indica si se seleccionó el consentimiento de comunicación por SMS. Opcional
Nota - Los parámetros Phonecom, Email, Post y Sms son cada uno opcionales, pero al menos uno de ellos debe estar definido en 1 — la solicitud falla con el código de error 11 si no se activa ningún canal.

Parámetros opcionales de consentimiento multicontacto: SMS2–SMS5, PHONE2–PHONE5, EMAIL2–EMAIL5, POST2–POST5 (consentimiento para contactos secundarios, mismo formato 1/0 que los canales principales anteriores).

Respuesta

La respuesta JSON contiene el estado de entrega del SMS y los metadatos de verificación.

Clave Descripción Tipo
status Estado de entrega del SMS. Véase la tabla de valores de estado a continuación. String
timeout Duración de validez del código, en minutos. String
companyName Nombre de la empresa utilizado como remitente. String
country Código de país ISO de 3 letras. String
to Número de teléfono del destinatario en formato internacional. 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
smsToken Identificador único del SMS. Pase este valor a GDPR_VERIF como parámetro Token. String
dateTime Fecha y hora de envío del SMS. String

Valores de estado

Estado Descripción
PENDING El SMS fue enviado al operador.
DELIVERED El SMS se entregó correctamente.
UNDELIVERABLE El SMS no pudo ser entregado.
EXPIRED El SMS caducó antes de la confirmación de entrega.
REJECTED El SMS fue rechazado por el operador.

Códigos de error

Código Descripción
00 Sin errores.
01 Faltan parámetros.
02 Servicio no autorizado para esta licencia.
03 Número de teléfono no válido.
04 Código de país no válido.
05 Duración no válida.
06 País no encontrado.
07 Nombre de empresa no válido.
08 Error interno de la API.
09 No se recibió el estado de entrega.
10 Valores de consentimiento no válidos.
11 Debe habilitarse al menos un canal de comunicación.

Ejemplo de respuesta

Entrega correcta
{ "channels": { "phone": 0, "post": 0, "sms": 1, "email": 1 }, "to": "33612345678", "errors": { "00": "00 - No errors" }, "status": "DELIVERED", "smsToken": "C6hfYZIER3CVoGVYwTiZLg", "timeout": "3", "companyName": "MYCOMPANY", "country": "FRA", "dateTime": "2019-07-29 11:32:32.876709" }

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

¿Fue útil este artículo?

Usuarios a los que les pareció útil: 0 de 0