Onde aparece e o que o provoca
Abre a ficha a partir do menu Mirakl › Configuração › Marketplaces (Mirakl › Configuration › Marketplaces) e clica em Obter motivos de reembolso (Fetch Refund Reasons). Se não restar nenhum motivo para publicar, o Odoo interrompe a ação e mostra O operador não devolveu nenhum código de motivo. Consulte os códigos no seu portal de vendedor do marketplace. (The operator returned no reason codes. Check the codes in your marketplace seller portal instead.).

Estes são os detalhes práticos que convém conhecer antes de o dar como uma falha da ligação.
O botão está sempre visível e o aviso aparece ao clicar
No Odoo 17, 18, 19 e 20, o botão Obter motivos de reembolso está sempre visível na ficha, sem condições. O aviso é dos que interrompem a ação: aparece ao clicar no botão e, como a ação é cortada aí, não se publica nada no chatter da ficha.
A condição é que a lista final fique vazia
Ao clicar, o módulo pede ao operador a sua lista de motivos. Primeiro fica com os motivos cujo tipo contém a palavra REFUND, sem distinguir maiúsculas de minúsculas. Se nenhum cumprir isso, fica com todos os motivos recebidos. Só se, depois dessa filtragem, não restar nada é que o aviso é lançado. No código, a condição é literalmente que essa lista esteja vazia.
Não haver motivos de reembolso não basta para o erro
Se o operador devolver motivos mas nenhum for do tipo reembolso, o aviso não aparece: o módulo publica todos os que tiver recebido. Por isso, se vir no chatter códigos que não parecem de reembolso, o que aconteceu foi que o operador não devolveu nenhum desse tipo e o módulo recorreu à lista completa.
Uma resposta com outra forma também conta como vazia
O módulo lê a resposta à procura de um bloco de dados que contenha uma lista de motivos. Se esse bloco ou essa lista não tiverem a forma esperada, são tomados como vazios. As entradas da lista que não sejam registos são ignoradas. O resultado é o mesmo aviso, pelo que a mensagem não lhe diz se o operador não tem códigos para si ou se a resposta chegou com outra estrutura. Se tiver dúvidas sobre a ligação, tem à parte o que faz o botão Test Connection.
O que acontece quando há códigos
Se a lista tiver conteúdo, o módulo publica no chatter da ficha uma mensagem que começa por Códigos de motivo del operador (usa el CÓDIGO en 'Código de motivo de reembolso'): (Operator reason codes (use the CODE in 'Refund Reason Code'):) e continua com uma linha por código: o código, a sua etiqueta e o tipo entre parênteses, com um hífen se o tipo vier vazio.
Além disso, o Odoo mostra uma notificação intitulada Mirakl com o texto … códigos de motivo publicados no chatter. (… reason codes posted to the chatter.), onde o módulo coloca o número de códigos. A notificação não fica fixa no ecrã.
O que fazer quando aparece
Faça o que a mensagem pede: abra o portal de vendedor do seu marketplace e consulte aí os códigos de motivo do operador. Segundo o próprio código do módulo, o botão existe para que saiba que código usar como motivo de reembolso, porque o Mirakl rejeita os reembolsos sem um código válido do operador. Enquanto não tiver a lista no chatter, o portal é a sua fonte.
Depois, o botão continua visível, pelo que pode voltar a clicar nele sempre que quiser verificar se o operador já devolve a lista. Se a resposta incluir motivos, verá-os publicados no chatter da ficha e poderá copiar daí o código.
É o mesmo aviso nas quatro versões publicadas
A mensagem está no código do Odoo 17, 18, 19 e 20, e o módulo está publicado no Odoo Apps para essas quatro versões. O segundo esquema reúne o mesmo texto em castelhano, alemão, francês, italiano e português.


Se precisar de ajuda com o conector
A FlexigoTech implementa o Odoo 17, 18, 19 e 20 e desenvolve conectores e integrações à medida. Se quiser ver o módulo, tem a sua ficha no Odoo Apps e a sua página em flexigotech.com.
Se o aviso se repetir e não tiver claro se o problema está nos códigos do operador ou na resposta que chega ao Odoo, diga-nos que marketplace utiliza e o que vê no chatter da ficha, e revemos consigo.
Continue a ler
Verificado no código do conector (versão 20.0) e nas fontes indicadas
Fontes
- Código do módulo: flexigobe_mirakl_connector 20.0 (aa05e537): models/mirakl_instance.py
- Código do módulo: flexigobe_mirakl_connector 20.0 (aa05e537): views/mirakl_instance_views.xml
- Código do módulo: 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
