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

Solved
New Member
2 0 2

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

1 Like

Success.

Shopify Staff
Shopify Staff
471 35 90

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
1 Like
New Member
2 0 2

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

1 Like
Shopify Partner
43 2 3

@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
Highlighted
Shopify Staff
Shopify Staff
471 35 90

@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
1 Like