Passer au contenu principal

Boutique

GET /v1/store — profil de votre boutique (nom, slug, thème, domaine personnalisé, URL publique).

Écrit par Support

La « boutique » est le conteneur de plus haut niveau des produits, commandes, clients, etc. Chaque clé est liée à exactement une boutique. Il n'existe aucun moyen de requêter les boutiques d'autres marchands.

GET /v1/store

Retourne le profil de la boutique à laquelle appartient la clé appelante.

Auth : n'importe quelle clé plateforme active liée à la boutique. Note : en v1, le scope store:read n'est pas vérifié sur cet endpoint — les endpoints de lecture sont protégés uniquement par une clé valide et le cloisonnement par boutique. Les seuls scopes réellement appliqués en v1 sont products:write, orders:write, landing_pages:write, webhooks:read, webhooks:write et usage:read.

Mis en cache pendant 30 s (par clé API + query string) — une modification faite dans le tableau de bord peut mettre jusqu'à 30 s à apparaître via api.dzbuild.app. Vérifiez l'en-tête de réponse X-Cache: HIT|MISS. L'alias dzbuild.com/api/v1/store n'est pas mis en cache.

Requête

curl https://api.dzbuild.app/v1/store \
  -H "Authorization: Bearer $DZ_KEY"

Réponse 200

{
  "data": {
    "id":         13,
    "name":       "DZBuild",
    "slug":       "dzbuild",
    "language":   "ar",
    "description": "DZBuild Offers Preview",
    "logo":       "/uploads/logos/13/8e19a05f0e4205bbcd861469ec0f9257.webp",
    "favicon":    null,
    "banner":     null,
    "theme": {
      "primary_color":    "#f59e0b",
      "secondary_color":  "#fbbf24",
      "background_color": "#ffffff",
      "font_family":      "Cairo"
    },
    "subdomain":            "dzbuild.minacef.app",
    "custom_domain":        null,
    "custom_domain_verified": false,
    "public_url":            "https://dzbuild.minacef.app",
    "hide_branding":         false,
    "created_at":            "2026-01-13 14:58:23"
  },
  "meta": { "request_id": "...", "api_version": "v1" }
}

Référence des champs

Champ

Type

Notes

id

int

Identifiant interne stable. Identique à store_id partout ailleurs.

name

string

Nom d'affichage. Apparaît dans la navbar et les emails.

slug

string

Identifiant compatible URL. Utilisé dans <slug>.dzbuild.app, etc.

language

enum

ar ou fr. Détermine le sens RTL/LTR de la vitrine.

description

string|null

Tagline courte.

logo

string|null

Chemin sur cdn.dzbuild.app s'il est défini. Préfixez l'URL CDN pour l'afficher.

favicon

string|null

Même logique.

banner

string|null

Même logique.

theme.primary_color

hex string

Couleur dominante des boutons et accents.

theme.secondary_color

hex string

Hover / accents secondaires.

theme.background_color

hex string

Fond de page.

theme.font_family

string

Typographie (par défaut Cairo).

subdomain

string|null

Sous-domaine émis par DZBuild. Normalement présent ; null si aucun sous-domaine n'est encore configuré pour la boutique.

custom_domain

string|null

Domaine personnel du marchand. Défini uniquement s'il a été ajouté depuis le tableau de bord.

custom_domain_verified

bool

Vrai uniquement si DNS + SSL sont opérationnels.

public_url

string|null

URL où arrivent réellement les clients. Préfère un custom_domain vérifié ; retombe sur le sous-domaine ; null si aucun des deux n'existe.

hide_branding

bool

« Powered by DZBuild » caché dans le footer. Plan Illimité.

created_at

timestamp

Heure de création de la boutique, heure d'Alger (UTC+01:00).

Erreurs

HTTP

Code

Cause

401

unauthorized

Clé invalide ou manquante

402

quota_exceeded

Quota mensuel de requêtes de la boutique épuisé — voir Limites de débit

403

forbidden

Mode pilote : clé non enrôlée (« API is in pilot mode; key not enrolled »)

404

not_found

La boutique a été supprimée pendant que vous utilisiez la clé (très rare)

429

rate_limited

Plafond par minute atteint pour cette clé ; respectez Retry-After — voir Limites de débit

PATCH /v1/store (à venir en v1.1)

Mettre à jour les champs du profil boutique (nom, slug, couleurs du thème, domaine personnalisé).

Cet endpoint est réservé — la surface est verrouillée mais l'implémentation fait partie du jalon v1.1. En attendant, les modifications passent par le tableau de bord.

Les clés portent déjà un scope store:write, mais aucun endpoint d'écriture ne le consomme encore. PATCH /v1/store renvoie aujourd'hui 405 method_not_allowed, et non 404 — et via api.dzbuild.app vous obtenez d'abord 400 bad_request si vous omettez l'en-tête Idempotency-Key.

Avez-vous trouvé la réponse à votre question ?