Storefront API - content-type: application/graphql gives parse error

Solved
drewrbaker
New Member
2 0 4

I'm just trying to follow the basic example of the Storefront API, and it seems if I set `Content-Type` to `application/graphql` (see screenshots) it gives me this error:

{
  "errors": [
    {
      "message": "Parse error on \"query\" (STRING) at [1, 2]",
      "locations": [
        {
          "line": 1,
          "column": 2
        }
      ]
    }
  ]
}

Now if I set `Content-Type` to `application/json` it seems to work, but then I can't get it to return any product or collection data. Is this a documentation error or am I doing something something basic wrong here?

 

Screen Shot 2019-07-30 at 7.47.36 PM.pngScreen Shot 2019-07-30 at 7.48.00 PM.png

Ryan
Shopify Staff
Shopify Staff
492 42 110

This is an accepted solution.

Hi @drewrbaker,

 

For the most part with any HTTP client or library you would use application/json.  Setting the header to application/graphql means to explicitly treat the HTTP POST body as the contents of a GraphQL query string, so the format you are passing is invalid.  See https://graphql.org/learn/serving-over-http/ for a little more explanation.

 

To get more collection or product data you would need to add more query parameters to the query you are making.  All you are requesting is the id and handle.  Check our documentation for all the possible parameters.

Developer Experience @ Shopify
drewrbaker
New Member
2 0 4

Thanks Ryan. I'd recommend you update the docs about using application/json, it tripped us up for awhile. Thanks!

MozzoERP
Shopify Partner
65 3 9

@drewrbaker @Ryan 

Yes!!! This same documentation issue caused us to waste days! Please update ASAP!

The documentation in question is here. It shows the Content-Type as application/graphql, but for client tool posting, it should be application/json.

Chad Richardson
Mozzo Software - Modular Software that grows with you from solopreneur to a 200 person mega team. Why keep outgrowing your Shopify Apps? Start with us, and just use the modules you need, then add more as you grow. http://MozzoERP.com
0 Likes
Ryan
Shopify Staff
Shopify Staff
492 42 110

@MozzoERP It needs to be application/graphql for CURL like the example says.  I will mention to the docs team that we can add a note about HTTP clients requiring application/json.

Developer Experience @ Shopify
Drg732
New Member
2 0 0

Just a reminder to update the documentation. This also gave me a hard time.

0 Likes