O FEED é um dos formatos que temos para estabelecer comunicação entre o ANYMARKET e os sistemas dos nossos clientes, podendo disponibilizar alterações nos principais módulos do sistema, como pedidos, produtos, transmissões, perguntas e NFe do Mercado Livre.
Ao contrário do PUSH, que fazemos o envio de uma notificação para o sistema cadastrado, o FEED é chamado de "passivo", ou seja, é necessário que os integradores consultem no ANYMARKET para saberem se existem notificações a serem lidas ou não. Estas notificações são criações ou alterações nos pedidos e transmissões.
Funcionamento
A lógica do FEED é de certa maneira simples e a sua boa utilização é feita em apenas três passos:
- Listagem das notificações: o primeiro passo consiste em saber quais notificações ocorreram recentemente, ou seja, saber todas as atualizações ocorridas e que ainda não foram processados. Esta etapa retorna o identificador do item alterado, que será utilizado nos passos seguintes;
- Detalhamento da notificação: em seguida, deve-ser utilizar o identificador obtido na etapa anterior para saber do detalhamento desta notificação. É o passo mais importante para atualização das informações no sistema integrado, pois é aqui que disponibilizaremos as informações que foram alteradas;
- Confirmação de leitura: por último, é necessário que o sistema integrador confirme a leitura da notificação, para que esta seja removida do FEED, evitando leituras duplicadas e garantindo melhor desempenho na operação. Esta confirmação é feita utilizando o mesmo identificador obtido na primeira etapa.
O FEED, por ser um método passivo, requer que o sistema integrador faça consultas regularmente ao ANYMARKET, verificando se existem notificações a serem processadas. O número de requisições por dia e o intervalo entre elas pode depender do número de atualizações esperadas pelo sistema.
Além destas etapas que precisam ser feitas pelo sistema integrador, o ANYMARKET também realiza alguns procedimentos sobre o FEED, focados em manter o ambiente todo performático. Hoje, são duas rotinas executadas regularmente:
- Limpeza de itens não lidos: regularmente, removemos as notificações não lidas que estavam armazenadas a mais de 30 dias. Esta limpeza considera a data de criação da notificação pare execução da rotina;
- Limpeza de itens lidos: também removemos do nosso banco de dados registros que foram lidos, também respeitando o prazo de 30 dias. Ao contrário do item acima, a limpeza é feita de acordo com a data de leitura, não dá data de criação da notificação.
É importante ressaltar que apenas as notificações são removidas nestas rotinas, não impactando os pedidos ou as transmissões vinculadas a elas;
Tipos de FEED
Pedidos
É o mais completo dos FEEDs, onde criamos uma notificação sempre que existe uma alteração no status de uma venda, de acordo as opções parametrizadas no ANYMARKET. É importante reforçar que só criaremos as notificações para os status selecionados em tela, ou seja, as demais atualizações não serão notificadas. Além disso, as notificações são criadas apenas uma vez por status.
A listagem de notificações pode ser consultada através do endpoint /orders/feed e a confirmação de leitura pelo /orders/feeds/{id}. Já a obtenção do detalhamento de um pedido pode ser feito através do caminho /orders/{id}.
Para o FEED de pedidos, é interessante ressaltar que existe uma maneira de incluir um pedido novamente no FEED, independente do seus status. Isso pode ser feito através do botão "sincronizar novamente" com o ERP/Plataforma.
Transmissões
Por sua vez, o FEED de transmissões é mais simples, e notificaremos o sistema integrador caso haja a criação, a alteração ou a exclusão de uma transmissão.
A listagem de notificações de transmissões pode ser consultada através do endpoint /transmissions/feeds e a confirmação de leitura pelo /transmissions/feeds/{id}. Já a obtenção do detalhamento de uma transmissão pode ser feito através do caminho /transmissions/{id}.
Recomendações
Para que todas as notificações possam ser lidas, seu sistema não fique sem informações importantes sobre os módulos utilizados e a performance seja sempre a melhor possível, temos algumas dicas:
- Cuidado com as parametrizações, principalmente no que diz respeito a pedidos. O ANYMARKET só criará as notificações para os status selecionados para a sua conta, ou seja, não disponibilizaremos as notificações de alterações para status não configurados;
- Pedidos do tipo fulfillment requerem ainda mais cuidado, visto que a gestão dos status não depende do ANYMARKET, mas sim inteiramente do marketplace. Isso pode fazer com que os pedidos não passem por todos os status, e dependendo da configuração da sua conta, não serem enviados ao seu sistema;
- Com a certeza de que um status não seja necessário para o seu sistema, desabilite a parametrização deste status, isso diminuirá o número de notificações no seu FEED e garantirá uma operação menos custosa;
- Quando falamos da obtenção da listagem de notificações durante o dia, recomendamos um equilíbrio entre este número de tentativas e ao limite de registros retornados pela requisição. Prefira sempre um número maior de requisições com um limite de dados menor, garantindo maior agilidade na operação;
- Garanta que o pedido foi lido antes de fazer a confirmação de leitura, isso evita que você tenha que renotificar um pedido no FEED;
- Sempre faça a confirmação de leitura após o processamento de uma notificação. Essa prática evita o acúmulo de informações no seu FEED, dando mais velocidade na sua operação e garantindo que a mesma atualização seja processada mais de uma vez.
Este artigo foi útil?
Que bom!
Obrigado pelo seu feedback
Desculpe! Não conseguimos ajudar você
Obrigado pelo seu feedback
Feedback enviado
Agradecemos seu esforço e tentaremos corrigir o artigo