Tutoriel · API Henrri

Récupérez vos accès Sandbox en 4 étapes.

Pour développer et tester votre intégration à l'API Henrri sans impacter vos données de production, vous avez besoin d'accéder à notre environnement Sandbox. Ce guide vous accompagne pas à pas depuis votre compte Henrri jusqu'à votre premier appel API authentifié.

≈ 3 minTemps estimé
Aucun codePour récupérer les clés
20 appels/minLimite Sandbox
Étape 1

Ouvrez le menu API & Intégrations

Connectez-vous à votre compte Henrri sur www.henrri.net. Cliquez sur votre avatar en haut à droite, puis sélectionnez « API & Intégrations » dans le menu déroulant.

Bon à savoir

Le pictogramme NOUVEAU signale l'ajout récent de la rubrique API dans votre espace. Vous y accéderez à l'ensemble de vos clés, vos quotas et la documentation technique.

Menu avatar avec l'entrée API & Intégrations mise en avant
Menu utilisateur · Henrri.net
Étape 2

Cliquez sur Créer un compte Sandbox

Dans le bloc Identifiants Sandbox, appuyez sur le bouton CRÉER UN COMPTE SANDBOX. Cette action provisionne automatiquement un compte miroir à votre compte de production, dans l'environnement de test sandbox.henrri.net.

⚠️ Un seul compte Sandbox par utilisateur

Le compte Sandbox est créé une seule fois. Si le bouton a disparu, c'est que votre compte est déjà provisionné — rendez-vous directement à l'étape 5 pour récupérer vos identifiants.

Page API Henrri avec le bouton Créer un compte Sandbox
Section « Identifiants Sandbox »
Étape 3

Donnez un nom à votre première clé API

Une boîte de dialogue s'ouvre et vous demande le nom de votre nouvelle clé API. Choisissez un nom explicite — par exemple test, dev-local ou integration-erp — qui vous aidera à l'identifier dans votre tableau de bord.

  • Un nom court, en minuscules, sans espaces
  • Cliquez sur OK pour valider
  • Vous pourrez créer d'autres clés plus tard si besoin
Alerte demandant le nom de la nouvelle clé API
Prompt natif du navigateur
⚠️ Étape critique
Étape 4

Sauvegardez immédiatement votre Secret API

Une modale SAUVEGARDEZ VOTRE SECRET API HENRRI apparaît avec votre secret. Ce secret ne sera affiché qu'une seule fois. Si vous le perdez, vous devrez révoquer la clé et en générer une nouvelle.

📋
COPIER

Pour le coller dans votre gestionnaire de mots de passe

⬇
TÉLÉCHARGER

Pour récupérer un fichier texte à stocker en lieu sûr

✓
C'EST NOTÉ

Ferme la modale — à ne cliquer qu'après sauvegarde

À faire absolument

Stockez le secret dans un gestionnaire de mots de passe (1Password, Bitwarden, Dashlane…) ou dans les variables d'environnement de votre application. Ne le commitez jamais dans votre dépôt Git.

Modale affichant le secret API à sauvegarder
Modale « Sauvegardez votre secret API »
Étape 5

Récupérez vos identifiants et votre Client ID

De retour sur la page API, deux nouvelles informations sont désormais affichées dans le bloc Identifiants Sandbox :

LOGIN
Votre identifiant pour vous connecter à sandbox.henrri.net
MOT DE PASSE
#8+xxxxx
Le mot de passe associé à votre compte Sandbox

Plus bas, dans la section Clé de test, se trouve votre Client ID (clé API). C'est la première moitié du couple d'authentification Client ID + Secret que vous utiliserez dans tous vos appels API.

Identifiants Sandbox : login et mot de passe
Section Clé de test avec le Client ID
Identifiants + Client ID dans votre espace
Bonus

Connectez-vous à sandbox.henrri.net

Avec le LOGIN et le MOT DE PASSE récupérés à l'étape 5, vous pouvez désormais vous connecter à l'interface Henrri Sandbox — compte vide et cloisonné : vos tests n'affectent pas vos vraies données.

Ouvrir sandbox.henrri.net ↗
sandbox.henrri.net
Écran de connexion sandbox.henrri.net
Votre premier appel

Authentifiez-vous et appelez /users/me

Votre clientId et clientSecret en main, voici le flow complet : 1) on appelle POST /v1/users/authenticate pour récupérer un access_token, puis 2) on l'utilise en Bearer pour appeler GET /v1/users/me — qui renvoie votre utilisateur + votre entreprise.

POST https://api-sandbox.henrri.io/v1/users/authenticate
GET https://api-sandbox.henrri.io/v1/users/me
terminal
# 1. Authentification — récupérer l'access_token
ACCESS_TOKEN=$(curl -s -X POST https://api-sandbox.henrri.io/v1/users/authenticate \
  -H "Content-Type: application/json" \
  -d '{
    "clientId":     "VOTRE_CLIENT_ID",
    "clientSecret": "VOTRE_SECRET"
  }' | jq -r '.access_token')

# 2. Appeler /users/me avec le token (user + company)
curl https://api-sandbox.henrri.io/v1/users/me \
  -H "Authorization: Bearer $ACCESS_TOKEN"
henrri.js
const BASE = 'https://api-sandbox.henrri.io/v1';

// 1) Authentification
const authRes = await fetch(`${BASE}/users/authenticate`, {
  method: 'POST',
  headers: { 'Content-Type': 'application/json' },
  body: JSON.stringify({
    clientId:     process.env.HENRRI_CLIENT_ID,
    clientSecret: process.env.HENRRI_SECRET,
  }),
});
const { access_token } = await authRes.json();

// 2) Récupérer l'utilisateur + l'entreprise
const meRes = await fetch(`${BASE}/users/me`, {
  headers: { Authorization: `Bearer ${access_token}` },
});
const { user, company } = await meRes.json();

console.log('👤 User   :', user.email);
console.log('🏢 Company:', company.name, `(id ${company.id})`);
henrri.php
<?php
$base = 'https://api-sandbox.henrri.io/v1';

// 1) Authentification → access_token
$ch = curl_init("$base/users/authenticate");
curl_setopt_array($ch, [
  CURLOPT_POST           => true,
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_HTTPHEADER     => ['Content-Type: application/json'],
  CURLOPT_POSTFIELDS     => json_encode([
    'clientId'     => getenv('HENRRI_CLIENT_ID'),
    'clientSecret' => getenv('HENRRI_SECRET'),
  ]),
]);
$auth  = json_decode(curl_exec($ch), true);
$token = $auth['access_token'];
curl_close($ch);

// 2) Appel /users/me avec le Bearer token
$ch = curl_init("$base/users/me");
curl_setopt_array($ch, [
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_HTTPHEADER     => ["Authorization: Bearer $token"],
]);
$me = json_decode(curl_exec($ch), true);
curl_close($ch);

echo "👤 User    : " . $me['user']['email']  . "\n";
echo "🏢 Company : " . $me['company']['name'] . "\n";
henrri.py
import os, requests

BASE = "https://api-sandbox.henrri.io/v1"

# 1) Authentification
auth = requests.post(
    f"{BASE}/users/authenticate",
    json={
        "clientId":     os.environ["HENRRI_CLIENT_ID"],
        "clientSecret": os.environ["HENRRI_SECRET"],
    },
).json()
access_token = auth["access_token"]

# 2) /users/me — user + company
me = requests.get(
    f"{BASE}/users/me",
    headers={"Authorization": f"Bearer {access_token}"},
).json()

print("👤 User   :", me["user"]["email"])
print("🏢 Company:", me["company"]["name"], f"(id {me['company']['id']})")
Réponse attendue 200 OK GET /v1/users/me
{
  "user": {
    "id": 12345,
    "email": "[email protected]",
    "firstName": "Test",
    "lastName": "123a456b",
    "isEnabled": true,
    "twoFactorEnabled": false,
    "creationDate": "2026-04-24T15:29:09+02:00"
  },
  "company": {
    "id": 1011,
    "name": "Test123a456b",
    "globalId": 101010,
    "isSelfEmployed": false,
    "email": "[email protected]",
    "address": { "postCode": "68280" }
  }
}
Token type
Bearer
Expires in
600 s (10 min)
Refresh token
✓ fourni (offline_access)
Scopes
Company_ReadCustomer_*Document_*Item_*User_Read
Envie d'aller plus loin ? Toute la référence API, les schémas et les endpoints sont documentés.
Consulter la documentation ↗
Questions fréquentes

Les questions qu'on nous pose

J'ai perdu mon Secret API, que faire ?
Le secret n'est plus récupérable. Rendez-vous dans la section Clé de test, cliquez sur l'icône ↻ pour régénérer la clé : un nouveau secret vous sera alors affiché une fois. Pensez à mettre à jour l'ancien secret dans vos applications.
Quelle est la différence entre Sandbox et Production ?
La Sandbox (api-sandbox.henrri.io) est une copie iso-fonctionnelle de la production (api.henrri.io) avec des données par contre cloisonnées (elles ne sont pas reprises). Utilisez-la pour développer et tester votre intégration sans risque. Passez en production uniquement quand votre code est validé.
Quelles sont les limites d'usage ?
En Sandbox, l'API accepte 20 appels par minute par clé, et chaque clé est valable 6 mois. À l'expiration, régénérez-la depuis votre espace API.
Puis-je créer plusieurs clés API ?
Oui — vous pouvez créer autant de clés que nécessaire (une par environnement, une par intégration, etc.). Nommez-les explicitement pour les retrouver facilement.
Le bouton « Créer un compte Sandbox » n'apparaît plus.
Votre compte Sandbox est déjà provisionné. Le bloc Identifiants Sandbox affiche directement votre LOGIN et votre MOT DE PASSE. Vous pouvez créer de nouvelles clés depuis la section Clé de test.
Comment passer en production ?
Contactez notre équipe via le support Henrri une fois votre intégration validée en Sandbox. Nous vous accompagnerons pour provisionner vos clés de production.

Prêt·e à intégrer l'API Henrri ?

Vos clés Sandbox sont prêtes, la documentation vous attend.