Aller au contenu principal

Authentification

L'API Infoparcelle propose trois méthodes d'authentification pour s'adapter à tous vos besoins.

Vue d'ensemble

Méthodes disponibles

Notre API offre trois méthodes d'authentification complémentaires :

MéthodeCas d'usageFacilitéSécurité
Clés APIScripts, tests, apps⭐⭐⭐⭐⭐
OAuth2Applications tierces (MCP, Zapier, Make, n8n)⭐⭐⭐⭐⭐
JWT TokensAuthentification programmatique avancée⭐⭐
Quelle méthode choisir ?
  • Clé API : Pour vos scripts, tests et applications (recommandé)
  • OAuth2 : Pour connecter des applications tierces (Claude MCP, Zapier, Make, n8n, etc.)
  • JWT Token : Pour authentification programmatique avec email/password (avancé)

1. Clés API (tokens courts)

Qu'est-ce qu'une clé API ?

Une clé API est un token court avec un préfixe qui vous permet d'accéder directement à l'API. C'est la méthode la plus simple et la plus rapide pour commencer.

Obtenir une clé API

Étape 1 : Créer un compte

  1. Rendez-vous sur infoparcelle.fr
  2. Cliquez sur "Créer un compte"
  3. Remplissez le formulaire d'inscription
  4. Confirmez votre adresse email

Étape 2 : Souscrire à un plan API

  1. Connectez-vous à votre espace compte
  2. Accédez à la section "API"
  3. Choisissez un plan adapté à vos besoins :
    • 🌱 Starter : 5 000 crédits/mois (~500 appels) - 25€/mois
    • 🚀 Business : 25 000 crédits/mois (~2 500 appels) - 100€/mois
    • 💼 Pro : 50 000 crédits/mois (~5 000 appels) - 200€/mois
    • 🏢 Enterprise : 250 000 crédits/mois (~25 000 appels) - 750€/mois
    • 🌟 Scale : 500 000 crédits/mois (~50 000 appels) - 1 250€/mois
    • 🚀 Enterprise+ : Sur mesure (1 000 000+ crédits)
  4. Configurez votre moyen de paiement

Étape 3 : Générer une clé API

  1. Dans votre espace API, cliquez sur "Créer une accès" et sélectionnez "Clé API"
  2. Donnez un nom identifiable à votre clé (ex: mon-application-web, prod-server, dev-env)
  3. Copiez votre clé API immédiatement

Format de la clé API

Les clés API Infoparcelle suivent ce format :

PREFIX_tokenAleatoireSecurise

Exemple :

MON_APP_WEB_a8Kf9jM2pL5qR7tY3wX6zB1vC4
  • Préfixe : MON_APP_WEB (basé sur le nom que vous avez donné)
  • Token : a8Kf9jM2pL5qR7tY3wX6zB1vC4 (partie aléatoire sécurisée)

Le préfixe permet d'identifier facilement quelle application utilise quelle clé dans vos logs et statistiques.

Utiliser votre clé API

Header d'authentification

Incluez votre clé API dans le header Authorization de chaque requête avec le schéma Bearer :

Authorization: Bearer MON_APP_WEB_a8Kf9jM2pL5qR7tY3wX6zB1vC4

Exemples par langage

curl -X GET "https://app.infoparcelle.fr/api/v1/geocoder/search?recherche=1+Rue+de+Rivoli" \
-H "Authorization: Bearer VOTRE_CLE_API" \
-H "Accept: application/json"

Gestion des clés

Créer plusieurs clés

Vous pouvez créer plusieurs clés API pour différentes utilisations :

  • Par environnement : dev, staging, production
  • Par application : site web, mobile app, cron jobs
  • Par équipe : équipe A, équipe B, partenaires

Voir l'utilisation

Depuis votre espace compte, vous pouvez :

  • Consulter les graphiques d'utilisation
  • Consulter le nombre de crédits consommés
  • Supprimer une clé

Révoquer une clé

Pour supprimer une clé :

  1. Accédez à votre espace API
  2. Localisez la clé à supprimer
  3. Cliquez sur "Supprimer"
  4. Confirmez la suppression
Attention

La suppression d'une clé est immédiate et définitive. Toutes les requêtes utilisant cette clé échoueront instantanément avec une erreur 401 Unauthorized.

2. OAuth2 (applications tierces)

Qu'est-ce qu'OAuth2 ?

OAuth2 est un protocole d'autorisation standard qui permet aux applications tierces d'accéder à votre API de manière sécurisée, sans exposer vos identifiants.

Cas d'usage

OAuth2 est idéal pour :

  • Claude MCP Server : Connecter Claude à votre compte Infoparcelle
  • Zapier / Make / n8n : Automatisations et workflows
  • Applications tierces : Intégrations avec des outils externes
  • Applications web : Permettre à vos utilisateurs de se connecter via Infoparcelle

Configuration OAuth2

Créer un client OAuth2

  1. Accédez à votre espace API
  2. Cliquez sur "Créer une accès" et sélectionnez "Client OAuth2"
  3. Renseignez les informations :
    • Nom : Nom de votre application
    • Redirect URI : URL de callback (ex: https://votre-app.com/callback)
  4. Récupérez vos identifiants :
    • Client ID : Identifiant public de votre application
    • Client Secret : Secret à conserver précieusement

Paramètres OAuth2

ParamètreValeur
Authorize URLhttps://app.infoparcelle.fr/oauth/authorize
Token URLhttps://app.infoparcelle.fr/oauth/token
Scopes(laisser vide ou selon vos besoins)

Exemples d'intégration

Claude MCP Server

Configuration dans Claude Desktop :

{
"mcpServers": {
"infoparcelle": {
"command": "npx",
"args": ["-y", "mcp-remote", "https://mcp.infoparcelle.fr"],
"env": {
"INFOPARCELLE_CLIENT_ID": "votre_client_id",
"INFOPARCELLE_CLIENT_SECRET": "votre_client_secret"
}
}
}
}

Zapier / Make / n8n

Paramètres OAuth2 à configurer :

  • Authorization URL : https://app.infoparcelle.fr/oauth/authorize
  • Access Token URL : https://app.infoparcelle.fr/oauth/token
  • Client ID : Votre Client ID
  • Client Secret : Votre Client Secret
  • Scope : (laisser vide)

Application personnalisée

Flux d'autorisation OAuth2 :

// 1. Redirection vers la page d'autorisation
const authorizeUrl = new URL('https://app.infoparcelle.fr/oauth/authorize');
authorizeUrl.searchParams.set('client_id', 'VOTRE_CLIENT_ID');
authorizeUrl.searchParams.set('redirect_uri', 'https://votre-app.com/callback');
authorizeUrl.searchParams.set('response_type', 'code');
authorizeUrl.searchParams.set('scope', ''); // optionnel

window.location.href = authorizeUrl.toString();

// 2. L'utilisateur autorise votre application
// 3. Récupération du code d'autorisation dans le callback
const urlParams = new URLSearchParams(window.location.search);
const code = urlParams.get('code');

// 4. Échange du code contre un token
const tokenResponse = await fetch('https://app.infoparcelle.fr/oauth/token', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
},
body: JSON.stringify({
grant_type: 'authorization_code',
client_id: 'VOTRE_CLIENT_ID',
client_secret: 'VOTRE_CLIENT_SECRET',
redirect_uri: 'https://votre-app.com/callback',
code: code,
}),
});

const { access_token, expires_in } = await tokenResponse.json();

// 5. Utilisation du token pour accéder à l'API
const response = await fetch('https://app.infoparcelle.fr/api/v1/geocoder/search?recherche=1+Rue+de+Rivoli', {
headers: {
'Authorization': `Bearer ${access_token}`,
},
});

Renouvellement du token

Les tokens OAuth2 expirent après 90 jours. Vous devez redemander l'autorisation à l'utilisateur pour obtenir un nouveau token.

3. JWT Tokens (avancé)

Qu'est-ce qu'un JWT Token ?

Un JWT (JSON Web Token) est un token d'authentification obtenu en échangeant votre email et mot de passe via l'endpoint /api/v1/token.

Méthode avancée

Cette méthode est destinée aux développeurs avancés. Pour la plupart des cas, utilisez plutôt les Clés API.

Obtenir un JWT Token

Requête

curl -X POST https://app.infoparcelle.fr/api/v1/token \
-H "Content-Type: application/json" \
-d '{
"email": "votre@email.com",
"password": "votreMotDePasse"
}'

Réponse

{
"access_token": "eyJ0eXAiOiJKV1QiLCJhbGc...",
"expires_at": "2025-10-28T12:00:00.000000Z",
"user": {
"email": "votre@email.com",
"name": "Votre Nom"
}
}

Utiliser le JWT Token

Une fois obtenu, utilisez le token comme une clé API :

curl -H "Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGc..." \
https://app.infoparcelle.fr/api/v1/geocoder/search?recherche=1+Rue+de+Rivoli

Limitations

Important
  • Le token JWT expire après 90 jours
  • Le token n'est pas renouvelable automatiquement
  • Vous devez le stocker de manière sécurisée
  • Pour la plupart des cas, préférez les Clés API

Comparaison des méthodes

CritèreClé APIOAuth2JWT Token
Facilité d'utilisation⭐⭐⭐⭐⭐
Sécurité⭐⭐⭐⭐⭐⭐⭐
Durée de viePas d'expiration90 jours (renouvelable)90 jours (non renouvelable)
RévocationInstantanéeInstantanéeAttente d'expiration
Usage recommandéScripts, tests, appsApps tierces (MCP, Zapier)Auth programmatique avancée
CréationVia interface utilisateurVia interface utilisateurVia API (email/password)
GestionInterface webInterface webProgrammatique uniquement

Sécurité des clés

Important

Ne partagez JAMAIS vos clés API, Client Secret ou JWT tokens publiquement !

Bonnes pratiques

✅ À FAIRE

  • Stockez vos clés dans des variables d'environnement

    # .env
    INFOPARCELLE_API_KEY=MON_APP_WEB_a8Kf9jM2pL5qR7tY3wX6zB1vC4
  • Utilisez différentes clés pour différents environnements

    • Clé de développement
    • Clé de staging
    • Clé de production
  • Limitez l'accès aux clés

    • Ne les partagez qu'avec les membres autorisés
    • Stockez-les de manière sécurisée (gestionnaire de secrets)
  • Révoquez immédiatement les clés compromises

    • Supprimez la clé depuis votre espace compte
    • Générez une nouvelle clé
    • Mettez à jour vos applications
  • Utilisez HTTPS en production

    • Toutes les requêtes doivent passer par HTTPS
    • Ne jamais exposer les clés en HTTP

❌ À NE PAS FAIRE

  • Committer les clés dans Git

    // ❌ MAUVAIS
    const apiKey = 'MON_APP_WEB_a8Kf9jM2pL5qR7tY3wX6zB1vC4';

    // ✅ BON
    const apiKey = process.env.INFOPARCELLE_API_KEY;
  • Exposer les clés côté client (JavaScript frontend)

    <!-- ❌ DANGEREUX - visible par tous -->
    <script>
    const apiKey = 'MA_CLE_API';
    </script>
  • Partager les clés publiquement

    • Forums, Stack Overflow
    • Dépôts GitHub publics
    • Documentation publique
    • Screenshots
  • Utiliser la même clé partout

    • Créez des clés différentes par environnement et application

Configuration avec .gitignore

Ajoutez toujours vos fichiers de configuration à .gitignore :

# Environment variables
.env
.env.local
.env.production

# Configuration files
config/secrets.yml
config/credentials.json

Variables d'environnement

Exemple avec différents langages

// .env
// INFOPARCELLE_API_KEY=MON_APP_WEB_a8Kf9jM2pL5qR7tY3wX6zB1vC4

// app.js
require('dotenv').config();

const apiKey = process.env.INFOPARCELLE_API_KEY;

if (!apiKey) {
throw new Error('INFOPARCELLE_API_KEY is required');
}

Codes d'erreur d'authentification

CodeMessageSolution
401Token d'authentification manquantAjoutez le header Authorization
401Token d'authentification invalideVérifiez votre clé API
401Token d'authentification expiréGénérez un nouveau token JWT
432Aucun abonnement actifSouscrivez à un plan API
433Moyen de paiement invalideMettez à jour vos informations de paiement

Prochaines étapes

Maintenant que vous avez configuré votre authentification :

  1. Démarrage rapide - Faites votre première requête
  2. Limites de débit - Comprenez les quotas
  3. Gestion des erreurs - Gérez les erreurs d'authentification