Hello there,
Have you considered using the Admin GraphQL API? It’s possible that it’ll reduce the number of calls you have to make to synchronize product and product metafields’ data.
{
products(first: 50) {
edges {
node {
# product data here
metafields(first: 50) {
edges {
node {
# metafield data here
}
}
}
}
}
}
}