Skip to content

About Fulfillment

Access scope

Multiple access scopes needed — refer to each endpoint for access scope requirements.

Fulfillment is a core business module of Genstore, enabling end-to-end order delivery management from shipping to after-sales. Through standardized fulfillment processes and real-time status tracking, it provides merchants with efficient order fulfillment capabilities, reducing operational costs and improving customer satisfaction.

Core Features

  • Create Shipment: Create order shipment record and register logistics information.
  • Update Logistics: Modify carrier and tracking information of fulfillment order.
  • Query Logistics: Retrieve real-time logistics status and tracking history.
  • Create Return: Create refund record with or without item return.
  • Register Return: Record return logistics information.
  • Query Fulfillment: Retrieve detailed fulfillment record information.
  • Count Fulfillment: Get order fulfillment count and status statistics.

Use Cases

  • Multi-channel Fulfillment: Merchants can efficiently manage fulfillment processes across different channels through the API, coordinate shipments from multiple locations, and maintain consistent delivery standards across all sales channels.
  • Third-party Logistics Integration: Logistics providers can integrate with the API to automatically receive shipping orders, update delivery status in real-time, and manage exceptions through standardized processes, ensuring efficient and transparent delivery operations.
  • After-sales Service Platform: Customer service teams can leverage the API to process returns and refunds systematically, track return shipments, and maintain complete service records, enabling efficient resolution of customer issues.

Order Fulfillment Object

An order fulfillment refers to the process of preparing and delivering orders to customers.

Properties

fulfillmentobject
Represents the fulfillment information.
- Hide child properties
idnumber
The ID for the fulfillment.
lineItemsarray
A list of the fulfillment's line items, which includes:
+ Show child properties
orderIdnumber
The unique numeric identifier for the order.
originAddressarray
The address of the fulfillment location.
+ Show child properties
statusstring
The status of the fulfillment.
trackingCompanystring
The name of the tracking company.
trackingNumbersarray
The Collection of tracking numbers.
trackingNumberstring
The tracking number for the fulfillment.
trackingUrlsarray
The Collection of logistics trajectory query links.
trackingUrlstring
The URL to track the fulfillment.
createTimestring
The date and time when the fulfillment was created. The API returns this value in ISO 8601 format.
updateTimestring
The date and time when the fulfillment was last modified.
bash
{
  "fulfillment": {
    "lineItems": [
      {
        "variantTitle": "green",
        "quantity": "1",
        "productId": "632910392",
        "title": "iPhone 15Pr - 128gb",
        "fulfillmentStatus": "null",
        "requiresShipping": "true",
        "price": "6400",
        "giftCard": "false",
        "name": "iPhone 15Pr - 128gb - green",
        "id": "466157049",
        "variantId": "39072856",
        "grams": "200",
        "sku": "IPOD2008GREEN"
      }
    ],
    "orderId": "450789469",
    "trackingUrl": "https://www.my-shipping-company.com?tracking_number=MS1562678",
    "createTime": "2024-11-25T15:47:18-04:00",
    "originAddress": [
      {
        "zip": "G1R 4P5",
        "address2": "Suite 123",
        "city": "Montreal",
        "address1": "1 Rue des Carrieres",
        "countryCode": "CA",
        "provinceCode": "QC"
      }
    ],
    "trackingCompany": "",
    "trackingNumbers": "["MS1562678"]",
    "updateTime": "2024-11-25T15:47:18-04:00",
    "id": "466157049",
    "trackingNumber": "MS1562678",
    "trackingUrls": "["https://www.my-shipping-company.com?tracking_number=MS1562678" ]",
    "status": "open"
  }
}

POST Create fulfillment

Create a fulfillment for one or many fulfillment orders.

Access scope

Requires ANY of the following access scopes: write_fulfillments

Endpoint

POST /api/202412/fulfillment 

Request Params

fulfillmentobject
- Hide child properties
lineItemsarray
A list of the fulfillment's line items, which includes:
+ Show child properties
orderIdstring
The unique numeric identifier for the order.
trackingUrlstring
The URL to track the fulfillment.
createTimestring
The date and time when the fulfillment was created. The API returns this value in ISO 8601 format.
originAddressarray
The address of the fulfillment location. This property is intended for tax purposes, as a full address is required for tax providers to accurately calculate taxes. To retrieve a fulfillment location's address, use the assigned_location` property on the FulfillmentOrder resource instead.
+ Show child properties
trackingCompanystring
The name of the tracking company.
trackingNumbersstring
A list of tracking numbers provided by the shipping company.
updateTimestring
The date and time (ISO 8601 format) when the fulfillment was last modified..
idstring
The ID for the fulfillment.
trackingNumberstring
A tracking number provided by the shipping company.
trackingUrlsstring
The URLs of tracking pages for the fulfillment.
statusstring
The status of the fulfillment. Valid values:

Response Data

fulfillmentobject
- Hide child properties
lineItemsarray
A list of the fulfillment's line items, which includes:
+ Show child properties
orderIdstring
The unique numeric identifier for the order.
trackingUrlstring
The URL to track the fulfillment.
createTimestring
The date and time when the fulfillment was created. The API returns this value in ISO 8601 format.
originAddressarray
The address of the fulfillment location. This property is intended for tax purposes, as a full address is required for tax providers to accurately calculate taxes. To retrieve a fulfillment location's address, use the assigned_location` property on the FulfillmentOrder resource instead.
+ Show child properties
trackingCompanystring
The name of the tracking company.
trackingNumbersstring
A list of tracking numbers provided by the shipping company.
updateTimestring
The date and time (ISO 8601 format) when the fulfillment was last modified..
idstring
The ID for the fulfillment.
trackingNumberstring
A tracking number provided by the shipping company.
trackingUrlsstring
The URLs of tracking pages for the fulfillment.
statusstring
The status of the fulfillment. Valid values:
bash
curl -X POST \ 
https://{shop}.genmystore.com/api/202412/fulfillment" \ 
-H "X-Genstore-Access-Token: {access_token}" \ 
-H "Content-Type: application/json" \ 
-d '{
	"fulfillment":{
		"lineItems":[
			{
				"variantTitle":"",
				"quantity":"",
				"productId":"",
				"title":"",
				"fulfillmentStatus":"",
				"requiresShipping":"",
				"price":"",
				"giftCard":"",
				"name":"",
				"id":"",
				"variantId":"",
				"grams":"",
				"sku":""
			}
		],
		"orderId":"",
		"trackingUrl":"",
		"createTime":"",
		"originAddress":[
			{
				"zip":"",
				"address2":"",
				"city":"",
				"address1":"",
				"countryCode":"",
				"provinceCode":""
			}
		],
		"trackingCompany":"",
		"trackingNumbers":"",
		"updateTime":"",
		"id":"",
		"trackingNumber":"",
		"trackingUrls":"",
		"status":""
	}
}'
json
HTTP/1.1 200 OK
{
  "fulfillment": {
    "lineItems": [
      {
        "variantTitle": "",
        "quantity": "",
        "productId": "",
        "title": "",
        "fulfillmentStatus": "",
        "requiresShipping": "",
        "price": "",
        "giftCard": "",
        "name": "",
        "id": "",
        "variantId": "",
        "grams": "",
        "sku": ""
      }
    ],
    "orderId": "",
    "trackingUrl": "",
    "createTime": "",
    "originAddress": [
      {
        "zip": "",
        "address2": "",
        "city": "",
        "address1": "",
        "countryCode": "",
        "provinceCode": ""
      }
    ],
    "trackingCompany": "",
    "trackingNumbers": "",
    "updateTime": "",
    "id": "",
    "trackingNumber": "",
    "trackingUrls": "",
    "status": ""
  }
}

PUT Update fulfillment logistics

Update the tracking information for a fulfillment.

Access scope

Requires ANY of the following access scopes: write_fulfillments

Endpoint

PUT /api/202412/fulfillments/{fulfillmentId}/update_tracking 

Request Params

fulfillmentobject
- Hide child properties
lineItemsarray
A list of the fulfillment's line items, which includes:
+ Show child properties
orderIdstring
The unique numeric identifier for the order.
trackingUrlstring
The URL to track the fulfillment.
createTimestring
The date and time when the fulfillment was created. The API returns this value in ISO 8601 format.
originAddressarray
The address of the fulfillment location. This property is intended for tax purposes, as a full address is required for tax providers to accurately calculate taxes. To retrieve a fulfillment location's address, use the assigned_location` property on the FulfillmentOrder resource instead.
+ Show child properties
trackingCompanystring
The name of the tracking company.
trackingNumbersstring
A list of tracking numbers provided by the shipping company.
updateTimestring
The date and time (ISO 8601 format) when the fulfillment was last modified..
idstring
The ID for the fulfillment.
trackingNumberstring
A tracking number provided by the shipping company.
trackingUrlsstring
The URLs of tracking pages for the fulfillment.
statusstring
The status of the fulfillment. Valid values:

Response Data

fulfillmentobject
- Hide child properties
lineItemsarray
A list of the fulfillment's line items, which includes:
+ Show child properties
orderIdstring
The unique numeric identifier for the order.
trackingUrlstring
The URL to track the fulfillment.
createTimestring
The date and time when the fulfillment was created. The API returns this value in ISO 8601 format.
originAddressarray
The address of the fulfillment location. This property is intended for tax purposes, as a full address is required for tax providers to accurately calculate taxes. To retrieve a fulfillment location's address, use the assigned_location` property on the FulfillmentOrder resource instead.
+ Show child properties
trackingCompanystring
The name of the tracking company.
trackingNumbersstring
A list of tracking numbers provided by the shipping company.
updateTimestring
The date and time (ISO 8601 format) when the fulfillment was last modified..
idstring
The ID for the fulfillment.
trackingNumberstring
A tracking number provided by the shipping company.
trackingUrlsstring
The URLs of tracking pages for the fulfillment.
statusstring
The status of the fulfillment. Valid values:
bash
curl -X PUT \ 
https://{shop}.genmystore.com/api/202412/fulfillments/{fulfillmentId}/update_tracking" \ 
-H "X-Genstore-Access-Token: {access_token}" \ 
-H "Content-Type: application/json" \ 
-d '{
	"fulfillment":{
		"lineItems":[
			{
				"variantTitle":"",
				"quantity":"",
				"productId":"",
				"title":"",
				"fulfillmentStatus":"",
				"requiresShipping":"",
				"price":"",
				"giftCard":"",
				"name":"",
				"id":"",
				"variantId":"",
				"grams":"",
				"sku":""
			}
		],
		"orderId":"",
		"trackingUrl":"",
		"createTime":"",
		"originAddress":[
			{
				"zip":"",
				"address2":"",
				"city":"",
				"address1":"",
				"countryCode":"",
				"provinceCode":""
			}
		],
		"trackingCompany":"",
		"trackingNumbers":"",
		"updateTime":"",
		"id":"",
		"trackingNumber":"",
		"trackingUrls":"",
		"status":""
	}
}'
json
HTTP/1.1 200 OK
{
  "fulfillment": {
    "lineItems": [
      {
        "variantTitle": "",
        "quantity": "",
        "productId": "",
        "title": "",
        "fulfillmentStatus": "",
        "requiresShipping": "",
        "price": "",
        "giftCard": "",
        "name": "",
        "id": "",
        "variantId": "",
        "grams": "",
        "sku": ""
      }
    ],
    "orderId": "",
    "trackingUrl": "",
    "createTime": "",
    "originAddress": [
      {
        "zip": "",
        "address2": "",
        "city": "",
        "address1": "",
        "countryCode": "",
        "provinceCode": ""
      }
    ],
    "trackingCompany": "",
    "trackingNumbers": "",
    "updateTime": "",
    "id": "",
    "trackingNumber": "",
    "trackingUrls": "",
    "status": ""
  }
}

PUT Cancel fulfillment

Cancel a fulfillment.

Access scope

Requires ANY of the following access scopes: write_fulfillments

Endpoint

PUT /api/202412/fulfillments/{fulfillmentId}/cancel 

Request Params

fulfillmentIdstring
The ID of the fulfillment to be canceled.

Response Data

fulfillmentobject
- Hide child properties
lineItemsarray
A list of the fulfillment's line items, which includes:
+ Show child properties
orderIdstring
The unique numeric identifier for the order.
trackingUrlstring
The URL to track the fulfillment.
createTimestring
The date and time when the fulfillment was created. The API returns this value in ISO 8601 format.
originAddressarray
The address of the fulfillment location. This property is intended for tax purposes, as a full address is required for tax providers to accurately calculate taxes. To retrieve a fulfillment location's address, use the assigned_location` property on the FulfillmentOrder resource instead.
+ Show child properties
trackingCompanystring
The name of the tracking company.
trackingNumbersstring
A list of tracking numbers provided by the shipping company.
updateTimestring
The date and time (ISO 8601 format) when the fulfillment was last modified..
idstring
The ID for the fulfillment.
trackingNumberstring
A tracking number provided by the shipping company.
trackingUrlsstring
The URLs of tracking pages for the fulfillment.
statusstring
The status of the fulfillment. Valid values:
bash
curl -X PUT \ 
https://{shop}.genmystore.com/api/202412/fulfillments/{fulfillmentId}/cancel" \ 
-H "X-Genstore-Access-Token: {access_token}" \ 
-H "Content-Type: application/json" \ 
-d '{
	"fulfillmentId":"237894043"
}'
json
HTTP/1.1 200 OK
{
  "fulfillment": {
    "lineItems": [
      {
        "variantTitle": "",
        "quantity": "",
        "productId": "",
        "title": "",
        "fulfillmentStatus": "",
        "requiresShipping": "",
        "price": "",
        "giftCard": "",
        "name": "",
        "id": "",
        "variantId": "",
        "grams": "",
        "sku": ""
      }
    ],
    "orderId": "",
    "trackingUrl": "",
    "createTime": "",
    "originAddress": [
      {
        "zip": "",
        "address2": "",
        "city": "",
        "address1": "",
        "countryCode": "",
        "provinceCode": ""
      }
    ],
    "trackingCompany": "",
    "trackingNumbers": "",
    "updateTime": "",
    "id": "",
    "trackingNumber": "",
    "trackingUrls": "",
    "status": ""
  }
}

GET Get order fulfillment count

Get the number of fulfillments for an order.

Access scope

Requires ANY of the following access scopes: read_fulfillments write_fulfillments

Endpoint

GET /api/202412/orders/{orderId}/fulfillments/count 

Request Params

orderIdstring
The unique numeric identifier for the order.

Response Data

countstring
The order's number of fulfillments.
bash
curl -X GET \ 
https://{shop}.genmystore.com/api/202412/orders/{orderId}/fulfillments/count" \ 
-H "X-Genstore-Access-Token: {access_token}" \
json
HTTP/1.1 200 OK
{
  "count": "1"
}

GET Get order fulfillment list

Obtain the fulfillment list based on the order.

Access scope

Requires ANY of the following access scopes: read_fulfillments write_fulfillments

Endpoint

GET /api/202412/orders/{orderId}/fulfillments 

Request Params

orderIdstring
The unique numeric identifier for the order.

Response Data

fulfillmentarray
- Hide child properties
lineItemsarray
A list of the fulfillment's line items, which includes:
+ Show child properties
orderIdstring
The unique numeric identifier for the order.
trackingUrlstring
The URL to track the fulfillment.
createTimestring
The date and time when the fulfillment was created. The API returns this value in ISO 8601 format.
originAddressarray
The address of the fulfillment location. This property is intended for tax purposes, as a full address is required for tax providers to accurately calculate taxes. To retrieve a fulfillment location's address, use the assigned_location` property on the FulfillmentOrder resource instead.
+ Show child properties
trackingCompanystring
The name of the tracking company.
trackingNumbersstring
A list of tracking numbers provided by the shipping company.
updateTimestring
The date and time (ISO 8601 format) when the fulfillment was last modified..
idstring
The ID for the fulfillment.
trackingNumberstring
A tracking number provided by the shipping company.
trackingUrlsstring
The URLs of tracking pages for the fulfillment.
statusstring
The status of the fulfillment. Valid values:
bash
curl -X GET \ 
https://{shop}.genmystore.com/api/202412/orders/{orderId}/fulfillments" \ 
-H "X-Genstore-Access-Token: {access_token}" \
json
HTTP/1.1 200 OK
{
  "fulfillment": [
    {
      "lineItems": [
        {
          "variantTitle": "",
          "quantity": "",
          "productId": "",
          "title": "",
          "fulfillmentStatus": "",
          "requiresShipping": "",
          "price": "",
          "giftCard": "",
          "name": "",
          "id": "",
          "variantId": "",
          "grams": "",
          "sku": ""
        }
      ],
      "orderId": "",
      "trackingUrl": "",
      "createTime": "",
      "originAddress": [
        {
          "zip": "",
          "address2": "",
          "city": "",
          "address1": "",
          "countryCode": "",
          "provinceCode": ""
        }
      ],
      "trackingCompany": "",
      "trackingNumbers": "",
      "updateTime": "",
      "id": "",
      "trackingNumber": "",
      "trackingUrls": "",
      "status": ""
    }
  ]
}

GET Get fulfillment

Retrieve performance information based on fulfillment ID.

Access scope

Requires ANY of the following access scopes: read_fulfillments write_fulfillments

Endpoint

GET /api/202412/fulfillments?ids={fulfillmentIds} 

Request Params

fulfillmentIdnumber
The ID of the fulfillment.
orderIdnumber
The unique numeric identifier for the order.

Response Data

fulfillmentobject
- Hide child properties
lineItemsarray
A list of the fulfillment's line items, which includes:
+ Show child properties
orderIdstring
The unique numeric identifier for the order.
trackingUrlstring
The URL to track the fulfillment.
createTimestring
The date and time when the fulfillment was created. The API returns this value in ISO 8601 format.
originAddressarray
The address of the fulfillment location. This property is intended for tax purposes, as a full address is required for tax providers to accurately calculate taxes. To retrieve a fulfillment location's address, use the assigned_location` property on the FulfillmentOrder resource instead.
+ Show child properties
trackingCompanystring
The name of the tracking company.
trackingNumbersstring
A list of tracking numbers provided by the shipping company.
updateTimestring
The date and time (ISO 8601 format) when the fulfillment was last modified..
idstring
The ID for the fulfillment.
trackingNumberstring
A tracking number provided by the shipping company.
trackingUrlsstring
The URLs of tracking pages for the fulfillment.
statusstring
The status of the fulfillment. Valid values:
bash
curl -X GET \ 
https://{shop}.genmystore.com/api/202412/fulfillments?ids={fulfillmentIds}" \ 
-H "X-Genstore-Access-Token: {access_token}" \
json
HTTP/1.1 200 OK
{
  "fulfillment": {
    "lineItems": [
      {
        "variantTitle": "",
        "quantity": "",
        "productId": "",
        "title": "",
        "fulfillmentStatus": "",
        "requiresShipping": "",
        "price": "",
        "giftCard": "",
        "name": "",
        "id": "",
        "variantId": "",
        "grams": "",
        "sku": ""
      }
    ],
    "orderId": "",
    "trackingUrl": "",
    "createTime": "",
    "originAddress": [
      {
        "zip": "",
        "address2": "",
        "city": "",
        "address1": "",
        "countryCode": "",
        "provinceCode": ""
      }
    ],
    "trackingCompany": "",
    "trackingNumbers": "",
    "updateTime": "",
    "id": "",
    "trackingNumber": "",
    "trackingUrls": "",
    "status": ""
  }
}