Skip to content

Catégories ​

Les catégories regroupent les sièges par tarif ou par zone : « Carré Or », « Balcon », « PMR ». Chaque siège d'un plan appartient à une catégorie, et c'est la couleur de la catégorie qu'on voit dans le widget.

Deux familles d'endpoints coexistent : les catégories rattachées à un plan (celles qu'utilisent l'éditeur et les SDK) et les catégories au niveau du workspace.

Catégories d'un plan ​

C'est la voie utilisée par les SDK.

Lister ​

GET /api/charts/{chartId}/categories

bash
curl https://api.mitoera.com/api/charts/CHART_ID/categories \
  -u pk_xxxxxxxx:sk_xxxxxxxx
ts
const cats = await client.categories.listForChart(chartId);
php
$cats = $client->categories->listForChart($chartId);

Créer ​

POST /api/charts/{chartId}/categories

ChampTypeRequisDescription
namestringouiNom de la catégorie — label est accepté comme alias
colorstringouiCouleur hexadécimale, ex. #E8602A
keyintegernonClé numérique ; générée si absente

Une catégorie ne porte pas de prix

Le modèle ne contient que id, name, key et color. Tout champ de tarif envoyé ici est ignoré — y compris le cinquième argument $price du SDK PHP, resté sans effet côté API. Les prix affichés se passent au widget via categoryPrices.

ts
await client.categories.create(chartId, 'Carré Or', '#E8602A');
php
$client->categories->create($chartId, 'Carré Or', '#E8602A');

Obtenir, modifier, supprimer ​

GET/api/charts/{chartId}/categories/{key}
PUT/api/charts/{chartId}/categories/{key}
DELETE/api/charts/{chartId}/categories/{key}
ts
await client.categories.get(chartId, categoryKey);
await client.categories.update(chartId, categoryKey, { name: 'Carré Or+' });
await client.categories.delete(chartId, categoryKey);
php
$client->categories->get($chartId, $categoryKey);
$client->categories->update($chartId, $categoryKey, ['name' => 'Carré Or+']);
$client->categories->delete($chartId, $categoryKey);

Supprimer une catégorie utilisée

Les sièges qui y étaient rattachés se retrouvent sans catégorie et ne s'afficheront plus correctement. Réaffectez-les d'abord dans l'éditeur.

Catégories du workspace ​

GET /api/categories

json
[
  {
    "id": "01926c4d-9012-7abc-8def-000000000003",
    "name": "Carré Or",
    "key": 1,
    "color": "#E8602A"
  }
]
POST/api/categories — champs name, color, key
GET/api/categories/{categoryId}
PUT/api/categories/{categoryId}
DELETE/api/categories/{categoryId}
bash
curl -X POST https://api.mitoera.com/api/categories \
  -u pk_xxxxxxxx:sk_xxxxxxxx \
  -H 'Content-Type: application/json' \
  -d '{"name":"Carré Or","color":"#E8602A"}'

Tarifs affichés dans le widget ​

L'API ne stocke aucun prix : les tarifs vivent chez vous. Pour afficher un prix dans le widget — et le faire varier selon un code promo, un tarif abonné ou une devise — passez categoryPrices à SeatingChart :

ts
categoryPrices: {
  'cat-vip':    { price: 150, currency: 'EUR' },
  'cat-normal': { price: 50,  currency: 'EUR' },
}

Voir SeatingChart.

API, SDK et widget de plans de salle.