Administration

Référence API

Enterprise

Intègre les données de ton organisation avec des outils externes, des plateformes d'analyse et des applications personnalisées grâce à l'API REST Enkelt.ai.

URL de base

https://enkelt.ai/api/public/v1

Toutes les requêtes API doivent être adressées à cette URL de base. HTTPS est requis.

Aperçu rapide

L'API Enkelt.ai fournit un accès programmatique aux données de ton organisation. Utilise-la pour créer des intégrations personnalisées, synchroniser des données avec des systèmes externes ou créer des workflows automatisés.

Authentification Bearer

Authentifie-toi avec des clés API via l'en-tête Authorization.

Limitation de débit

Les requêtes sont limitées selon la formule. Enterprise dispose de 1 000 req/min.

Format JSON

Toutes les requêtes et réponses utilisent JSON. L'encodage UTF-8 est requis.

Authentification

Toutes les requêtes API nécessitent une authentification via un token Bearer. Génère des clés API depuis la section Conformité > Clés API de ton tableau de bord.

En-tête Authorization

HTTP Header
Authorization: Bearer sk_live_your_api_key_here

Exemple de requête

cURL
curl -X GET "https://enkelt.ai/api/public/v1/players" \
  -H "Authorization: Bearer sk_live_your_api_key" \
  -H "Content-Type: application/json"

Garde ta clé API sécurisée

N'expose jamais ta clé API dans du code côté client, des dépôts publics ou des logs. Traite-la comme un mot de passe. En cas de compromission, révoque-la immédiatement et génères-en une nouvelle.

Limitation de débit

Les requêtes API sont limitées en débit pour garantir un usage équitable et la stabilité du système. Les limites s'appliquent par clé API et se réinitialisent sur une fenêtre glissante.

Free
Requêtes / minute
10
Requêtes / jour
100
Basic
Requêtes / minute
60
Requêtes / jour
1,000
Pro
Requêtes / minute
300
Requêtes / jour
10,000
Enterprise
Requêtes / minute
1,000
Requêtes / jour
100,000

En-têtes de limitation de débit

Chaque réponse inclut des en-têtes indiquant ton statut actuel de limitation de débit :

X-RateLimit-Limit: 1000
X-RateLimit-Remaining: 987
X-RateLimit-Reset: 1703275200

Points de terminaison disponibles

L'API donne accès aux ressources suivantes. Tous les points de terminaison nécessitent une authentification et respectent les permissions attribuées à ta clé API.

Joueurs

GETplayers:read
/api/public/v1/playersListe tous les joueurs de ton organisation
GETplayers:read
/api/public/v1/players/{id}Récupère un joueur spécifique par ID
POSTplayers:write
/api/public/v1/playersCrée un nouveau joueur
PATCHplayers:write
/api/public/v1/players/{id}Met à jour un joueur existant

Validation du rôle

Le champ rôle doit être un rôle valide pour le jeu de l'équipe. Si aucune équipe n'est assignée, les rôles sont validés par rapport aux rôles du jeu "Other".

LoL: Top, Jungle, Mid, ADC, Support, Coach, Analyst, Substitute
Valorant: Duelist, Initiator, Controller, Sentinel, Flex, IGL, Coach, Analyst, Substitute
CS2: Entry Fragger, AWPer, Rifler, Support, Lurker, IGL, Coach, Analyst, Substitute
Other: Player, Captain, Coach, Analyst, Manager, Substitute

Équipes et planning

GETteams:read
/api/public/v1/teamsListe toutes les équipes de ton organisation
GETroster:read
/api/public/v1/rosterRécupère les informations de roster
GETschedule:read
/api/public/v1/scheduleRécupère le planning et les matchs à venir

Espoirs

GETprospects:read
/api/public/v1/prospectsListe tous les espoirs de ton pipeline
GETprospects:read
/api/public/v1/prospects/{id}Récupère un espoir spécifique
POSTprospects:write
/api/public/v1/prospectsAjoute un nouvel espoir
PATCHprospects:write
/api/public/v1/prospects/{id}Met à jour les détails d'un espoir

Contrats

GETcontracts:read
/api/public/v1/contractsListe tous les contrats
GETcontracts:read
/api/public/v1/contracts/{id}Récupère les détails d'un contrat
GETcontracts:read
/api/public/v1/contracts/expiringRécupère les contrats arrivant bientôt à expiration

Format de réponse

Toutes les réponses de l'API suivent une structure JSON cohérente. Les réponses réussies incluent les données et les métadonnées, tandis que les erreurs incluent des codes et messages d'erreur.

Réponse de succès

200 OK
{
  "success": true,
  "data": {
    "id": "player_abc123",
    "ign": "TenZ",
    "realName": "Tyson Ngo",
    "role": "Duelist",
    "teamId": "team_xyz789",
    "contractStatus": "active",
    "joinDate": 1705314600000
  },
  "meta": {
    "count": 1,
    "requestId": "req_xyz789",
    "timestamp": "2024-01-15T10:30:00Z"
  }
}

Réponse d'erreur

4xx / 5xx
{
  "success": false,
  "error": {
    "code": "RATE_LIMIT_EXCEEDED",
    "message": "Rate limit exceeded",
    "status": 429
  },
  "meta": {
    "requestId": "req_xyz789",
    "timestamp": "2024-01-15T10:30:00Z"
  }
}

Codes d'erreur

Quand une erreur survient, l'API renvoie un code de statut HTTP approprié et un corps JSON avec les détails de l'erreur.

INVALID_API_KEY401

La clé API est manquante ou mal formée

KEY_REVOKED403

La clé API a été révoquée

KEY_EXPIRED403

La clé API a expiré

INSUFFICIENT_PERMISSIONS403

La clé API ne dispose pas des permissions requises pour ce point de terminaison

VALIDATION_ERROR400

Le corps de la requête manque de champs requis ou contient des valeurs invalides

INVALID_PARAMETER400

Un paramètre de requête a une valeur invalide

INVALID_ROLE400

Le rôle n'est pas valide pour le jeu de l'équipe. Voir les rôles valides par jeu

RATE_LIMIT_EXCEEDED429

Trop de requêtes. Attends et réessaie

NOT_FOUND404

La ressource demandée n'a pas été trouvée

INTERNAL_ERROR500

Une erreur serveur inattendue s'est produite

Permissions et scopes

Les clés API peuvent se voir attribuer des permissions spécifiques pour limiter les données auxquelles elles peuvent accéder. Utilise toujours les permissions minimales requises pour ton intégration.

players:read

Voir les profils de joueurs, statistiques et informations de base

players:write

Créer et mettre à jour les profils de joueurs

prospects:read

Voir les espoirs de ton pipeline de recrutement

prospects:write

Ajouter et mettre à jour des espoirs

contracts:read

Voir les détails des contrats et les dates d'expiration

teams:read

Voir les équipes et leurs détails

roster:read

Voir les informations de roster et les affectations de joueurs

schedule:read

Voir le planning à venir, les matchs et les événements

Exemples de code

Voici des exemples d'utilisation de l'API dans des langages de programmation populaires.

JavaScript / Node.js

JavaScript / Node.js
const response = await fetch('https://enkelt.ai/api/public/v1/players', {
  headers: {
    'Authorization': 'Bearer sk_live_your_api_key',
    'Content-Type': 'application/json'
  }
});

const { data } = await response.json();
console.log(data); // Array of players

Python

Python
import requests

response = requests.get(
    'https://enkelt.ai/api/public/v1/players',
    headers={
        'Authorization': 'Bearer sk_live_your_api_key',
        'Content-Type': 'application/json'
    }
)

data = response.json()
print(data['data'])  # List of players

Bonnes pratiques

  • Utilise des variables d'environnement pour stocker ta clé API, ne la code jamais en dur
  • Implémente un backoff exponentiel quand tu reçois des erreurs de limitation de débit (429)
  • Mets en cache les réponses quand c'est possible pour réduire le nombre d'appels API
  • Utilise les permissions minimales requises pour ta clé API
  • Fais tourner tes clés API périodiquement pour une meilleure sécurité
  • Surveille ton utilisation de l'API dans le tableau de bord pour éviter d'atteindre les limites

Besoin d'aide ?

Consulte le tableau de bord des clés API pour les analyses d'utilisation et les logs. Si tu rencontres des problèmes, contacte notre équipe support avec ton ID de requête depuis la réponse d'erreur.