FulfillmentOrder process limitaition - No way to set status to "In Transit" for Store Pickup orders

jeremiahscanlon
Shopify Partner
5 0 1

We have a 7 - 10 day shipping period for items that will be fulfilled with Store Pickup. We would like to be able to update our clients to let them know when their items are on the way to our store.


I assume I need to use fulfillmentEventCreate to set the status to "IN_TRANSIT". However, to have a fulfillment to update, we first have to use fulfillmentCreateV2 to create a Fulfillment on the FulfillmentOrder. When we run fulfillmentCreateV2, the fulfillment status on the items is automatically set to "FULFILLED," and fulfillmentEventCreate does not appear to work.


Am I missing something?


We are using the GraphQL API, but the Rest API appears to have the same functionality.

Replies 3 (3)

garyrgilbert
Shopify Partner
397 40 162

Hi Jeremiah,

 

I just tested it, works just fine on an order that has been fulfilled.

 

garyrgilbert_0-1678983941753.png

 

I used the gid for the fulfillment that was created via the fulfillmentcreateV2 mutation.

 

Cheers,

 

Gary

- Was my reply helpful? Click Like to let me know!
- Was your question answered? Mark it as an Accepted Solution
jeremiahscanlon
Shopify Partner
5 0 1

@garyrgilbert, Thank you so much for taking the time to respond. I'm still unable to get this to work, so I have a few more questions to determine why my situation is different.

 

• Are you using managing fulfillments as an Order Management App or a Fulfillment Service App?

• Do you have any experience with the in-store pickup option? Is it possible that is why the status goes right to "Fulfilled" when I create the fulfillment?

• When you sent the fulfillmentEventCreate mutation, did it trigger an email from Shopify to the customer?

• Any chance you can provide the input you used when sending the fulfillmentEventCreate mutation? Here is what mine looked like:

 

 

{
    "fulfillmentEvent": {
        "fulfillmentId": "gid://shopify/Fulfillment/4594972229857",
        "message": "Your order is in transit to the store. We will let you know when the order is ready for pick up.",
        "status": "IN_TRANSIT",
    }
}

 

 

 

garyrgilbert
Shopify Partner
397 40 162

Hey Jeremiah,

 

The graphiQL app from shopify is my playground so I just picked a random fulfilled order from one of our dev shops fired up Graphiql and triggered the event. Since the oder was created using a test customer with email bob.smith@example.com  I certainly didnt receive an email, however in the timeline events of the order you can see that an email was sent or not.  Interestingly enough, for an in-transit message there is no email sent. An email is sent, however, when you use the "delivered' status.

 

garyrgilbert_0-1679337527515.png

 

Which actually makes even more sense for the in-store pickup, only once the item has actually reached the brick-and-mortar shop is it really available for pickup.

 

As for the input:

{
  "fulfillmentEvent": {
    "fulfillmentId": "gid://shopify/Fulfillment/3567596732621",
    "status": "DELIVERED"
  }
}

 

Cheers,

 

Gary

- Was my reply helpful? Click Like to let me know!
- Was your question answered? Mark it as an Accepted Solution