In Cymbio, an order is an item received from a store or retrieved from the retailer's platform/website. Depending on whether the order was split across many warehouses or suppliers, an order is then linked to one or more fulfillment. As a supplier, you'd need to gather the fulfillment you'll need to complete. But, in some cases, there will be an activity where the retailer will cancel the order before it goes into the capturing fulfillment/shipping process.

1. Capture Cancelled Fulfillments:

When capturing the order fulfillment, the retailer may have canceled the order due to some issues, e.g., out of stock or wrong product information. To do that you can use one of our API endpoints here.

To capture a canceled order fulfillment using the GET method, please send the following request:

curl --request GET \
     --url https://api.cym.bio/v3/suppliers/supplier_id/fulfillments?filter={"fulfillment_state": "cancelling" } \
     --header 'Accept: application/json'
     --data '
{
     "supplier_id": 123,
}
'

If it is successful, you will receive the response where the fulfillment_state will be changed into canceling (not canceled yet).

[
    "retailer_id": 0,
    "retailer_name": "Retailer Store Name",
    "retailer_erp_id": "123",
    "retailer_state": "string",
    "fulfillment_state": "canceling",
    "notes": [
      {}
    ],
    "retailer_shipper_account": "string"
  }
]

After capturing cancellation, you can either approve or reject a cancellation:

1.1 Approve a Cancel:

To approve the cancelation request, you can use PUT method in our Fulfillments Status Updates endpoint here by setting the status of the fulfillment to be canceled.

curl --request PUT \
     --url https://api.cym.bio/v3/suppliers/supplier_id/fulfillments/fulfillment_id/setStatus \
     --header 'Accept: application/json' \
     --header 'Content-Type: application/json'
     --data '
{
     "supplier_id": 123,
     "fulfillment_id": 123,
     "status": "canceled"
}
'

If it is successful, you will get the following response:

{
  "success": true,
  "message": "string",
  "code": "string"
}

1.2. Reject a Cancel:

You may reject the cancelation request using the same PUT API method. The fulfillment status will change into cancelation not allowed, and the order fulfillment will be back into the capturing processes.

curl --request PUT \
     --url https://api.cym.bio/v3/suppliers/supplier_id/fulfillments/fulfillment_id/setStatus \
     --header 'Accept: application/json' \
     --header 'Content-Type: application/json'
     --data '
{
     "supplier_id": 123,
     "fulfillment_id": 123,
     "status": "cancelation not allowed"
}
'

If it is successful, you will get the following response:

{
  "success": true,
  "message": "string",
  "code": "string"
}

📧 Need help?

If you've run into an issue, please report it by emailing [email protected]. Include a description of the issue you're experiencing, provide steps to recreate it, and share the API call you did including the body/payload and the full responses that you received. A member of our team will reach out for additional info if needed.