Documentation API EasyExpress v3 - Expédition

Version: v3.0

Télécharger la collection Postman: /storage/file/download/v3_postman.zip

Informations de base

Version API v3
Domaine https://easy-express.fr
Méthode d'authentification Bearer Token
Nom de variable du Token {{variable_token}}

Liste des API

Nom de l'API Méthode Utilisation
/api/v3/shipment/rates POST Obtenir les tarifs d'expédition
/api/v3/shipment/checkout (Expédition internationale) POST Créer une commande d'expédition internationale
/api/v3/shipments/checkout (Expédition intra-UE) POST Créer une commande d'expédition intra-Union Européenne

1. Obtenir les tarifs d'expédition

Informations de l'API

Nom de l'API /api/v3/shipment/rates
Méthode POST
Utilisation Rechercher les options de livraison disponibles et les coûts en fonction des adresses d'expédition et de livraison, ainsi que des informations sur les colis

Exemple de requête

{
    "senderAddress": {
        "countryCode": "FR",
        "postalCode": "93300"
    },
    "receiverAddress": {
        "countryCode": "GB",
        "postalCode": "RH4 1UT"
    },
    "parcels": [
        {
            "weight": 3
        }
    ]
}

Exemple de réponse

{
    "Response": {
        "Date": 1765451621,
        "Status": "SUCCEEDED",
        "Code": 200,
        "Message": {
            "transactionId": "20251211frdb384b5689d04d289335a5e38489d1ba",
            "shipmentRequest": {
                "senderAddress": {
                    "countryCode": "FR",
                    "postalCode": "93300"
                },
                "receiverAddress": {
                    "countryCode": "DK",
                    "postalCode": "9362"
                },
                "parcels": [
                    {
                        "weight": 12
                    },
                    {
                        "weight": 7.5
                    }
                ]
            },
            "carriers": [
                {
                    "id": "Z1FWeUljUnpFWlp3K3dBMVVVMklLb1pnb0tEa2VWeEo1MHNsbDZuNzVBRT0=",
                    "code": "fedex",
                    "name": "FedEx",
                    "price": 2107,
                    "priceIncTax": 2528,
                    "logo": "https://easy-express.fr/media/logo/sq/fedex.png",
                    "infos": {
                        "estimatedArrival": "3-4 jour(s)",
                        "maximumSizeSupported": "Max 80*50*30cm, 25kg",
                        "storageLocation": "Easy Express, Fedex Dép 93"
                    }
                },
                // ... plus d'options de transporteurs
            ]
        }
    }
}

Description des champs de réponse

Champ Type Description
Response.Date Entier Timestamp de la réponse
Response.Status Chaîne Statut de la réponse : "SUCCEEDED" indique un succès
Response.Code Entier Code HTTP, 200 indique un succès
Message.transactionId Chaîne ID de transaction unique pour cette demande de devis
Message.shipmentRequest Objet Paramètres de la demande de devis retournés (pour confirmation)
Message.carriers Tableau Liste des transporteurs disponibles
carriers[].id Chaîne ID unique du transporteur (pour les commandes suivantes)
carriers[].code Chaîne Code du transporteur (ex: fedex, ups, gls, etc.)
carriers[].name Chaîne Nom affiché du transporteur
carriers[].price Entier Prix hors taxes (en centimes)
carriers[].priceIncTax Entier Prix toutes taxes comprises (en centimes)
carriers[].logo Chaîne URL du logo du transporteur
carriers[].infos Objet Informations supplémentaires du transporteur (délais, limites de taille, points de retrait, etc.)

Unités de poids

Champ Unité Exemple Description
"weight": 3 Kilogrammes (kg) 3 = 3 kilogrammes Le poids des colis est en kilogrammes
Dans le tableau parcels Kilogrammes {"weight": 8} = 8 kilogrammes Tous les champs de poids utilisent des kilogrammes

2. Créer une commande d'expédition (Expédition internationale)

Nom de l'API /api/v3/shipment/checkout (Commande internationale)
Méthode POST
Utilisation Créer une commande d'expédition internationale avec support pour l'upload de facture

Champs importants

Champ Type Requis Description
carrierId Chaîne Oui ID du transporteur retourné par l'API de tarifs
invoice.file Chaîne Oui Chaîne encodée en Base64 du fichier de facture
invoice.fileFormat Chaîne Oui Format de la facture (ex: pdf)
invoice.invoiceItems Tableau Oui Détails des articles (avec code HS, pays d'origine, prix unitaire, etc.)

3. Créer une commande d'expédition (Expédition intra-UE)

Nom de l'API /api/v3/shipments/checkout
Méthode POST
Utilisation Créer une commande d'expédition intra-Union Européenne, sans information de facture requise

Exemple de requête

{
    "transactionId": "...",
    "carrierId": "...",
    "shipmentRequest": {
        "parcels": [...],
        "senderAddress": {...},
        "receiverAddress": {...}
    }
}

Exemple de réponse

{
    "Response": {
        "Date": 1765452070,
        "Status": "SUCCEEDED",
        "Code": 200,
        "Message": {
            "transactionId": "20251211fr0e3e9578265d4600123bbbdf11caa3a0",
            "labels": "https://easy-express.fr/storage/file/pdf/2025_12_11/e8b1c813e762a2e2ed4fea3f45e4f1df.pdf",
            "parcels": [
                {
                    "ticket": "https://easy-express.fr/storage/file/pdf/2025_12_11/96ab5f48f26989030fd46fd3b44cbf2b.pdf",
                    "tracking": "886964616833"
                }
            ]
        }
    }
}

Description des champs de réponse

Champ Type Description
Response.Date Entier Timestamp de la réponse
Response.Status Chaîne Statut de la réponse : "SUCCEEDED" indique un succès
Response.Code Entier Code HTTP, 200 indique un succès
Message.transactionId Chaîne ID de transaction unique de la commande
Message.labels Chaîne URL de téléchargement du fichier PDF d'étiquettes (tous les colis combinés)
Message.parcels Tableau Détails de chaque colis
parcels[].ticket Chaîne URL du fichier PDF d'étiquette pour un colis individuel
parcels[].tracking Chaîne Numéro de suivi du colis

Description des champs

Champ Type Description
transactionId Chaîne (longueur: 42) Identifiant unique de la commande, recommandé d'être généré par le système métier
carrierId Chaîne ID du transporteur, obtenu depuis l'API /rates
parcels Tableau Liste des colis, contenant le poids, référence, etc.
senderAddress Objet Informations d'adresse de l'expéditeur
receiverAddress Objet Informations d'adresse du destinataire
invoice Objet Informations de facture (requis pour l'expédition internationale)

Structure d'adresse (senderAddress / receiverAddress)

Champ Type / Longueur Exemple Description
firstName Chaîne / 25 "PrénomTest" Prénom
lastName Chaîne / 25 "NomTest" Nom
company Chaîne / 35 "SociétéTest" Nom de l'entreprise
siret Chaîne / 20 "82339490300038" Numéro d'immatriculation SIRET (France)
shopName Chaîne / 35 "NomBoutiqueTest" Nom de la boutique
email Chaîne / 35 "test@123.com" Adresse email
phoneNumber / mobileNumber Chaîne / 15 "0600000000" Téléphone/Portable
street Chaîne / 35 "8 Rue de la Haie Coq" Adresse de rue
city Chaîne / 35 "Aubervilliers" Ville
postalCode Chaîne / 10 "93300" Code postal
countryCode Chaîne / 2 "FR" Code pays (ISO 3166-1 alpha-2)
instructions Chaîne / 35 "InstructionTest" Instructions de livraison

Configuration et authentification

1
Télécharger la configuration Postman :

Téléchargez et importez cette collection Postman contenant tous les modèles de requêtes API et préconfigurations

2
Définir les variables d'environnement dans Postman :
host = https://easy-express.fr
variable_token = Votre Bearer Token
3
Toutes les requêtes doivent inclure dans l'en-tête :
Authorization: Bearer {{variable_token}}
Étapes de démarrage rapide :
  1. Télécharger la configuration Postman
  2. Importer dans Postman (Fichier → Importer)
  3. Définir les variables d'environnement (host et variable_token)
  4. Commencer à tester les API

Processus métier recommandé

1
Appeler /rates pour obtenir les transporteurs disponibles et leurs tarifs

Rechercher les coûts d'expédition en fonction des adresses et des informations des colis

2
Après sélection du transporteur par l'utilisateur, obtenir son carrierId

Extraire depuis les résultats de l'API /rates

3
Appeler /checkout pour créer la commande d'expédition

• L'expédition internationale nécessite une facture (encodée en Base64)
• L'expédition intra-UE ne nécessite pas de facture

4
Obtenir les étiquettes et numéros de suivi

Récupérer depuis les résultats de l'API /checkout :
labels - Lien de téléchargement des étiquettes PDF
parcels[].tracking - Numéro de suivi du colis