API - Vue d’ensemble

API - Commandes

Récupérez les commandes des clients, mettez à jour les statuts et les quantités, et supprimez des commandes.

Vue d’ensemble des points d’accès

MéthodePoint d’accèsDescriptionAccès
GET/public-api/v1/customer-ordersRenvoie une liste paginée et filtrable des commandes clients.orders:read
GET/public-api/v1/customer-orders/:idRenvoie une commande client avec ses articles configurés.orders:read
POST/public-api/v1/customer-orders/batchRenvoie jusqu’à 100 commandes par identifiant.orders:read
PATCH/public-api/v1/customer-orders/:id/statusMet à jour le statut de la commande.orders:write
PATCH/public-api/v1/customer-orders/:orderId/quantityMet à jour les quantités des lignes de commande sélectionnées.orders:write
PATCH/public-api/v1/customer-orders/:orderId/quantity/allDéfinit une même quantité pour chaque article d’une commande.orders:write
DELETE/public-api/v1/customer-orders/:idSupprime une commande client appartenant au propriétaire de la boutique.orders:write

Commandes clients

Les points d’accès des commandes clients permettent à une boutique externe de lire les lignes configurées, de modifier les quantités, de faire évoluer les statuts de traitement d’une commande et de supprimer les commandes abandonnées.

ParamètreObligatoireDétails
namenonRecherche le nom du design et l’identifiant numérique de la commande.
category_idnonFiltre par identifiant de catégorie de produit.
order_statusnonL’un des statuts de commande autorisés.
offsetnonValeur par défaut : 0. Doit être >= 0.
limitnonValeur par défaut pour ce contrôleur : 9, maximum : 50.
order_bynonid, created_at ou design_name.
directionnonASC ou DESC.

Exemple de requête (fetch)

const params = new URLSearchParams({
  limit: '20',
  offset: '0',
  order_status: 'shopping_cart',
  order_by: 'created_at',
  direction: 'DESC'
});

const orders = await alterFetch(`/customer-orders?${params.toString()}`);

const order = await alterFetch('/customer-orders/123');

const batch = await alterFetch('/customer-orders/batch', {
  method: 'POST',
  body: JSON.stringify({
    customerOrderIds: [123, 124, 125]
  })
});

Valeurs autorisées

StatutDescription
shopping_cartParcours du panier ; le client peut encore modifier la configuration.
editableLa commande reste modifiable par le client.
paidLa commande est payée et prête à être exécutée.
processingLa commande est en cours de traitement.
completedLa commande a été exécutée.
cancelledLa commande a été annulée.

Exemple de requête (fetch)

await alterFetch('/customer-orders/123/status', {
  method: 'PATCH',
  body: JSON.stringify({
    status: 'processing'
  })
});

await alterFetch('/customer-orders/123/quantity', {
  method: 'PATCH',
  body: JSON.stringify({
    items: [
      { orderDetailId: 987, quantity: 3 }
    ]
  })
});

await alterFetch('/customer-orders/123/quantity/all', {
  method: 'PATCH',
  body: JSON.stringify({
    quantity: 2
  })
});

await alterFetch('/customer-orders/123', {
  method: 'DELETE'
});

Exemple de réponse

{
  "order": {
    "id": 123,
    "customizerId": 381,
    "orderStatus": "shopping_cart",
    "createdAt": "2026-05-28T10:15:00.000Z",
    "customizerOrderURL": "https://alterproduct.com/app/customizer/381/123",
    "productItems": [
      {
        "id": 987,
        "model3d": { "id": 381 },
        "size": {
          "id": 395,
          "name": { "pl": "M", "en": "M" },
          "measureSize": null
        },
        "material": {
          "id": 2,
          "name": { "pl": "Bawełna", "en": "Cotton" }
        },
        "printType": {
          "id": 1,
          "name": { "pl": "DTG", "en": "DTG" }
        },
        "color": {
          "id": 418,
          "name": { "pl": "Domyślny", "en": "Default" },
          "hex": "#ffffff"
        },
        "variant": {
          "id": 531,
          "metadata": null,
          "stockQuantity": 25
        },
        "unitPrice": { "value": 12.5, "currency": "EUR" },
        "totalPrice": { "value": 37.5, "currency": "EUR" },
        "quantity": 3
      }
    ],
    "customizerName": "Men's T-Shirt",
    "productGroup": {
      "id": 4,
      "name": { "pl": "Koszulka", "en": "T-Shirt" }
    },
    "totalPrice": { "value": 37.5, "currency": "EUR" }
  }
}