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

# Obtenir un devis d'expédition

> Affichez des tarifs d'expédition en direct dans votre caisse à partir de vos règles d'expédition - tarifs d'expédition en caisse Shopify, jeton de caisse WooCommerce et API de devis d'expédition pour votre propre vitrine.

Un devis d'expédition permet à votre boutique en ligne d'afficher à vos clients des tarifs d'expédition en direct en caisse, d'après vos règles d'expédition. Zippendo n'héberge pas de caisse : les tarifs apparaissent dans votre boutique en ligne, via **Zippendo Shipping** de Shopify, le plugin **Zippendo for WooCommerce**, ou un appel à l'API de devis d'expédition depuis votre propre vitrine.

Chaque tarif que votre client voit provient de l'une de vos [règles d'expédition](/docs/fr/how-to/shipping-rule-fields). Sans règle d'expédition pour les expéditions sortantes vers le pays du client, la caisse n'affiche aucun tarif Zippendo.

Pas-à-pas (connecter la boutique en ligne, choisir les règles, tester dans la boutique) : [Caisse](/docs/fr/tutorials/checkout). Aucun tarif affiché : [Le devis d'expédition ne renvoie aucun tarif](/docs/fr/knowledge-base/shipping-quote-no-rates).

<Note>
  Le bouton **Tester** d'une règle d'expédition vérifie si cette règle correspondrait à un panier. Il ne demande pas de prix au transporteur. Zippendo n'a pas d'aperçu de votre caisse.
</Note>

## Ce qu'il vous faut d'abord

<Steps>
  <Step title="Connecter votre boutique en ligne, ou créer un jeton d'API">
    Connectez Shopify ou WooCommerce sous **Canaux de vente**. Pour votre propre vitrine, créez un [jeton d'API](/docs/fr/how-to/create-an-api-token) avec **Voir les règles d'expédition**.
  </Step>

  <Step title="Connecter vos transporteurs">
    Voir [Identifiants du transporteur](/docs/fr/how-to/carrier-credentials). Chaque règle d'expédition utilise une offre transporteur d'un transporteur connecté.
  </Step>

  <Step title="Ajouter des règles d'expédition pour les expéditions sortantes">
    Nommez chaque règle comme vos clients doivent la lire en caisse. Définissez les pays vers lesquels elle expédie et les éventuelles limites de prix ou de poids. Voir [Champs d'une règle d'expédition](/docs/fr/how-to/shipping-rule-fields).
  </Step>
</Steps>

<Frame caption="Vos règles d'expédition sont les options d'expédition que la caisse affiche">
  <img src="https://mintcdn.com/zippendo/V9ToovUfi1Kuluow/images/fr/how-to/shipping-quotes/01-shipping-rules-light.png?fit=max&auto=format&n=V9ToovUfi1Kuluow&q=85&s=cf4b493737be1b962f82b7caf29fc54e" alt="Liste des règles d'expédition avec des règles sortantes GLS et PostNord" className="block dark:hidden" width="2880" height="1800" data-path="images/fr/how-to/shipping-quotes/01-shipping-rules-light.png" />

  <img src="https://mintcdn.com/zippendo/V9ToovUfi1Kuluow/images/fr/how-to/shipping-quotes/01-shipping-rules-dark.png?fit=max&auto=format&n=V9ToovUfi1Kuluow&q=85&s=7c10bda9af8211cebec3264990b8706f" alt="Liste des règles d'expédition avec des règles sortantes GLS et PostNord" className="hidden dark:block" width="2880" height="1800" data-path="images/fr/how-to/shipping-quotes/01-shipping-rules-dark.png" />
</Frame>

## Shopify : Tarifs d'expédition en caisse

Ouvrez votre canal de vente Shopify sous **Canaux de vente**. Dans l'onglet **Commandes et caisse**, faites défiler jusqu'à **Tarifs d'expédition en caisse**. Tous les paramètres Shopify : [Paramètres Shopify](/docs/fr/how-to/shopify-settings). Installer l'application : [Connecter Shopify](/docs/fr/tutorials/connect-shopify).

La carte indique : **Choisissez les règles d'expédition que vos clients peuvent sélectionner dans la caisse Shopify. Si vous n'en choisissez aucune, toutes les règles d'expédition correspondant au pays du destinataire sont utilisées. Une règle d'expédition qui livre en point relais affiche chaque point relais comme un tarif distinct.**

| Champ | Que faire |
| - | - |
| **Règles d'expédition** | Cochez les règles que Shopify doit proposer. Chaque ligne affiche le nom de la règle, son transporteur et ses pays, ainsi que sa description. Sans aucune règle, la carte indique **Aucune règle d'expédition pour le moment. Créez-en une sous Règles d'expédition dans le menu.** |
| **Points relais en caisse** | **Nombre total de points relais affichés en caisse. Ils sont répartis équitablement entre les règles d'expédition qui livrent en point relais.** Un nombre de 1 à 20. La valeur par défaut est 6. |
| **Enregistrer les modifications** | Enregistre vos choix. Le bouton est grisé tant que vous n'avez rien modifié. |

Plus de détails sur les points relais en caisse : [Points relais](/docs/fr/how-to/drop-point-and-service-points).

<Frame caption="Tarifs d'expédition en caisse : cochez les règles que Shopify doit proposer et définissez Points relais en caisse">
  <img src="https://mintcdn.com/zippendo/V9ToovUfi1Kuluow/images/fr/how-to/shipping-quotes/02-shopify-checkout-rates-light.png?fit=max&auto=format&n=V9ToovUfi1Kuluow&q=85&s=f49747ab649d0b84c86d7b967cb25aa8" alt="Tarifs d'expédition en caisse avec les cases des règles d'expédition et Points relais en caisse défini sur 6" className="block dark:hidden" width="2880" height="1800" data-path="images/fr/how-to/shipping-quotes/02-shopify-checkout-rates-light.png" />

  <img src="https://mintcdn.com/zippendo/V9ToovUfi1Kuluow/images/fr/how-to/shipping-quotes/02-shopify-checkout-rates-dark.png?fit=max&auto=format&n=V9ToovUfi1Kuluow&q=85&s=ff8225d9ebb56e84a679ff2979af2b75" alt="Tarifs d'expédition en caisse avec les cases des règles d'expédition et Points relais en caisse défini sur 6" className="hidden dark:block" width="2880" height="1800" data-path="images/fr/how-to/shipping-quotes/02-shopify-checkout-rates-dark.png" />
</Frame>

### Enregistrer Zippendo Shipping auprès de Shopify

Ouvrez l'onglet **Connexion et intégration**. Sur la carte **Service de transporteur** :

| Commande | Ce qu'elle fait |
| - | - |
| **Vérifier le service de transporteur** → **Vérifier le statut** | Vérifie si Zippendo est enregistré auprès de Shopify pour les tarifs d'expédition en direct. Vous voyez « 1 service de transporteur trouvé », ou **Aucun service de transporteur enregistré. Les tarifs d'expédition ne s'afficheront pas en caisse.**. |
| **Enregistrer le service de transporteur** | Enregistre Zippendo auprès de Shopify, ou l'enregistre de nouveau. Nécessaire pour les tarifs d'expédition en direct en caisse. |

La carte vous rappelle aussi : après l'enregistrement, allez dans **Shopify admin → Settings → Shipping and delivery** et ajoutez « Zippendo Shipping » comme fournisseur de tarifs dans vos zones d'expédition.

<Warning>
  Tant que **Zippendo Shipping** n'est pas ajouté à vos zones d'expédition dans Shopify, vos clients ne verront pas les tarifs Zippendo, même si **Vérifier le statut** trouve le service de transporteur et que vos règles sont cochées.
</Warning>

<Frame caption="Service de transporteur : Vérifier le statut et Enregistrer le service de transporteur">
  <img src="https://mintcdn.com/zippendo/V9ToovUfi1Kuluow/images/fr/how-to/shipping-quotes/03-shopify-carrier-service-light.png?fit=max&auto=format&n=V9ToovUfi1Kuluow&q=85&s=5fb4564b68bbcc9c8bff7b576981c86c" alt="Onglet Connexion et intégration de Shopify avec la carte Service de transporteur, Vérifier le statut et Enregistrer le service de transporteur" className="block dark:hidden" width="2880" height="1800" data-path="images/fr/how-to/shipping-quotes/03-shopify-carrier-service-light.png" />

  <img src="https://mintcdn.com/zippendo/V9ToovUfi1Kuluow/images/fr/how-to/shipping-quotes/03-shopify-carrier-service-dark.png?fit=max&auto=format&n=V9ToovUfi1Kuluow&q=85&s=5593cb429f185661fa4a427700a32951" alt="Onglet Connexion et intégration de Shopify avec la carte Service de transporteur, Vérifier le statut et Enregistrer le service de transporteur" className="hidden dark:block" width="2880" height="1800" data-path="images/fr/how-to/shipping-quotes/03-shopify-carrier-service-dark.png" />
</Frame>

Les boutiques Shopify sans tarifs d'expédition calculés peuvent à la place lier les noms de leurs propres modes de livraison Shopify à des règles d'expédition. Cela n'affiche pas de tarifs en direct ; cela place simplement la bonne règle sur chaque commande lors de son importation. Voir l'association des modes de livraison dans [Paramètres Shopify](/docs/fr/how-to/shopify-settings).

## WooCommerce : Jeton de caisse

WooCommerce affiche les tarifs en direct via le plugin **Zippendo for WooCommerce** et un **Jeton de caisse** (il commence par `zck_`). Connectez d'abord la boutique en ligne : [Connecter WooCommerce](/docs/fr/how-to/connect-woocommerce).

Ouvrez votre canal de vente WooCommerce. Dans l'onglet **Commandes et caisse**, repérez la carte **Jeton de caisse** : **Le plugin Zippendo for WooCommerce affiche les tarifs d'expédition en direct et les points relais dans votre caisse. Installez le plugin, puis collez ce jeton dans ses paramètres.**

| Commande | Ce qu'elle fait |
| - | - |
| **Télécharger le plugin** | Télécharge la dernière version du plugin sous forme de fichier `.zip` à installer dans WordPress. |
| **Générer un jeton** | Crée votre premier jeton et l'affiche une seule fois. |
| **Copier** | Copie le jeton. Vous voyez **Jeton copié dans le presse-papiers**. |
| **Remplacer le jeton** | Remplace le jeton. Zippendo demande : **Remplacer le jeton de caisse ? Votre jeton actuel cesse immédiatement de fonctionner et vous devrez coller le nouveau dans le plugin.** |
| **Révoquer** | Désactive le jeton. Zippendo demande : **Révoquer le jeton de caisse ? Le plugin cessera de fonctionner jusqu'à ce que vous en génériez un nouveau.** Vous voyez ensuite **Jeton de caisse révoqué**. |

Juste après la génération ou le remplacement du jeton, la carte vous avertit : **Copiez ce jeton maintenant. Vous ne pourrez plus le voir, car Zippendo n'en conserve aucune copie lisible.** Collez-le dans les paramètres du plugin dans WordPress. Une fois qu'un jeton existe, la carte indique quand il a été créé.

Si quelque chose échoue, vous voyez **Impossible de générer le jeton de caisse** ou **Impossible de révoquer le jeton de caisse**.

Le plugin demande les tarifs à Zippendo avec ce jeton, aussi bien pour les options d'expédition que pour les points relais à proximité lorsque le client change de code postal. Il n'utilise pas de jeton d'API. **Tester la connexion** dans l'onglet **Connexion** ne vérifie que les clés WooCommerce utilisées pour importer les commandes.

<Frame caption="Jeton de caisse : copiez le jeton zck_ une seule fois, puis collez-le dans le plugin">
  <img src="https://mintcdn.com/zippendo/V9ToovUfi1Kuluow/images/fr/how-to/shipping-quotes/04-woo-checkout-token-light.png?fit=max&auto=format&n=V9ToovUfi1Kuluow&q=85&s=110f9f45b7dcc600fc1be8067921d175" alt="Carte Jeton de caisse avec l'avertissement d'affichage unique, le jeton zck_, Copier, Révoquer et Remplacer le jeton" className="block dark:hidden" width="2880" height="1800" data-path="images/fr/how-to/shipping-quotes/04-woo-checkout-token-light.png" />

  <img src="https://mintcdn.com/zippendo/V9ToovUfi1Kuluow/images/fr/how-to/shipping-quotes/04-woo-checkout-token-dark.png?fit=max&auto=format&n=V9ToovUfi1Kuluow&q=85&s=2f568509ad9075858d0b49738c7364ef" alt="Carte Jeton de caisse avec l'avertissement d'affichage unique, le jeton zck_, Copier, Révoquer et Remplacer le jeton" className="hidden dark:block" width="2880" height="1800" data-path="images/fr/how-to/shipping-quotes/04-woo-checkout-token-dark.png" />
</Frame>

## Votre propre vitrine : l'API de devis d'expédition

Un canal de vente personnalisé envoie des commandes dans Zippendo, mais n'affiche pas de tarifs dans votre caisse. Pour afficher des tarifs en direct dans une vitrine que vous développez vous-même, appelez :

```
POST /orgs/{orgId}/shipping-quote
Authorization: Bearer zipp_YOUR_TOKEN
```

`{orgId}` est l'ID de votre organisation, pas le nom affiché dans la barre d'adresse de l'application. Le jeton doit avoir **Voir les règles d'expédition** : [Créer un jeton d'API](/docs/fr/how-to/create-an-api-token). Clients prêts à l'emploi : [SDKs](/docs/fr/sdks/overview). Essayez-le dans la [référence de l'API](/docs/api-reference/overview).

### Corps de la requête

| Champ | Obligatoire | Remarques |
| - | - | - |
| `destination.country` | Oui | Code pays à deux lettres (ISO 3166-1 alpha-2), par exemple `DK` |
| `destination.postalCode` | Non | Par exemple `1620` |
| `destination.province` | Non | Code de l'État ou de la province |
| `destination.city` | Non | Par exemple `København` |
| `destination.address1` / `address2` | Non | Lignes de rue |
| `items` | Oui, au moins un | Les lignes du panier |
| `items[].name` | Oui | Par exemple `Uld trøje` |
| `items[].quantity` | Oui | Nombre entier, 1 ou plus |
| `items[].grams` | Oui | Poids en grammes, 0 ou plus |
| `items[].price` | Oui | Prix unitaire en centimes (øre), 0 ou plus |
| `items[].sku` / `productId` / `variantId` | Non | |
| `currency` | Oui | Code de devise à trois lettres (ISO 4217), par exemple `DKK` |
| `totalPriceCents` | Non | Le total du panier après remises, en centimes. Permet aux règles avec une limite de valeur de commande d'utiliser le total remisé. |

```json theme={null}
{
  "destination": {
    "country": "DK",
    "postalCode": "2100",
    "city": "Copenhagen"
  },
  "items": [
    {
      "name": "T-shirt",
      "quantity": 1,
      "grams": 250,
      "price": 29900
    }
  ],
  "currency": "DKK"
}
```

Zippendo additionne `grams × quantity` et `price × quantity` sur les lignes, puis vérifie chaque règle d'expédition qui expédie vers `destination.country`. Chaque règle correspondante devient un tarif. Si aucune règle ne correspond, vous obtenez `{ "rates": [] }` avec le statut 200, pas une erreur.

### Objet tarif

| Champ | Ce que c'est |
| - | - |
| `serviceName` | Le nom de la règle, tel que votre client doit le voir |
| `serviceCode` | `{carrierSlug}:{productId}:{shippingRuleId}` |
| `totalPrice` | Prix d'expédition en centimes, sous forme de chaîne |
| `currency` | Code de devise à trois lettres |
| `description` | La description de la règle, s'il y en a une |
| `carrierName` / `carrierSlug` / `productId` | Le transporteur et l'offre transporteur de la règle |
| `shippingRuleId` | La règle qui a produit le tarif |
| `minDeliveryDate` / `maxDeliveryDate` | Dates de livraison prévues, si la règle en a |

Un pays ou un corps invalide renvoie `400` avec `{ error, message }`, par exemple `Invalid destination country`. Une organisation inconnue renvoie `404`.

Exemple de code : [Démarrage rapide des devis d'expédition](/docs/fr/quickstarts/shipping-quotes).

## Comment tester

Zippendo n'a pas d'aperçu de votre caisse. Testez dans votre boutique en ligne :

| Boutique en ligne | Dans Zippendo | Dans votre boutique en ligne |
| - | - | - |
| **Shopify** | Cochez les règles, définissez le nombre de points relais, cliquez sur **Vérifier le statut** | Passez par la caisse une fois **Zippendo Shipping** dans votre zone d'expédition |
| **WooCommerce** | **Générer un jeton** | Collez le jeton dans les paramètres du plugin et remplissez un panier |
| Votre propre vitrine | **Tester** sur une règle d'expédition (vérifie la règle uniquement) | Appelez l'API de devis d'expédition avec un panier d'exemple |

Si un tarif manque, vérifiez les **Pays de destination** de la règle, ses limites de poids et de valeur de commande et ses autres paramètres avant de soupçonner le transporteur.

<Check>
  Vous avez terminé lorsque **Tarifs d'expédition en caisse** de Shopify contient les règles que vous voulez (et que **Zippendo Shipping** figure dans votre zone d'expédition), ou que WooCommerce a un **Jeton de caisse** actif collé dans le plugin, ou que l'API de devis d'expédition renvoie des `rates` pour un panier d'exemple.
</Check>

## Voir aussi

* [Caisse](/docs/fr/tutorials/checkout) : pas-à-pas
* [Paramètres Shopify](/docs/fr/how-to/shopify-settings) / [Connecter WooCommerce](/docs/fr/how-to/connect-woocommerce)
* [Champs d'une règle d'expédition](/docs/fr/how-to/shipping-rule-fields)
* [Créer un jeton d'API](/docs/fr/how-to/create-an-api-token)
* [Choisir un point relais](/docs/fr/how-to/pick-a-service-point)
* [Le devis d'expédition ne renvoie aucun tarif](/docs/fr/knowledge-base/shipping-quote-no-rates)


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.