Estou sincronizando pedidos entre minha loja WooCommerce e uma ferramenta de terceiros e estou refazendo o programa de sincronização usando a API REST. Quero receber um lote de novos pedidos e, após inseri-los no banco de dados, quero definir um status ou sinalizador para que na próxima vez que eu solicitar um lote de pedidos, não receba os mesmos.
Isso detalha como receber pedidos e funciona. Não quero usar o campo STATUS porque os gerentes das lojas podem alterá-lo. Não quero excluir uma lista de IDs de pedidos porque ela se tornará muito longa com o tempo. Procurando um campo que eu possa usar para limitar os pedidos retornados àqueles que ainda não vi e poder atualizar esse campo após ele ter sido sincronizado com sucesso. Parece possível?
Um campo que já existe ou uma forma de criar um?
Quero saber se existe um campo para marcar um pedido como já sincronizado anteriormente para que eu possa então solicitar apenas os novos pedidos que ainda não foram sincronizados. Parece algo comum e espero que alguém tenha feito isso e possa aconselhar.
Atualizada
Para sinalizar um pedido, a única maneira é adicionar alguns metadados personalizados.
Primeiro, quando um pedido é feito por um cliente ou criado manualmente através do administrador, adicionamos nossos metadados personalizados para sinalizá-lo (com um valor “não”) :
O código vai no arquivo functions.php do seu tema filho (ou em um plugin). Testado e funciona.
Abaixo, utilizo a linguagem de programação PHP para acessar a API REST do WooCommerce.
Em seguida, consultamos os pedidos de sincronização que possuem como metadados o valor "no" para a chave "_order_synced" usando uma solicitação GET:
E, por fim, atualizaremos em lote os pedidos sincronizados usando uma solicitação POST, alterando o valor dos metadados: