# Modes d'expédition du tenant

Gérez les modes d'expédition proposés aux clients. Chaque mode repose sur un modèle de la plateforme et peut être personnalisé par tenant : nom, note, ordre, état actif et valeur par défaut.

## Types

| Type | Description |
|---|---|
| standard | Tarif fixe ou livraison gratuite configurée manuellement. |
| external | Tarif calculé en temps réel par une extension tierce au paiement. |
| sendcloud | Intégration Sendcloud pour les étiquettes et le choix du transporteur. |

## Accès administrateur et client

- GET /v1/tenants/shipping_methods est public et ne renvoie que les modes actifs. Ajoutez account_id pour filtrer par compte vendeur.
- POST, PUT et DELETE sont réservés aux administrateurs.
- GET /:id/external récupère les tarifs en direct d'une extension pour le paiement.

## Lister les modes

GET /v1/tenants/shipping_methods — Paramètre facultatif account_id (integer), compte vendeur concerné.

Champs renvoyés : id (identifiant), name (nom localisé), note (description client), logo_path (URL d'image), type (standard, external, sendcloud), channel (delivery ou pickup, par exemple), default (mode pré-sélectionné), active (disponibilité client), order_by (ordre croissant) et metadata (configuration d'extension, par exemple extension_id).

## Créer un mode

POST /v1/tenants/shipping_methods — Administrateurs uniquement.

Corps shipping_method : shipping_method_id (integer requis, ID du modèle plateforme), name (string requis), note (string facultatif), default (boolean requis, désactive les autres modes par défaut), active (boolean requis), order_by (integer facultatif) et metadata (object facultatif, par ex. extension_id).

## Modifier ou archiver

PUT /v1/tenants/shipping_methods/:shipping_method_id modifie le mode avec les mêmes champs que POST. DELETE /v1/tenants/shipping_methods/:shipping_method_id l'archive et le retire du paiement. Ces opérations sont réservées aux administrateurs.

## Tarifs externes

GET /v1/tenants/shipping_methods/:shipping_method_id/external récupère les tarifs dynamiques. Le mode doit définir metadata.extension_id et l'extension doit prendre en charge l'événement external_shipping_methods.

Paramètres : shipping_address_id (integer, adresse enregistrée transmise à l'extension pour calculer les tarifs) et uuid (string, UUID du panier utilisé pour lire son contenu).

Réponse : external_shipping_methods, tableau d'options transporteur renvoyées par l'extension.
