website logo
Channel Docs
Merchant Docs
Navigate through spaces
⌘K
👋Welcome to Violet's Docs
💡Concepts
🧭Guides
🚀Quick Start
🛍️Violet Sample App — The Ultra Store
🏃‍♂️Utilizing Quick Checkout
💻API Reference
✋Help
Docs powered by archbee 

Fulfillment Statuses

9min

After a Bag has been accepted, a Merchant is responsible for handling fulfillment. When fulfilled, the Merchant marks it as fulfilled in their e-commerce platform. Violet provides a series of fulfillment statuses to keep track of the overall status of a Bag as it goes from ACCEPTED to COMPLETE.

Fulfillment Status of a Bag

The Bag object has a section dedicated to fulfillments.

The fulfillment_status on the Bag is an aggregated field based on the combination of the fulfillments list and SKUs statuses.

The progression of fulfillment status is PROCESSING → PARTIALLY_FULFILLED → FULFILLED

Bags Code Example

JS
|
"bags": [
        {
            "id": 1001,
            "order_id": 10011,
            "merchant_id": 12345,
            "app_id": 10000,
            "external_id": "",
            "status": "ACCEPTED",
            "fulfillment_status": "SHIPPED",
            "financial_status": "PAID",
            "skus": [
                {
                    SKU OBJECT
                }
            ],
            ...
            ...
            ...
            "fulfillments": [
                {
                    "id": 12222,
                    "bag_id": 1001,
                    "external_id": "",
                    "carrier": "USPS",
                    "raw_carrier": "USPS",
                    "status": "SUCCESS",
                    "carrier_status": "PENDING",
                    "tracking_number": "",
                    "tracking_url": "",
                    "skus": [
                        {
                            "id": 28521,
                            "fulfillment_id": 30000,
                            "order_sku_id": 80000,
                            "quantity_fulfilled": 1
                        }
                    ]
                }
            ],
            "bag_id": 1001,
            "bag_status": "ACCEPTED",
            "merchant_name": "Nike"
        }
    ],




PROCESSING

The PROCESSING status will be the state on any Bags that do not yet have fulfillments.

Bag

Fulfillment Status

SKU

SKU Status

1001

Processing

01

Processing





02

Processing

PARTIALLY_FULFILLED

After the first fulfillment is created in the fulfillments list and any number of SKUs are fulfilled the Bag moves from the processing state to the PARTIALLY_FULFILLED state. Bags that remain in the partially_fulfilled state or processing state for too long should be considered unfulfilled.

Bag

Fulfillment Status

SKU

SKU Status

1001

PARTIALLY_FULFILLED

01

Shipped





02

Processing

FULFILLED

Once all the SKUs in the Bag are captured in the fulfillments list the fulfillment_status on the Bag will become FULFILLED

Bag

Fulfillment Status

SKU

SKU Status

1001

FULFILLED

01

Shipped





02

Shipped



You can access fulfillment status data from the Bag, or you can use the Fulfillments List for a more targeted set of data.

Fulfillments List

The fulfillment list is a centralized location for fulfillment data with a list of SKUs and their corresponding quantities fulfilled. This is important because each bag can have multiple fulfillments. For each fulfillment, the bag has a list of information, including the tracking number and SKUs of the items shipped with that tracking information.

While Bags have a Fulfillment Status, an individual fulfillment can only have a singular status. The only status a fulfillment in the list can have is SUCCESS. Within the fulfillment, you can find the SKUs associated with the shipment. A fulfillment that does not yet exist will not appear in the fulfillments list.

Once all the SKUs in a Bag are fulfilled, the fulfillment_status of said bag will become FULFILLED. In fulfillments list, all relevant SKUs can be found within their corresponding fulfillments.

Example fulfillments list (showing a single fulfillment bag)

JSON
|
"fulfillments": [
{
	"id": ,
	"bag_id": ,
	"external_id": "",
	"carrier": "USPS",
	"raw_carrier": "USPS",
	"status": "SUCCESS",
	"carrier_status": "PENDING",
	"tracking_number": "",
	"tracking_url": "",
	"skus": [
			{
				"id": ,
				"fulfillment_id": ,
				"order_sku_id": ,
				"quantity_fulfilled": 1
			}
		]
	}
],




Updated 12 May 2023
Did this page help you?
Yes
No
PREVIOUS
Bag Statuses
NEXT
Create a Cart
Docs powered by archbee 
TABLE OF CONTENTS
Fulfillment Status of a Bag
Bags Code Example
PROCESSING
PARTIALLY_FULFILLED
FULFILLED
Fulfillments List