In Cymbio, an order is an object that has been received from a retailer or has been retrieved from the retailer's platform/website. Depending on whether the order was split among several warehouses or suppliers, the order is then linked to one or more fulfillment. As a supplier, you'll need to gather the fulfillment/s you'll need to complete.

1. Capture Fulfillments

You can use GET method to capture a fulfillment retrieval related to a given supplier using our API endpoint here.

Please send the following request:

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

After capturing a fulfillment, you can either:

  • Accept the order fulfillment.
  • Reject, for example, due to out of stock. This will be followed by Products Updates API, Inventory Updates, and Variant Re-synchronization API.
  • Send errors if a parameter is missing or there is a fulfillments issue (e.g., Unknown SKU or Address Issue).

If it is successful, you will receive the response where the retailer_state will have the value as ordered and fulfillment_state has new as a value.

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

2. Send Acknowledgment

You can also send an acknowledgment using our API endpoint here to change the status of the fulfillment to be accepted.

To do that, please send the following request:

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

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

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

After acceptance, you can send ASN (Advanced Shipment Notice) per order or in bulk and also reject any order.

2.1. Send Shipping Notice for a Single Fulfillment with a Single Tracking Number:

After the order fulfillment is accepted, a single tracking number will be sent for the shipping notice of the order. The status will be changed from accepted to shipped. To do that, you can use the same endpoint as before here and send the following request:

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

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

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

2.2. Send Shipping Notice for Multiple Fulfillments or Split Shipments:

If there is multiple order fulfillment, one at a time, a shipping notification will be sent for split shipments. For example, If there are two fulfillments, id 161 and 117, 161 was split into two shipments, and 117 is only one shipment. The status will be changed from accepted to shipped.

You can use the same endpoint and request as mentioned in the previous section.

3. Reject Multiple Fulfillments or Lines within a Fulfillment (short):

If there is multiple order fulfillment or order lines one at a time, it can be rejected within the fulfillments from an associated registered ID of the supplier using our API endpoint here. There are three ways (out of stock, unknown SKU, and wrong address) to reject the fulfillment using our API as shown below.

3.1. Reject (Out-Of-Stock)

When capturing an order fulfillment, the stock of the product may be out of stock. In this case, you will perform a put method to reject the order fulfillment and update its status into out of stock. To do that, please send the following request:

curl --request PUT \
     --url https://api.cym.bio/v3/suppliers/supplier_id/fulfillments/fulfillment_id/setStatus\out_of_stock \
     --header 'Accept: application/json' \
     --header 'Content-Type: application/json'

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

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

3.2. Unknown SKU

The product may have an unknown or unavailable SKU when capturing an order fulfillment. In this case, you will perform a put method to reject the order fulfillment and update its status into missing SKU.
PUT{{api-host}}/v3/suppliers/:SUPPLIER_ID/fulfillments/:FULFILLMENT_ID/setStatus/missing_sku

curl --request PUT \
     --url https://api.cym.bio/v3/suppliers/supplier_id/fulfillments/fulfillment_id/setStatus\missing_sku \
     --header 'Accept: application/json' \
     --header 'Content-Type: application/json'

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

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

3.3. Wrong Address

When capturing an order fulfillment, the address input in the shipping order details may be wrong or invalid. In this case, you will perform a put method to reject the order fulfillment and update its status into wrong address.
PUT{{api-host}}/v3/suppliers/:SUPPLIER_ID/fulfillments/:FULFILLMENT_ID/setStatus/wrong_address.

curl --request PUT \
     --url https://api.cym.bio/v3/suppliers/supplier_id/fulfillments/fulfillment_id/setStatus\wrong_address \
     --header 'Accept: application/json' \
     --header 'Content-Type: application/json'

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

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

:email: 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.