Hello,
I am a little confused as to the fulfillment API deprecation and the new Fulfillment Service paradigm that Shopify has put in place.
Our company uses an on-prem PeopleSoft instance as our ERP (we are in the process of moving to D365) so whenever our warehouses ship items, the fulfillments get entered in PeopleSoft, then we have a custom process that creates a file with the line item information which we use to create fulfillments and do post requests to Shopify to fulfill orders.
So I need some help understanding this new process, specifically, this part in the fulfillment service documentation:
Receive FULFILLMENT_REQUEST and CANCELLATION_REQUEST notificationsAnchor link to section titled “Receive FULFILLMENT_REQUEST and CANCELLATION_REQUEST notifications”
Apps must configure an endpoint on a callback URL where Shopify will send the notifications for fulfillment requests. This is a requirement to receive requests from Shopify. This endpoint should be structured in the following format: <callback_url>/fulfillment_order_notification.
The payloads that it receives include a field titled kind, which can be one of either FULFILLMENT_REQUEST or CANCELLATION_REQUEST. When a merchant requests a fulfillment from their Shopify admin, Shopify sends the fulfillment service a notification with kind set to FULFILLMENT_REQUEST. In this case, the body of the request sent to the callback URL contains {“kind”:“FULFILLMENT_REQUEST”}. If the merchant submitted a cancellation request, then the body would include {“kind”:“CANCELLATION_REQUEST”} instead.
So if I am reading this right, the callback URL we create is where fulfillment requests are sent and we have to wait for a request to fulfill an order? I don’t see how this would help our situation; we need to be able to control when and how our orders are fulfilled and this reads as if we need to wait for some other partner to request a fulfillment.
I can’t imagine we are the only client with this issue. Any help would be appreciated or examples from other clients as to how they transitioned to this new paradigm would be appreciated.
Isn’t there some other API POST call that we can do to mark an order as fulfilled?
Ben