Ce que fait la tâche à chaque passe
La tâche planifiée Mirakl - Synchroniser les retours existe dans toutes les versions publiées de Mirakl Connector (Odoo 17, 18, 19 et 20), s'exécute toutes les 30 minutes et est active dès l'installation.
Dans Odoo 20.0, à chaque passe, la tâche vérifie que la personne qui l'exécute est administrateur, cherche les marketplaces actifs pour lesquels la synchronisation des retours est activée, garde ceux qu'elle peut appeler et, pour chacun, demande ses retours au marketplace par pages et traite un à un ceux qui arrivent. Les fiches des marketplaces s'ouvrent depuis le menu Mirakl › Configuration › Marketplaces ; pour voir le menu Mirakl, il suffit d'être utilisateur interne d'Odoo.

Avec Odoo en français, la tâche s'appelle Mirakl - Synchroniser les retours ; le schéma suivant reprend son nom dans d'autres langues.


Comportement de la tâche
Elle s'exécute toutes les 30 minutes et exige un administrateur
La fréquence est de 30 minutes. Dans Odoo 17.0, la tâche se répète sans fin. Dans Odoo 20.0, la première chose que fait chaque passe est de vérifier l'utilisateur : si elle est lancée par quelqu'un qui n'est pas administrateur, elle s'arrête avec Seul un administrateur peut exécuter cette action planifiée. (Only an administrator can run this scheduled action.) et aucun marketplace n'est traité.
Tous les marketplaces n'entrent pas dans la passe
Dans Odoo 20.0, la recherche part des marketplaces actifs avec la synchronisation des retours activée ; les autres ne sont pas touchés. Ensuite, le module filtre ceux qu'il peut appeler : d'abord ceux en connexion directe, puis ceux qui passent par FlexigoTech Cloud, et parmi ces derniers uniquement ceux qui ont une clé enregistrée. De plus, si l'autorisation enregistrée n'inclut pas le service du module (cela se vérifie sans sortir sur le réseau), aucun de ceux de FlexigoTech Cloud n'est appelé lors de cette passe. Ceux en connexion directe suivent leur cours.
Une pause de FlexigoTech Cloud interrompt le reste de la passe
Si FlexigoTech Cloud ne laisse pas passer la requête (parce qu'il n'y a pas d'abonnement ou qu'il y a une pause du service), rien n'est marqué ni supprimé et la passe s'interrompt là : les marketplaces restants attendent la suivante, qui suit son cours. C'est pourquoi ceux en connexion directe passent en premier : une pause n'en laisse aucun sans traitement. La pause ne compte que pour le rapport de santé de FlexigoTech Cloud, avec des codes et jamais de texte. Sans abonnement, ou avec le service suspendu, ce que donne l'abonnement s'arrête ; les données restent dans votre Odoo.
Un échec sur un marketplace n'arrête pas les autres
Toute autre erreur sur un marketplace est notée dans le journal du serveur Odoo et le module tente de laisser une ligne de journal de type erreur avec le texte de l'erreur ; ensuite, il passe au marketplace suivant. Si cette ligne ne peut même pas être écrite, le module laisse un avertissement dans le journal du serveur, et cet échec du journal ne remplace pas l'erreur d'origine.
Si le marketplace répond par une 404 aux retours
Si le marketplace répond par une 404 (HTTP 404) à la requête des retours, le module laisse une ligne de journal de type avertissement avec le texte Endpoint de retours non disponible (HTTP 404). (Returns endpoint not available (HTTP 404).). Ensuite, si le marketplace a activé le repli par commandes, le module passe à une autre méthode de synchronisation ; sinon, il avance à ce moment le repère de dernière synchronisation des retours et termine sans rien traiter.
Une réponse que le connecteur ne reconnaît pas n'est pas une page vide
Si une page sans retours arrive, la passe de ce marketplace se termine. Mais si la réponse a une forme que le connecteur ne reconnaît pas, le module laisse une ligne de journal de type erreur et n'avance pas la fenêtre de synchronisation, pour ne pas passer à côté de retours qu'il n'a pas lus.
Pages, plafond et moment de l'arrêt
La tâche demande des pages d'une taille fixée, traite chaque retour et le compte. Elle s'arrête lorsqu'une page contient moins de retours que la taille de page, lorsqu'elle a déjà lu le total annoncé par le marketplace ou lorsqu'elle atteint le plafond de pages par passe (au minimum, une page).
Que vérifier si elle semble ne rien faire
- La tâche apparaît parmi les actions planifiées d'Odoo sous le nom
Mirakl - Synchroniser les retourset est active. - Le marketplace est actif et la synchronisation des retours est activée ; sinon, il n'entre pas dans la recherche (ses fiches s'ouvrent depuis
Mirakl › Configuration › Marketplaces). - S'il se connecte par FlexigoTech Cloud, il a une clé enregistrée et le service est en vigueur. FlexigoTech Cloud surveille la synchronisation et prévient par e-mail en cas d'échec.
- Si un autre marketplace de la même passe a donné une pause de FlexigoTech Cloud, la passe s'est interrompue et ceux qui restaient attendent la suivante.
- Si le marketplace a répondu par une 404, cherchez une ligne de journal de type avertissement avec le texte
Endpoint de retours non disponible (HTTP 404). - S'il y a une ligne de journal de type erreur, lisez son texte : c'est l'erreur de ce marketplace.
Comment FlexigoTech vous aide
FlexigoTech met en place Odoo 17, 18, 19 et 20 et développe des connecteurs et des intégrations sur mesure. Mirakl Connector est un module à paiement unique par version et nécessite l'abonnement à FlexigoTech Cloud (offre Connecteur : 49 €/mois ou 490 €/an, HT). Vous pouvez voir le module sur sa page ou sur la fiche d'Odoo Apps.
À 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
