[Admin] Créer une Application Cliente
Cette requête permet de créer une nouvelle application cliente autorisée à interagir avec l'API Horsplace.
Méthode : POST
URL : {{baseUrl}}/api/client_apps
En-têtes :
| Clé | Valeur | Description |
|---|---|---|
X-API-KEY | {{apiKey}} | Votre clé d'API unique (d'administration). |
Content-Type | application/json | Type de contenu de la requête. |
Corps de la requête (JSON) :
{
"name": "Nouvelle Application Partenaire Delta",
"permissions": [ // Permissions accordées à cette application pour accéder à VOTRE API proxy
"horstable.template.list",
"horstable.label.update"
],
"roles": ["ROLE_PARTNER"], // Rôles Symfony pour cette application
"groupNames": ["groupe_marketing", "groupe_technique"], // Groupes de permissions personnalisés
"horstableUsername": "user_horstable_delta", // Identifiant pour l'API Horsplace distante
"plainHorsplacePassword": "password_horstable_delta", // Mot de passe pour l'API Horsplace distante
"horstableUrl": "https://api.horstable.com/partenaire_delta", // URL de base de l'API Horsplace pour ce client
"expiresAt": "2026-12-31T23:59:59+00:00" // Optionnel: date d'expiration de la clé d'API
}
Note : name est obligatoire. permissions, roles, groupNames, horstableUsername, plainHorsplacePassword, horstableUrl, et expiresAt sont des champs importants pour configurer l'accès et la connexion de l'application cliente à l'API Horsplace distante via ce proxy.
Réponses possibles :
201 Created: Application cliente créée avec succès. Les détails de l'application, y compris sa propre clé d'API générée, sont retournés.400 Bad Request: La requête est malformée ou des informations sont manquantes.422 Unprocessable Entity: Les données fournies ne sont pas valides (par exemple, nom déjà utilisé, permissions invalides).
Exemple de réponse (Succès - 201) :
{
"id": "client_app_uuid_789",
"name": "Nouvelle Application Partenaire Delta",
"apiKey": "generated_api_key_for_delta", // Clé d'API générée pour cette application cliente
"permissions": [
"horstable.template.list",
"horstable.label.update"
],
"roles": ["ROLE_PARTNER", "ROLE_API"],
"groupNames": ["groupe_marketing", "groupe_technique"],
"horstableUrl": "https://api.horstable.com/partenaire_delta",
// horstableUsername et horstablePassword ne sont généralement pas retournés pour des raisons de sécurité
"expiresAt": "2026-12-31T23:59:59+00:00",
"createdAt": "YYYY-MM-DDTHH:mm:ssZ",
"updatedAt": "YYYY-MM-DDTHH:mm:ssZ"
// isActive est généralement géré par le système et non retourné ici, ou est implicitement true à la création
}