Ce que fait la tâche à chaque passage

Que fait Mirakl - Synchroniser les commandes à chaque passage ?
D'après le code d'Odoo 20.0, un passage suit cet ordre. D'abord, la tâche vérifie que la personne qui l'exécute est administrateur. Ensuite, elle prend les marketplaces actifs pour lesquels la synchronisation des commandes est activée et ne garde que ceux qu'elle peut appeler (plus bas, ceux qui restent de côté). Pour chacun dont le tour est venu selon son intervalle, elle importe les commandes puis revérifie les commandes ouvertes déjà présentes dans Odoo. Elle passe alors au marketplace suivant.
À quelle fréquence s'exécute-t-elle et comment s'appelle-t-elle dans mon Odoo ?
Elle s'exécute toutes les 10 minutes et est active dès l'installation du module. Elle est présente dans toutes les branches publiées (Odoo 17, 18, 19 et 20) et, dans Odoo 17.0, elle se répète sans fin. Avec Odoo en français, elle s'appelle Mirakl - Synchroniser les commandes ; le schéma suivant montre son nom dans d'autres langues.

Importe-t-elle tous les marketplaces à chaque passage ?
Pas nécessairement : cela dépend de l'intervalle propre à chaque marketplace. S'il n'a pas d'intervalle (c'est la valeur par défaut), il importe à chaque passage, c'est-à-dire toutes les 10 minutes. S'il a un intervalle et qu'une synchronisation de commandes précédente existe déjà, le marketplace attend que ce délai se soit écoulé depuis la dernière ; s'il n'y en a encore aucune, il importe. La tâche continue de se réveiller toutes les 10 minutes, mais ce marketplace saute les passages jusqu'à ce que son tour arrive.

Ce qu'elle lit chez Mirakl et ce qu'elle revérifie ensuite
Que demande-t-elle à Mirakl lors de l'import des commandes et quand arrête-t-elle de demander ?
Elle demande les commandes page par page, avec une taille de page et un nombre maximal de pages par passage, à partir d'un point de départ temporel. Chaque commande est enregistrée séparément : si l'une échoue, une entrée de journal de niveau erreur est créée avec la référence de la commande et le passage continue avec les autres. Elle arrête de demander quand une page contient moins de commandes que la taille de page ou quand elle a déjà lu le total indiqué par la réponse ; si le nombre maximal de pages est atteint, elle consigne une entrée de journal de niveau avertissement. Et si une page arrive sans commandes et que le connecteur ne reconnaît pas la forme de la réponse, il ne la traite pas comme une page vide : il consigne une erreur et arrête de demander des pages.
À quoi sert la revérification des commandes ouvertes ?
L'import incrémental ne regarde qu'une fenêtre de temps récente. C'est pourquoi, après l'import, la tâche relit les commandes déjà présentes dans Odoo et pas encore terminées : ainsi, un changement de statut effectué sur le marketplace longtemps après la création de la commande arrive dans Odoo. Elle ne s'exécute que si cette revérification est activée sur le marketplace ; sinon, elle ne fait rien. Elle lit les commandes par lots : si un lot échoue, elle le consigne dans le journal du serveur et réessaie commande par commande. À la fin de chaque lot, elle marque toutes ses commandes avec la date de la revérification, y compris celles que le marketplace n'a pas renvoyées, afin qu'une commande manquante ne bloque pas la rotation des autres.
Quoi vérifier si elle ne fait rien
Pourquoi le message Seul un administrateur peut exécuter cette action planifiée. (Only an administrator can run this scheduled action.) apparaît-il ?
La première chose que fait la tâche est de vérifier que la personne qui l'exécute est administrateur. Si ce n'est pas le cas, elle s'arrête avec ce message et ne traite aucun marketplace.
Quels marketplaces un passage laisse-t-il de côté ?
Ceux qui ne sont pas actifs ou pour lesquels la synchronisation des commandes n'est pas activée. Parmi ceux qui restent, passent d'abord ceux qui ne transitent pas par FlexigoTech Cloud ; ceux qui y transitent ne sont appelés que s'ils ont une clé enregistrée, car sans elle le service les refuserait, et si l'autorisation enregistrée dans votre Odoo n'inclut pas le service du module, aucun de ceux qui transitent par FlexigoTech Cloud n'est appelé (cette vérification n'utilise pas le réseau). Enfin, ceux qui ont un intervalle propre sautent le passage jusqu'à ce que leur tour arrive. Les fiches des marketplaces s'ouvrent depuis Mirakl › Configuration › Marketplaces.
Que se passe-t-il si un marketplace renvoie une erreur ou si FlexigoTech Cloud met la connexion en pause ?
Il y a deux cas de figure. Si un marketplace échoue avec une erreur, celle-ci est écrite dans le journal du serveur, une entrée de journal de niveau erreur est enregistrée avec le message de l'erreur et la tâche poursuit avec le marketplace suivant ; comme la revérification des commandes ouvertes vient après l'import dans le même bloc, ce marketplace n'y arrive pas lors de ce passage. Si en revanche FlexigoTech Cloud met la connexion en pause, la tâche cesse de parcourir les marketplaces pour ce passage et le suivant reprend ; les marketplaces directs passent en premier pour qu'aucun ne soit laissé pour compte. La pause n'apparaît que dans le rapport de santé de FlexigoTech Cloud, avec des codes et jamais de texte. Si la pause survient pendant la revérification des commandes ouvertes, le lot en cours de lecture n'est pas marqué ; les lots déjà terminés conservent leur date de revérification.
Ai-je besoin de l'abonnement à FlexigoTech Cloud ?
Oui. Mirakl Connector est un paiement unique par version et nécessite l'abonnement à FlexigoTech Cloud, plan Connecteur : 49 €/mois ou 490 €/an, HT, jusqu'à 3 comptes de la plateforme. Il est publié pour Odoo 17, 18, 19 et 20 ; le prix de chaque version figure sur la fiche et sur la page du module. La connexion passe par FlexigoTech Cloud : il conserve les identifiants chiffrés, surveille la synchronisation et prévient par e-mail en cas d'échec. Sans abonnement, ou avec le service suspendu, ce que l'abonnement apporte s'arrête ; les données restent dans votre Odoo.
Si vous mettez en place Odoo et souhaitez faire le point avec quelqu'un sur la manière dont cette synchronisation s'articule, FlexigoTech met en place Odoo 17, 18, 19 et 20 et développe des connecteurs et des intégrations sur mesure.
À lire aussi
Vérifié dans le code du connecteur (version 17.0 et 20.0) et dans les sources citées
Sources
- Code du module : flexigobe_mirakl_connector 20.0 (aa05e537): data/ir_cron_data.xml
- Code du module : flexigobe_mirakl_connector 17.0 (e430de3e): data/ir_cron_data.xml
- Code du module : flexigobe_mirakl_connector 20.0 (aa05e537): models/mirakl_instance.py
- Code du module : flexigobe_mirakl_connector 20.0 (aa05e537): models/mirakl_ai.py
- apps.odoo.com/apps/modules/20.0/flexigobe_mirakl_connector
- flexigotech.com/en/services.html
- flexigotech.com/precios.html
