De gewone weg: Odoo accepteert de orders zelf
Moet ik bij elke Mirakl-order op Order accepteren (Accept Order) drukken?
Nee. Volgens de code die voor Odoo 20 is gepubliceerd, wordt de acceptatie ook gestart door twee geplande taken die actief zijn zodra je de module installeert: Mirakl - Orders accepteren (Mirakl - Accept Orders) en Mirakl - Orders synchroniseren (Mirakl - Sync Orders). Beide draaien elke 10 minuten en beide komen uit bij dezelfde methode, die de openstaande orders van een instantie accepteert. De knop blijft over als handmatige weg voor één specifieke order.
Welke orders pakt die methode op en in welke volgorde?
De orders van de instantie die acceptatie vereisen (Vereist acceptatie, Requires Acceptance), waarvan de acceptatiestatus in afwachting of fout is, en die niet zijn tegengehouden ten opzichte van de verkooporders: de code merkt op dat het accepteren van zo'n order zou betekenen dat je je verplicht te verzenden wat Odoo nooit zal verzenden. Ze worden gesorteerd op orderdatum, van oud naar nieuw.
Wat gebeurt er als de automatische acceptatie mislukt?
Als de aanroep naar Mirakl mislukt, wordt de fout in de automatische weg niet opnieuw opgeworpen: de order krijgt de acceptatiestatus fout, de datum en tijd van de poging worden vastgelegd, de teller van pogingen gaat met één omhoog en de tekst van de fout wordt bewaard. Omdat orders met een fout in de selectie vallen, probeert de volgende uitvoering het opnieuw. Als FlexigoTech Cloud het verzoek niet doorlaat, wordt de order niet gemarkeerd en probeert de volgende uitvoering het opnieuw. Twijfel je aan de verbinding, bekijk dan eerst wat de knop Verbinding testen doet.

De knop: waar hij staat, wanneer je hem ziet en wie hem mag indrukken
Waar staat hij en wanneer verschijnt hij?
Hij staat in het scherm Mirakl orders (Mirakl Orders), dat je opent via Mirakl › Bewerkingen › Orders (Mirakl › Operations › Orders), in de Odoo-versies 17, 18, 19 en 20. Hij wordt verborgen wanneer Acceptatiestatus (Acceptance State) aangeeft dat de order al is geaccepteerd of wanneer Vereist acceptatie niet is ingeschakeld; de voorwaarde is in alle vier de versies dezelfde. De order toont zijn Instantie (Instance) in het formulier en in de lijst, en de acceptatie wordt via die instantie verstuurd. Met Odoo in het Nederlands heet de knop Order accepteren; het tweede schema toont hoe hij in andere talen heet.


Order accepteren, in het Duits «Bestellung annehmen», in het Frans «Accepter la commande», in het Italiaans «Accetta ordine» en in het Portugees «Aceitar Encomenda».Wat gebeurt er als mijn gebruiker geen Mirakl Manager is?
Dat is het eerste wat de knop controleert, voordat hij iets aanraakt. Ben je het niet, dan stopt hij met deze melding: Alleen een Mirakl Manager kan een marktplaatsbestelling accepteren, annuleren of terugbetalen. Deze acties wijzigen de bestelling op de marktplaats en verplaatsen echt geld. (Only a Mirakl Manager can accept, cancel or refund a marketplace order. These actions change the order on the marketplace and move real money.). De oplossing is de knop in te drukken met een gebruiker die Mirakl Manager is.
Wat hij doet bij het indrukken en welke fouten kunnen optreden
Wat doet hij stap voor stap en wat verandert er als het goed gaat?
Eerst controleert hij de machtiging van Mirakl Manager. Daarna controleert hij of de order acceptatie vereist en bereidt hij de gegevens voor die naar Mirakl gaan; als die gegevens geen orderregels bevatten, verstuurt hij niets. Vervolgens stuurt hij het acceptatieverzoek naar Mirakl, met het adres en de HTTP-methode die in de instantie zijn ingesteld. Antwoordt Mirakl goed, dan wordt de order geaccepteerd: de datum en tijd van de poging en die van de acceptatie worden bewaard, de teller van pogingen gaat met één omhoog, de laatste fout wordt gewist en het antwoord van Mirakl wordt bewaard. Omdat het een handmatige acceptatie is, wordt bovendien een bericht in de instantie geplaatst. Doordat de acceptatiestatus op geaccepteerd komt te staan, zie je de knop bij die order niet meer.
Welke fout zie ik als de aanroep naar Mirakl mislukt?
Die van de storing zelf, zoals hij binnenkomt. De knop vraagt dat fouten worden doorgegeven, dus de actie stopt en wat er zou veranderen wordt niet bewaard (ook de foutstatus en de teller niet). In de automatische weg wordt de fout daarentegen op de order vastgelegd. Omdat de order nog niet is geaccepteerd, blijft de knop zichtbaar zolang acceptatie vereist is en kun je hem opnieuw indrukken.
Waarin verschilt de knop van de automatische weg?
Volgens de code controleert de knop eerst of je Mirakl Manager bent, toont hij de fouten in plaats van ze op de order vast te leggen, plaatst hij bij het accepteren een bericht in de instantie en past hij het filter voor tegengehouden orders niet toe, omdat hij rechtstreeks de acceptatie van de order aanroept. Houd rekening met de waarschuwing van de code over die orders: ze accepteren zou betekenen dat je je verplicht te verzenden wat Odoo nooit zal verzenden.
Als je hulp nodig hebt bij de ingebruikname
Mirakl Connector is een module met eenmalige betaling per Odoo-versie, gepubliceerd voor 17, 18, 19 en 20, en vereist het abonnement op FlexigoTech Cloud, plan Connector: € 49 per maand of € 490 per jaar excl. btw, tot 3 accounts van het platform. Zonder abonnement, of met de dienst opgeschort, stopt wat het abonnement levert; de gegevens blijven in jouw Odoo. De details vind je op de pagina van Odoo Apps en op de pagina van de module. Als je Odoo aan het implementeren bent: FlexigoTech implementeert Odoo 17, 18, 19 en 20 en ontwikkelt connectoren en integraties op maat.
Lees verder
Gecontroleerd in de broncode van de connector (versie 20.0) en in de gelinkte bronnen
Bronnen
- Broncode van de module: flexigobe_mirakl_connector 20.0 (aa05e537): views/mirakl_order_views.xml
- Broncode van de module: flexigobe_mirakl_connector 20.0 (aa05e537): models/mirakl_order.py
- Broncode van de module: flexigobe_mirakl_connector 20.0 (aa05e537): models/mirakl_instance.py
- apps.odoo.com/apps/modules/20.0/flexigobe_mirakl_connector
- flexigotech.com/en/services.html
- flexigotech.com/precios.html
