Confiance numérique est la meilleure solution pour prévenir les actions malveillantes sur votre plateforme via des API.
Vérifiez en quelques secondes la fiabilité et la validité des informations de vos clients et utilisateurs : de la vérification et extraction des données des documents à la vidéo-identification, du contrôle du numéro de téléphone portable et de l’e-mail jusqu’à la validation des liens et des adresses IP.
Toutes les connaissances dont vous avez besoin
Vous trouverez ici quelques conseils à prendre en compte pour aborder cette API. Si vous préférez, nous fournissons des exemples de code, la documentation OAS3, la possibilité d'essayer l'API en direct via Swagger UI ou d'importer l'intégralité de la collection dans Postman. Nous proposons également un environnement Sandbox où vous pouvez expérimenter toutes sortes de requêtes de manière totalement gratuite.
Obtenir le Token dans la section appropriée avant de commencer.
API trust
Vérification téléphone (start)
POST /mobile-start/{mobile-phone-number}Crée une nouvelle demande pour vérifier un numéro de téléphone mobile. Le corps peut spécifier des paramètres de rappel (callback). Le système lancera une recherche HLR globale sulla le numéro spécifié.
Certains opérateurs mobiles et la congestion du réseau peuvent ralentir la demande.
Si la recherche prend plus de 10 secondes, vous obtiendrez un résultat partiel avec un statut "NEW" ou "WAIT". Attendez simplement une notification une fois la recherche terminée. Vous pouvez également vérifier le statut manuellement via la méthode GET e l'ID fourni.
Vérification e-mail (start)
POST /email-start/{email}Crée une nouvelle demande pour vérifier une adresse e-mail. Le corps peut spécifier des paramètres de rappel. Le système lancera un processus de vérification d'e-mail.
Si la vérification prend plus de quelques secondes, vous pourriez obtenir un résultat partiel avec le statut 'NEW' ou 'WAIT'. Vérifiez le statut manuellement via GET /email-start/{id} ou attendez le rappel.
Vérification mobile (avancée)
POST /mobile-advanced/{mobile-phone-number}Crée une nouvelle demande pour une vérification mobile avancée, incluant le score de fraude (fraud score), l'opérateur, le type de ligne, et plus encore. Le corps peut spécifier des paramètres de rappel. Si la vérification prend plus de quelques secondes, vous pourriez obtenir un résultat partiel con statut 'NEW' ou 'WAIT'. Vérifiez le statut manuellement via GET /mobile-advanced/{id} ou attendez le rappel.
Vérification téléphone (avancée)
POST /phone-advanced/{phone-number}Crée une nouvelle demande pour une vérification avancée de N'IMPORTE QUEL numéro de téléphone, incluant le score de fraude, l'opérateur, le type de ligne, et plus encore. Le corps peut spécifier des paramètres de rappel. Si la vérification prend plus de quelques secondes, vous pourriez obtenir un résultat partiel con statut 'NEW' ou 'WAIT'. Vérifiez le statut manuellement via GET /phone-advanced/{id} ou attendez le rappel.
Vérification e-mail (avancée)
POST /email-advanced/{email}Crée une nouvelle demande pour une vérification d'e-mail avancée, incluant le score de fraude, la délivrabilité et la réputation. Le corps peut spécifier des paramètres de rappel. Si la vérification prend plus de quelques secondes, vous pourriez obtenir un résultat partiel con statut 'NEW' ou 'WAIT'. Vérifiez le statut manuellement via GET /email-advanced/{id} ou attendez le rappel.
Vérification URL (avancée)
POST /url-advanced/{url}Crée une nouvelle demande pour scanner une URL à la recherche de phishing, de malwares et d'autres menaces, et évaluer son score de risque. Le corps peut spécifier des paramètres de rappel. Si la vérification prend plus de quelques secondes, vous pourriez obtenir un résultat partiel con statut 'NEW' ou 'WAIT'. Vérifiez le statut manuellement via GET /url-advanced/{id} ou attendez le rappel.
Vérification IP (avancée)
POST /ip-advanced/{ip}Crée une nouvelle demande pour analyser une adresse IP à la recherche de connexions proxy, VPN ou TOR, et évaluer son score de fraude et sa réputation. Le corps peut spécifier des paramètres de rappel. Si la vérification prend plus de quelques secondes, vous pourriez obtenir un résultat partiel con statut 'NEW' ou 'WAIT'. Vérifiez le statut manuellement via GET /ip-advanced/{id} ou attendez le rappel.
Vérification d'Identité (start)
POST /idv-flash-startCrée une nouvelle demande pour effectuer une vérification d'identité. Le corps peut spécifier des paramètres de rappel. Renvoie une URL de vérification vers un code QR. Suivez la procédure avec votre smartphone et attendez le résultat (environ 3 min). L'ensemble du processus est vérifié par IA. Vérifiez le statut manuellement via GET /idv-flash-start/{id} ou attendez le rappel.
Vérification d'Identité (avancée)
POST /idv-flash-advancedCrée une nouvelle demande pour effectuer une vérification d'identité. Le corps peut spécifier des paramètres de rappel. Renvoie une URL de vérification vers un code QR. Suivez la procédure avec votre smartphone et attendez le résultat (environ 3 min). L'ensemble du processus est vérifié par IA et inclut également la capture du visage. Vérifiez le statut manuellement via GET /idv-flash-advanced/{id} ou attendez le rappel.
Vérification d'Identité (expert)
POST /idv-expertCrée une nouvelle demande pour effectuer une vérification d'identité. Le corps peut spécifier des paramètres de rappel. Renvoie une URL de vérification vers un code QR. Suivez la procédure avec votre smartphone et attendez le résultat (environ 3 heures). Le processus de vérification est effectué par IA puis validé par un expert. Vérifiez le statut manuellement via GET /idv-expert/{id} ou attendez le rappel.
Vérification d'Identité (certifiée)
POST /idv-certifiedCrée une nouvelle demande pour effectuer une vérification d'identité. Le corps peut spécifier des paramètres de rappel. Renvoie une URL de vérification vers un code QR. Suivez la procédure avec votre smartphone et attendez le résultat (environ 3 heures). Le processus de vérification est effectué par IA, validé par un expert et certifié par l'ANSSI (Agence nationale de la sécurité des systèmes d'information). Vérifiez le statut manuellement via GET /idv-certified/{id} ou attendez le rappel.
Récupérer une demande de vérification
GET /mobile-start/{id}Renvoie les détails d'une demande pour vérifier l'état ("state")
GET /email-start/{id}
Renvoie les détails d'une demande pour vérifier l'état ("state")
GET /mobile-advanced/{id}
Renvoie les détails d'une demande pour vérifier l'état ("state")
GET /phone-advanced/{id}
Renvoie les détails d'une demande pour vérifier l'état ("state")
GET /email-advanced/{id}
Renvoie les détails d'une demande pour vérifier l'état ("state")
GET /url-advanced/{id}
Renvoie les détails d'une demande pour vérifier l'état ("state")
GET /ip-advanced/{id}
Renvoie les détails d'une demande pour vérifier l'état ("state")
GET /idv-flash-start/{id}
Renvoie les détails d'une demande pour vérifier l'état ("state"). Vous pouvez également ajouter "front" ou "back" comme paramètre supplémentaire (ex. GET /idv-flash-start/{id}/front) pour récupérer respectivement l'image recto ou verso du document, ou utiliser l'en-tête "Content-Type: application/pdf" avec seulement l'{id} pour obtenir un rapport PDF complet de la vérification contenant les deux images et les données de vérification.
GET /idv-flash-advanced/{id}
Renvoie les détails d'une demande pour vérifier l'état ("state"). Vous pouvez également ajouter "front", "back" ou "face" comme paramètre supplémentaire (ex. GET /idv-flash-advanced/{id}/face) pour récupérer respectivement l'image recto du document, l'image verso o le visage capturé, ou utiliser l'en-tête "Content-Type: application/pdf" avec seulement l'{id} pour obtenir un rapport PDF complet contenant les 3 images et les données de vérification.
GET /idv-expert/{id}
Renvoie les détails d'une demande pour vérifier l'état ("state"). Vous pouvez également ajouter "front", "back" ou "face" comme paramètre supplémentaire (ex. GET /idv-expert/{id}/back) pour récupérer respectivement l'image recto, verso ou le visage capturé, ou utiliser l'en-tête "Content-Type: application/pdf" pour obtenir un rapport PDF complet.
GET /idv-certified/{id}
Renvoie les détails d'une demande pour vérifier l'état ("state"). Vous pouvez également ajouter "front", "back" ou "face" comme paramètre supplémentaire (ex. GET /idv-certified/{id}/back) pour récupérer respectivement l'image recto, verso ou le visage capturé, ou utiliser l'en-tête "Content-Type: application/pdf" pour obtenir un rapport PDF complet.
- Oas file url trust.openapi.json
-
PDF Documentation
- Fork or import with Postman
- Production domain trust.openapi.com
- Sandbox domain test.trust.openapi.com
-
Production Scopes 22
Rate Limits: 10000 req/min
- GET trust.openapi.com/email-advanced
- GET trust.openapi.com/email-start
- GET trust.openapi.com/idv-certified
- GET trust.openapi.com/idv-expert
- GET trust.openapi.com/idv-flash-advanced
- GET trust.openapi.com/idv-flash-start
- GET trust.openapi.com/ip-advanced
- GET trust.openapi.com/mobile-advanced
- GET trust.openapi.com/mobile-start
- GET trust.openapi.com/phone-advanced
- GET trust.openapi.com/url-advanced
- POST trust.openapi.com/email-advanced
- POST trust.openapi.com/email-start
- POST trust.openapi.com/idv-certified
- POST trust.openapi.com/idv-expert
- POST trust.openapi.com/idv-flash-advanced
- POST trust.openapi.com/idv-flash-start
- POST trust.openapi.com/ip-advanced
- POST trust.openapi.com/mobile-advanced
- POST trust.openapi.com/mobile-start
- POST trust.openapi.com/phone-advanced
- POST trust.openapi.com/url-advanced
-
Sandbox Scopes 22
- GET test.trust.openapi.com/email-advanced
- GET test.trust.openapi.com/email-start
- GET test.trust.openapi.com/idv-certified
- GET test.trust.openapi.com/idv-expert
- GET test.trust.openapi.com/idv-flash-advanced
- GET test.trust.openapi.com/idv-flash-start
- GET test.trust.openapi.com/ip-advanced
- GET test.trust.openapi.com/mobile-advanced
- GET test.trust.openapi.com/mobile-start
- GET test.trust.openapi.com/phone-advanced
- GET test.trust.openapi.com/url-advanced
- POST test.trust.openapi.com/email-advanced
- POST test.trust.openapi.com/email-start
- POST test.trust.openapi.com/idv-certified
- POST test.trust.openapi.com/idv-expert
- POST test.trust.openapi.com/idv-flash-advanced
- POST test.trust.openapi.com/idv-flash-start
- POST test.trust.openapi.com/ip-advanced
- POST test.trust.openapi.com/mobile-advanced
- POST test.trust.openapi.com/mobile-start
- POST test.trust.openapi.com/phone-advanced
- POST test.trust.openapi.com/url-advanced
Trust (1.0.0)
Utilisez cette API pour vérifier la validité et la fiabilité de données telles que les adresses électroniques et les numéros de téléphone mobile.
Renvoyer une demande
Renvoie un détail de la demande pour vérifier l'"état"
Authorizations:
path Parameters
| id required | string Example: 66c881896de559cb65055392 identifiant de la requête obtenu par la méthode "POST" |
Responses
Response Schema: application/json
object (mobile-start) | |
| success | boolean |
| message | string |
| error | string |
Request samples
- C + Libcurl
- Csharp + Restsharp
- Go + Native
- Java + Okhttp
- Java + Unirest
- Javascript + Jquery
- Javascript + Xhr
- Node + Native
- Node + Request
- Node + Unirest
- Objc + Nsurlsession
- Ocaml + Cohttp
- Php + Curl
- Php + Http1
- Php + Http2
- Python + Python3
- Python + Requests
- Ruby + Native
- Shell + Curl
- Shell + Httpie
- Shell + Wget
- Swift + Nsurlsession
CURL *hnd = curl_easy_init(); curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); curl_easy_setopt(hnd, CURLOPT_URL, "https://trust.openapi.com/mobile-start/%7Bid%7D"); struct curl_slist *headers = NULL; headers = curl_slist_append(headers, "Authorization: Bearer REPLACE_BEARER_TOKEN"); curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); CURLcode ret = curl_easy_perform(hnd);
Response samples
- 200
- 404
- 406
- "data": {
- "isPossible": true,
- "isValid": true,
- "regionCode": "IT",
- "isValidNumberForRegion": true,
- "numberType": "MOBILE",
- "requestedNumber": "00393332114774",
- "formattedNumber": "+393332114774",
- "createdAt": "2024-09-06T13:56:19+00:00",
- "updatedAt": "2024-09-06T13:56:19+00:00",
- "state": "DONE",
- "network": "MNO - Vodafone Italy",
- "originalNetwork": "MNO - TIM (Telecom Italia SpA)",
- "roaming": false,
- "ported": true,
- "country": "Italy",
- "countryPrefix": "39",
- "details": "DELIVERED_TO_HANDSET",
- "id": "66db0a03e8ba8710290e3c0f"
- "success": true,
- "message": "",
- "error": ""
Créer une nouvelle demande HLR
Créer une nouvelle demande, le corps du message est utilisé pour spécifier les paramètres de "rappel". Le système lancera une recherche HLR globale sur le numéro de téléphone spécifié.
Certains opérateurs de téléphonie mobile et l'encombrement du réseau peuvent ralentir la demande. Si la recherche prend plus de 10 secondes, vous obtiendrez un résultat partiel avec le statut "NEW" ou "WAIT". Attendez simplement une notification lorsque la recherche est terminée. Vous pouvez également vérifier le statut manuellement en utilisant la méthode GET et l'identifiant fourni.
Authorizations:
path Parameters
| mobile-phone-number required | string Example: +393939989747 Le téléphone portable en complément du préfixe international |
Request Body schema: application/json
object Il s'agit de notre système de rappel OpenAPI standardisé. Il permet de configurer les paramètres pour recevoir des notifications sur les mises à jour de l'état des demandes asynchrones adressées à ce point de terminaison. |
Responses
Response Schema: application/json
object (mobile-start) | |
| success | boolean |
| message | string |
| error | string |
Request samples
- Payload
- C + Libcurl
- Csharp + Restsharp
- Go + Native
- Java + Okhttp
- Java + Unirest
- Javascript + Jquery
- Javascript + Xhr
- Node + Native
- Node + Request
- Node + Unirest
- Objc + Nsurlsession
- Ocaml + Cohttp
- Php + Curl
- Php + Http1
- Php + Http2
- Python + Python3
- Python + Requests
- Ruby + Native
- Shell + Curl
- Shell + Httpie
- Shell + Wget
- Swift + Nsurlsession
Response samples
- 200
- 406
- "data": {
- "isPossible": true,
- "isValid": true,
- "regionCode": "IT",
- "isValidNumberForRegion": true,
- "numberType": "MOBILE",
- "requestedNumber": "00393332114474",
- "formattedNumber": "+393332114474",
- "createdAt": "2024-09-06T13:56:19+00:00",
- "updatedAt": "2024-09-06T13:56:19+00:00",
- "state": "DONE",
- "network": "MNO - Vodafone Italy",
- "originalNetwork": "MNO - TIM (Telecom Italia SpA)",
- "roaming": false,
- "ported": true,
- "country": "Italy",
- "countryPrefix": "39",
- "details": "DELIVERED_TO_HANDSET",
- "id": "66db0a03e8ba8710290e3c0f"
- "success": true,
- "message": "",
- "error": null
Récupérer une demande de validation d'un courriel
Renvoie une demande de validation par courrier électronique pour vérifier l'état et les résultats.
Authorizations:
path Parameters
| id required | string Example: 77e9e92216065fa37f3c9842 ID de la requête obtenu en utilisant la méthode POST /email-start/{email} |
Responses
Response Schema: application/json
object (email-start) | |
| success | boolean |
| message | string |
| error | string |
Request samples
- C + Libcurl
- Csharp + Restsharp
- Go + Native
- Java + Okhttp
- Java + Unirest
- Javascript + Jquery
- Javascript + Xhr
- Node + Native
- Node + Request
- Node + Unirest
- Objc + Nsurlsession
- Ocaml + Cohttp
- Php + Curl
- Php + Http1
- Php + Http2
- Python + Python3
- Python + Requests
- Ruby + Native
- Shell + Curl
- Shell + Httpie
- Shell + Wget
- Swift + Nsurlsession
CURL *hnd = curl_easy_init(); curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); curl_easy_setopt(hnd, CURLOPT_URL, "https://trust.openapi.com/email-start/%7Bid%7D"); struct curl_slist *headers = NULL; headers = curl_slist_append(headers, "Authorization: Bearer REPLACE_BEARER_TOKEN"); curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); CURLcode ret = curl_easy_perform(hnd);
Response samples
- 200
- 404
- 406
- "data": {
- "validSpf": false,
- "validDmarc": true,
- "spfDetails": {
- "domain": "openapi.com",
- "dnsServerUsed": "1.1.1.1",
- "queriedDnsForTxt": true,
- "selectedSpfRecord": "v=spf1 include:spf.mailtrusted.org include:emsd1.com include:mailgun.org -all",
- "formalValidity": {
- "startsWithVspf1": true,
- "hasValidAllMechanism": false,
- "dnsMechanismLookupCount": 10,
- "maxDnsMechanismLookups": 10,
- "voidLookupCount": 0,
- "maxVoidLookups": 2,
- "hasRedirectModifier": false,
- "redirectDomain": null,
- "syntaxErrors": [
- "DNS lookup limit at 'include:_spf2.mailgun.org'."
- "warnings": [ ],
- "explanationDomain": null
- "parsedMechanisms": [
- {
- "term": "include:spf.mailtrusted.org",
- "mechanism": "include",
- "value": "spf.mailtrusted.org",
- "qualifier": "+",
- "lookupCost": 1,
- "isVoidLookup": false,
- "ipsFound": [ ],
- "effectiveResultIfMatched": "PASS",
- "includedReport": {
- "recurse": "all submechanisms included"
- {
- "term": "include:emsd1.com",
- "mechanism": "include",
- "value": "emsd1.com",
- "qualifier": "+",
- "lookupCost": 1,
- "isVoidLookup": false,
- "ipsFound": [ ],
- "effectiveResultIfMatched": "PASS",
- "includedReport": {
- "recurse": "all submechanisms included"
- "allMechanismDetails": null,
- "collectedIpAddresses": {
- "ip4": [
- "207.180.201.22",
- "207.180.222.205",
- "207.180.226.204",
- "etc"
- "ip6": [
- "2001:4860:4000::/36",
- "2404:6800:4000::/36",
- "etc"
- "fromA": [ ],
- "fromMx": [ ]
- "summary": {
- "totalDnsMechanismLookupsUsed": 10,
- "finalProcessingResult": "PERMERROR",
- "evaluationLog": [ ]
- "dmarcDetails": {
- "recordFound": true,
- "record": "v=DMARC1; p=none",
- "dnsQueryDomain": "_dmarc.openapi.com",
- "dnsServerUsed": "8.8.8.8",
- "policy": "none",
- "subdomainPolicy": null,
- "alignmentDkim": "r",
- "alignmentSpf": "r",
- "percentage": 100,
- "reportingUrisAggregate": [ ],
- "reportingUrisFailure": [ ],
- "failureOptions": [ ],
- "errors": [ ],
- "warnings": [ ]
- "createdAt": "2025-05-27T12:58:39+00:00",
- "updatedAt": "2025-05-27T12:58:40+00:00",
- "state": "NEW",
- "id": "6835b6fff6722090d00e74fb"
- "success": true,
- "message": "",
- "error": null
Créer une nouvelle demande de validation d'un courriel
Créer une nouvelle requête pour valider une adresse électronique. Le corps peut spécifier des paramètres de rappel. Le système lancera un processus de validation de l'adresse électronique. Si la validation prend plus de quelques secondes, il se peut que vous obteniez un résultat partiel avec le statut "NEW" ou "WAIT". Vérifiez le statut manuellement en utilisant GET /email-start/{id} ou attendez le rappel.
Authorizations:
path Parameters
| email required |
Request Body schema: application/json
object Il s'agit de notre système de rappel OpenAPI standardisé. Il permet de configurer les paramètres pour recevoir des notifications sur les mises à jour de l'état des demandes asynchrones adressées à ce point de terminaison. |
Responses
Response Schema: application/json
object (email-start) | |
| success | boolean |
| message | string |
| error | string |
Request samples
- Payload
- C + Libcurl
- Csharp + Restsharp
- Go + Native
- Java + Okhttp
- Java + Unirest
- Javascript + Jquery
- Javascript + Xhr
- Node + Native
- Node + Request
- Node + Unirest
- Objc + Nsurlsession
- Ocaml + Cohttp
- Php + Curl
- Php + Http1
- Php + Http2
- Python + Python3
- Python + Requests
- Ruby + Native
- Shell + Curl
- Shell + Httpie
- Shell + Wget
- Swift + Nsurlsession
- "callback": {
- "custom": {
- "orderId": "email-check-456"
Response samples
- 200
- 400
- 406
- "data": {
- "validSpf": false,
- "validDmarc": true,
- "spfDetails": {
- "domain": "openapi.com",
- "dnsServerUsed": "1.1.1.1",
- "queriedDnsForTxt": true,
- "selectedSpfRecord": "v=spf1 include:spf.mailtrusted.org include:emsd1.com include:mailgun.org -all",
- "formalValidity": {
- "startsWithVspf1": true,
- "hasValidAllMechanism": false,
- "dnsMechanismLookupCount": 10,
- "maxDnsMechanismLookups": 10,
- "voidLookupCount": 0,
- "maxVoidLookups": 2,
- "hasRedirectModifier": false,
- "redirectDomain": null,
- "syntaxErrors": [
- "DNS lookup limit at 'include:_spf2.mailgun.org'."
- "warnings": [ ],
- "explanationDomain": null
- "parsedMechanisms": [
- {
- "term": "include:spf.mailtrusted.org",
- "mechanism": "include",
- "value": "spf.mailtrusted.org",
- "qualifier": "+",
- "lookupCost": 1,
- "isVoidLookup": false,
- "ipsFound": [ ],
- "effectiveResultIfMatched": "PASS",
- "includedReport": {
- "recurse": "all submechanisms included"
- {
- "term": "include:emsd1.com",
- "mechanism": "include",
- "value": "emsd1.com",
- "qualifier": "+",
- "lookupCost": 1,
- "isVoidLookup": false,
- "ipsFound": [ ],
- "effectiveResultIfMatched": "PASS",
- "includedReport": {
- "recurse": "all submechanisms included"
- "allMechanismDetails": null,
- "collectedIpAddresses": {
- "ip4": [
- "207.180.201.22",
- "207.180.222.205",
- "207.180.226.204",
- "etc"
- "ip6": [
- "2001:4860:4000::/36",
- "2404:6800:4000::/36",
- "etc"
- "fromA": [ ],
- "fromMx": [ ]
- "summary": {
- "totalDnsMechanismLookupsUsed": 10,
- "finalProcessingResult": "PERMERROR",
- "evaluationLog": [ ]
- "dmarcDetails": {
- "recordFound": true,
- "record": "v=DMARC1; p=none",
- "dnsQueryDomain": "_dmarc.openapi.com",
- "dnsServerUsed": "8.8.8.8",
- "policy": "none",
- "subdomainPolicy": null,
- "alignmentDkim": "r",
- "alignmentSpf": "r",
- "percentage": 100,
- "reportingUrisAggregate": [ ],
- "reportingUrisFailure": [ ],
- "failureOptions": [ ],
- "errors": [ ],
- "warnings": [ ]
- "createdAt": "2025-05-27T12:58:39+00:00",
- "updatedAt": "2025-05-27T12:58:40+00:00",
- "state": "NEW",
- "id": "6835b6fff6722090d00e74fb"
- "success": true,
- "message": "",
- "error": null