API SMS Phone Confirmation — Envoyer un code OTP

Support DQE
Support DQE
  • Mise à jour
API SMS Phone Confirmation

L'endpoint /GDPR_MSG/ envoie un SMS contenant un code de vérification à un numéro de téléphone, ainsi que les canaux de consentement de communication RGPD sélectionnés.

Quand utiliser cet endpoint - Appelez GDPR_MSG pour envoyer un code de vérification SMS à usage unique à un numéro de téléphone. Une fois que l'utilisateur a renseigné le code, vérifiez-le à l'aide de API SMS Phone Confirmation — Vérifier un code OTP (/GDPR_VERIF/) →

/GDPR_MSG/

Requête

Les méthodes GET et POST sont toutes deux prises en charge.

{SERVER_ADDRESS} et {LICENCE_CODE} vous sont fournis par DQE à la création de votre compte. Contactez votre chargé de compte DQE pour obtenir ces identifiants.
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}

Exemples de code

Envoyer un code de vérification

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/

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

Envoyer un code de vérification

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)) }

Paramètres

Paramètre Description Obl / Opt
Licence Code de licence attribué à votre compte. Obligatoire
Phone Numéro de téléphone au format international, sans le signe + et sans espace (par exemple, 44XXXXXXXXXX pour le Royaume-Uni). Obligatoire
Country Code pays ISO à 3 lettres. Obligatoire
Company Nom de l'entreprise utilisé comme expéditeur du SMS. Minimum 3 caractères et maximum 11 caractères. Obligatoire
Custom_sms Contenu personnalisé du SMS. Limité à 125 caractères. Le code de vérification est automatiquement ajouté. Obligatoire
Duration Durée de validité du code SMS, en minutes. Optionnel
Phonecom 1 ou 0. Indique si le consentement de communication par téléphone a été sélectionné. Optionnel
Email 1 ou 0. Indique si le consentement de communication par e-mail a été sélectionné. Optionnel
Post 1 ou 0. Indique si le consentement de communication postale a été sélectionné. Optionnel
Sms 1 ou 0. Indique si le consentement de communication par SMS a été sélectionné. Optionnel
Remarque - Les paramètres Phonecom, Email, Post et Sms sont chacun optionnels, mais au moins l'un d'entre eux doit être défini sur 1 — la requête échoue avec le code d'erreur 11 si aucun canal n'est activé.

Paramètres de consentement multi-contacts optionnels : SMS2–SMS5, PHONE2–PHONE5, EMAIL2–EMAIL5, POST2–POST5 (consentement pour les contacts secondaires, même format 1/0 que les canaux principaux ci-dessus).

Réponse

La réponse JSON contient le statut de livraison du SMS et les métadonnées de vérification.

Clé Description Type
status Statut de livraison du SMS. Voir le tableau des valeurs de statut ci-dessous. String
timeout Durée de validité du code en minutes. String
companyName Nom de l'entreprise utilisé comme expéditeur. String
country Code pays ISO à 3 lettres. String
to Numéro de téléphone du destinataire au format international. 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
smsToken Identifiant unique du SMS. Transmettez cette valeur à GDPR_VERIF en tant que paramètre Token. String
dateTime Date et heure d'envoi du SMS. String

Valeurs de statut

Statut Description
PENDING Le SMS a été envoyé à l'opérateur.
DELIVERED Le SMS a été livré avec succès.
UNDELIVERABLE Le SMS n'a pas pu être livré.
EXPIRED Le SMS a expiré avant la confirmation de livraison.
REJECTED Le SMS a été rejeté par l'opérateur.

Codes d'erreur

Code Description
00 Aucune erreur.
01 Paramètres manquants.
02 Service non autorisé pour cette licence.
03 Numéro de téléphone invalide.
04 Code pays invalide.
05 Durée invalide.
06 Pays introuvable.
07 Nom d'entreprise invalide.
08 Erreur interne de l'API.
09 Aucun statut de livraison reçu.
10 Valeurs de consentement invalides.
11 Au moins un canal de communication doit être activé.

Exemple de réponse

Livraison réussie
{ "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" }

Tester l'API

Cliquez sur le bouton ci-dessous pour tester cet endpoint en direct dans votre navigateur.

Ouvrir la console

Voir aussi

Associé à

Cet article vous a-t-il été utile ?

Utilisateurs qui ont trouvé cela utile : 0 sur 0