Aller au contenu principal

Journal des modifications

L'API est en pilote et réservée au plan Enterprise : les clés doivent être inscrites au pilote et appartenir à une boutique disposant d'un plan Enterprise actif, sans quoi chaque appel renvoie 403, et https://api.dzbuild.app est le seul hôte pris en charge.

v1.4 — 2026-09-05 (pilote)

  • Les commandes peuvent être écrites. POST /v1/orders crée une commande, PATCH /v1/orders/{id} change son statut, POST /v1/orders/{id}/cancel l'annule et POST /v1/orders/{id}/send-to-delivery confie un colis au transporteur de la boutique. Les deux nouvelles portées sont orders:write et delivery:send.
  • ⚠️ Les portées sont figées à la création de la clé : une clé existante n'obtient pas les nouvelles portées. Créez une nouvelle clé, ou reconnectez le connecteur, pour les utiliser.
  • ⚠️ Un envoi au transporteur exige toujours une confirmation émise par le serveur. Le premier appel renvoie 409 confirmation_required avec un jeton à usage unique et un récapitulatif nommant le client, le téléphone, la destination, le total et le transporteur ; seul ce jeton envoie le colis. Un confirm: true dans le corps n'est accepté sur ce point d'entrée pour aucun appelant. Une commande déjà envoyée est refusée par 409 already_sent.
  • ⚠️ Le calcul monétaire d'une commande vient désormais du serveur. Les valeurs shipping_cost et payment_fee envoyées par l'appelant sont ignorées : le coût de livraison vient de la table de tarifs de la boutique pour cette wilaya et ce type de livraison, et discount est plafonné au sous-total plus la livraison. Les prix des articles fonctionnaient déjà ainsi.
  • GET /v1/shipping/coverage indique si le transporteur lié dessert une commune et s'il possède un bureau dans une wilaya, avec la fraîcheur des données du transporteur.
  • GET /v1/shipping/providers signale aussi un transporteur configuré directement sur la boutique plutôt qu'ajouté depuis la liste des fournisseurs, ainsi que is_send_default, economic_available, synced_tier, stock_account, auto_validate et custom_name. Les identifiants et les adresses ne sont jamais renvoyés.
  • GET /v1/landing-pages/{id}/check signale ce qu'un acheteur rencontrerait sur la page : un formulaire de commande sans produit, aucun formulaire, plusieurs, ou une section pointant vers un produit d'une autre boutique.
  • ⚠️ Publier une page de destination cassée est refusé. PATCH /v1/landing-pages/{id} avec status: active échoue avec landing_page_has_no_product quand la page prendrait des commandes à zéro. Modifier une page déjà en ligne reste possible, pour pouvoir la réparer. L'écriture d'une section nommant un product_id d'une autre boutique est refusée comme erreur de validation.
  • ⚠️ PATCH /v1/landing-page-sections/{id} avec replace: true réinstalle désormais les réglages par défaut du type de section sous l'objet que vous envoyez : une clé omise revient à sa valeur par défaut au lieu de disparaître de la page.
  • GET /v1/connection liste les boutiques couvertes par une même autorisation et celle qui est active ; POST /v1/connection/active-store déplace le pointeur. Ce pointeur n'est pas une permission : une boutique que le marchand n'a jamais approuvée n'a pas de clé et ne peut pas être sélectionnée.

v1.3 — 2026-08-13 (pilote)

  • Gestion des clés en libre-service — les propriétaires de boutiques Enterprise peuvent désormais générer et révoquer leurs clés API depuis le dashboard marchand, dans Paramètres → API (/dashboard/api). Les secrets ne sont affichés qu'une fois, à la création.
  • ⚠️ La limite de taux par minute est désormais appliquée par boutique, partagée entre toutes les clés de la boutique (auparavant par clé). Le plafond Enterprise reste inchangé à 600 requêtes/minute.
  • ⚠️ Une boutique peut désormais détenir au plus 3 clés actives (contre 20), quel que soit le canal de création — dashboard, POST /v1/keys ou support. Révoquer une clé libère sa place.

v1.2 — 2026-08-13 (pilote)

  • ⚠️ L'API est désormais réservée au plan Enterprise. Les clés ne s'authentifient que tant que leur boutique est sur un plan Enterprise actif ; tout autre plan — ainsi qu'un abonnement Enterprise expiré — reçoit 403 forbidden (« API access requires an active Enterprise plan »). Les nouvelles clés ne peuvent être créées que pour des boutiques Enterprise. Les clés existantes des boutiques non-Enterprise cessent de fonctionner immédiatement mais ne sont pas supprimées : elles reprennent dès que la boutique passe sur (ou renouvelle) Enterprise, sans rien à réémettre.
  • ⚠️ Les tiers de limite de taux hérités Free / Pro / Unlimited sont retirés. Le plafond Enterprise reste 600 requêtes/minute par clé sans plafond mensuel ; les surcharges par boutique du support s'appliquent toujours.

v1.1 — 2026-08-12 (pilote)

  • Images produits via l'APIPOST /v1/products/{id}/images ajoute une image depuis une URL https publique (DZBuild la télécharge, l'optimise et l'héberge), PATCH .../images/{image_id} définit le texte alternatif, l'ordre d'affichage et l'image principale, DELETE .../images/{image_id} en supprime une. Les URL en double sont dédupliquées, la première image devient automatiquement l'image principale, maximum 20 images par produit.
  • PUT /v1/products/{id}/variants — créez et gérez les groupes de variantes, leurs options et le stock par combinaison en un seul appel (remplacement complet). Les champs price_adjustment, stock, sku, image_id et show_as_card par option sont désormais modifiables, et les indicateurs de mode de stock sont réglés pour vous.
  • GET /v1/products/{id} renvoie maintenant le bloc combinations ainsi que les champs d'option complets (price_adjustment, sku, show_as_card, sort_order, is_active) et le alt_text des images.
  • ⚠️ Changement notable : primary_image et images[].url renvoient désormais des URL CDN complètes au lieu de noms de fichiers nus. Si votre code ajoute le préfixe manuellement, retirez cette logique.

v1.0.1 — 2026-05-02 (pilote)

  • POST /v1/orders — création de commandes via l'API. Conçu pour les thèmes personnalisés, les vitrines headless, les apps mobiles et l'automatisation des revendeurs. Tarification des lignes autoritative côté serveur ; support complet des variantes ; idempotent.
  • 📚 Nouveau guide : Thèmes & vitrines personnalisés — build de bout en bout : catalogue, UI variantes, panier, checkout, intégration webhooks.
  • 📚 Nouveau guide : Pour revendeurs — gérer plusieurs boutiques clients, opérations en bulk, white-label, modèles de facturation.
  • 📚 Nouveau guide : Environnement & .env — stockage sécurisé des credentials pour Node, Python, PHP, Go, Vercel, Cloudflare, AWS, Docker/K8s, GitHub Actions.
  • 📚 Référence Orders enrichie — documentation complète des variantes : stock par variante, par combinaison, variantes en cascade, variantes image-texte, offres multi-pièces.

v1.0 — 2026-04-30 (pilote)

  • 🎉 Lancement initial en pilote.
  • Authentification, limitation de taux et cache de lecture, par clé.
  • Endpoints de lecture : boutique / produits / commandes / clients / landing pages.
  • Endpoints d'écriture avec idempotence : produits / commandes / landing pages.
  • Ingestion asynchrone de /v1/signups et /v1/events (202 Accepted).
  • Webhooks sortants avec réessais automatiques.