Introduction

Comment utiliser l'API de First Delivery Group

Collection Postman

Suivez les étapes suivantes pour démarrer rapidement avec l'API de First Delivery Group

  1. Télécharger et installer l'application Postman
  2. Installer la collection Postman. Cliquez sur le bouton "Run in Postman" ci-dessous pour installer
  3. Veillez à mettre à jour les variables d"environnement:
    • {{env}} : https://www.firstdeliverygroup.com/api/v2

    • {{token}} : Le jeton d'accès fournit


Commandes

Chez First Delivery Group, nous avons mis en place une API qui vous permet de créer des commandes et de consulter l'état de vos commandes.

NB: Toutes les requêtes nécessitent que le jeton fourni par nous soit le Berear token pour l'autorisation.

Ajouter une commande

Pour ajouter une nouvelle commande en utilisant notre API

Méthode HTTP : POST

Lien : {{env}}/create


  {
    "Client": {
        "nom": "nom client",
        "gouvernerat": "sousse",
        "ville": "medina",
        "adresse": "adresse client",
        "telephone": "00000000",
        "telephone2": ""
    },
    "Produit": {
        "prix": 20,
        "designation": "designation produit",
        "nombreArticle": 1,
        "commentaire": "commentaire",
        "article": "nom prduit",
        "nombreEchange": 0
    }
  }

  {
    "status": 201,
    "isError": false,
    "message": "Produit ajouté avec succès",
    "result": {
        "barCode": "683375045049",
        "link": "{{env}}/print?q=eyji"
    }
  }

Paramètres d'entrées

Paramètre Type Requis Description
Client
nom String Oui Nom du client
gouvernerat String Oui Gouvernerat du client
ville String Oui Ville du client
adresse String Oui Adresse du client
telephone String Oui Numéro de téléphone du client
telephone2 String Non Deuxième numéro de téléphone du client
Produit
prix Number Oui Prix TTC du produit (Entre 0 et 999 DT) Inclus les frais de livraison
designation String Oui Désignation du produit
nombreArticle Number Oui Nombre d'article
commentaire String Non Commentaire
article String Non Nom du produit
nombreEchange Number Non Nombre d'échange

Ajouter plusieurs commandes

Pour ajouter des commandes en utilisant notre API

NB:

  • Vous ne pouvez ajouter que 100 commandes à la fois.
  • Pour garantir la stabilité et la performance de notre API, nous avons mis en place une limitation du taux de requêtes. Chaque utilisateur peut effectuer une requête toutes les 10 secondes. Toute tentative d'exécution de requêtes plus fréquentes entraînera un rejet temporaire.

Méthode HTTP : POST

Lien : {{env}}/bulk-create


  [
    {
      "Client": {
          "nom": "nom du client 1",
          "gouvernerat": "sousse",
          "ville": "medina",
          "adresse": "adresse client 1",
          "telephone": "88999000",
          "telephone2": ""
      },
      "Produit": {
          "prix": 50,
          "designation": "designation produit 1",
          "nombreArticle": 1,
          "commentaire": "",
          "article": "nom produit 1",
          "nombreEchange": 2
      }
    },
    {
      "Client": {
          "nom": "nom client",
          "gouvernerat": "sousse",
          "ville": "medina",
          "adresse": "adresse client",
          "telephone": "00000000",
          "telephone2": "22000000"
      },
      "Produit": {
          "prix": 20,
          "designation": "designation produit 2",
          "nombreArticle": 1,
          "commentaire": "commentaire",
          "article": "nom produit 2",
      }
    }
  ]

  ====== Succès ======
  {
    "status": 201,
    "isError": false,
    "message": "3 produit(s) a/ont été ajoutés avec succès",
    "result": {
        "link": "{{env}}/bulk-print?q=eyji",
        "barCodes": [
           {
                "index": 0,
                "barCode": "111111111111"
            },
            {
                "index": 1,
                "barCode": "222222222222"
            },
            {
                "index": 2,
                "barCode": "333333333333"
            }
        ]
    }
  }
  ====== En cas d'erreur interceptée ======
  {
    "status": 207,
    "isError": false,
    "message": "Nous n'arrivons pas à ajouter 1 produit(s)",
    "result": {
        "link": "{{env}}/bulk-print?q=eyji",
        "barCodes": [
           {
                "index": 0,
                "barCode": "444444444444"
            },
            {
                "index": 2,
                "barCode": "555555555555"
            }
        ]
    };
    "errors": [
        {
            "Client": {
                "nom": "nom du client 1",
                "gouvernerat": "gouvernerat invalide",
                "ville": "ville 1",
                "adresse": "adresse client",
                "telephone": "11222333",
                "telephone2": ""
            },
            "Produit": {
                "article": "article",
                "prix": "999",
                "designation": "designation produit",
                "nombreArticle": "2",
                "commentaire": "commentaire"
            },
            "errors": {
                "isError": true,
                "message": "Le gouvernorat 'gouvernerat invalide' est invalide"
            }
        }
  }

Paramètres d'entrées

Paramètre Type Requis Description
Client
nom String Oui Nom du client
gouvernerat String Oui Gouvernerat du client
ville String Oui Ville du client
adresse String Oui Adresse du client
telephone String Oui Numéro de téléphone du client
telephone2 String Non Deuxième numéro de téléphone du client
Produit
prix Number Oui Prix TTC du produit (Entre 0 et 999 DT) Inclus les frais de livraison
designation String Oui Désignation du produit
nombreArticle Number Oui Nombre d'article
commentaire String Non Commentaire
article String Non Nom du produit
nombreEchange Number Non Nombre de produits d'échange

Consulter l'état d'une commande

Méthode HTTP : POST

Lien : {{env}}/etat

NB:

  • Pour garantir la stabilité et la performance de notre API, nous avons mis en place une limitation du taux de requêtes. Chaque utilisateur peut effectuer une requête par seconde. Toute tentative d'exécution de requêtes plus fréquentes entraînera un rejet temporaire.

    
    {  
      "barCode": "683377360858"
    }
  
  
    {
      "status": 200,
      "isError": false,
      "message": "Etat du produit récupéré avec succès",
      "result": {
          "state": "En attente",
          "barCode": "683377360858"
      }
    } 
  

Paramètres d'entrées

Paramètre Type Requis Description
barCode String Oui Code à barre du produit

Filtrer les commande

Méthode HTTP : POST

Lien : {{env}}/filter

NB:

  • Pour garantir la stabilité et la performance de notre API, nous avons mis en place une limitation du taux de requêtes. Chaque utilisateur peut effectuer 2 requêtes chaque 10 secondes. Toute tentative d'exécution de requêtes plus fréquentes entraînera un rejet temporaire.

  
  {
    "barCode": "",
    "createdAtFrom": "2021-01-02",
    "createdAtTo": "2022-01-02",
    "state": 0,
    "pagination": {
        "pageNumber": 1,
        "limit": 10
    }
  }

  {
    "status": 200,
    "isError": false,
    "message": "Commandes récupérées avec succès",
    "result": {
        "CurrentPage": 1,
        "TotalPages": 1,
        "TotalCount": 1,
        "PageSize": 10,
        "Items": [
            {
                "barCode": "xxxxxxxxxxxx",
                "createdAt": "2021-01-02T23:00:00.000Z",
                "pickupAt": "2021-01-04T18:51:38.000Z",
                "deliveredAt": "2021-01-05T18:49:32.000Z",
                "Client": {
                    "name": "***",
                    "address": "***",
                    "city": "***",
                    "state": "***",
                    "telephone": "********",
                    "telephone2": ""
                },
                "Product": {
                    "designation": "***",
                    "price": 20,
                    "message": "",
                    "itemNumber": "1"
                },
                "state": "**",
                "exchange": "0"
            }
        ]
    }
  } 

Paramètres d'entrées

Paramètre Type Requis Description
barCode String Non Code à barre du produit
createdAtFrom String Non Date de création de la commande (format : YYYY-MM-DD)
createdAtTo String Non Date de création de la commande (format : YYYY-MM-DD)
state Number Non Etat de la commande voir détails
pagination Non Paramètres de pagination
pageNumber Number Non Numéro de la page (1 par défaut)
limit Number Non Nombre d'éléments par page (10 par défaut)

Détails des états

Etat Code Description
En attente 0 Commande en attente de traitement
En cours 1 Commande en cours de traitement
Livré 2 Commande livré
Echange 3 Commande en état d'échange
Retour Expéditeur 5 Commande en retour expéditeur
Supprimé 6 Commande annulé par expéditeur
Rtn client/agence 7 Retour client/agence
Au magasin 8 Commande au magasin
Rtn dépôt 11 Commande retour dépôt
A vérifier 20 Commande à vérifier
Retour reçu 30 Retour reçu
Rtn définitif 31 Retour définitif
Demande d'enlèvement 100 Demande d'enlèvement créée
Demande d'enlèvement assignée 101 Demande d'enlèvement assignée
En cours d’enlèvement 102 Pickup en cours d’enlèvement
Enlevé 103 Pickup enlevé
Demande d'enlèvement annulé 104 Demande d'enlèvement annulé
Retour assigné 201 Retour assigné à un livreur
Retour en cours d'expédition 202 Retour en cours d'expédition
Retour enlevé 203 Retour enlevé par le livreur
Retour Annulé 204 Retour Annulé

Annuler des commandes

Méthode HTTP : POST

Lien : {{env}}/cancel-orders

NB:

  • Seules les commandes qui sont en attente peuvent être annulées.
  • Cette méthode accepte au maximum 100 commandes à la fois.

  
  {
    "barCodes": [
      "1111111111", 
      "1111111112", 
      "1111111113", 
      "1111111114", 
    ]
  }

  {
    "status": 200,
    "isError": false,
    "message": "Succès",
    "result": [
      "1111111111",
      "1111111112",
      ]
    }
  } 

  • Cette requête renvoie comme réponse la liste des code à barres traités


Demande d’enlèvements

NB: Toutes les requêtes nécessitent que le jeton fourni par nous soit le Berear token pour l'autorisation.

Créer une demande d’enlèvement

Pour créer une demande d’enlèvement en utilisant notre API

Méthode HTTP : POST

Lien : {{env}}/pickup


  {
    "barCodes": [
      "123456789012",
      "123456789013",
      "123456789014",
      "123456789015",
      "123456789016",
      "123456789017"
    ]
  }

  {
    "status": 201,
    "isError": false,
    "message": "Produit ajouté avec succès",
    "result": {
        "pickup": "683375045049",
        "link": "{{env}}/print-pickup?q=eyji"
    }
  }

Paramètres d'entrées

Paramètre Type Requis Description
barCodes Array <string> Oui Liste des codes à barre

Imprimer décharge

Méthode HTTP : POST

Lien : {{env}}/request-print/{pickupId}

     
    Aucun corps  
  
  
  
    {
      "status": 200,
      "isError": false,
      "message": "Demande d'enlèvement trouvée avec succès",
      "result": {
          "pickup": "683377360858",
          "link": "{{env}}/print-pickup?q=eyji"
      }
    } 
  

Paramètres d'entrées

Paramètre Type Requis Description
pickupId String Oui Le numéro de lot de pickup

Journal des modifications

Découvrez les nouveautés ajoutées, modifiées, corrigées, améliorées ou mises à jour dans les dernières versions.


Version 2.0 (12 Mai, 2023)

Version 2.1 (4 Octobre, 2023)

  • Limitation du prix des articles à 999 DT

Version 2.2 (20 Juin, 2024)

  • Creation des demandes d’enlèvements
  • Impression des décharges des demandes d’enlèvements

Version 2.3 (07 Juillet, 2024)

  • Creation multiples des commandes
  • Impression multiples des bordeaux

Version 2.4 (30 Juillet, 2024)

  • Annulation multiples des commandes