Ressources
Boutiques
Lister, créer et récupérer les boutiques d'un tenant.
{idOrName} dans chaque route ci-dessous accepte soit l'ObjectId de la boutique, soit son nom exact (insensible à la casse) — encodez le nom dans l'URL s'il contient des espaces (Shop%20Name). Deux boutiques partageant le même nom entraînent un 409 AMBIGUOUS_SHOP avec la liste des identifiants candidats ; utilisez ensuite l'identifiant.
| Méthode | Chemin | Permission | Objet |
|---|---|---|---|
| GET | /shops?page=&limit= | shops.read | liste paginée, les plus récentes d'abord |
| POST | /shops | shops.write | créer avec le strict minimum |
| GET | /shops/{idOrName} | shops.read | une boutique |
Créer une boutique
POST /shops ne prend que { name, phone? } — tout le reste (coordonnées, horaires d'ouverture, points de retrait, canaux) se complète depuis le tableau de bord. La réponse est 201 avec une setupUrl qui ouvre directement le formulaire d'édition de la boutique, et setupRequired: ["location", "operatingHours"] indiquant ce qui manque encore.
curl -s -X POST -H "Authorization: Bearer omk_live_YOUR_KEY" \
-H "Content-Type: application/json" \
-d '{"name":"SHOP_NAME","phone":"+24177000000"}' \
https://app.omni-manager.com/api/v1/shops
Échoue avec 402 QUOTA_EXCEEDED à la limite de boutiques du plan, avec 409 SHOP_NAME_TAKEN sur un nom déjà pris, et avec 409 TENANT_OWNER_MISSING si le tenant n'a aucun utilisateur propriétaire enregistré (dans ce cas, créez-la plutôt depuis le tableau de bord).