> ## Documentation Index
> Fetch the complete documentation index at: https://docs.chataigne.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Paramètres de livraison

> Configurez les modes de retrait, les prestataires, les frais, les zones et les limites de commande.

Les paramètres de livraison contrôlent si un établissement propose la livraison et le retrait, ainsi que la tarification et l’exécution des demandes de livraison.

| Action   | Endpoint                                              | Permission               |
| -------- | ----------------------------------------------------- | ------------------------ |
| Lire     | `GET /v1/locations/{location_id}/delivery_settings`   | `deliverySettings.read`  |
| Modifier | `PATCH /v1/locations/{location_id}/delivery_settings` | `deliverySettings.write` |

## Lire les paramètres actuels

```bash theme={null}
curl https://server.chataigne.ai/v1/locations/loc_r8v4n2c6tz/delivery_settings \
  -H "x-api-key: $CHATAIGNE_API_KEY"
```

La réponse décrit les modes disponibles, le prestataire et la stratégie de frais, les critères géographiques, les limites de commande et les options propres au prestataire. Lisez-la avant de modifier un groupe de champs associés.

`provider` vaut `null` lorsque l’exécution est gérée par un prestataire qui n’est pas configurable depuis l’API publique. Dans ce cas, omettez `provider` des requêtes `PATCH` ; les autres paramètres publics de livraison restent lisibles et modifiables.

## Stratégies de frais

`fee_strategy` détermine les frais de livraison affichés et facturés au client :

| Valeur              | Fonctionnement                                                                                                                                     | Champs associés            |
| ------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------- |
| `postalCode`        | Applique les frais fixes configurés pour le code postal de l’adresse de livraison.                                                                 | `postal_codes`             |
| `deliveryZone`      | Applique les frais fixes de la zone géographique contenant l’adresse de livraison.                                                                 | `delivery_zones`           |
| `percentage`        | Le client paie la part définie de la facture réelle du prestataire ; l’établissement prend en charge le reste. Par exemple, `0.7` signifie 70 %.   | `fee_percentage`           |
| `customerPaysAll`   | Le client paie la totalité des frais réels facturés par le prestataire.                                                                            | Aucun champ supplémentaire |
| `restaurantPaysAll` | Aucun frais de livraison n’est facturé au client ; l’établissement prend en charge la totalité du coût.                                            | Aucun champ supplémentaire |
| `smart`             | Calcule automatiquement les frais client selon la distance et applique la configuration de tarification intelligente.                              | `smart_parameters`         |
| `distanceRange`     | Utilise la première tranche dont `up_to_km` couvre la distance ; chaque tranche définit ses frais affichés et peut imposer un minimum de commande. | `distance_ranges`          |

## Modifier certains champs

`PATCH` conserve les champs omis. La requête suivante active la livraison et le retrait, sélectionne une livraison gérée par le restaurant, limite le rayon et définit des montants minimum et maximum :

```bash theme={null}
curl https://server.chataigne.ai/v1/locations/loc_r8v4n2c6tz/delivery_settings \
  -X PATCH \
  -H "x-api-key: $CHATAIGNE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "delivery_enabled": true,
    "pickup_enabled": true,
    "provider": "handledByStore",
    "fee_strategy": "distanceRange",
    "max_delivery_radius_in_km": 8,
    "min_order_amount": 15,
    "max_order_amount": 120,
    "collection_max_order_amount": 200,
    "max_items_number": 30
  }'
```

## Effacer des valeurs

Les champs nullable peuvent recevoir `null` pour être effacés ou réinitialisés. Par exemple, ce corps supprime le plafond de sous-total propre à l’établissement tout en conservant les autres champs :

```json theme={null}
{
  "max_order_amount": null
}
```

Des limites propres au prestataire peuvent continuer à s’appliquer après la suppression d’une limite de l’établissement. Consultez la référence API pour toutes les stratégies de frais et leurs champs associés.
