ID Mobile — Vérification silencieuse du numéro de téléphone

Support DQE
Support DQE
  • Mise à jour
Number Verify - API ID Mobile

Utilisez cet endpoint pour vérifier si le numéro de téléphone envoyé dans la requête correspond au numéro à l'origine de la requête. Le processus comporte deux étapes : initier la demande de vérification, puis récupérer le résultat.

Documentation ID Mobile associée :

Étape 1 : Demander la vérification

Requête

Les méthodes GET et POST sont toutes deux prises en charge. Cela ouvre une page de consentement que l'utilisateur final doit accepter avant que le résultat puisse être récupéré à l'étape 2.

{SERVER_ADDRESS} et {LICENCE_CODE} sont fournis par DQE à la création du compte. {TOKEN} est le jeton d'accès obtenu via l'endpoint Access Token d'ID Mobile. Contactez votre chargé de compte DQE pour obtenir l'adresse du serveur et le code de licence.
GEThttps://{SERVER_ADDRESS}/IDMOBILE/?number={NUM}&token={TOKEN}&mode=2&name={NAME}&licence={LICENCE_CODE}&scope=numVerify&redirect_uri={URL_REDIRECT}

Exemples de code

Demander un lien de consentement Number Verify

curl "https://{SERVER_ADDRESS}/IDMOBILE/?number=33612345678&token={TOKEN}&mode=2&name=MYCOMPANY&licence={LICENCE_CODE}&scope=numVerify"
fetch("https://{SERVER_ADDRESS}/IDMOBILE/?" + new URLSearchParams({ number: "33612345678", token: "{TOKEN}", mode: "2", name: "MYCOMPANY", licence: "{LICENCE_CODE}", scope: "numVerify" })) .then(r => r.json()) .then(data => console.log(data));
import requests response = requests.get( "https://{SERVER_ADDRESS}/IDMOBILE/", params={ "number": "33612345678", "token": "{TOKEN}", "mode": "2", "name": "MYCOMPANY", "licence": "{LICENCE_CODE}", "scope": "numVerify", }, ) print(response.json())
<?php $params = http_build_query([ 'number' => '33612345678', 'token' => '{TOKEN}', 'mode' => '2', 'name' => 'MYCOMPANY', 'licence' => '{LICENCE_CODE}', 'scope' => 'numVerify', ]); $ch = curl_init("https://{SERVER_ADDRESS}/IDMOBILE/?{$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}/IDMOBILE/', { params: { number: '33612345678', token: '{TOKEN}', mode: '2', name: 'MYCOMPANY', licence: '{LICENCE_CODE}', scope: 'numVerify' } }) .then(response => console.log(response.data));
HttpClient client = HttpClient.newHttpClient(); String url = "https://{SERVER_ADDRESS}/IDMOBILE/" + "?number=33612345678&token={TOKEN}&mode=2&name=MYCOMPANY&licence={LICENCE_CODE}&scope=numVerify"; 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}/IDMOBILE/" + "?number=33612345678&token={TOKEN}&mode=2&name=MYCOMPANY&licence={LICENCE_CODE}&scope=numVerify"; 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}/IDMOBILE/" + "?number=33612345678&token={TOKEN}&mode=2&name=MYCOMPANY&licence={LICENCE_CODE}&scope=numVerify" 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}/IDMOBILE/

Ajoutez les paramètres suivants dans le corps de la requête au format Content-Type: application/x-www-form-urlencoded :

Exemples de code

Demander un lien de consentement Number Verify

curl -X POST "https://{SERVER_ADDRESS}/IDMOBILE/" \ -H "Content-Type: application/x-www-form-urlencoded" \ -d "licence={LICENCE_CODE}" \ -d "number=33612345678" \ -d "token={TOKEN}" \ -d "mode=2" \ -d "name=MYCOMPANY" \ -d "scope=numVerify"
fetch("https://{SERVER_ADDRESS}/IDMOBILE/", { method: "POST", headers: { "Content-Type": "application/x-www-form-urlencoded" }, body: new URLSearchParams({ licence: "{LICENCE_CODE}", number: "33612345678", token: "{TOKEN}", mode: "2", name: "MYCOMPANY", scope: "numVerify" }) }) .then(r => r.json()) .then(data => console.log(data));
import requests response = requests.post( "https://{SERVER_ADDRESS}/IDMOBILE/", data={ "licence": "{LICENCE_CODE}", "number": "33612345678", "token": "{TOKEN}", "mode": "2", "name": "MYCOMPANY", "scope": "numVerify", }, ) print(response.json())
<?php $ch = curl_init("https://{SERVER_ADDRESS}/IDMOBILE/"); curl_setopt($ch, CURLOPT_POST, true); curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query([ 'licence' => '{LICENCE_CODE}', 'number' => '33612345678', 'token' => '{TOKEN}', 'mode' => '2', 'name' => 'MYCOMPANY', 'scope' => 'numVerify', ])); 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}/IDMOBILE/', qs.stringify({ licence: '{LICENCE_CODE}', number: '33612345678', token: '{TOKEN}', mode: '2', name: 'MYCOMPANY', scope: 'numVerify' })) .then(response => console.log(response.data));
HttpClient client = HttpClient.newHttpClient(); String form = "licence={LICENCE_CODE}&number=33612345678&token={TOKEN}&mode=2&name=MYCOMPANY&scope=numVerify"; HttpRequest request = HttpRequest.newBuilder() .uri(URI.create("https://{SERVER_ADDRESS}/IDMOBILE/")) .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}", ["number"] = "33612345678", ["token"] = "{TOKEN}", ["mode"] = "2", ["name"] = "MYCOMPANY", ["scope"] = "numVerify" }; var response = await client.PostAsync( "https://{SERVER_ADDRESS}/IDMOBILE/", 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("number", "33612345678") form.Set("token", "{TOKEN}") form.Set("mode", "2") form.Set("name", "MYCOMPANY") form.Set("scope", "numVerify") resp, err := http.PostForm("https://{SERVER_ADDRESS}/IDMOBILE/", form) if err != nil { panic(err) } defer resp.Body.Close() body, _ := io.ReadAll(resp.Body) fmt.Println(string(body)) }

Paramètres

Parameter Description Obl / Opt
SERVER_ADDRESS Adresse du serveur DQE qui traitera les données. Obligatoire
licence Numéro qui vous a été attribué comme code de licence. Obligatoire
number Numéro de téléphone. Obligatoire
token Jeton récupéré lors de l'authentification. Obligatoire
mode Valeur statique. Doit être 2. Obligatoire
name Nom du partenaire dans la base de données DQE, généralement le nom de votre société. Obligatoire
scope Valeur statique. Doit être numVerify pour ce scope. Obligatoire
redirect_uri URL de redirection. DQE ajoute le jeton de session et le statut à la redirection. Optionnel
Combinaison de scopes — numVerify peut être combiné avec info (intelligence sur le numéro de téléphone) en une seule requête, par ex. scope=numVerify,info. Voir les champs info ci-dessous.

Champs additionnels info — renvoyés en complément des champs propres à cet endpoint lorsque info est inclus dans scope :

Champ Description Exemple
telorigine Numéro de téléphone de la requête. 0600000000
tel Numéro de téléphone, formaté. +33600000000
geolocation Situation géographique du numéro de téléphone. FRANCE
operator Opérateur actuel du numéro de téléphone, si souscrit. ORANGE
oldoperator Opérateur précédent du numéro de téléphone. SFR
ported Indique si le numéro de téléphone a été porté, si souscrit. Y
type Type du numéro de téléphone. MOBILE
iderror Code d'erreur du contrôle (0 ou 1). 1

Réponse

En cas de succès, l'API renvoie un objet JSON contenant l'URL de la page de consentement à présenter à l'utilisateur final.

Clé Description Type
status success String
operator Opérateur. String
url URL de l'API de l'opérateur. String

Exemple de réponse

Exemple de réponse réussie
{ "status": "success", "operator": "SFR", "url": "htt***fr.fr/api/a**l8ET6UMbsaG0AOm5FsakgyKu*" }

Erreurs

Remarque sur les codes d'erreur 05–07 — ces trois codes font partie de la liste de validation partagée de l'étape 1, utilisée dans tous les scopes ID Mobile. Ils font référence au paramètre user_infos et à sa clé phone, qui appartiennent à d'autres scopes (comme Matching without OTP) — la requête propre à Number Verify ne comporte pas ces champs, donc ces codes ne sont pas censés être déclenchés par un appel Number Verify standard.
ID d'erreur Type d'erreur Exemple de requête Réponse
01 invalid request https://{SERVER_ADDRESS}/IDMOBILE/?token={TOKEN}&mode=2&name={NAME}&licence={LICENCE_CODE}&scope=numVerify
Exemple : paramètre number manquant.
{"status": "error", "error_id": "01", "error_type": "invalid request"}
02 invalid licence key https://{SERVER_ADDRESS}/IDMOBILE/?number={NUM}&token={TOKEN}&mode=2&name={NAME}&licence={INCORRECT_LICENCE_CODE}&scope=numVerify
{"status": "error", "error_id": "02", "error_type": "invalid licence key"}
04 invalid scope https://{SERVER_ADDRESS}/IDMOBILE/?number={NUM}&token={TOKEN}&mode=2&name={NAME}&licence={LICENCE_CODE}&scope=wrongScope
{"status": "error", "error_id": "04", "error_type": "invalid scope"}
05 missing or empty parameter (user_infos) for this scope Non déclenché par les paramètres propres à Number Verify
Ce code provient d'une couche de validation partagée entre les scopes ID Mobile et fait référence aux champs user_infos/phone utilisés par d'autres scopes (comme Matching without OTP). Number Verify ne possède pas ce paramètre.
{"status": "error", "error_id": "05", "error_type": "missing or empty parameter (user_infos) for this scope"}
06 bad parameter format (user_infos) is not a valid JSON Non déclenché par les paramètres propres à Number Verify
Ce code provient d'une couche de validation partagée entre les scopes ID Mobile et fait référence aux champs user_infos/phone utilisés par d'autres scopes (comme Matching without OTP). Number Verify ne possède pas ce paramètre.
{"status": "error", "error_id": "06", "error_type": "bad parameter format (user_infos) is not a valid JSON"}
07 missing mandatory key in user informations (phone) Non déclenché par les paramètres propres à Number Verify
Ce code provient d'une couche de validation partagée entre les scopes ID Mobile et fait référence aux champs user_infos/phone utilisés par d'autres scopes (comme Matching without OTP). Number Verify ne possède pas ce paramètre.
{"status": "error", "error_id": "07", "error_type": "missing mandatory key in user informations (phone)"}
09 ineligible phone number https://{SERVER_ADDRESS}/IDMOBILE/?number={INELIGIBLE_NUMBER}&token={TOKEN}&mode=2&name={NAME}&licence={LICENCE_CODE}&scope=numVerify
{"status": "error", "error_id": "09", "error_type": "ineligible phone number"}
10 invalid phone number https://{SERVER_ADDRESS}/IDMOBILE/?number={INVALID_NUMBER}&token={TOKEN}&mode=2&name={NAME}&licence={LICENCE_CODE}&scope=numVerify
{"status": "error", "error_id": "10", "error_type": "invalid phone number"}
11 phone number is empty https://{SERVER_ADDRESS}/IDMOBILE/?number=&token={TOKEN}&mode=2&name={NAME}&licence={LICENCE_CODE}&scope=numVerify
{"status": "error", "error_id": "11", "error_type": "phone number is empty"}
12 phone check failed https://{SERVER_ADDRESS}/IDMOBILE/?number={NUM}&token={TOKEN}&mode=2&name={NAME}&licence={LICENCE_CODE}&scope=numVerify
Condition côté opérateur — une requête syntaxiquement valide peut tout de même échouer ici.
{"status": "error", "error_id": "12", "error_type": "phone check failed"}
13 operator [Operator Name] not found https://{SERVER_ADDRESS}/IDMOBILE/?number={NUM}&token={TOKEN}&mode=2&name={NAME}&licence={LICENCE_CODE}&scope=numVerify
Condition côté opérateur.
{"status": "error", "error_id": "13", "error_type": "operator [Operator Name] not found"}
14 operator [Operator Name] not authorized for this licence https://{SERVER_ADDRESS}/IDMOBILE/?number={NUM}&token={TOKEN}&mode=2&name={NAME}&licence={LICENCE_CODE}&scope=numVerify
Condition côté opérateur — votre licence n'est pas autorisée pour cet opérateur.
{"status": "error", "error_id": "14", "error_type": "operator [Operator Name] not authorized for this licence"}
15 operator [Operator Name] not supported yet https://{SERVER_ADDRESS}/IDMOBILE/?number={NUM}&token={TOKEN}&mode=2&name={NAME}&licence={LICENCE_CODE}&scope=numVerify
Condition côté opérateur.
{"status": "error", "error_id": "15", "error_type": "operator [Operator Name] not supported yet"}
16 operator [Operator Name] unreachable https://{SERVER_ADDRESS}/IDMOBILE/?number={NUM}&token={TOKEN}&mode=2&name={NAME}&licence={LICENCE_CODE}&scope=numVerify
Condition côté opérateur.
{"status": "error", "error_id": "16", "error_type": "operator [Operator Name] unreachable"}
17 scope not supported by this operator [Operator Name] yet https://{SERVER_ADDRESS}/IDMOBILE/?number={NUM}&token={TOKEN}&mode=2&name={NAME}&licence={LICENCE_CODE}&scope=numVerify
Condition côté opérateur.
{"status": "error", "error_id": "17", "error_type": "scope not supported by this operator [Operator Name] yet"}
30 invalid or expired token https://{SERVER_ADDRESS}/IDMOBILE/?number={NUM}&token={EXPIRED_TOKEN}&mode=2&name={NAME}&licence={LICENCE_CODE}&scope=numVerify
{"status": "error", "error_id": "30", "error_type": "invalid or expired token"}

Tester l'API

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

Ouvrir la console
Étape 2 — Récupérer le résultat

Une fois que l'utilisateur final a accepté (ou refusé) la page de consentement de l'étape 1, appelez cet endpoint pour récupérer le résultat de la vérification.

Étape 2 : Récupérer le résultat

Requête

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

{SERVER_ADDRESS} et {LICENCE_CODE} sont fournis par DQE à la création du compte. {TOKEN} est le même jeton d'accès que celui utilisé à l'étape 1.
GEThttps://{SERVER_ADDRESS}/GET/?token={TOKEN}&Licence={LICENCE_CODE}&scope=numVerify

Exemples de code

Récupérer le résultat Number Verify

curl "https://{SERVER_ADDRESS}/GET/?token={TOKEN}&Licence={LICENCE_CODE}&scope=numVerify"
fetch("https://{SERVER_ADDRESS}/GET/?" + new URLSearchParams({ token: "{TOKEN}", Licence: "{LICENCE_CODE}", scope: "numVerify" })) .then(r => r.json()) .then(data => console.log(data));
import requests response = requests.get( "https://{SERVER_ADDRESS}/GET/", params={ "token": "{TOKEN}", "Licence": "{LICENCE_CODE}", "scope": "numVerify", }, ) print(response.json())
<?php $params = http_build_query([ 'token' => '{TOKEN}', 'Licence' => '{LICENCE_CODE}', 'scope' => 'numVerify', ]); $ch = curl_init("https://{SERVER_ADDRESS}/GET/?{$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}/GET/', { params: { token: '{TOKEN}', Licence: '{LICENCE_CODE}', scope: 'numVerify' } }) .then(response => console.log(response.data));
HttpClient client = HttpClient.newHttpClient(); String url = "https://{SERVER_ADDRESS}/GET/" + "?token={TOKEN}&Licence={LICENCE_CODE}&scope=numVerify"; 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}/GET/" + "?token={TOKEN}&Licence={LICENCE_CODE}&scope=numVerify"; 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}/GET/" + "?token={TOKEN}&Licence={LICENCE_CODE}&scope=numVerify" 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}/GET/

Ajoutez les paramètres suivants dans le corps de la requête au format Content-Type: application/x-www-form-urlencoded :

Exemples de code

Récupérer le résultat Number Verify

curl -X POST "https://{SERVER_ADDRESS}/GET/" \ -H "Content-Type: application/x-www-form-urlencoded" \ -d "Licence={LICENCE_CODE}" \ -d "token={TOKEN}" \ -d "scope=numVerify"
fetch("https://{SERVER_ADDRESS}/GET/", { method: "POST", headers: { "Content-Type": "application/x-www-form-urlencoded" }, body: new URLSearchParams({ Licence: "{LICENCE_CODE}", token: "{TOKEN}", scope: "numVerify" }) }) .then(r => r.json()) .then(data => console.log(data));
import requests response = requests.post( "https://{SERVER_ADDRESS}/GET/", data={ "Licence": "{LICENCE_CODE}", "token": "{TOKEN}", "scope": "numVerify", }, ) print(response.json())
<?php $ch = curl_init("https://{SERVER_ADDRESS}/GET/"); curl_setopt($ch, CURLOPT_POST, true); curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query([ 'Licence' => '{LICENCE_CODE}', 'token' => '{TOKEN}', 'scope' => 'numVerify', ])); 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}/GET/', qs.stringify({ Licence: '{LICENCE_CODE}', token: '{TOKEN}', scope: 'numVerify' })) .then(response => console.log(response.data));
HttpClient client = HttpClient.newHttpClient(); String form = "Licence={LICENCE_CODE}&token={TOKEN}&scope=numVerify"; HttpRequest request = HttpRequest.newBuilder() .uri(URI.create("https://{SERVER_ADDRESS}/GET/")) .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}", ["token"] = "{TOKEN}", ["scope"] = "numVerify" }; var response = await client.PostAsync( "https://{SERVER_ADDRESS}/GET/", 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("token", "{TOKEN}") form.Set("scope", "numVerify") resp, err := http.PostForm("https://{SERVER_ADDRESS}/GET/", form) if err != nil { panic(err) } defer resp.Body.Close() body, _ := io.ReadAll(resp.Body) fmt.Println(string(body)) }

Paramètres

Parameter Description Obl / Opt
SERVER_ADDRESS Adresse du serveur DQE qui traitera les données. Obligatoire
Licence Numéro qui vous a été attribué comme code de licence. Obligatoire
token Jeton récupéré lors de l'authentification. Obligatoire
scope Valeur statique. Doit être numVerify pour ce scope. Obligatoire

Réponse

Succès

Clé Description Type
status success : les informations ont été récupérées avec succès. String
scope Contient le scope précédemment envoyé. String
numVerify Toujours true lorsque cette clé est présente — cela confirme que le numéro de téléphone correspond. Un numéro de téléphone qui ne correspond pas n'est jamais renvoyé sous la forme numVerify: false dans une réponse réussie ; il est renvoyé sous forme d'erreur 20 à la place (voir Erreurs ci-dessous). Boolean

En attente

Renvoyé tant que DQE attend encore la réponse de l'opérateur — interrogez à nouveau l'étape 2 après un court délai.

Clé Description Type
status pending : DQE attend la réponse de l'opérateur. String
scope Contient numVerify. String

Exemple de réponse

Exemple de réponse réussie
{ "status": "success", "scope": "numVerify", "numVerify": true }
Exemple de réponse en attente
{ "status": "pending", "scope": "numVerify" }

Erreurs

ID d'erreur Type d'erreur Exemple de requête Réponse
01 invalid request https://{SERVER_ADDRESS}/GET/?Licence={LICENCE_CODE}&scope=numVerify
Exemple : paramètre token manquant.
{"status": "error", "error_id": "01", "error_type": "invalid request"}
02 invalid licence key https://{SERVER_ADDRESS}/GET/?token={TOKEN}&Licence={INCORRECT_LICENCE_CODE}&scope=numVerify
{"status": "error", "error_id": "02", "error_type": "invalid licence key"}
04 invalid scope https://{SERVER_ADDRESS}/GET/?token={TOKEN}&Licence={LICENCE_CODE}&scope=wrongScope
{"status": "error", "error_id": "04", "error_type": "invalid scope"}
18 failed to retrieve data from operator https://{SERVER_ADDRESS}/GET/?token={TOKEN}&Licence={LICENCE_CODE}&scope=numVerify
Aucune donnée n'a été reçue après la validation de l'OTP.
{"status": "error", "error_id": "18", "error_type": "failed to retrieve data from operator"}
20 Not the same phone number between the phone in the request https://{SERVER_ADDRESS}/GET/?token={TOKEN}&Licence={LICENCE_CODE}&scope=numVerify
Le numéro de téléphone envoyé dans la requête ne correspond pas à celui à l'origine de la requête — cela équivaut à un résultat numVerify: false, renvoyé sous forme d'erreur plutôt que de réponse réussie.
{"status": "error", "error_id": "20", "error_type": "Not the same phone number between the phone in the request"}
21 access denied https://{SERVER_ADDRESS}/GET/?token={TOKEN}&Licence={LICENCE_CODE}&scope=numVerify
La validation de l'OTP a été refusée.
{"status": "error", "error_id": "21", "error_type": "access denied"}
30 invalid or expired token https://{SERVER_ADDRESS}/GET/?token={EXPIRED_TOKEN}&Licence={LICENCE_CODE}&scope=numVerify
{"status": "error", "error_id": "30", "error_type": "invalid or expired token"}
99 internal server error https://{SERVER_ADDRESS}/GET/?token={TOKEN}&Licence={LICENCE_CODE}&scope=numVerify
Erreur serveur.
{"status": "error", "error_id": "99", "error_type": "internal server error"}
Exemple de réponse d'erreur
{ "status": "error", "error_id": "20", "error_type": "OTP process failed" }

Tester l'API

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

Ouvrir la console

Voir aussi

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

Utilisateurs qui ont trouvé cela utile : 0 sur 0