Fulfilling a specific product using a http request via Flow

Solved

Fulfilling a specific product using a http request via Flow

KathyRR
Tourist
7 1 3

Hello,

 

I'm trying to fulfil a specific product with the http request in flow.

 

This is what I currently have that doesn't seem to be working:

flow http.png

 

Here is the code in the Body:

{
"query": "mutation fulfillmentCreateV2($fulfillment: FulfillmentV2Input!) {
fulfillmentCreateV2(fulfillment: $fulfillment) {
fulfillment { id }
userErrors { field message }
}
}",
"variables": {
"fulfillment": {
"lineItemsByFulfillmentOrder": {
"fulfillmentOrderId": "{{order.id}}",
"fulfillmentOrderLineItems": {
"id": "gid://shopify/FulfillmentOrderLineItem/6604087001287","quantity": 1
}
}
}
}
}

This is the error I am getting:

The request was unsuccessful
{"status":400,"response_body":"Bad Request","verb":"POST","url":"https://regalrose.myshopify.com/admin/api/2024-01/graphiql.json","request_body":"{ \"query\": \"mutation fulfillmentCreateV2($fulfillment: FulfillmentV2Input!) {\n    fulfillmentCreateV2(fulfillment: $fulfillment) {\n        fulfillment { id }\n        userErrors { field message }\n    }}\",\n    \"variables\": {\n        \"fulfillment\": {\n            \"lineItemsByFulfillmentOrder\": {\n                \"fulfillmentOrderId\": \"gid://shopify/Order/5635452141767\",\n                \"fulfillmentOrderLineItems\": {\n                    \"id\": \"gid://shopify/FulfillmentOrderLineItem/6604087001287\",\"quantity\": 1\n                }\n            }\n        }\n    }\n}"}

Any help would be appreciated. Thank you.

Accepted Solution (1)

paul_n
Shopify Staff
1182 144 277

This is an accepted solution.

Your URL is incorrect. It ends in graphql.json not graphiql.json

 

You may also have to remove white space from your body fields, as newlines can cause the JSON to be invalid. Here's an example that works:

{ "query": "mutation fulfillmentCreateV2($fulfillment: FulfillmentV2Input!) {  fulfillmentCreateV2(fulfillment: $fulfillment) { fulfillment { id } userErrors { field message }  } }", "variables": { "fulfillment": {  "lineItemsByFulfillmentOrder": [{% for fo in order.fulfillmentOrders %}{ "fulfillmentOrderId": "{{fo.id}}"}{% unless forloop.last %}, {% endunless %}{% endfor %}]}}}
Paul_N | Flow Product Manager @ Shopify
- Finding Flow useful? Leave us a review
- Need Flow help? Check out our help docs.
- Building for Flow? Check out Flow's dev docs.

View solution in original post

Replies 2 (2)

paul_n
Shopify Staff
1182 144 277

This is an accepted solution.

Your URL is incorrect. It ends in graphql.json not graphiql.json

 

You may also have to remove white space from your body fields, as newlines can cause the JSON to be invalid. Here's an example that works:

{ "query": "mutation fulfillmentCreateV2($fulfillment: FulfillmentV2Input!) {  fulfillmentCreateV2(fulfillment: $fulfillment) { fulfillment { id } userErrors { field message }  } }", "variables": { "fulfillment": {  "lineItemsByFulfillmentOrder": [{% for fo in order.fulfillmentOrders %}{ "fulfillmentOrderId": "{{fo.id}}"}{% unless forloop.last %}, {% endunless %}{% endfor %}]}}}
Paul_N | Flow Product Manager @ Shopify
- Finding Flow useful? Leave us a review
- Need Flow help? Check out our help docs.
- Building for Flow? Check out Flow's dev docs.
KathyRR
Tourist
7 1 3

Thank you for your help. I copied your code and changed the url and the request went through fine.