Démarrage rapide
1. Créez un compte et une clé secrète
Créez un compte et validez votre adresse e-mail. Dans le back-office, rubrique Clés API, créez une clé secrète de test (sk_test_…) : elle n'est affichée qu'une fois. Votre clé publique de test (pk_test_…) est déjà prête.
2. Créez une session depuis votre serveur
curl -X POST https://checkid.lapieuvre.tech/v1/sessions \
-H "Authorization: Bearer sk_test_…" \
-H "Content-Type: application/json" \
-d '{
"client_reference_id": "user_1842",
"return_url": "https://app.exemple.ci/fin"
}'
const response = await fetch("https://checkid.lapieuvre.tech/v1/sessions", {
method: "POST",
headers: {
Authorization: `Bearer ${process.env.CHECKID_SECRET_KEY}`,
"Content-Type": "application/json",
},
body: JSON.stringify({
"client_reference_id": "user_1842",
"return_url": "https://app.exemple.ci/fin"
}),
});
const data = await response.json();
$ch = curl_init('https://checkid.lapieuvre.tech/v1/sessions');
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => [
'Authorization: Bearer ' . getenv('CHECKID_SECRET_KEY'),
'Content-Type: application/json',
],
CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_POSTFIELDS => json_encode([
'client_reference_id' => 'user_1842',
'return_url' => 'https://app.exemple.ci/fin',
]),
]);
$data = json_decode(curl_exec($ch), true);
import os
import requests
response = requests.post(
"https://checkid.lapieuvre.tech/v1/sessions",
headers={
"Authorization": f"Bearer {os.environ['CHECKID_SECRET_KEY']}",
},
json={
"client_reference_id": "user_1842",
"return_url": "https://app.exemple.ci/fin",
},
timeout=10,
)
data = response.json()
La réponse contient id, client_secret et url. Gardez l'id avec votre usager ; transmettez le client_secret à votre front.
3. Ouvrez le SDK dans votre front
<script src="https://checkid.lapieuvre.tech/sdk/v1/checkid.js"></script>
<button id="verify">Vérifier mon identité</button>
<script>
document.getElementById("verify").addEventListener("click", () => {
CheckID.open({ publishableKey: "pk_test_…", clientSecret: "ses_…_secret_…" });
});
</script>
En mode test, la clé publique est acceptée depuis localhost. En production, déclarez d'abord l'origine de votre site dans le back-office (Origines autorisées).
4. Recevez le résultat
Déclarez une adresse de webhook dans le back-office (Webhooks) : vous recevrez session.completed à la décision. Ou lisez la session :
curl https://checkid.lapieuvre.tech/v1/sessions/ses_8Kq2LmR4wXa9TbN3cE7yP1f9 \
-H "Authorization: Bearer sk_test_…"
const response = await fetch("https://checkid.lapieuvre.tech/v1/sessions/ses_8Kq2LmR4wXa9TbN3cE7yP1f9", {
headers: {
Authorization: `Bearer ${process.env.CHECKID_SECRET_KEY}`,
},
});
const data = await response.json();
$ch = curl_init('https://checkid.lapieuvre.tech/v1/sessions/ses_8Kq2LmR4wXa9TbN3cE7yP1f9');
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => [
'Authorization: Bearer ' . getenv('CHECKID_SECRET_KEY'),
],
]);
$data = json_decode(curl_exec($ch), true);
import os
import requests
response = requests.get(
"https://checkid.lapieuvre.tech/v1/sessions/ses_8Kq2LmR4wXa9TbN3cE7yP1f9",
headers={
"Authorization": f"Bearer {os.environ['CHECKID_SECRET_KEY']}",
},
timeout=10,
)
data = response.json()
En mode test, la session aboutit à verified sans analyse réelle. Pour tester un rejet ou une revue manuelle, voir les résultats simulés.