curl --request GET \
--url https://pro.resocom.com/api/v1/consultations/{id} \
--header 'Authorization: Bearer <token>'import requests
url = "https://pro.resocom.com/api/v1/consultations/{id}"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://pro.resocom.com/api/v1/consultations/{id}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://pro.resocom.com/api/v1/consultations/{id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://pro.resocom.com/api/v1/consultations/{id}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://pro.resocom.com/api/v1/consultations/{id}")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://pro.resocom.com/api/v1/consultations/{id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"id": "CSL-20260717-3F2A91",
"externalRef": "DOSSIER-88412",
"workflowId": "WFL-20260706-BEF798",
"documentCategory": "identite",
"documentType": "CNI",
"documentCountry": "FRA",
"verdict": "conforme",
"decision": "conforme",
"reviewStatus": "pending",
"anomalyCount": 123,
"hasRejectAnomaly": true,
"anomalies": [
{
"code": "selfie_mismatch",
"severity": "reject",
"message": "<string>"
}
],
"twoDDoc": {
"present": true,
"trusted": true,
"signatureVerified": true,
"signatureStatus": "<string>",
"dataMatches": true,
"readStatus": "read",
"readStatusMessage": "2D-Doc présent mais non lu : qualité d'image insuffisante."
},
"analyzedAt": "2023-11-07T05:31:56Z",
"createdAt": "2023-11-07T05:31:56Z"
}{
"error": "invalid_api_key"
}Détail d'une vérification
Rend un résultat unique. L’appel de rattrapage type après réception d’un webhook, ou lors d’une réconciliation périodique.
curl --request GET \
--url https://pro.resocom.com/api/v1/consultations/{id} \
--header 'Authorization: Bearer <token>'import requests
url = "https://pro.resocom.com/api/v1/consultations/{id}"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://pro.resocom.com/api/v1/consultations/{id}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://pro.resocom.com/api/v1/consultations/{id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://pro.resocom.com/api/v1/consultations/{id}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://pro.resocom.com/api/v1/consultations/{id}")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://pro.resocom.com/api/v1/consultations/{id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"id": "CSL-20260717-3F2A91",
"externalRef": "DOSSIER-88412",
"workflowId": "WFL-20260706-BEF798",
"documentCategory": "identite",
"documentType": "CNI",
"documentCountry": "FRA",
"verdict": "conforme",
"decision": "conforme",
"reviewStatus": "pending",
"anomalyCount": 123,
"hasRejectAnomaly": true,
"anomalies": [
{
"code": "selfie_mismatch",
"severity": "reject",
"message": "<string>"
}
],
"twoDDoc": {
"present": true,
"trusted": true,
"signatureVerified": true,
"signatureStatus": "<string>",
"dataMatches": true,
"readStatus": "read",
"readStatusMessage": "2D-Doc présent mais non lu : qualité d'image insuffisante."
},
"analyzedAt": "2023-11-07T05:31:56Z",
"createdAt": "2023-11-07T05:31:56Z"
}{
"error": "invalid_api_key"
}Authorizations
Clé API créée dans Administration → Développeurs → Clés API (licence Groupe). Une clé en lecture seule ne peut appeler que les opérations GET.
Path Parameters
consultationId reçu dans le webhook ou la liste.
Response
Le résultat.
Résultat d'une vérification.
Identifiant unique du résultat.
"CSL-20260717-3F2A91"
Votre référence de dossier, renvoyée telle quelle.
"DOSSIER-88412"
Workflow qui a évalué le document.
"WFL-20260706-BEF798"
Catégorie du document contrôlé.
identite, administratif Type de document détecté.
"CNI"
Pays émetteur (ISO 3166-1 alpha-3).
"FRA"
Constat de l'analyse du document, que la revue ne modifie jamais. Les règles de votre workflow n'y touchent pas : leur résultat est dans decision (un document conforme peut être refusé pour l'âge du porteur ou sa connexion). sans_anomalie ne concerne que les pièces administratives : émetteur confirmé dans un registre officiel, rien de relevé, sans cachet 2D-Doc vérifié.
conforme, sans_anomalie, non_conforme, suspect, analyse_impossible Décision du workflow selon vos règles.
conforme, a_verifier, refuse, null Décision de traitement de votre équipe (revue humaine).
pending, accepted, rejected, null Nombre de points d'attention relevés.
Au moins un point d'attention bloquant.
Points d'attention relevés par l'analyse.
Show child attributes
Show child attributes
Cachet électronique 2D-Doc du document (null si aucun 2D-Doc et rien à signaler).
Show child attributes
Show child attributes
Date de l'analyse.
Date d'enregistrement.

