API
CLIENTXCMS met à disposition une API RESTful pour permettre aux développeurs de créer des applications qui interagissent avec les données de CLIENTXCMS. Cette API est basée sur les standards RESTful et utilise des codes d'état HTTP pour indiquer les erreurs. Les réponses peuvent être retournées en JSON ou en XML selon l'entête demandé.
Authentification
Pour utiliser l'API, vous devez fournir une clé d'API dans l'en-tête de chaque requête. Vous pouvez obtenir une clé d'API avec la commande suivante :
php artisan clientxcms:create-api-key {name} {email} {--permissions=*}
Le premier argument est le nom de la clé d'API, le second est le compte administrateur associé à la clé d'API, et le troisième est la liste des permissions de la clé d'API.
Exemple
PHP
<?php
$client = new GuzzleHttp\Client();
$response = $client->request('GET', 'https://clientxcms.app/api/application/products', [
'headers' => [
'Authorization' => 'Bearer YOUR TOKEN HERE',
'Accept' => 'application/json'
]
]);
$json = json_decode($response->getBody()->getContents());
Node.js
const axios = require('axios');
axios.get('https://clientxcms.app/api/application/products', {
headers: {
'Authorization': 'Bearer YOUR TOKEN HERE',
'Accept': 'application/json'
}
})
.then(response => {
console.log(response.data);
})
.catch(error => {
console.error(error);
});
N'hésitez pas à utiliser ?pricing=1 pour obtenir les prix des produits en plus des produits.
Permissions
Les permissions suivantes sont disponibles pour les clés d'API :
- Général
- Clients
- Produits
- Groupes de Produits
- Prix
- Services
*
: Toutes les permissionshealth
: Vérifier l'état de santé de l'APIstatitics
: Obtenir les statistiques de l'APIlicense
: Obtenir les informations de la licence
customers:index
: Lire les clientscustomers:create
: Créer un clientcustomers:update
: Mettre à jour un clientcustomers:delete
: Supprimer un client
products:index
: Lire les produitsproducts:create
: Créer un produitproducts:update
: Mettre à jour un produitproducts:delete
: Supprimer un produit
groups:index
: Lire les groupes de produitsgroups:create
: Créer un groupe de produitsgroups:update
: Mettre à jour un groupe de produitsgroups:delete
: Supprimer un groupe de produits
pricings:index
: Lire les prixpricings:create
: Créer un prixpricings:update
: Mettre à jour un prixpricings:delete
: Supprimer un prix
services:index
: Lire les servicesservices:update
: Mettre à jour un serviceservices:delete
: Supprimer un serviceservices:expire
: Expirer un serviceservices:unsuspend
: Renouveler un serviceservices:suspend
: Suspendre un service
Nous sommes en train de travailler sur de nouvelles permissions pour les clés d'API afin de rajouter plus de flexibilité et l'accès à plus de ressources. Une mise à jour est prévue pour améliorer l'API.
Spécifications
Vous pouvez consulter la documentation de l'API pour obtenir des informations sur les différentes ressources et les opérations disponibles. Vous pouvez également tester l'API en utilisant l'interface Swagger fournie sur l'URL /api/documentation
sur votre espace client.