Aller au contenu principal

Introduction

🎯 Que fait ce module ?​

Le module Orders vous permet de créer, gérer et suivre les commandes des clients - depuis le passage à la caisse du panier jusqu'au traitement des paiements et à l'exécution des commandes - en gérant l'ensemble du cycle de vie des commandes e-commerce.

Considérez-le comme votre système de gestion des commandes - les clients ajoutent des articles au panier, passent des commandes, effectuent des paiements, et vous suivez tout, de la création de la commande à la livraison, le tout au sein de OneEntry.


📖 Explication Simple​

Chaque application e-commerce a besoin d'une gestion des commandes :

  • đź›’ Panier - Les utilisateurs ajoutent des produits, passent Ă  la caisse
  • đź“‹ CrĂ©ation de Commande - Convertir le panier en commande avec les dĂ©tails du client
  • đź’ł Traitement des Paiements - Accepter les paiements (carte de crĂ©dit, PayPal, etc.)
  • 📦 Suivi des Commandes - Suivre le statut (en attente, en cours, expĂ©diĂ©, livrĂ©)
  • 📊 Gestion des Commandes - Voir toutes les commandes, filtrer par statut, rechercher
  • đź§ľ DĂ©tails de la Commande - Voir les articles, totaux, informations sur le client

Problèmes :

  • đź”’ Pas d'intĂ©gration de paiement - Suivi manuel des paiements
  • 📊 Suivi mĂ©diocre - Difficile de trouver des commandes, filtrer par statut
  • 🔄 Pas d'automatisation - Mises Ă  jour manuelles des statuts, pas de notifications
  • đź’¸ Pas de calcul de taxes/frais d'expĂ©dition - Calculer manuellement

La solution Orders :

Avantages :

  • đź”’ Paiements intĂ©grĂ©s - Stripe, PayPal, autres passerelles
  • 📊 Suivi avancĂ© - Filtrer, rechercher, exporter des commandes
  • 🔄 Flux de travail automatisĂ©s - Mises Ă  jour de statut, notifications
  • đź’¸ Calculs automatiques - Taxes, frais d'expĂ©dition, remises

✨ Concepts Clés​

Qu'est-ce qu'une Commande ?​

Une Commande est une transaction d'achat d'un client contenant :

  • Articles de Commande - Produits/services achetĂ©s (quantitĂ©, prix)
  • Informations sur le Client - Nom, email, tĂ©lĂ©phone
  • Adresse de Livraison - Lieu de livraison
  • Adresse de Facturation - Informations de facturation
  • DĂ©tails de Paiement - MĂ©thode de paiement, ID de transaction
  • Totaux de Commande - Sous-total, taxe, frais d'expĂ©dition, total
  • Statut de Commande - État actuel (en attente, en cours, terminĂ©)
  • Horodatages - Dates de crĂ©ation, de mise Ă  jour, de finalisation

Structure de la Commande​

Chaque commande a cette structure :

{
id: 179,
storageId: 1,
createdDate: '2025-07-03T00:43:02.908Z',
statusIdentifier: 'inProgress',
formIdentifier: 'orderForm',
formData: [
{
marker: 'order_name',
type: 'string',
value: 'Ivan'
}
],
attributeSetIdentifier: 'order_form',
totalSum: '300.00',
currency: 'USD',
paymentAccountIdentifier: 'cash',
paymentAccountLocalizeInfos: { title: 'Cash' },
products: [
{
id: 2957,
title: 'Cosmo',
sku: null,
previewImage: null,
price: 150,
quantity: 2,
},
],
isCompleted: true,
}

Cycle de Vie de la Commande​

1. Le client ajoute des articles au panier
↓
2. Passe Ă  la caisse
↓
3. Saisit les informations de livraison/facturation
↓
4. Sélectionne la méthode de paiement
↓
5. Commande créée (statut : en attente)
↓
6. Paiement traité (statut : en cours)
↓
7. Commande confirmée (statut : confirmée)
↓
8. Articles préparés (statut : en cours)
↓
9. Commande expédiée (statut : expédiée)
↓
10. Commande livrée (statut : terminée)

Exemples de Statuts de Commande​

StatutSignificationQuand l'utiliser
en attenteCommande créée, en attente de paiementJuste passée, paiement non traité
en coursPaiement reçu, préparation des articlesPaiement confirmé, emballage des articles
confirméeCommande confirmée, prête à être expédiéePaiement validé, commande vérifiée
expédiéeCommande envoyée au clientColis envoyé par le transporteur
livréeCommande reçue par le clientLivraison confirmée
terminéeCommande terminée, aucune action nécessaireTransaction complète
annuléeCommande annuléeAnnulée par le client/admin
rembourséePaiement retourné au clientRemboursement traité
échouéeÉchec du paiement ou du traitementPaiement refusé

Opérations Courantes sur les Commandes​

OpérationDescriptionExemple de Cas d'Utilisation
Créer une CommandeConvertir le panier en commandeBouton de passage à la caisse cliqué
Obtenir des CommandesLister toutes les commandes (paginé)Tableau de bord admin
Obtenir une Commande par IDRécupérer une commande spécifiqueVoir les détails de la commande
Mettre à Jour le StatutChanger le statut de la commandeMarquer comme expédiée
Calculer les TotauxCalculer les taxes, frais d'expédition, totalRésumé de la caisse
Annuler une CommandeAnnuler une commande en attenteDemande d'annulation du client
Rembourser une CommandeRetourner le paiement au clientRetour de produit

Pourquoi Utiliser le Module Orders ?​

AvantageDescription
Gestion Automatisée des CommandesPas de suivi manuel, tout est automatisé
Intégration de PaiementStripe, PayPal, autres passerelles intégrées
Suivi des StatutsMises à jour de statut de commande en temps réel
Notifications ClientsEnvoi automatique de confirmations de commande, mises à jour d'expédition
Gestion des StocksDéduction automatique des stocks lors de la commande
Analytique & ReportingRapports de ventes, suivi des revenus
SécuritéTraitement des paiements conforme à la norme PCI

📋 Ce que Vous Devez Savoir​

Les Commandes sont Créées à partir des Données du Panier​

Vous devez fournir :

  1. Informations sur le client - Nom, email, téléphone
  2. Articles de commande - Produits, quantités, prix
  3. Adresse de livraison - Lieu de livraison
  4. Méthode de paiement - Comment le client paiera

Gestion des Statuts de Commande​

Suivez l'avancement de la commande Ă  travers les statuts :

Flux de statuts courants :

  • Produits numĂ©riques : en attente → en cours → terminĂ©
  • Produits physiques : en attente → en cours → expĂ©diĂ© → livrĂ© → terminĂ©
  • AnnulĂ© : n'importe quel statut → annulĂ©
  • RemboursĂ© : terminĂ© → remboursĂ©

Traitement des Paiements​

Les commandes s'intègrent aux passerelles de paiement


💡 Notes Importantes​

Les Commandes sont Créées dans OneEntry​

Le module Orders gère l'ensemble du cycle de vie des commandes :

  • âś… CrĂ©er des commandes Ă  partir des donnĂ©es du panier
  • âś… Traiter les paiements
  • âś… Mettre Ă  jour le statut de la commande
  • âś… Suivre l'expĂ©dition
  • ❌ NE gère PAS l'interface utilisateur du panier (vous construisez cela)

Votre responsabilité :

  • Construire l'interface du panier
  • Collecter les informations sur le client
  • Afficher la confirmation de commande

Traitement des Paiements​

Les commandes s'intègrent aux passerelles de paiement :

  • Stripe (recommandĂ©)
  • PayPal
  • Passerelles personnalisĂ©es

Important :

  • Ne jamais stocker directement les dĂ©tails de la carte de crĂ©dit
  • Utiliser la tokenisation (Stripe.js, PayPal SDK)
  • OneEntry gère le traitement sĂ©curisĂ© des paiements

Gestion des Stocks​

Les commandes automatiquement :

  • âś… DĂ©duire l'inventaire lors de la crĂ©ation de la commande
  • âś… Restaurer l'inventaire lors de l'annulation
  • âś… Suivre les niveaux de stock

Meilleure pratique : Vérifiez le stock avant de créer la commande

Sécurité​

Les commandes contiennent des données sensibles :

  • Informations personnelles du client
  • DĂ©tails de paiement
  • Adresses de livraison

Toujours :

  • Utiliser HTTPS pour les pages de paiement
  • Valider les donnĂ©es avant de crĂ©er des commandes
  • Mettre en Ĺ“uvre une authentification appropriĂ©e
  • Suivre la conformitĂ© PCI DSS pour les paiements

📊 Tableau de Référence Rapide​

MéthodeDescription
createOrder()Créer une nouvelle commande
getAllOrdersByMarker()Obtenir toutes les commandes (paginé)
getOrderByMarker()Obtenir un objet de stockage de commande spécifique par marqueur.
getAllOrdersStorage()Obtenir tous les objets de stockage de commande.
getOrderByMarkerAndId()Obtenir une commande par marqueur et ID à partir de l'objet de stockage de commande créé par l'utilisateur.
updateOrderByMarkerAndId()Mettre à jour une commande par marqueur et ID à partir de l'objet de stockage de commande créé par l'utilisateur.

❓ Questions Fréquemment Posées (FAQ)​

Comment créer une commande avec plusieurs produits ?​

Passez un tableau d'objets produits dans les données de la commande. Chaque produit doit inclure id, quantity, et price. Le total est calculé automatiquement en fonction des quantités et des prix des produits.


Puis-je mettre à jour une commande après sa création ?​

Oui, utilisez updateOrderByMarkerAndId() pour modifier les détails de la commande tels que le statut, l'adresse de livraison ou les données de la commande. Cependant, une fois le paiement traité, soyez prudent lors de la modification des articles ou des totaux de la commande.


Comment suivre les changements de statut de commande ?​

Utilisez le champ statusIdentifier pour suivre l'état actuel de la commande. Vous pouvez également configurer des webhooks ou utiliser le module Events pour recevoir des notifications lorsque le statut de la commande change.


Quelle est la différence entre le stockage de commandes et les commandes individuelles ?​

Le stockage de commandes est un conteneur qui regroupe des commandes liées (comme les commandes d'un formulaire ou d'un canal de vente spécifique). Les commandes individuelles sont les transactions d'achat réelles au sein de ce stockage. Utilisez des marqueurs pour identifier et organiser différents stockages de commandes.


Comment gérer les annulations et les remboursements de commandes ?​

Mettez à jour le statut de la commande à 'annulée' en utilisant updateOrderByMarkerAndId(). Pour les remboursements, utilisez le module Payments pour traiter la transaction de remboursement, puis mettez à jour le statut de la commande à 'remboursée'.


Puis-je récupérer l'historique des commandes d'un client ?​

Oui, utilisez getAllOrdersByMarker() avec des filtres appropriés pour récupérer toutes les commandes d'un client spécifique. Vous pouvez filtrer par ID utilisateur, plage de dates ou d'autres critères.


🎓 Meilleures Pratiques​

  • Validez le panier avant de crĂ©er la commande - VĂ©rifiez la disponibilitĂ© du stock
  • Calculez les totaux sur le serveur - Ne faites jamais confiance aux calculs cĂ´tĂ© client
  • Envoyez des confirmations de commande - Envoyez un email aux clients après la commande
  • Suivez le statut de la commande - Mettez Ă  jour le statut au fur et Ă  mesure de l'avancement de la commande
  • GĂ©rez les Ă©checs de paiement - Logique de rĂ©essai, messages d'erreur clairs
  • ImplĂ©mentez la recherche de commandes - Permettez aux clients de trouver facilement leurs commandes
  • Conservez l'historique des commandes - Gardez des enregistrements pour le service client
  • Utilisez la pagination - Ne chargez pas toutes les commandes en mĂŞme temps

Plus d'informations sur l'interface utilisateur du module https://doc.oneentry.cloud/docs/category/orders


Définition du module Orders​


const { Orders } = defineOneEntry(
"your-project-url", {
"token": "your-app-token"
}
);


🔗 Documentation Connexe​