» Item fulfillment SDK Module Documentation

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)

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"
    )
)

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)

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"
    )
)

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)

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"
        )
    )
)

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_idString
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)

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"
        )
    )
)

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

ParameterTypeDescription
fulfillment_idstringThe 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}}"
    }
}