Error when trying to complete a fulfillment

Hello,

We have an app that has a Fulfillment Service that works well for a couple years now.

Today, for 2 customers, a certain number of the complete action on the fulfillment resource fails. We use the REST API. However, completing the fulfillment manually via the Admin interface also fails, so this does not seem to be an API related issue.

For instance, a POST to https://<my customer>/admin/api/2020-01/orders/4265153233077/fulfillments/3773880303797/complete.json leads to a 422 error, without any additional information. All the fulfillments for which this error occurs are in the “pending” state, as expected.

On the Admin interface, when manually completing the fulfillment by clicking on the “Send fulfillment request” button, I have a red message: “An error occurred, please try again”. If I look at the console to know which request has been made, I have the following response:

{“data”:{“fulfillmentCreateV2”:{“fulfillment”:null,“userErrors”:[{“field”:[“fulfillment”],“message”:“Validation failed: Currency can’t be blank”,“__typename”:“UserError”}],“__typename”:“FulfillmentCreateV2Payload”}},“extensions”:{“cost”:{“requestedQueryCost”:10,“actualQueryCost”:10,“throttleStatus”:{“maximumAvailable”:10000.0,“currentlyAvailable”:9990,“restoreRate”:500.0}}}}

Is there really a problem with the Currency? What’s that about?

For the 2 customers I have this problem with, it only happened today on a few requests. Most of the requests have no problem and the fulfillments completed just fine, but the problem is that I have zero solution to complete the fulfillments, therefore the buyers are not aware that their orders have been shipped.

1 Like

We are seeing the same thing this morning. 2 customers already have reported this. We are sending a fulfillment via the REST api and receiving a 422:

Validation failed: Currency can't be blank

This really feels like a Shopify mistake.

Here’s a redacted submission and response:

{
    "fulfillment": {
        "location_id": ******,
        "notify_customer": true,
        "status": "success",
        "tracking_numbers": [
            "1ZY7*******"
        ],
        "tracking_urls": [
            "http://wwwapps.ups.com/WebTracking/track?track=yes&loc=en_us&trackNums=1ZY7*******"
        ],
        "line_items": [
            {
                "id": 11441574346842,
                "quantity": 1
            },
            {
                "id": 11441574379610,
                "quantity": 2
            },
            {
                "id": 11441574412378,
                "quantity": 1
            },
            {
                "id": 11441574445146,
                "quantity": 1
            },
            {
                "id": 11441574477914,
                "quantity": 1
            },
            {
                "id": 11441574281306,
                "quantity": 2
            },
            {
                "id": 11441574314074,
                "quantity": 2
            },
            {
                "id": 11441574510682,
                "quantity": 1
            }
        ],
        "tracking_company": "UNKNOWN"
    }
}

Response:

{
    "errors": {
        "base": [
            "Validation failed: Currency can't be blank"
        ]
    }
}

Same problem here. Happening on multiple stores. It looks like the fulfillments are created successfully but the order is showing a fulfillment_status of null. I can see the fulfillments on an API call with the correct data.

I’m also seeing the same issue when submitting Fulfillments via API - only on certain Orders, not all Orders - but have not found a pattern in those Orders. Please advise if a solution is found. Thanks

Came into the office today to the same issue. Most orders has their fulfillments handled just fine, but one particular order failed late last friday 10th with the message:

{“errors”:{“base”:[“Validation failed: Currency can’t be blank”]}}

Looking at the order in the shop backend, the lines are presented as fulfilled visually, however the order is listed as “not fulfilled”. Extracting it via the api, the order fulfillment_status is null and all orderlines also has a fulfillment_status of null.

Trying to fulfill the order through the API simply results in:

{“errors”:{“base”:[“Line item “x” is already fulfilled”]}}

What gives?

Hey all,

I’d investigated and these issues were was caused by a service disruption we had on Friday 10th December that affected orders fulfillments. Apologies that it’s taken a few days to inform you folks here.

For the affected fulfillments, we ran a database task that would resolve any affected orders. This task would have completed by now - let me know if still experiencing any issues however and we can investigate - thanks!

1 Like