Cette fonctionnalité n’est disponible qu’en ajoutant la feature flag customer_roles_and_workspaces à la configuration de Medusa.js

  /** @type {import('@medusajs/medusa').ConfigModule} */
  module.exports = {
    projectConfig,
    plugins,
    modules,
    featureFlags: {
      customer_roles_and_workspaces: true
    },
  }

Vue d’ensemble de l’entité CustomWorkspace

L’entité CustomWorkspace représente un workspace qui peut être associé aux produits. Voici ses principaux attributs :

  • id : L’identifiant unique du workspace, préfixé par cws
  • name : Le nom du workspace.
  • description : La description du workspace.
  • handle : Le handle unique du workspace.
  • parent_id : L’identifiant du parent du workspace.
  • is_disabled : Un booléen indiquant si le workspace est désactivé.
  • metadata : Les métadonnées du workspace.
  • bridge_metadata : Les métadonnées du bridge.
  • created_at : La date et l’heure de création de l’enregistrement.
  • updated_at : La date et l’heure de la dernière mise à jour de l’enregistrement.

Relations


Vue d’ensemble de l’entité CustomerWorkspaceRole

L’entité CustomerWorkspaceRole représente l’association entre un customer, un workspace et un rôle. Voici ses principaux attributs :

  • id : L’identifiant unique de l’association, préfixé par ‘cwr’.
  • customer_id : L’identifiant du customer associé.
  • workspace_id : L’identifiant du workspace associé.
  • role_id : L’identifiant du rôle associé.
  • created_at : La date et l’heure de création de l’enregistrement.
  • updated_at : La date et l’heure de la dernière mise à jour de l’enregistrement.

À savoir qu’une contrainte d’unicité est appliquée sur les champs customer_id, workspace_id et role_id.

Relations

  • customer : Une relation many-to-one vers l’entité Customer.
  • workspace : Une relation many-to-one vers l’entité CustomWorkspace.
  • role : Une relation many-to-one vers l’entité CustomRole.

Vue d’ensemble de l’entité CustomWorkspaceAddress

L’entité CustomWorkspaceAddress représente l’association entre un workspace et une adresse de facturation. Voici ses principaux attributs :

  • id : L’identifiant unique de l’association, préfixé par ‘cwr’.
  • company : La raison sociale de l’entreprise.
  • first_name : Le prénom du customer.
  • last_name : Le nom du customer.
  • address_1 : La première ligne de l’adresse.
  • address_2 : La deuxième ligne de l’adresse.
  • city : La ville.
  • country_code : Le code du pays.
  • province : Le département.
  • postal_code : Le code postal.
  • phone : Le numéro de téléphone.
  • metadata : Les métadonnées de l’adresse.
  • bridge_metadata : Les métadonnées du bridge.
  • created_at : La date et l’heure de création de l’enregistrement.
  • updated_at : La date et l’heure de la dernière mise à jour de l’enregistrement.
  • deleted_at : La date et l’heure de la suppression de l’enregistrement.

Relations


Playground

Essayer l'API

WIP


Exemple de modèle JSON

Voici un exemple de ce à quoi pourrait ressembler une instance de CustomWorkspace en JSON :

{
  "id": "cws_01H1G5V27GYX4QXFXYD9G63300",
  "name": "Workspace 1",
  "description": "Workspace 1",
  "handle": "workspace-1",
  "parent_id": null,
  "is_disabled": false,
  "metadata": {
    "is_service": true
  },
  "bridge_metadata": {
    "import_date": "2023-07-10T09:00:00Z",
  },
  "created_at": "2023-07-15T10:30:00.000Z",
  "updated_at": "2023-07-15T14:45:00.000Z",
  "customer_roles": [
    {
      "id": "cwr_01H1G5V27GYX4QXFXYD9G63302",
      "customer_id": "cus_01H1G5V27GYX4QXFXYD9G63303",
      "workspace_id": "cws_01H1G5V27GYX4QXFXYD9G63300",
      "role_id": "crs_01H1G5V27GYX4QXFXYD9G63304"
    }
  ],
  "custom_workspace_address": {
    "id": "cwa_01H1G5V27GYX4QXFXYD9G63301",
    "company": "Company 1",
    "first_name": "John",
    "last_name": "Doe",
    "address_1": "123 Rue de la Paix",
    "address_2": "Appartement 456",
    "city": "Paris",
    "country_code": "FR",
    "province": "IDF",
    "postal_code": "75000",
    "phone": "01 02 03 04 05"
  }
}