Integration Field: Not possible to receive Shopify product metafields

Hi Prismic,

I cannot fetch Shopify product metafields using the Integration field via GraphQL API.

What I did:

  1. Created a document with Integration field Screenshot by Lightshot
  2. Tried to fetch the product data via GraphQL API, but product metafields are missed Screenshot by Lightshot

What did I check:

How can I retrieve product metafields from Shopify using via Integration field? Could you help me with that? I really need it, in another case, I have to rebuild the whole data model.

Thanks in advance!

Hi Rebels,

Thank you for contributing to the Prismic community,
I've done some tests on my own repo, and I'm able to get the metafields and here is my result:

I will try to investigate further the issue. To do so, can you please share with me your repository name (in a private message if necessary) so I try to debug the issue!

Best,
Fares

1 Like

Hi Rebels,

After investigating this issue, It turns out the Metadata was available (that explains why I had the meta data in my test catalog), but our production team has disabled the feature recently due to a limitation in Shopify API.

In fact, we will bring this issue out to an Internal meeting with Shopify that will take place soon, and we will keep you posted.

Best,
Fares

1 Like

Hi Fares,
thank you for the response!

Do you know what is the limitation in Shopify API? I want to get Shopify metafields using Prismic custom integration field. So, create a microservice that fetches product data directly from Shopify including metafields. What do you think about this solution?

Well, in fact, fetching Metadata from Shopify requires making an extra call to Shopify API that makes their API time out on the response size.

One temporary solution that we can provide for the moment is to add a link to your metadata, and you fetch them after on your side.

Having a micro-service to fetch all the data works as well, but you have to use a queue system so that if any item fails to sync due to a timeout, for example, it tries several times to get it.

1 Like

This issue has been closed due to inactivity. Flag to reopen.