Pushing variant to Shopify - 406 error

Describe the problem/error/question

Returning 406 HTTP request to update a variant on Shopify. This workflow takes in a bunch of data from Zoho Inventory’s item update webhook, does a few references to get valid Shopify IDs, and then attempts to push an update to the variant so the prices stay in sync. (why Zoho integrates with Shopify but doesn’t sync prices is irksome.) I’ve worked on this for a week straight, my first n8n project, and I’ve hit this 406 stumbling block on the final node. Everything else up to then is working flawlessly. Please be gentle.

What is the error message (if any)?

ERROR: Your request is invalid or could not be processed by the service

Please share your workflow

Share the output returned by the last node

{

“status”: “rejected”,

“reason”: {

“message”: “Your request is invalid or could not be processed by the service”,

“timestamp”: 1700246883625,

“name”: “NodeApiError”,

“description”: “406 - “” - 406 - “””,

“context”: {

},

“cause”: {

“message”: “406 - “””,

“name”: “Error”,

“stack”: “Error: 406 - “” at createError (/usr/local/lib/node_modules/n8n/node_modules/axios/lib/core/createError.js:16:15) at settle (/usr/local/lib/node_modules/n8n/node_modules/axios/lib/core/settle.js:17:12) at RedirectableRequest.handleResponse (/usr/local/lib/node_modules/n8n/node_modules/axios/lib/adapters/http.js:238:9) at RedirectableRequest.emit (node:events:529:35) at RedirectableRequest.emit (node:domain:489:12) at RedirectableRequest._processResponse (/usr/local/lib/node_modules/n8n/node_modules/follow-redirects/index.js:368:10) at ClientRequest.RedirectableRequest._onNativeResponse (/usr/local/lib/node_modules/n8n/node_modules/follow-redirects/index.js:65:10) at Object.onceWrapper (node:events:632:26) at ClientRequest.emit (node:events:517:28) at ClientRequest.emit (node:domain:489:12)”

}

}

}

Input for the last node is:

{"variant":{"id":"42849029259505","price":"31.99"}}

Information on your n8n setup

  • n8n version: 1.16.0
  • Database (default: SQLite): SQLite
  • n8n EXECUTIONS_PROCESS setting (default: own, main): default
  • Running n8n via: Docker
  • Operating system: linux x86_64 Debian GNU/Linux 10 (buster) (Portainer/Docker management)

Your “Update Shopify Variant” Node body is malformed json. Just use any json validator to get it working and follow Product Variant Shopify API Docs.

Validated, it looks like this.

{
    "variant": {
        "id": "42849029259505",
        "price": "31.99"
    }
}

Still returning a 406. I checked the documentation on Shopify’s end at Product Variant and I’m still scratching my head.

As I am not using it, thats just the first thing I found, but looking at the docs it seems like there is still a formatting error and it should be something like this:

{
variant.id = 42849029259505;
variant.metafields = [
  {
    "price": "31.99"
  }
}

1 Like

Yeah, coming back to this after the weekend, those are the ruby examples. cURL uses just plain 'ol JSON in their documentation. Guess I’ll wait and see if some guru with the Shopify API chimes in with something stupid I’m doing.

This topic was automatically closed 90 days after the last reply. New replies are no longer allowed.