Get Item Fulfillment List
Function: item_fulfillment_list()
Purpose
This function retrieves a list of item fulfillment records. Fulfillment refers to the process of preparing and delivering ordered items to customers. This function helps to track the status and details of items that have been shipped, processed, or need further action.
Parameters
No parameters required for this function.
Use Case
This function is commonly used by logistics teams, customer service representatives, or backend systems to track the status of item shipments and deliveries. It helps organizations manage and monitor fulfillment processes, ensuring that items are dispatched correctly and on time, and providing real-time visibility into order fulfillment stages.
def item_fulfillment_list():
SDKConfig.PRINT_REQUEST_DATA = True
SDKConfig.PRINT_RAW_RESPONSE = False
token_file_path = "shared_token.json"
file_token_mgr = FileTokenManager(token_file_path)
exsited_sdk: ExsitedSDK = ExsitedSDK().init_sdk(
request_token_dto = CommonData.get_request_token_dto(),
file_token_mgr = file_token_mgr
)
try:
response = exsited_sdk.item_fulfillment.list()
print(response)
except ABException as ab:
print(ab)
print(ab.get_errors())
print(ab.raw_response)
public function itemFulfillmentList(){
try {
$response = $this->itemFulfillmentService->readAll('v3');
echo '<pre>' . json_encode($response, JSON_PRETTY_PRINT) . '</pre>';
} catch (Exception $e) {
echo 'Error: ' . $e->getMessage();
}
}
Response
The response returns a list of fulfillment records, each representing a unique item fulfillment transaction. These records typically include details such as the item_uuid, fulfillment_status (e.g., "shipped", "in_progress"), shipping_address, tracking_number, and date_fulfilled. This structured data supports real-time tracking, reporting, and fulfillment audits, helping teams ensure order accuracy and timely delivery. If access is denied or if there are no fulfillment records.
ItemFulfillmentListResponseDTO(
itemFulfillments=[
ItemFulfillmentDataDTO(
status="FULFILLMENT_STATUS",
date="FULFILLMENT_DATE",
id="FULFILLMENT_ID",
orderId="ORDER_ID",
invoiceId="INVOICE_ID",
trackingNumber="TRACKING_NUMBER",
note="ADDITIONAL_NOTE",
fulfillments=[
FulfillmentDTO(
itemUuid="ITEM_UUID",
itemId="ITEM_ID",
uom="UNIT_OF_MEASURE",
warehouse="WAREHOUSE",
fulfillmentQuantity="QUANTITY_FULFILLED",
fulfillmentLeft="QUANTITY_LEFT",
uuid="FULFILLMENT_UUID"
)
],
createdBy="CREATED_BY_USER",
createdOn="CREATED_ON_TIMESTAMP",
lastUpdatedBy="LAST_UPDATED_BY_USER",
lastUpdatedOn="LAST_UPDATED_TIMESTAMP",
uuid="FULFILLMENT_UUID",
version="VERSION_NUMBER"
),
],
pagination=PaginationDTO(
records=TOTAL_RECORDS,
limit=PAGE_SIZE,
offset=OFFSET_VALUE,
previousPage="PREVIOUS_PAGE_URL",
nextPage="NEXT_PAGE_URL"
)
)
{
"item-fulfillments": [
{
"status": "CLOSED",
"date": "FULFILLMENT_DATE",
"id": "FULFILLMENT_ID",
"order_id": "ORDER_ID",
"invoice_id": "INVOICE_ID",
"tracking_number": "TRACKING_NUMBER",
"note": "FULFILLMENT_NOTE",
"fulfillments": [
{
"fulfilled_quantity": "FULFILLED_QUANTITY",
"fulfillment_left": "FULFILLMENT_LEFT",
"item_id": "ITEM_ID",
"item_name": "ITEM_NAME",
"line_uuid": "LINE_UUID",
"uom": "UNIT_OF_MEASURE",
"warehouse": "WAREHOUSE_NAME"
}
],
"created_by": "CREATED_BY",
"created_on": "CREATED_ON_TIMESTAMP",
"last_updated_by": "LAST_UPDATED_BY",
"last_updated_on": "LAST_UPDATED_ON_TIMESTAMP",
"uuid": "FULFILLMENT_UUID",
"version": "1"
}
],
"pagination": {
"records": "TOTAL_RECORDS",
"limit": "LIMIT",
"offset": "OFFSET",
"previous_page": "PREVIOUS_PAGE_URL",
"next_page": "NEXT_PAGE_URL"
}
}
Get Item Fulfillment Details
Function: item_fulfillment_details()
Purpose
This function retrieves detailed information about a specific item fulfillment record. It provides full visibility into the fulfillment process for a given item, including shipment status, tracking information, and related metadata.
Parameters
| Parameter | Type | Description |
|---|---|---|
| fulfillment_id | String | The unique identifier of the item fulfillment record. Example: "FF-98151291" |
Use Case
This function is used when detailed information about a specific fulfillment is needed. For example, a customer support team might use this to trace the shipment of an item, confirm delivery status, or investigate an issue related to a specific order fulfillment. It can also be used in internal audit processes to track the fulfillment history of an item.
def item_fulfillment_details():
SDKConfig.PRINT_REQUEST_DATA = True
SDKConfig.PRINT_RAW_RESPONSE = False
token_file_path = "shared_token.json"
file_token_mgr = FileTokenManager(token_file_path)
exsited_sdk: ExsitedSDK = ExsitedSDK().init_sdk(
request_token_dto = CommonData.get_request_token_dto(),
file_token_mgr = file_token_mgr
)
try:
response = exsited_sdk.item_fulfillment.details(id="FULFILLMENT_ID")
print(response)
except ABException as ab:
print(ab)
print(ab.get_errors())
print(ab.raw_response)
public function itemFulfillmentDetails({
$id="FULFILLMENT_ID";
try {
$response = $this->itemFulfillmentService->readDetails($id,'v3');
echo '<pre>' . json_encode($response, JSON_PRETTY_PRINT) . '</pre>';
} catch (Exception $e) {
echo 'Error: ' . $e->getMessage();
}
}
Response
The response contains detailed information about the specified item fulfillment, such as the id, status, tracking_number, fulfillment_date, and associated shipment_address. It may also include additional information, such as order_uuid. This detailed structure helps with order tracking, auditing, and resolving any issues related to the item’s fulfillment process. If the ID is invalid or the requested fulfillment record is not found, the function raises an Exception containing error details and the backend response.
ItemFulfillmentDetailsDTO(
itemFulfillment=ItemFulfillmentDataDTO(
status="FULFILLMENT_STATUS",
date="FULFILLMENT_DATE",
id="FULFILLMENT_ID",
orderId="ORDER_ID",
invoiceId="INVOICE_ID",
trackingNumber="TRACKING_NUMBER",
note="ADDITIONAL_NOTE",
fulfillments=[
FulfillmentDTO(
itemUuid="ITEM_UUID",
itemId="ITEM_ID",
uom="UNIT_OF_MEASURE",
warehouse="WAREHOUSE",
fulfillmentQuantity="QUANTITY_FULFILLED",
fulfillmentLeft="QUANTITY_LEFT",
uuid="FULFILLMENT_UUID"
)
],
createdBy="CREATED_BY_USER",
createdOn="CREATED_ON_TIMESTAMP",
lastUpdatedBy="LAST_UPDATED_BY_USER",
lastUpdatedOn="LAST_UPDATED_TIMESTAMP",
uuid="FULFILLMENT_UUID",
version="VERSION_NUMBER"
)
)
{
"item_fulfillment": {
"status": "CLOSED",
"date": "FULFILLMENT_DATE",
"id": "FULFILLMENT_ID",
"order_id": "ORDER_ID",
"invoice_id": "INVOICE_ID",
"tracking_number": "TRACKING_NUMBER",
"note": "FULFILLMENT_NOTE",
"fulfillments": [
{
"item_uuid": "ITEM_UUID",
"item_id": "ITEM_ID",
"uom": "UNIT_OF_MEASURE",
"warehouse": "WAREHOUSE_NAME",
"fulfillment_quantity": "FULFILLMENT_QUANTITY",
"fulfillment_left": "FULFILLMENT_LEFT",
"uuid": "FULFILLMENT_ITEM_UUID"
}
],
"created_by": "CREATED_BY",
"created_on": "CREATED_ON_TIMESTAMP",
"last_updated_by": "LAST_UPDATED_BY",
"last_updated_on": "LAST_UPDATED_ON_TIMESTAMP",
"uuid": "FULFILLMENT_UUID",
"version": "1"
}
}
Get Item Fulfillments for Invoice
Function: item_invoice_fulfillment_list()
Purpose
This function retrieves a list of item fulfillments associated with a specific invoice. It is typically used to track which items from an invoice have been fulfilled, shipped, or processed.
Parameters
| Parameter | Type | Description |
|---|---|---|
| invoice_id | String | The unique identifier of the invoice. Example: "INV-MS4455-3491" |
Use Case
This function is used by finance, logistics, or customer support teams to track the fulfillment status of all items listed on a particular invoice. It helps to confirm which items have been processed, shipped, or are pending fulfillment. For instance, if a customer asks about the status of their order, this function can provide details about the shipped items or identify items that are still awaiting fulfillment.
def item_invoice_fulfillment_list():
SDKConfig.PRINT_REQUEST_DATA = True
SDKConfig.PRINT_RAW_RESPONSE = False
token_file_path = "shared_token.json"
file_token_mgr = FileTokenManager(token_file_path)
exsited_sdk: ExsitedSDK = ExsitedSDK().init_sdk(
request_token_dto = CommonData.get_request_token_dto(),
file_token_mgr = file_token_mgr
)
try:
response = exsited_sdk.item_fulfillment.invoice_fulfillments(id="INVOICE_ID")
print(response)
except ABException as ab:
print(ab)
print(ab.get_errors())
print(ab.raw_response)
public function itemInvoiceFulfillmentList(){
$invoiceId="INVOICE_ID";
try {
$response = $this->itemFulfillmentService->readInvoiceItemFulfillment($invoiceId,'v3');
echo '<pre>' . json_encode($response, JSON_PRETTY_PRINT) . '</pre>';
} catch (Exception $e) {
echo 'Error: ' . $e->getMessage();
}
}
Response
The response contains a list of item fulfillment records associated with the specified invoice. Each record includes details such as fulfillment_status, item_uuid, quantity_shipped, shipping_method, and tracking_number. This information helps in tracking which items are shipped and the current status of the fulfillment process. If the invoice ID is invalid or access is denied, an ABException will be raised with relevant error details and the raw backend response for troubleshooting.
ItemFulfillmentInvoiceListDTO(
invoice=ItemFulfillmentListResponseDTO(
itemFulfillments=[
ItemFulfillmentDataDTO(
status="FULFILLMENT_STATUS",
date="FULFILLMENT_DATE",
id="FULFILLMENT_ID",
orderId="ORDER_ID",
invoiceId="INVOICE_ID",
trackingNumber="TRACKING_NUMBER",
note="ADDITIONAL_NOTE",
fulfillments=[
FulfillmentDTO(
itemUuid="ITEM_UUID",
itemId="ITEM_ID",
uom="UNIT_OF_MEASURE",
warehouse="WAREHOUSE",
fulfillmentQuantity="QUANTITY_FULFILLED",
fulfillmentLeft="QUANTITY_LEFT",
uuid="FULFILLMENT_UUID"
)
],
createdBy="CREATED_BY_USER",
createdOn="CREATED_ON_TIMESTAMP",
lastUpdatedBy="LAST_UPDATED_BY_USER",
lastUpdatedOn="LAST_UPDATED_TIMESTAMP",
uuid="FULFILLMENT_UUID",
version="VERSION_NUMBER"
)
],
pagination=PaginationDTO(
records="TOTAL_RECORDS",
limit="LIMIT_PER_PAGE",
offset="OFFSET",
previousPage="PREVIOUS_PAGE_URL",
nextPage="NEXT_PAGE_URL"
)
)
)
{
"invoice": {
"item_fulfillments": [
{
"status": "CLOSED",
"date": "FULFILLMENT_DATE",
"id": "FULFILLMENT_ID",
"order_id": "ORDER_ID",
"invoice_id": "INVOICE_ID",
"tracking_number": "TRACKING_NUMBER",
"note": "FULFILLMENT_NOTE",
"fulfillments": [
{
"item_uuid": "ITEM_UUID",
"item_id": "ITEM_ID",
"uom": "UNIT_OF_MEASURE",
"warehouse": "WAREHOUSE_NAME",
"fulfillment_quantity": "FULFILLMENT_QUANTITY",
"fulfillment_left": "FULFILLMENT_LEFT",
"uuid": "FULFILLMENT_ITEM_UUID"
}
],
"created_by": "CREATED_BY",
"created_on": "CREATED_ON_TIMESTAMP",
"last_updated_by": "LAST_UPDATED_BY",
"last_updated_on": "LAST_UPDATED_ON_TIMESTAMP",
"uuid": "FULFILLMENT_UUID",
"version": "1"
}
],
"pagination": {
"records": 1,
"limit": 20,
"offset": 0,
"previous_page": "",
"next_page": "NULL"
}
}
}
Get Specific Item Fulfillment for Invoice
Function: item_invoice_fulfillment_by_uuid()
Purpose
This function retrieves detailed information about a specific item fulfillment associated with a given invoice using both the invoice ID and the fulfillment UUID. It is used to track and manage individual fulfillment transactions for a particular item on an invoice.
Parameters
| Parameter | Type | Description |
|---|---|---|
| invoice_id | String | The unique identifier of the invoice. Example: "INV_UUID" |
| fulfillment_id | String | The unique identifier of the specific item fulfillment. Example: "FF_UUID" |
Use Case
This function is used when specific details of an item’s fulfillment need to be tracked or managed. It is especially useful for verifying shipment details or resolving customer service issues related to a particular item on an invoice. For instance, it can be used to track the status of an individual fulfillment (e.g., whether the item has been shipped or is pending).
def item_invoice_fulfillment_by_uuid():
SDKConfig.PRINT_REQUEST_DATA = True
SDKConfig.PRINT_RAW_RESPONSE = False
token_file_path = "shared_token.json"
file_token_mgr = FileTokenManager(token_file_path)
exsited_sdk: ExsitedSDK = ExsitedSDK().init_sdk(
request_token_dto=CommonData.get_request_token_dto(),
file_token_mgr=file_token_mgr
)
try:
response = exsited_sdk.item_fulfillment.invoice_fulfillment_by_uuid(
id="INVOICE_ID", # e.g., "INV-MS4455-3492"
uuid="FULFILLMENT_ID" # e.g., "FF-53882273"
)
print(response)
except ABException as ab:
print(ab)
print(ab.get_errors())
print(ab.raw_response)
public function itemInvoiceFulfillmentByUuid(){
$invoiceId="INVOICE_ID";
$id="FULFILLMENT_ID";
try {
$response = $this->itemFulfillmentService->readInvoiceItemFulfillmentDetails($invoiceId,$id,'v3');
echo '<pre>' . json_encode($response, JSON_PRETTY_PRINT) . '</pre>';
} catch (Exception $e) {
echo 'Error: ' . $e->getMessage();
}
}
Response
The response contains detailed information about the specific item fulfillment, including its fulfillment_status, item_uuid, quantity_fulfilled, tracking_number, and shipping details. This is useful for tracking the fulfillment state of individual items, updating the inventory, or resolving customer queries related to order shipments. If the invoice ID or fulfillment UUID is invalid or access is restricted, an ABException will be raised with error details and raw backend response for debugging.
ItemFulfillmentInvoiceDTO(
invoice=ItemFulfillmentDetailsDTO(
itemFulfillment=ItemFulfillmentDataDTO(
status="FULFILLMENT_STATUS",
date="FULFILLMENT_DATE",
id="FULFILLMENT_ID",
orderId="ORDER_ID",
invoiceId="INVOICE_ID",
trackingNumber="TRACKING_NUMBER",
note="ADDITIONAL_NOTE",
fulfillments=[
FulfillmentDTO(
itemUuid="ITEM_UUID",
itemId="ITEM_ID",
uom="UNIT_OF_MEASURE",
warehouse="WAREHOUSE",
fulfillmentQuantity="QUANTITY_FULFILLED",
fulfillmentLeft="QUANTITY_LEFT",
uuid="FULFILLMENT_UUID"
)
],
createdBy="CREATED_BY_USER",
createdOn="CREATED_ON_TIMESTAMP",
lastUpdatedBy="LAST_UPDATED_BY_USER",
lastUpdatedOn="LAST_UPDATED_TIMESTAMP",
uuid="FULFILLMENT_UUID",
version="VERSION_NUMBER"
)
)
)
{
"invoice": {
"item_fulfillment": {
"status": "FULFILLMENT_STATUS",
"date": "FULFILLMENT_DATE",
"id": "FULFILLMENT_ID",
"order_id": "ORDER_ID",
"invoice_id": "INVOICE_ID",
"tracking_number": "TRACKING_NUMBER",
"note": "FULFILLMENT_NOTE",
"fulfillments": [
{
"item_uuid": "ITEM_UUID",
"item_id": "ITEM_ID",
"uom": "UNIT_OF_MEASURE",
"warehouse": "WAREHOUSE_NAME",
"fulfillment_quantity": "FULFILLMENT_QUANTITY",
"fulfillment_left": "FULFILLMENT_LEFT",
"uuid": "FULFILLMENT_ITEM_UUID"
}
],
"created_by": "CREATED_BY",
"created_on": "CREATED_ON_TIMESTAMP",
"last_updated_by": "LAST_UPDATED_BY",
"last_updated_on": "LAST_UPDATED_ON_TIMESTAMP",
"uuid": "FULFILLMENT_UUID",
"version": "1"
}
}
}
Updating Item Fulfillment Details
Function:item_fulfillment_update()
Purpose
This SDK function updates an existing item fulfillment record in the system. It is used to modify details such as status, date, tracking number, notes, and fulfillment quantities. This endpoint is typically used when an item fulfillment process progresses from one stage to another (example: from “Processing” to “Shipped”) or when shipment tracking or additional notes need to be recorded.
Parameters
| Parameter | Type | Description |
|---|---|---|
| fulfillment_id | string | The unique identifier of the item fulfillment record to be updated. |
Use Case
This function is used when a warehouse, logistics team, or automated fulfillment system needs to update the fulfillment details of a specific order. For example, once an order is shipped, the system can use this method to update the fulfillment record’s status to “SHIPPED” and include the shipment tracking number. It ensures the order’s progress is accurately reflected in the system for real-time visibility and audit purposes.
def item_fulfillment_update():
SDKConfig.PRINT_REQUEST_DATA = True
SDKConfig.PRINT_RAW_RESPONSE = False
token_file_path = "shared_token.json"
file_token_mgr = FileTokenManager(token_file_path)
exsited_sdk: ExsitedSDK = ExsitedSDK().init_sdk(
request_token_dto=CommonData.get_request_token_dto(),
file_token_mgr=file_token_mgr
)
try:
item_fulfillment = ItemFulfillmentDataDTO(
status="SHIPPED",
date="{{fulfillment_date}}",
note="{{fulfillment_note}}",
trackingNumber="{{tracking_number}}"
)
response = exsited_sdk.item_fulfillment.update_item_fulfillment(
item_fulfillment_id="{{fulfillment_id}}",
request_data=ItemFulfillmentDetailsDTO(itemFulfillment=item_fulfillment)
)
print(response)
except ABException as ab:
print(ab)
print(ab.get_errors())
print(ab.raw_response)
Response
On successful execution, the SDK returns an updated item fulfillment object containing the latest details of the record. The response includes information such as fulfillment status, date, order ID, invoice ID, tracking number, notes, fulfillment items with their quantities, and audit metadata like created/updated by and timestamps. This response confirms that the specified item fulfillment record has been successfully updated in the system.
{
"itemFulfillment": {
"status": "SHIPPED",
"date": "{{fulfillment_date}}",
"id": "{{fulfillment_id}}",
"orderId": "{{order_id}}",
"invoiceId": "{{invoice_id}}",
"trackingNumber": "{{tracking_number}}",
"note": "{{fulfillment_note}}",
"fulfillments": [
{
"itemUuid": "{{item_uuid}}",
"itemId": "{{item_id}}",
"uom": "{{unit_of_measure}}",
"warehouse": "{{warehouse_name}}",
"fulfillmentQuantity": "{{fulfilled_quantity}}",
"fulfillmentLeft": "{{remaining_quantity}}",
"uuid": "{{fulfillment_uuid}}"
}
],
"createdBy": "{{created_by}}",
"createdOn": "{{created_on}}",
"lastUpdatedBy": "{{last_updated_by}}",
"lastUpdatedOn": "{{last_updated_on}}",
"uuid": "{{record_uuid}}",
"version": "{{record_version}}"
}
}