Skip to content
You are reading the unreleased documentation. No version is released yet, and these pages describe code that is not in a release.

Store config

The shape GET /v1/store/config answers with, which is what a storefront renders its brand tokens, locales, direction and money format from. Every key is present; a value the store has not filled in yet is an empty string. The same shape, with a fixture block added, is a scenario fixture under test/fixtures/store-configs/.

  • identity (object, required).
    • identity.storeName (object, required).
      • identity.storeName.default (string, required).
    • identity.brandName (string, required).
    • identity.description (object, required).
      • identity.description.default (string, required).
    • identity.legalName (object, required).
      • identity.legalName.default (string, required).
    • identity.contact (object, required).
      • identity.contact.email (string, required).
      • identity.contact.phone (string, pattern ^$|^\+[1-9][0-9]{6,14}$, required).
    • identity.address (object, required).
      • identity.address.street (object, required).
        • identity.address.street.default (string, required).
      • identity.address.locality (string, required).
      • identity.address.region (string, required).
      • identity.address.postalCode (string or null, required).
      • identity.address.country (string, pattern ^$|^[A-Z]{2}$, required).
    • identity.areaServed (array of string, pattern ^[A-Z]{2}$, required).
    • identity.businessType ("OnlineStore", "LocalBusiness", "Hybrid", required).
  • brand (object, required).
    • brand.baseColors (object, required).
      • brand.baseColors.primary (string, pattern ^#[0-9A-Fa-f]{6}$, required).
      • brand.baseColors.secondary (string, pattern ^#[0-9A-Fa-f]{6}$ or null, required).
      • brand.baseColors.accent (string, pattern ^#[0-9A-Fa-f]{6}$ or null, required).
    • brand.fontKit ("latin-rounded", "arabic-latin", required).
    • brand.logoAssetId (string, uuid, pattern ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$ or null, required).
    • brand.faviconAssetId (string, uuid, pattern ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$ or null, required).
    • brand.generatedPalette (object, optional).
      • brand.generatedPalette.tokens (object, required).
      • brand.generatedPalette.adjustments (array of objects, required). Each item:
        • brand.generatedPalette.adjustments[].token (string, required).
        • brand.generatedPalette.adjustments[].reason ("contrast", "no-accent-given", "accent-from-secondary", required).
        • brand.generatedPalette.adjustments[].from (string, required).
        • brand.generatedPalette.adjustments[].to (string, required).
        • brand.generatedPalette.adjustments[].against (string, optional).
        • brand.generatedPalette.adjustments[].ratio (number, optional).
  • localization (object, required).
    • localization.supportedLocales (array of "fr", "en", "ar", required).
    • localization.defaultLocale ("fr", "en", "ar", required).
    • localization.rtlLocales (array of "fr", "en", "ar", required).
    • localization.timezone (string, pattern ^[A-Za-z_]+\/[A-Za-z_]+(\/[A-Za-z_]+)?$|^UTC$, required).
  • money (object, required).
    • money.currencyCode (string, pattern ^[A-Z]{3}$, required).
    • money.symbol (string, min length 1, required).
    • money.symbolPosition ("before", "after", required).
    • money.decimalSeparator (string, min length 1, max length 1, required).
    • money.thousandsSeparator (string, min length 1, max length 1, required).
    • money.displayPrecision (integer, min 0, max 3, required).
    • money.taxDisplay ("HT", "TTC", "none", required).
    • money.vatRate (number, min 0, max 1, required).
  • domains (object, required).
    • domains.storefront (string, pattern ^$|^https?:\/\/[a-z0-9.-]+(:[0-9]{2,5})?$, required).
    • domains.admin (string, pattern ^$|^https?:\/\/[a-z0-9.-]+(:[0-9]{2,5})?$, required).
    • domains.api (string, pattern ^$|^https?:\/\/[a-z0-9.-]+(:[0-9]{2,5})?$, required).