Comment fonctionne l'extension Mass Order Update avec Magento 2 ?
Caractéristiques
L'extension Mass Order Update pour Magento 2 vous permet de mettre à jour massivement vos commandes via des fichiers CSV ou XML importés manuellement ou automatiquement depuis n'importe quel logiciel ou plateforme de gestion de commandes.
Mass Order Update vous donne la possibilité de gérer :
- les informations des commandes : changer le statut et ajouter un commentaire
- la livraison : créer une expédition et ajouter un numéro de suivi
- les commandes en cours : créer une facture, un avoir et annuler la commande
Étapes de configuration
L'extension est très simple à utiliser :
- Créez un profil d'import
- Configurez le fichier d'import
- Définissez où se trouve l'identifiant des commandes dans le fichier
- Définissez si l'identifiant est l'id de la commande ou l'incrément de commande
- Créez des règles
- Exécutez votre profil ou planifiez l'execution
Dans le cas où vous ne souhaitez pas appliquer la règle à toutes vos commandes, vous avez la possibilité d'ajouter des conditions à celle-ci. Vous pouvez aussi créer des combinaisons logiques de conditions pour gérer des cas plus complexes. En fait, les conditions vous permettent de définir si vous souhaitez appliquer les actions de la règle aux commandes.
ETAPE 1: Configurer les paramètres généraux
Paramètres généraux
Vous pouvez configurer les paramètres généraux depuis :
StoresSettingsConfigurationWyomindMass Order Update
Log
Profil
Vous pouvez aussi configurer :
- Number of rows in mapping preview
Il s'agit du nombre de lignes qui seront affichées dans la boite de preview.
2 - Number of orders loaded and processed at once
Votre profil exécutera l'import par groupes de commandes pour ainsi limiter la consommation de mémoire.
Ce paramètre défini la taille de chaque regroupement.
100
Tâches cron
Pour activer les rapports sur les tâches cron, définissez Enable cron job reporting sur YES. Si activé, l'extension Mass Order Update enverra un rapport par email à chaque exécution.
Vous devrez configurer :
- Sender Email
L'adresse email de l'expéditeur. - Sender Name
Le nom de l'expéditeur. - Send the reports to
Les adresses emails des destinataires, séparées par des virgules.
[email protected],[email protected] - Report title
Un titre pour le rapport et l'email.
Vous pouvez aussi définir :
- Cron Interval
Un interval de tâches cron.
Par défaut, les tâches cron peuvent être planifiées toutes les 30 minutes.
Si vous avez besoin d'une heure plus précise, vous pouvez modifier cet interval.
20
ETAPE 2 : Créer un profil
Pour créer votre profil, cliquez sur create a new profile depuis :
SalesMass Order UpdateProfiles
La Toolbox
La toolbox est très utile pour vous aider à configurer le fichier de mise à jour plus rapidement.
Retrouvez ci-dessous les différentes options de la toolbox.
Input data
Execution preview
Différentes notifications peuvent être affichées :
Paramètres
Paramètres du profil d'import
Définissez les paramètres pour votre profil.
- Profile Name
Le nom du profil doit être unique. - Filter lines
Laissez vide pour importer toutes les lignes :
Signifie que toutes les lignes seront importées
Entrez le numéro des lignes que vous souhaitez importer en séparant chaque ligne ou groupe de lignes par une virgule :
2,4,6,8,10Signifie que les lignes 2,4,6,8,10 seront importées
Utilisez le tiret (-) pour définir un groupe de lignes :
8-10Signifie que les lignes 8,9,10 seront importées
Utilisez un plus (+) pour importer toutes les lignes à partir d'un numéro de ligne :
4+Signifie que toutes les lignes à partir de la ligne 4 seront importées
Utilisez les expressions régulières entourées de # pour indiquer un groupe d'identifiant spécifique à importer :
#0000002[0-9]+#
Signifie que toutes les lignes avec l'identifiant correspondant à l'expression régulière seront importéesNotez que vous pouvez combiner toutes ces options. Par exemple 2,6-10,15+ signifie que les lignes 2,6,7,8,9,10,15,16,17,... seront importées.
Emplacement du fichier
Cette section vous permet de spécifier la localisation du fichier source. Vous avez plusieurs options :
- Magento File System
Le fichier est stocké dans le répertoire racine de Magento ou un sous-répertoire.
Le chemin du fichier est relatif au dossier racine de Magento. - FTP server
Le fichier est stocké sur un serveur distant disponible via FTP ouSFTP . Ne préfixez pas le nom de domaine ou l'adresse IP avec FTP://.
Vous pourrez vérifier également vérifier si la connexion FTP est valide.
Le chemin du fichier est relatif au dossier racine de l'utilisateur FTP - URL
Le fichier est stocké sur un serveur distant disponible via HTTP ou HTTPS.
Remplissez le chemin du fichier avec l'URL du fichier. - Webservice
Le fichier est disponible sur un serveur distant accessible via un service web.
Remplissez le chemin du fichier avec l'URL du service web.
L'extension utilise la librairie CURL PHP pour se connecter au service. Vous pouvez fournir un login/password ainsi que n'importe quel paramètre comme ci-dessous :
parameter1=value1¶meter2=value2¶meter3=value3 - Dropbox
Remplissez le chemin du fichier avec l'URL du service dropbox.
Générez votre token depuis votre compte Dropbox : https://www.dropbox.com/developers/apps
- File path
Le chemin du fichier comprenant le nom du fichier et l'extension comme elle est affichée dans le système de fichier du serveur.
Vous pouvez aussi utiliser les expressions régulières dans le nom du fichier.
Identification des commandes
Choisissez comment vos commandes seront identifiées dans le fichier d'import :
- Order identification
Vous avez la possibilité de choisir l'identifiant de commande ou l'incrément de commande.
3420ou
1000003421 - Identifier offset
Vous devez sélectionner le champ qui contient l'identifiant de la commande.
Type de fichier
Ceci vous permet de définir le type de fichier utilisé entre un fichier XML et CSV.
Pour les fichiers CSV, définissez :
- Column separator
Le séparateur des colonnes - Text delimiter
Le délimiteur de texte - The first line is a header
Si la première ligne est l'entête
Pour les fichiers XML, définir :
- Xpath to orders
Dans le cas d'une mise à jour depuis un fichier XML, remplissez le XPath qui cible les commandes.
Le Xpath est sensible à la casse. - XML structure
Vous avez deux options; la détection automatique (Automatic detection) ou la structure prédéfinie (Predefined structure).
La détection automatique convient aux fichiers composés d'un niveau de nœuds seulement. - Predefined structure
Si vous avez sélectionné Predefined structure, vous avez la possibilité de définir votre propre structure de fichier. Lorsque la structure de votre fichier est complexe, l'information peut être dispatchée dans des nœuds plus profonds et quelques fois dans des attributs de balise comme :
url="quelque chose"
Ci-dessous, vous trouverez un exemple de fichier pour lequel vous pourriez avoir besoin d'une structure prédéfinie :
<orders> <order> <CustomerOrderId>000000028</CustomerOrderId> <order-shipment> <OrderTrackingNumber>334678MCLK</OrderTrackingNumber> <OrderCarrier>ups</OrderCarrier> <OrderTrackingURL>https://www.fedex.com/apps/fedextrack/?action=track&trackingnumber=334678MCLK&cntry_code=us&locale=en_US</OrderTrackingURL> </order-shipment> </order> </orders>
Le XPath qui cible les commandes dans le fichier ci-dessus est /orders/order
La syntaxe JSON à utiliser est :
{ "incrementid":"CustomerOrderId", "tracking_number":"order-shipment/OrderTrackingNumber", "carrier":"order-shipment/OrderCarrier" }
Action Post Process
Vous pouvez définir une action qui sera traitée après l'exécution.
- Action
Do Nothing : Ne rien faire
Delete the import file : Supprimer le fichier d'import
Move import file : Déplacer le fichier d'import - Move to folder
Définir le chemin du fichier où déplacer le fichier d'import par rapport au répertoire racine de Magento.
Règles
Dans cette section, vous pouvez définir vos propres règles et leur donner un nom.
Une règle est une combinaison de 0 à n conditions et de 1 à n actions. Les règles sont testées pour chaque commande correspondant à un élément du fichier. Si les conditions sont remplies pour l'élément en cours, alors les actions de la règle seront exécutées pour la commande.
S'il n'y a pas de condition pour une règle, les actions sont alors toujours exécutées pour la commande.
Aperçu de l'interface
Retrouvez ci-dessous un aperçu de la section Rules.
- Activez ou désactivez la règle en cliquant sur le symbole LIEN .
- Appliquez un titre à la règle.
- Ajoutez une condition à votre règle en cliquant sur +.
- Supprimez une condition de la règle.
- Ajoutez une action.
- Supprimez une action de la règle.
- Changez l'ordre de chaque ligne en utilisant le glisser-déposer.
- Appliquez un titre à l'action.
- Appliquez une couleur à l'action.
- Appliquez un script personnalisé </> sur les options des actions.
Ces scripts peuvent être prévisualisés.
Comment utiliser l'API PHP - Prévisualisez votre fichier en cliquant sur INPUT DATA.
- Vérifiez les actions qui seront traitées sur vos commandes en cliquant sur Execution preview.
Conditions
Vous pouvez définir des conditions selon :
- le fichier : les conditions sont basées sur les informations disponibles dans le fichier source
- la commande : les conditions sont basées sur les données des commandes
Vous avez la possibilité de définir des conditions selon plusieurs options, telles que :
- EQUAL : Égale à
NOT EQUAL : Différent de - GREATER : Supérieur à
LOWER : Inférieur à - GREATER OR EQUAL : Supérieur ou égale à
LOWER OR EQUAL : Inférieur ou égale à - LIKE : commence par / se termine par / inclue la chaîne de caractère
NOT LIKE : ne commence pas / ne se termine pas / n'inclue pas la chaîne de caractère - IS NULL : la valeur est nulle.
IS NOT NULL : la valeur n'est pas nulle. - IN : se trouve dans (sélection de plusieurs options)
NOT IN : ne se trouve pas dans (sélection de plusieurs options)
Actions
Vous pouvez sélectionner l'une des actions suivantes :
- Set status
Vous devrez sélectionner le statut (select the status) que vous souhaitez appliquer aux commandes. - Add comment
Vous pouvez définir le commentaire (comment) que vous souhaitez ajouter aux commandes ainsi que si vous souhaitez envoyer l'email (send the comment email) et rendre ce commentaire visible dans le compte du client en front-end (make the comment visible on the front-office, in the customer account). - Invoice
Vous pouvez définir si vous souhaitez envoyer la facture (send the invoice) et l'email. - Creditmemo
Vous pouvez définir si vous souhaitez envoyer l'avoir (send the credit memo) et l'email. - Ship
Définissez le livreur (carrier), le titre (title), le numéro de suivi (tracking number), la source à utiliser lorsque MSI est activé (source to use) et si vous souhaitez envoyer un email (send shipping email).
Tâches planifiées
Vous pouvez exécuter le profil chaque jour de la semaine avec un interval par défaut de 30 minutes entre chaque exécution.
Cet interval est modifiable dans les paramètres généraux :
StoresSettingsConfigurationWyomindMass Order Update
Exécuter les profils Mass Order Update
Depuis la grille des profils
Pour exécuter un profil depuis la grille, cliquez sur RUN PROFILE depuis la colonne Action.
Le statut sera alors mis à jour avec une barre de progression.
Depuis la page du profil
Avec les tâches cron
Lorsque les tâches planifiées sont configurées pour le profil, alors celui-ci sera automatiquement exécuté aux jours et heures définis dans la configuration.
Pour que les tâches planifiées fonctionnent avec Mass Order Update, la tâche cron principale de Magento doit être configurée correctement.
Pour plus de détails sur la configuration des tâches cron dans Magento, jetez un œil à la documentation de Magento :
http://devdocs.magento.com/guides/v2.0/config-guide/cli/config-cli-subcommands-cron.html
Vous recevrez un email à chaque fois que la tâche cron est exécutée si vous avez activé le rapport dans :
StoresSETTINGSCOnfigurationWyomind Mass Order Update
Avec l'interface de ligne de commande
Avec Mass Order Update, vous pouvez utiliser les lignes de commande ci-dessous depuis n'importe quelle console shell :
Pour exécuter le profil :
bin/magento wyomind:massorderupdate:run [-p|--profile_ids[="..."]]
Pour exécutez le profile 2 :
bin/magento wyomind:massorderupdate:run -p 2
Afficher le rapport Mass Order Update
Le rapport vous donnera plus d'informations sur les règles qui ont été exécutées pour chaque commande.
Vous pouvez afficher le rapport depuis la grille des profiles :
- en cliquant sur Show report depuis la colonne Last Import
Statut
Vous pouvez trouver différents types de statuts dans le rapport :
- notice
La notice affiche ce que le profil a essayé d'exécuter. - success
Cela signifie que le profil a exécuté la règle avec succès. - error
Cela signifie que le profil n'a pas pu exécuter la règle.
Notifications
API PHP pour Mass Order Update
Mass Order Update vous permet de personnaliser complètement les paramètres de vos actions en utilisant des scripts PHP.
Normes de codage pour l'API
Pour chaque ligne dans l'onglet Rules de votre profil, vous pouvez ajouter votre propre script basé sur une syntaxe PHP.
Pour ajouter un script personnalisé, cliquez sur </> à la fin de l'option que vous souhaitez modifier.
Balises ouvrantes et fermantes
Chaque script doit inclure la balise PHP ouvrante : <?php
Par exemple :
<?php /* Your custom script */ return $self;
Retourner une valeur
Utilisez l'instruction return pour retourner une valeur dans votre profil.
Par exemple :
<?php return 'Your order has been cancelled';
Variable $cell
Vous pouvez appeler n'importe quelle colonne du fichier source en utilisant $cell["name of the column"]. Il s'agit d'un tableau qui indexe chaque colonne de manière numérique (1,2,3,...) et avec une clé correspondant au nom de l'entête de la colonne. Vous pourriez également utiliser $cell[INDEX].
Par exemple :
return $cell["Header 2"]
return $cell[12]
Variable $self
Utilisez $self pour récupérer la valeur actuelle de la colonne et manipuler les données.
Par exemple :
return 'Order shipped. The package tracking number is ' . $self;
Variable $order
Utilisez $order pour récupérer n'importe quelle information de la commande.
Par exemple :
<?php
if ($order->getGrandTotal() > 500) return 'wait_fraud_control'; else return 'preparing';
Exemples d'utilisations
Ci-dessous, retrouvez des exemples d'utilisations avec l'API PHP.
Retourner une date estimée dans un commentaire
Vous pourriez retourner dans un commentaire, la date de livraison pour chaque commande, disponible dans votre fichier source.
Choisissez Add comment comme type d'action. Dans Comment, sélectionnez le nom du champ où se trouve les dates de livraison et ajouter le code suivant :
<?php return 'Your order will be delivered on ' . $self;
Accéder à la commande avec la variable $order
Pour récupérer le code fournisseur lorsqu'il n'est pas disponible dans le fichier source, vous pourriez le déduire des informations de la commande en utilisant le code suivant :
<?php
$explShippingMethod = explode('_', $order->getShippingMethod());
$carrierCode = $explShippingMethod[0];
return $carrierCode;