Clés API
Créez une clé dans votre administration, menu Paramètres › API. Une clé « lecture seule » ne fait que lire ; une clé « lecture et écriture » peut tout modifier. La clé n’est affichée qu’une fois : conservez-la comme un mot de passe. Vous pouvez la révoquer à tout moment.
Authentification
Envoyez la clé dans l’en-tête Authorization. Remplacez {handle} par l’identifiant de votre boutique (celui de l’adresse votre-nom.kelcommerce.eu).
Authorization: Bearer kc_…
https://admin.kelcommerce.be/api/commerce/manage/{handle}/…
Règles
- JSON en entrée et en sortie, en UTF-8. Les montants sont des chaînes avec deux décimales (
"19.90"), TVA comprise. - Listes paginées avec
start(à partir de 0) etcount; le total est dans l’en-têteX-Total-Count. - Limite : 120 requêtes par minute et par clé. Au-delà : statut 429 et en-tête
Retry-After. - Erreurs :
{"error": "code", "message": "…"}avec le statut 401 (clé absente, révoquée ou formule non Business), 404 (introuvable), 417 (requête refusée), 429 (limite). - Une clé ne donne jamais accès à la facturation, à l’équipe, aux clés API ni à la configuration des paiements.
Exemple : commandes payées à expédier
curl -H "Authorization: Bearer kc_…" \
"https://admin.kelcommerce.be/api/commerce/manage/{handle}/orders?status=paid&start=0&count=50"
Référence
Products
| GET | /products?q=&status=&category=&start=0&count=50 | List products (X-Total-Count header gives the total). |
| POST | /products | Create a product with its options, variants and categories. |
| GET | /products/{id} | One product with variants, stock and media. |
| PUT | /products/{id} | Replace a product; variants with an id are kept, without id created, missing ones deleted. |
| DELETE | /products/{id} | Delete a product. |
| POST | /products/{id}/media | Add an image: {filename, contentType, data: base64, alt}. JPEG, PNG or WebP, 8 MB max. |
Categories
| GET | /categories | All categories (tree via parentId). |
| POST · PUT · DELETE | /categories[/{id}] | Create, update, delete. |
Orders
| GET | /orders?status=pending|paid|fulfilled|cancelled|refunded&q=&start&count | List orders. |
| GET | /orders/{id} | One order with lines, addresses, payment and fulfilment. |
| POST | /orders/{id}/fulfill | Mark shipped: {carrier, trackingNumber, trackingUrl}. The customer gets an e-mail. |
| POST | /orders/{id}/cancel | Cancel (a paid order is restocked and marked refunded). |
| PUT | /orders/{id}/note | Internal note: {note}. |
Customers and B2B
| GET | /customers?q=&b2b=pending|approved&start&count | List customers. |
| GET | /customers/{id} | One customer with their orders. |
| PUT | /customers/{id} | B2B status and price group: {b2bStatus, groupId}. |
| GET · POST · PUT · DELETE | /customer-groups[/{id}] | Price groups: {name, discountPercent}. |
| GET · PUT | /customer-groups/{id}/prices | Group price list: [{variantId, price, minQuantity}] (PUT replaces the list). |
Shop settings
| GET · PUT | /shop | Name, languages, address, theme… |
| GET · POST · PUT · DELETE | /shipping-rates[/{id}] | Shipping rates. |
| GET · POST · PUT · DELETE | /discounts[/{id}] | Discount codes. |
| GET · POST · PUT · DELETE | /pages[/{id}] | Content pages. |
| GET | /dashboard?days=30 | Sales totals, series and top products. |
Créer une clé Formule Business
Une question ? Écrivez-nous à support@kelcommerce.be.