O caminho normal: o Odoo aceita as encomendas sozinho
Tenho de carregar em Aceitar Encomenda (Accept Order) em cada encomenda do Mirakl?
Não. Segundo o código publicado para o Odoo 20, a aceitação também é lançada por duas tarefas agendadas que ficam ativas ao instalar o módulo: Mirakl - Aceitar Encomendas (Mirakl - Accept Orders) e Mirakl - Sincronizar Encomendas (Mirakl - Sync Orders). As duas correm a cada 10 minutos e as duas chegam ao mesmo método, o que aceita as encomendas pendentes de uma instância. O botão fica como via manual para uma encomenda concreta.
Que encomendas apanha esse método e por que ordem?
As da instância que requerem aceitação (Requer Aceitação, Requires Acceptance), cujo estado de aceitação é pendente ou erro, e que não estão retidas em relação às ordens de vendas: o código anota que aceitar uma dessas encomendas seria comprometer-se a enviar o que o Odoo nunca vai enviar. Ordena-as por data da encomenda, da mais antiga à mais recente.
O que acontece se a aceitação automática falhar?
Se a chamada ao Mirakl falhar, no caminho automático o erro não é relançado: a encomenda fica com o estado de aceitação em erro, anota-se a data e hora da tentativa, o contador de tentativas sobe um e guarda-se o texto do erro. Como as encomendas em erro entram na seleção, da próxima vez que for executado volta a tentar. Se o FlexigoTech Cloud não deixar passar o pedido, a encomenda não é marcada e a execução seguinte volta a tentar. Se tiveres dúvidas sobre a ligação, vê primeiro o que faz o botão Testar ligação.

O botão: onde está, quando se vê e quem o pode carregar
Onde está e quando aparece?
Está no ecrã Encomendas Mirakl (Mirakl Orders), que se abre em Mirakl › Operações › Encomendas (Mirakl › Operations › Orders), nos ramos 17, 18, 19 e 20 do Odoo. Fica oculto quando Estado de Aceitação (Acceptance State) indica que a encomenda já está aceite ou quando Requer Aceitação não está ativo; a condição é a mesma nas quatro versões. A encomenda mostra a sua Instância (Instance) na ficha e na lista, e a aceitação é enviada através dessa instância. Com o Odoo em português de Portugal o botão chama-se Aceitar Encomenda; o segundo esquema mostra como se rotula noutros idiomas.


O que acontece se o meu utilizador não for Mirakl Manager?
É a primeira coisa que o botão verifica, antes de tocar em seja o que for. Se não fores, para com esta mensagem: Só um Mirakl Manager pode aceitar, cancelar ou reembolsar uma encomenda do marketplace. Estas ações alteram a encomenda no marketplace e movimentam dinheiro real. (Only a Mirakl Manager can accept, cancel or refund a marketplace order. These actions change the order on the marketplace and move real money.). A solução é carregar no botão com um utilizador Mirakl Manager.
O que faz ao carregar e que erros pode dar
O que faz passo a passo e o que muda se correr bem?
Primeiro verifica a permissão de Mirakl Manager. Depois verifica que a encomenda requer aceitação e prepara os dados que vai enviar ao Mirakl; se esses dados não trouxerem linhas de encomenda, não envia nada. A seguir envia o pedido de aceitação ao Mirakl, com o endereço e o método HTTP que a instância tem configurados. Se o Mirakl responder bem, a encomenda passa a aceite: guardam-se a data e hora da tentativa e a da aceitação, o contador de tentativas sobe um, limpa-se o último erro e guarda-se a resposta do Mirakl. Por ser uma aceitação manual, publica-se ainda uma mensagem na instância. Como o estado de aceitação passa a aceite, o botão deixa de se ver nessa encomenda.
Que erro vejo se a chamada ao Mirakl falhar?
O da própria falha, tal como chegar. O botão pede que os erros se propaguem, por isso a ação para e não se guarda o que ia mudar (nem o estado de erro nem o contador). No caminho automático, em contrapartida, o erro fica anotado na encomenda. Como a encomenda continua sem estar aceite, o botão continua visível enquanto requerer aceitação e podes voltar a carregar nele.
Em que se diferencia o botão do caminho automático?
Segundo o código, o botão verifica antes que sejas Mirakl Manager, mostra os erros em vez de os anotar na encomenda, publica uma mensagem na instância ao aceitar e não aplica o filtro de encomendas retidas, porque chama diretamente a aceitação da encomenda. Tem presente o aviso do código sobre essas encomendas: aceitá-las seria comprometer-se a enviar o que o Odoo nunca vai enviar.
Se precisares de ajuda com a colocação em funcionamento
O Mirakl Connector é um módulo de pagamento único por versão do Odoo, publicado para 17, 18, 19 e 20, e precisa da subscrição do FlexigoTech Cloud, plano Conector: 49 €/mês ou 490 €/ano sem IVA, até 3 contas da plataforma. Sem subscrição, ou com o serviço suspenso, pára o que a subscrição dá; os dados ficam no teu Odoo. Tens os detalhes na ficha do Odoo Apps e na página do módulo. Se estás a implementar o Odoo, a FlexigoTech implementa o Odoo 17, 18, 19 e 20 e desenvolve conectores e integrações à medida.
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): views/mirakl_order_views.xml
- Código do módulo: flexigobe_mirakl_connector 20.0 (aa05e537): models/mirakl_order.py
- Código do módulo: 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
