Documentation

API KelCommerce

Reliez votre boutique à votre caisse, votre ERP ou votre comptabilité. L’API est incluse dans la formule Business.

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) et count ; le total est dans l’en-tête X-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

La référence des routes est en anglais.

Products

GET/products?q=&status=&category=&start=0&count=50List products (X-Total-Count header gives the total).
POST/productsCreate 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}/mediaAdd an image: {filename, contentType, data: base64, alt}. JPEG, PNG or WebP, 8 MB max.

Categories

GET/categoriesAll categories (tree via parentId).
POST · PUT · DELETE/categories[/{id}]Create, update, delete.

Orders

GET/orders?status=pending|paid|fulfilled|cancelled|refunded&q=&start&countList orders.
GET/orders/{id}One order with lines, addresses, payment and fulfilment.
POST/orders/{id}/fulfillMark shipped: {carrier, trackingNumber, trackingUrl}. The customer gets an e-mail.
POST/orders/{id}/cancelCancel (a paid order is restocked and marked refunded).
PUT/orders/{id}/noteInternal note: {note}.

Customers and B2B

GET/customers?q=&b2b=pending|approved&start&countList 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}/pricesGroup price list: [{variantId, price, minQuantity}] (PUT replaces the list).

Shop settings

GET · PUT/shopName, 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=30Sales totals, series and top products.

Créer une clé Formule Business

Une question ? Écrivez-nous à support@kelcommerce.be.