A tarefa em poucas palavras
A tarefa corre uma vez por dia e vem ativa ao instalar o módulo. Existe nas ramificações 17.0, 18.0, 19.0 e 20.0. No Odoo 17 a tarefa repete-se sem fim.


O que faz em cada passagem
A tarefa não mexe em todas as contas da Amazon: procura as que estão ativas e têm ativada a sincronização do inventário reservado. Uma conta que não esteja ativa, ou que não tenha ativada essa sincronização, não entra na passagem (o nome da tarefa leva opt-in). Com as contas que entram, trabalha uma a uma:
- Lança a sincronização dessa conta marcando-a como vinda da tarefa; com essa marca, o texto de resultado que fica guardado na conta não é publicado também como mensagem nela.
- Cria na Amazon um relatório de inventário reservado e obtém o seu identificador.
- Consulta o estado do relatório e espera entre consultas, até a Amazon o dar como
DONE,CANCELLEDouFATAL, ou até se esgotarem as tentativas. Se a conta não definir quantas tentativas nem quanto esperar, o código usa doze tentativas com dez segundos de espera. - Se o relatório estiver em
DONEe trouxer documento, pede à Amazon o documento do relatório e passa o seu conteúdo para a importação de linhas de inventário reservado, cujas contagens são acrescentadas ao texto de resultado. - Quando o relatório chega a esse ponto ou fica num dos casos descritos mais abaixo, escreve na conta a data da passagem e o texto de resultado.
Se a sincronização de uma conta terminar em erro e esse erro chegar até à tarefa, a tarefa deixa um aviso no log do servidor com o nome da conta e o erro, e segue para a conta seguinte.
Onde estão as contas
As fichas das contas abrem-se a partir do menu Amazon › Configuração › Contas. Cada nível pede uma permissão e, se não a tiveres, não vês esse nível: Amazon pede Visualizador, e Configuração e Contas pedem Gestor. O campo Nome está na ficha de Contas, separador Identidade, grupo Conta, e também na lista de contas. Esse nome é o que aparece no aviso do log.
Caso ilustrativo: uma conta, vários dias distintos
Exemplo Caso ilustrativo: a empresa e os seus dados são inventados para explicar o fluxo.
A Hogar Levante é uma empresa inventada que vende na Amazon e tem uma conta ligada ao seu Odoo. O responsável de sistemas deixa a conta ativa e com a sincronização do inventário reservado ativada. A partir desse momento a conta entra na passagem diária. Estes são os dias que pode viver.
O dia em que tudo corre bem
A tarefa cria o relatório, consulta-o até a Amazon o dar como DONE, pede o documento e importa-o. O texto de resultado que fica guardado na conta leva, por esta ordem, Sincronização do inventário reservado FBA da Amazon concluída., Conta: … com o nome da conta, Origem: … com o valor CRON, ID do relatório: … e Estado do relatório: …. Seguem-se as contagens da importação: Linhas do relatório: …, Linhas processadas: …, Criados: …, Atualizado: …, Ignorado: … e Com erro: ….
O dia em que a Amazon não termina o relatório
Se, depois das consultas, o estado não for DONE, não se importa nada nesse dia. Se a Amazon o marcar como CANCELLED ou FATAL, o texto acrescenta A Amazon não gerou um relatório de inventário reservado utilizável.. Se o estado continuar sem ser final quando se esgotam as tentativas, acrescenta O sondagem do relatório expirou. Tente novamente dentro de alguns minutos.. Com qualquer um desses textos a conta guarda a data e o texto, e a tarefa segue para a conta seguinte. Não volta a pedir o relatório dessa conta nessa passagem: a seguinte é no dia seguinte, porque corre uma vez por dia.
O dia em que o relatório chega sem documento
Se o relatório estiver em DONE mas a Amazon não fornecer o documento, o texto acrescenta Relatório CONCLUÍDO sem reportDocumentId.. Também não se importa nada, e a conta guarda a data e o texto.
O dia em que algo falha
Se um erro chegar até à tarefa, fica o aviso no log com o nome da conta, o mesmo que a Hogar Levante vê no campo Nome. A tarefa passa às restantes contas e não se interrompe.
O que aprender com o caso
A tarefa não é um botão nem um ecrã: é uma passagem diária com um resultado por conta. Quando parece que não faz nada, convém ver por esta ordem:
- A tarefa. Vem ativa ao instalar e corre uma vez por dia. Confirma que continua ativa.
- A conta. Tem de estar ativa e com a sincronização do inventário reservado ativada; se não, a tarefa não a apanha. Localiza-a pelo seu
NomeemAmazon › Configuração › Contas. - O estado do relatório. A linha
Estado do relatório: …diz o que a Amazon respondeu. Se não forDONE, nesse dia não se importou nada. - O texto de resultado. Nos casos descritos acima, a conta guarda a data da passagem e este texto; como a tarefa marca a sincronização como sua, o texto não é publicado também como mensagem na conta.
- O log do servidor. Se um erro chegou até à tarefa, aí está o aviso com o nome da conta.
Para reconhecer a tarefa no teu Odoo, este é o seu nome em cada idioma:

O que o módulo precisa e como a FlexigoTech te ajuda
O módulo é de pagamento único por versão do Odoo e está publicado para 17.0, 18.0, 19.0 e 20.0; o preço de cada uma está na ficha do Odoo Apps e na página do módulo. Precisa ainda da subscrição do FlexigoTech Cloud, plano Conector: 49 €/mês ou 490 €/ano sem IVA, com até 3 contas da plataforma. A ligação passa pelo FlexigoTech Cloud, que guarda cifradas as credenciais, vigia a sincronização e avisa por e-mail se falhar. Sem subscrição, ou com o serviço suspenso, pára o que a subscrição proporciona; os dados ficam no teu Odoo.
Se estás a implementar o Odoo e queres rever como fica a ligação com a Amazon, 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 17.0 e 20.0) e nas fontes indicadas
Fontes
- Código do módulo: flexigobe_amazon_seller_connector 20.0 (8576afa5): data/ir_cron_data.xml
- Código do módulo: flexigobe_amazon_seller_connector 17.0 (165f66af): data/ir_cron_data.xml
- Código do módulo: flexigobe_amazon_seller_connector 20.0 (8576afa5): models/amazon_spapi_account.py
- apps.odoo.com/apps/modules/20.0/flexigobe_amazon_seller_connector
- flexigotech.com/en/services.html
- flexigotech.com/precios.html
