# Démarrage rapide

L'API de France Vérification analyse un document (RIB, fiche de paie, pièce d'identité, avis d'imposition, justificatif de domicile...) et rend un **verdict d'authenticité** : `CONFORME`, `SUSPECT`, `NON-CONFORME` ou `FAKE`, avec un score de confiance et une analyse détaillée.

Elle utilise exactement le même moteur que le site : analyse par intelligence artificielle, contrôles forensiques du fichier (métadonnées, logiciel de retouche, structure du PDF, signatures numériques) et validations françaises (SIRET, IBAN, numéro de sécurité sociale).

## En trois appels

1. **Envoyer** un ou plusieurs fichiers : `POST /submissions`. La réponse arrive tout de suite, avec un identifiant d'envoi (`sub_...`) et une vérification (`chk_...`) par document.
2. **Attendre** : une analyse prend environ 10 secondes. Vous recevez un webhook `submission.completed`, ou vous relisez l'envoi.
3. **Lire** le résultat : `GET /submissions/{id}`.

## Adresse de l'API

```
https://france-verification.com/api/v1
```

Toutes les requêtes passent en HTTPS et portent votre clé dans l'en-tête `Authorization`.

## 1. Créer une clé

Connectez-vous, puis ouvrez la page **API** de votre espace : [france-verification.com/mon-api](https://france-verification.com/mon-api). Générez une **clé test** (`fv_test_...`) pour développer sans rien payer, puis une **clé live** (`fv_live_...`) pour la production.

## 2. Envoyer un document

```bash
curl -X POST https://france-verification.com/api/v1/submissions \
  -H "Authorization: Bearer fv_live_VOTRE_CLE" \
  -F "files[]=@rib.pdf"
```

Réponse (`202 Accepted`) avec une clé live. Avec une clé test, la réponse arrive déjà terminée, avec un résultat fictif (voir [Mode test](/developpeurs/mode-test)) :

```json
{
  "id": "sub_1842",
  "mode": "live",
  "status": "processing",
  "final_check": null,
  "documents_count": 1,
  "credits_charged": 1,
  "checks": [
    {
      "id": "chk_52817",
      "submission_id": "sub_1842",
      "type": "document",
      "status": "pending",
      "verdict": null,
      "confidence_score": null,
      "document_type": null,
      "document_label": null,
      "filename": "rib.pdf",
      "page": null,
      "archive_name": null,
      "refunded": false,
      "created_at": "2026-09-28T14:49:06Z",
      "completed_at": null,
      "report_url": null
    }
  ],
  "created_at": "2026-09-28T14:49:06Z",
  "completed_at": null
}
```

## 3. Lire le résultat

```bash
curl https://france-verification.com/api/v1/submissions/sub_1842 \
  -H "Authorization: Bearer fv_live_VOTRE_CLE"
```

Quand `status` vaut `completed`, chaque vérification porte son `verdict`, son `confidence_score` et son `document_type`. Ajoutez `?detail=full` pour obtenir l'analyse complète.

## Même chose en PHP, Python et Node.js

```php
<?php
$ch = curl_init('https://france-verification.com/api/v1/submissions');
curl_setopt_array($ch, [
    CURLOPT_POST => true,
    CURLOPT_HTTPHEADER => ['Authorization: Bearer ' . getenv('FV_API_KEY')],
    CURLOPT_POSTFIELDS => ['files[0]' => new CURLFile('rib.pdf')],
    CURLOPT_RETURNTRANSFER => true,
]);
$submission = json_decode(curl_exec($ch), true);
echo $submission['id'];
```

```python
import os, requests

response = requests.post(
    "https://france-verification.com/api/v1/submissions",
    headers={"Authorization": f"Bearer {os.environ['FV_API_KEY']}"},
    files=[("files[]", open("rib.pdf", "rb"))],
)
submission = response.json()
print(submission["id"])
```

```javascript
// Node.js 18 ou plus
import { readFile } from "node:fs/promises";

const form = new FormData();
form.append("files[]", new Blob([await readFile("rib.pdf")]), "rib.pdf");

const response = await fetch("https://france-verification.com/api/v1/submissions", {
  method: "POST",
  headers: { Authorization: `Bearer ${process.env.FV_API_KEY}` },
  body: form,
});
const submission = await response.json();
console.log(submission.id);
```

## Et ensuite

- [Authentification](/developpeurs/authentification) : clés live et test.
- [Envoyer des documents](/developpeurs/envoyer-des-documents) : formats, archives, JSON base64.
- [Webhooks](/developpeurs/webhooks) : être prévenu sans interroger l'API.
- [Objets](/developpeurs/objets) : la liste complète des champs.
