### Product Order Response Example Source: https://context7.com/tmforum-apis/tmf622_productorder/llms.txt Example of a successful response when listing product orders, showing key attributes like ID, state, and order items. ```json [ { "id": "order-001", "href": "https://serverRoot/productOrder/order-001", "state": "inProgress", "category": "enterprise", "requestedCompletionDate": "2024-02-15T10:00:00Z", "creationDate": "2024-01-15T09:30:00Z", "productOrderItem": [ { "id": "01", "action": "add", "state": "inProgress", "quantity": 1 } ] } ] ``` -------------------------------- ### Create Product Order Response Source: https://context7.com/tmforum-apis/tmf622_productorder/llms.txt Example of a successful response after creating a product order, indicating the order ID and its initial acknowledged state. ```json { "id": "order-002", "href": "https://serverRoot/productOrder/order-002", "@type": "ProductOrder", "state": "acknowledged", "category": "residential", "description": "New broadband service installation", "creationDate": "2024-01-15T10:00:00Z", "requestedCompletionDate": "2024-02-20T14:00:00Z", "productOrderItem": [ { "id": "01", "action": "add", "state": "acknowledged", "quantity": 1 } ] } ``` -------------------------------- ### Product Order Cancellation Response Source: https://context7.com/tmforum-apis/tmf622_productorder/llms.txt Example of a successful response (200 OK) when a product order cancellation is processed. ```json { "id": "cancel-001", "href": "https://serverRoot/cancelProductOrder/cancel-001", "@type": "CancelProductOrder", "state": "done", "creationDate": "2024-01-20T14:30:00Z", "requestedCancellationDate": "2024-01-25T12:00:00Z", "effectiveCancellationDate": "2024-01-21T09:00:00Z", "cancellationReason": "Customer changed their mind about the service", "productOrder": { "id": "order-002", "href": "https://serverRoot/productOrder/order-002" } } ``` -------------------------------- ### Product Order State Change Event Notification Source: https://context7.com/tmforum-apis/tmf622_productorder/llms.txt Example of the event payload sent to registered listeners when a ProductOrder state changes. The listener endpoint receives POST requests with this event data. ```json { "@type": "ProductOrderStateChangeEvent", "eventId": "evt-12345", "eventTime": "2024-01-21T10:15:00Z", "eventType": "ProductOrderStateChangeEvent", "correlationId": "corr-abc-123", "domain": "productOrdering", "title": "Product Order State Changed", "description": "Order order-002 state changed to completed", "event": { "productOrder": { "id": "order-002", "href": "https://serverRoot/productOrder/order-002", "state": "completed", "completionDate": "2024-01-21T10:15:00Z" } } } ``` -------------------------------- ### Product Order State Change Event Notification Source: https://context7.com/tmforum-apis/tmf622_productorder/llms.txt Example of the event payload sent to registered listeners when a ProductOrder state changes. The listener endpoint receives POST requests with event data. ```APIDOC ## POST /listener/productOrderStateChangeEvent ### Description Receives Product Order State Change Event notifications. ### Method POST ### Endpoint https://client.example.com/listener/productOrderStateChangeEvent ### Request Body - **@type** (string) - Required - The type of the event, e.g., "ProductOrderStateChangeEvent". - **eventId** (string) - Required - Unique identifier for the event. - **eventTime** (string) - Required - Timestamp of when the event occurred. - **eventType** (string) - Required - The type of the event. - **correlationId** (string) - Optional - Identifier to correlate events. - **domain** (string) - Optional - The domain the event belongs to. - **title** (string) - Optional - A short, human-readable title for the event. - **description** (string) - Optional - A more detailed description of the event. - **event** (object) - Required - Contains the details of the product order that changed. - **productOrder** (object) - Required - Details of the product order. - **id** (string) - Required - The ID of the product order. - **href** (string) - Optional - Hypermedia reference to the product order. - **state** (string) - Required - The new state of the product order. - **completionDate** (string) - Optional - Timestamp when the order was completed. ### Request Example ```json { "@type": "ProductOrderStateChangeEvent", "eventId": "evt-12345", "eventTime": "2024-01-21T10:15:00Z", "eventType": "ProductOrderStateChangeEvent", "correlationId": "corr-abc-123", "domain": "productOrdering", "title": "Product Order State Changed", "description": "Order order-002 state changed to completed", "event": { "productOrder": { "id": "order-002", "href": "https://serverRoot/productOrder/order-002", "state": "completed", "completionDate": "2024-01-21T10:15:00Z" } } } ``` ### Response #### Success Response (204 No Content) Indicates that the event notification was received and processed successfully. ``` -------------------------------- ### Product Order Milestone Event Notification Source: https://context7.com/tmforum-apis/tmf622_productorder/llms.txt Payload for a ProductOrderMilestoneEvent, indicating a change in the product order's fulfillment status. Use this to track progress like 'Installation Scheduled'. ```json { "@type": "ProductOrderMilestoneEvent", "eventId": "evt-12348", "eventTime": "2024-01-20T11:00:00Z", "eventType": "ProductOrderMilestoneEvent", "domain": "productOrdering", "event": { "productOrder": { "id": "order-003", "href": "https://serverRoot/productOrder/order-003", "state": "inProgress", "productOrderMilestone": [ { "id": "milestone-002", "name": "Installation Scheduled", "description": "Technician visit scheduled for 2024-01-22", "milestoneDate": "2024-01-20T11:00:00Z", "status": "reached" } ] } } } ``` -------------------------------- ### List Product Orders with Pagination Source: https://context7.com/tmforum-apis/tmf622_productorder/llms.txt Retrieves a collection of product orders, supporting pagination with offset and limit parameters. Use this to fetch orders in batches. ```bash curl -X GET "https://serverRoot/productOrder?offset=0&limit=10" \ -H "Accept: application/json" ``` -------------------------------- ### Create Product Order Source: https://context7.com/tmforum-apis/tmf622_productorder/llms.txt Creates a new product order, which can be submitted in 'acknowledged' state for immediate processing. Requires at least one productOrderItem. Ensure all required fields like productOffering are correctly populated. ```bash curl -X POST "https://serverRoot/productOrder" \ -H "Content-Type: application/json" \ -H "Accept: application/json" \ -d '{ "@type": "ProductOrder", "requestedInitialState": "acknowledged", "category": "residential", "description": "New broadband service installation", "requestedCompletionDate": "2024-02-20T14:00:00Z", "requestedStartDate": "2024-02-01T09:00:00Z", "notificationContact": "customer@example.com", "priority": "1", "billingAccount": { "@type": "BillingAccountRef", "id": "ba-12345", "name": "John Doe Billing Account" }, "relatedParty": [ { "@type": "RelatedPartyRefOrPartyRoleRef", "id": "party-001", "name": "John Doe", "role": "customer" } ], "productOrderItem": [ { "@type": "ProductOrderItem", "id": "01", "action": "add", "quantity": 1, "productOffering": { "@type": "ProductOfferingRef", "id": "offering-fiber-100", "name": "Fiber 100Mbps Internet" }, "product": { "@type": "Product", "productCharacteristic": [ { "@type": "StringCharacteristic", "name": "downloadSpeed", "value": "100Mbps" }, { "@type": "StringCharacteristic", "name": "installationType", "value": "professional" } ], "place": [ { "@type": "RelatedPlaceRef", "role": "installationAddress", "id": "place-001" } ] } } ], "note": [ { "@type": "Note", "text": "Customer prefers afternoon installation slot", "author": "Sales Rep" } ] }' ``` -------------------------------- ### Create Event Subscription (Hub) Source: https://context7.com/tmforum-apis/tmf622_productorder/llms.txt Registers a callback endpoint to receive event notifications for product order lifecycle events. Requires a JSON payload with the callback URL and desired event types. ```bash curl -X POST "https://serverRoot/hub" \ -H "Content-Type: application/json" \ -H "Accept: application/json" \ -d '{ "@type": "Hub", "callback": "https://client.example.com/listener/productOrderEvents", "query": "eventType=ProductOrderStateChangeEvent,ProductOrderCreateEvent" }' ``` ```json { "id": "hub-001", "href": "https://serverRoot/hub/hub-001", "@type": "Hub", "callback": "https://client.example.com/listener/productOrderEvents", "query": "eventType=ProductOrderStateChangeEvent,ProductOrderCreateEvent" } ``` -------------------------------- ### Product Order State Types Reference Source: https://context7.com/tmforum-apis/tmf622_productorder/llms.txt Reference for possible ProductOrder state values and their meanings. Includes states for ProductOrder, CancelProductOrder, and ItemAction. ```json { "ProductOrderStateType": { "draft": "Order saved but not yet submitted for processing", "acknowledged": "Order received and validated, ready for processing", "rejected": "Order rejected due to validation errors or business rules", "pending": "Order waiting for external dependencies or approvals", "held": "Order processing temporarily suspended", "inProgress": "Order actively being fulfilled", "inProgress.accepted": "Order accepted and in active fulfillment", "assessingCancellation": "Cancellation request being evaluated", "pendingCancellation": "Cancellation approved, awaiting completion", "cancelled": "Order has been cancelled", "completed": "Order successfully fulfilled", "failed": "Order processing failed", "partial": "Order partially completed (some items succeeded)" }, "TaskStateType (for CancelProductOrder)": { "acknowledged": "Cancellation request received", "rejected": "Cancellation request rejected", "inProgress": "Cancellation being processed", "done": "Cancellation completed successfully", "cancelled": "Cancellation request itself was cancelled", "terminatedWithError": "Cancellation failed with error" }, "ItemActionType (for ProductOrderItem)": { "add": "Add a new product", "modify": "Modify an existing product", "delete": "Remove/terminate a product", "noChange": "No change to the product" } } ``` -------------------------------- ### List Product Orders with Field Selection Source: https://context7.com/tmforum-apis/tmf622_productorder/llms.txt Retrieves product orders, allowing for response optimization by specifying desired fields. Use this to reduce payload size when only specific attributes are needed. ```bash curl -X GET "https://serverRoot/productOrder?fields=id,state,category,requestedCompletionDate" \ -H "Accept: application/json" ``` -------------------------------- ### Create Event Subscription (Hub) Source: https://context7.com/tmforum-apis/tmf622_productorder/llms.txt Registers a callback endpoint to receive event notifications for product order lifecycle events. Returns a Hub entity with subscription details. ```APIDOC ## POST /hub ### Description Registers a callback endpoint to receive event notifications for product order lifecycle events. Returns a Hub entity with subscription details. ### Method POST ### Endpoint /hub ### Parameters #### Request Body - **@type** (string) - Required - Specifies the type of the Hub object. - **callback** (string) - Required - The URL of the callback endpoint to receive notifications. - **query** (string) - Required - Specifies the event types to subscribe to. ### Request Example ```json { "@type": "Hub", "callback": "https://client.example.com/listener/productOrderEvents", "query": "eventType=ProductOrderStateChangeEvent,ProductOrderCreateEvent" } ``` ### Response #### Success Response (201 Created) - **id** (string) - Description - **href** (string) - Description - **@type** (string) - Description - **callback** (string) - Description - **query** (string) - Description #### Response Example ```json { "id": "hub-001", "href": "https://serverRoot/hub/hub-001", "@type": "Hub", "callback": "https://client.example.com/listener/productOrderEvents", "query": "eventType=ProductOrderStateChangeEvent,ProductOrderCreateEvent" } ``` ``` -------------------------------- ### ProductOrder State Types Reference Source: https://context7.com/tmforum-apis/tmf622_productorder/llms.txt Reference for all possible ProductOrder state values and their meanings. ```APIDOC ## ProductOrder State Types Reference ### Description Provides a reference for all possible state values used in Product Orders and related entities. ### ProductOrderStateType - **draft**: Order saved but not yet submitted for processing. - **acknowledged**: Order received and validated, ready for processing. - **rejected**: Order rejected due to validation errors or business rules. - **pending**: Order waiting for external dependencies or approvals. - **held**: Order processing temporarily suspended. - **inProgress**: Order actively being fulfilled. - **inProgress.accepted**: Order accepted and in active fulfillment. - **assessingCancellation**: Cancellation request being evaluated. - **pendingCancellation**: Cancellation approved, awaiting completion. - **cancelled**: Order has been cancelled. - **completed**: Order successfully fulfilled. - **failed**: Order processing failed. - **partial**: Order partially completed (some items succeeded). ### TaskStateType (for CancelProductOrder) - **acknowledged**: Cancellation request received. - **rejected**: Cancellation request rejected. - **inProgress**: Cancellation being processed. - **done**: Cancellation completed successfully. - **cancelled**: Cancellation request itself was cancelled. - **terminatedWithError**: Cancellation failed with error. ### ItemActionType (for ProductOrderItem) - **add**: Add a new product. - **modify**: Modify an existing product. - **delete**: Remove/terminate a product. - **noChange**: No change to the product. ``` -------------------------------- ### Retrieve Product Order Source: https://context7.com/tmforum-apis/tmf622_productorder/llms.txt Fetches a specific product order by its ID. The response includes detailed information about the order. ```json { "id": "order-002", "href": "https://serverRoot/productOrder/order-002", "@type": "ProductOrder", "state": "inProgress", "category": "residential", "description": "New broadband service installation", "creationDate": "2024-01-15T10:00:00Z", "requestedCompletionDate": "2024-02-20T14:00:00Z", "expectedCompletionDate": "2024-02-18T16:00:00Z", "priority": "1", "billingAccount": { "id": "ba-12345", "name": "John Doe Billing Account" }, "productOrderItem": [ { "id": "01", "action": "add", "state": "inProgress", "quantity": 1, "productOffering": { "id": "offering-fiber-100", "name": "Fiber 100Mbps Internet" } } ], "productOrderMilestone": [ { "id": "milestone-001", "name": "Technical Survey Completed", "milestoneDate": "2024-01-20T11:00:00Z", "status": "reached" } ], "relatedParty": [ { "id": "party-001", "name": "John Doe", "role": "customer" } ] } ``` -------------------------------- ### Retrieve Product Order by ID Source: https://context7.com/tmforum-apis/tmf622_productorder/llms.txt Retrieves a specific product order using its unique identifier. Use the 'fields' parameter to select specific attributes for a more targeted response. ```bash curl -X GET "https://serverRoot/productOrder/order-002" \ -H "Accept: application/json" ``` -------------------------------- ### List Cancel Product Order Requests Source: https://context7.com/tmforum-apis/tmf622_productorder/llms.txt Retrieves a collection of CancelProductOrder resources with optional filtering and pagination. ```bash curl -X GET "https://serverRoot/cancelProductOrder?offset=0&limit=20" \ -H "Accept: application/json" ``` ```json [ { "id": "cancel-001", "href": "https://serverRoot/cancelProductOrder/cancel-001", "@type": "CancelProductOrder", "state": "done", "creationDate": "2024-01-20T14:30:00Z", "effectiveCancellationDate": "2024-01-21T09:00:00Z", "cancellationReason": "Customer changed their mind about the service", "productOrder": { "id": "order-002" } } ] ``` -------------------------------- ### Create Product Order Source: https://context7.com/tmforum-apis/tmf622_productorder/llms.txt Creates a new ProductOrder entity. Orders can be created in draft state (for later submission) or acknowledged state (immediately submitted for processing). Requires at least one productOrderItem. ```APIDOC ## Create Product Order ### Description Creates a new ProductOrder entity. Orders can be created in draft state (for later submission) or acknowledged state (immediately submitted for processing). Requires at least one productOrderItem. ### Method POST ### Endpoint /productOrder ### Request Body - **@type** (string) - Required - The type of the entity, should be "ProductOrder". - **requestedInitialState** (string) - Optional - The initial state of the order (e.g., "acknowledged", "draft"). - **category** (string) - Optional - The category of the product order. - **description** (string) - Optional - A description of the product order. - **requestedCompletionDate** (string) - Optional - The requested completion date for the order. - **requestedStartDate** (string) - Optional - The requested start date for the order. - **notificationContact** (string) - Optional - Contact information for notifications. - **priority** (string) - Optional - The priority of the order. - **billingAccount** (object) - Optional - Billing account details. - **@type** (string) - Required - The type of the billing account reference. - **id** (string) - Required - The ID of the billing account. - **name** (string) - Optional - The name of the billing account. - **relatedParty** (array) - Optional - List of related parties. - **@type** (string) - Required - The type of the related party reference. - **id** (string) - Required - The ID of the related party. - **name** (string) - Optional - The name of the related party. - **role** (string) - Optional - The role of the related party. - **productOrderItem** (array) - Required - A list of items included in the product order. - **@type** (string) - Required - The type of the product order item. - **id** (string) - Required - Unique identifier for the product order item. - **action** (string) - Required - The action to be performed on the product order item (e.g., add). - **quantity** (integer) - Required - The quantity of the item. - **productOffering** (object) - Optional - Reference to the product offering. - **@type** (string) - Required - The type of the product offering reference. - **id** (string) - Required - The ID of the product offering. - **name** (string) - Optional - The name of the product offering. - **product** (object) - Optional - Details of the product. - **@type** (string) - Required - The type of the product. - **productCharacteristic** (array) - Optional - List of product characteristics. - **@type** (string) - Required - The type of the characteristic. - **name** (string) - Required - The name of the characteristic. - **value** (string) - Required - The value of the characteristic. - **place** (array) - Optional - List of related places. - **@type** (string) - Required - The type of the related place reference. - **role** (string) - Required - The role of the place. - **id** (string) - Required - The ID of the place. - **note** (array) - Optional - List of notes. - **@type** (string) - Required - The type of the note. - **text** (string) - Required - The content of the note. - **author** (string) - Optional - The author of the note. ### Request Example ```json { "@type": "ProductOrder", "requestedInitialState": "acknowledged", "category": "residential", "description": "New broadband service installation", "requestedCompletionDate": "2024-02-20T14:00:00Z", "requestedStartDate": "2024-02-01T09:00:00Z", "notificationContact": "customer@example.com", "priority": "1", "billingAccount": { "@type": "BillingAccountRef", "id": "ba-12345", "name": "John Doe Billing Account" }, "relatedParty": [ { "@type": "RelatedPartyRefOrPartyRoleRef", "id": "party-001", "name": "John Doe", "role": "customer" } ], "productOrderItem": [ { "@type": "ProductOrderItem", "id": "01", "action": "add", "quantity": 1, "productOffering": { "@type": "ProductOfferingRef", "id": "offering-fiber-100", "name": "Fiber 100Mbps Internet" }, "product": { "@type": "Product", "productCharacteristic": [ { "@type": "StringCharacteristic", "name": "downloadSpeed", "value": "100Mbps" }, { "@type": "StringCharacteristic", "name": "installationType", "value": "professional" } ], "place": [ { "@type": "RelatedPlaceRef", "role": "installationAddress", "id": "place-001" } ] } } ], "note": [ { "@type": "Note", "text": "Customer prefers afternoon installation slot", "author": "Sales Rep" } ] } ``` ### Response #### Success Response (201) - **id** (string) - Unique identifier for the product order. - **href** (string) - Hypermedia reference to the product order resource. - **@type** (string) - The type of the entity. - **state** (string) - The current state of the product order. - **category** (string) - The category of the product order. - **description** (string) - A description of the product order. - **creationDate** (string) - The date and time the order was created. - **requestedCompletionDate** (string) - The requested completion date for the order. - **productOrderItem** (array) - A list of items included in the product order. - **id** (string) - Unique identifier for the product order item. - **action** (string) - The action to be performed on the product order item. - **state** (string) - The current state of the product order item. - **quantity** (integer) - The quantity of the item. ### Response Example ```json { "id": "order-002", "href": "https://serverRoot/productOrder/order-002", "@type": "ProductOrder", "state": "acknowledged", "category": "residential", "description": "New broadband service installation", "creationDate": "2024-01-15T10:00:00Z", "requestedCompletionDate": "2024-02-20T14:00:00Z", "productOrderItem": [ { "id": "01", "action": "add", "state": "acknowledged", "quantity": 1 } ] } ``` ``` -------------------------------- ### Retrieve Specific Fields of a Product Order Source: https://context7.com/tmforum-apis/tmf622_productorder/llms.txt Retrieves only the specified fields for a product order, optimizing the response by excluding unnecessary data. This is useful for quick status checks or when only certain details are required. ```bash curl -X GET "https://serverRoot/productOrder/order-002?fields=id,state,productOrderItem,expectedCompletionDate" \ -H "Accept: application/json" ``` -------------------------------- ### Product Order Create Event Notification Source: https://context7.com/tmforum-apis/tmf622_productorder/llms.txt Event payload sent when a new ProductOrder is created. ```APIDOC ## POST /listener/productOrderCreateEvent ### Description Receives Product Order Create Event notifications. ### Method POST ### Endpoint https://client.example.com/listener/productOrderCreateEvent ### Request Body - **@type** (string) - Required - The type of the event, e.g., "ProductOrderCreateEvent". - **eventId** (string) - Required - Unique identifier for the event. - **eventTime** (string) - Required - Timestamp of when the event occurred. - **eventType** (string) - Required - The type of the event. - **correlationId** (string) - Optional - Identifier to correlate events. - **domain** (string) - Optional - The domain the event belongs to. - **event** (object) - Required - Contains the details of the newly created product order. - **productOrder** (object) - Required - Details of the product order. - **id** (string) - Required - The ID of the product order. - **href** (string) - Optional - Hypermedia reference to the product order. - **state** (string) - Required - The initial state of the product order. - **category** (string) - Optional - The category of the product order. - **creationDate** (string) - Required - Timestamp of when the order was created. - **productOrderItem** (array) - Optional - List of items in the product order. - **id** (string) - Required - The ID of the product order item. - **action** (string) - Required - The action associated with the item (e.g., "add"). - **state** (string) - Required - The state of the product order item. ### Request Example ```json { "@type": "ProductOrderCreateEvent", "eventId": "evt-12346", "eventTime": "2024-01-15T10:00:00Z", "eventType": "ProductOrderCreateEvent", "correlationId": "corr-def-456", "domain": "productOrdering", "event": { "productOrder": { "id": "order-003", "href": "https://serverRoot/productOrder/order-003", "state": "acknowledged", "category": "enterprise", "creationDate": "2024-01-15T10:00:00Z", "productOrderItem": [ { "id": "01", "action": "add", "state": "acknowledged" } ] } } } ``` ### Response #### Success Response (204 No Content) Indicates that the event notification was received and processed successfully. ``` -------------------------------- ### Retrieve Cancel Product Order by ID Source: https://context7.com/tmforum-apis/tmf622_productorder/llms.txt Retrieves a specific CancelProductOrder entity by its unique identifier. ```bash curl -X GET "https://serverRoot/cancelProductOrder/cancel-001" \ -H "Accept: application/json" ``` -------------------------------- ### Retrieve Product Order by ID Source: https://context7.com/tmforum-apis/tmf622_productorder/llms.txt Retrieves a specific ProductOrder entity by its unique identifier. Supports attribute selection via the fields parameter. ```APIDOC ## Retrieve Product Order by ID ### Description Retrieves a specific ProductOrder entity by its unique identifier. Supports attribute selection via the fields parameter. ### Method GET ### Endpoint /productOrder/{id} ### Path Parameters - **id** (string) - Required - The unique identifier of the product order to retrieve. ### Query Parameters - **fields** (string) - Optional - Comma-separated list of fields to include in the response. ### Response #### Success Response (200) - **id** (string) - Unique identifier for the product order. - **href** (string) - Hypermedia reference to the product order resource. - **state** (string) - The current state of the product order. - **productOrderItem** (array) - A list of items included in the product order. - **expectedCompletionDate** (string) - The expected completion date for the order. ### Response Example ```json { "id": "order-002", "href": "https://serverRoot/productOrder/order-002", "state": "acknowledged", "productOrderItem": [ { "id": "01", "action": "add", "state": "acknowledged", "quantity": 1 } ], "expectedCompletionDate": "2024-02-20T14:00:00Z" } ``` ``` -------------------------------- ### Update Product Order (Partial) Source: https://context7.com/tmforum-apis/tmf622_productorder/llms.txt Performs a partial update on a ProductOrder entity using JSON Merge Patch semantics. Only provided attributes are modified. ```bash curl -X PATCH "https://serverRoot/productOrder/order-002" \ -H "Content-Type: application/merge-patch+json" \ -H "Accept: application/json" \ -d '{ \ "@type": "ProductOrder", \ "priority": "0", \ "requestedCompletionDate": "2024-02-25T14:00:00Z", \ "note": [ \ { \ "@type": "Note", \ "text": "Customer requested expedited installation", \ "author": "Support Agent" \ } \ ], \ "productOrderItem": [ \ { \ "id": "01", \ "product": { \ "productCharacteristic": [ \ { \ "@type": "StringCharacteristic", \ "name": "downloadSpeed", \ "value": "200Mbps" \ } \ ] \ } \ } \ ] \ }' ``` ```json { "id": "order-002", "href": "https://serverRoot/productOrder/order-002", "@type": "ProductOrder", "state": "inProgress", "priority": "0", "requestedCompletionDate": "2024-02-25T14:00:00Z" } ``` -------------------------------- ### Create Cancel Product Order Request Source: https://context7.com/tmforum-apis/tmf622_productorder/llms.txt Creates a CancelProductOrder request to cancel an existing product order. This is a task-based resource that tracks the cancellation workflow. ```bash curl -X POST "https://serverRoot/cancelProductOrder" \ -H "Content-Type: application/json" \ -H "Accept: application/json" \ -d '{ \ "@type": "CancelProductOrder", \ "cancellationReason": "Customer changed their mind about the service", \ "requestedCancellationDate": "2024-01-25T12:00:00Z", \ "productOrder": { \ "@type": "ProductOrderRef", \ "id": "order-002", \ "href": "https://serverRoot/productOrder/order-002" \ } \ }' ``` ```json { "id": "cancel-001", "href": "https://serverRoot/cancelProductOrder/cancel-001", "@type": "CancelProductOrder", "state": "acknowledged", "creationDate": "2024-01-20T14:30:00Z", "cancellationReason": "Customer changed their mind about the service", "requestedCancellationDate": "2024-01-25T12:00:00Z", "productOrder": { "id": "order-002", "href": "https://serverRoot/productOrder/order-002" } } ``` -------------------------------- ### List Product Orders Source: https://context7.com/tmforum-apis/tmf622_productorder/llms.txt Retrieves a collection of ProductOrder resources based on optional filter criteria. Supports pagination via offset and limit parameters, and field selection for response optimization. ```APIDOC ## List Product Orders ### Description Retrieves a collection of ProductOrder resources based on optional filter criteria. Supports pagination via offset and limit parameters, and field selection for response optimization. ### Method GET ### Endpoint /productOrder ### Query Parameters - **offset** (integer) - Optional - The starting point for pagination. - **limit** (integer) - Optional - The maximum number of items to return. - **fields** (string) - Optional - Comma-separated list of fields to include in the response. ### Response #### Success Response (200) - **id** (string) - Unique identifier for the product order. - **href** (string) - Hypermedia reference to the product order resource. - **state** (string) - The current state of the product order. - **category** (string) - The category of the product order. - **requestedCompletionDate** (string) - The requested completion date for the order. - **creationDate** (string) - The date and time the order was created. - **productOrderItem** (array) - A list of items included in the product order. - **id** (string) - Unique identifier for the product order item. - **action** (string) - The action to be performed on the product order item (e.g., add). - **state** (string) - The current state of the product order item. - **quantity** (integer) - The quantity of the item. ### Response Example ```json [ { "id": "order-001", "href": "https://serverRoot/productOrder/order-001", "state": "inProgress", "category": "enterprise", "requestedCompletionDate": "2024-02-15T10:00:00Z", "creationDate": "2024-01-15T09:30:00Z", "productOrderItem": [ { "id": "01", "action": "add", "state": "inProgress", "quantity": 1 } ] } ] ``` ``` -------------------------------- ### Product Order Create Event Notification Source: https://context7.com/tmforum-apis/tmf622_productorder/llms.txt Event payload sent when a new ProductOrder is created. This notification includes details about the newly created order. ```json { "@type": "ProductOrderCreateEvent", "eventId": "evt-12346", "eventTime": "2024-01-15T10:00:00Z", "eventType": "ProductOrderCreateEvent", "correlationId": "corr-def-456", "domain": "productOrdering", "event": { "productOrder": { "id": "order-003", "href": "https://serverRoot/productOrder/order-003", "state": "acknowledged", "category": "enterprise", "creationDate": "2024-01-15T10:00:00Z", "productOrderItem": [ { "id": "01", "action": "add", "state": "acknowledged" } ] } } } ``` -------------------------------- ### Delete Product Order Source: https://context7.com/tmforum-apis/tmf622_productorder/llms.txt Deletes a ProductOrder entity. Returns 204 No Content on success or 202 Accepted for asynchronous deletion. ```bash curl -X DELETE "https://serverRoot/productOrder/order-002" \ -H "Accept: application/json" ``` ```json { "id": "task-del-001", "href": "https://serverRoot/task/task-del-001", "state": "inProgress" } ``` -------------------------------- ### List Cancel Product Order Requests Source: https://context7.com/tmforum-apis/tmf622_productorder/llms.txt Retrieves a collection of CancelProductOrder resources with optional filtering and pagination. ```APIDOC ## List Cancel Product Order Requests ### Description Retrieves a collection of CancelProductOrder resources with optional filtering and pagination. ### Method GET ### Endpoint /cancelProductOrder ### Query Parameters - **offset** (integer) - Optional - The starting offset of the collection. - **limit** (integer) - Optional - The maximum number of items to return. ### Response #### Success Response (200 OK) - Returns an array of CancelProductOrder objects. - **id** (string) - The ID of the cancellation request. - **href** (string) - The HATEOAS link to the cancellation request. - **@type** (string) - The type of the entity. - **state** (string) - The current state of the cancellation request. - **creationDate** (string) - The date when the cancellation request was created. - **effectiveCancellationDate** (string) - The date when the cancellation became effective. - **cancellationReason** (string) - The reason for cancellation. - **productOrder** (object) - A reference to the product order being cancelled. - **id** (string) - The ID of the product order. #### Response Example ```json [ { "id": "cancel-001", "href": "https://serverRoot/cancelProductOrder/cancel-001", "@type": "CancelProductOrder", "state": "done", "creationDate": "2024-01-20T14:30:00Z", "effectiveCancellationDate": "2024-01-21T09:00:00Z", "cancellationReason": "Customer changed their mind about the service", "productOrder": { "id": "order-002" } } ] ``` ``` -------------------------------- ### Create Cancel Product Order Request Source: https://context7.com/tmforum-apis/tmf622_productorder/llms.txt Creates a CancelProductOrder request to cancel an existing product order. This is a task-based resource that tracks the cancellation workflow. ```APIDOC ## Create Cancel Product Order Request ### Description Creates a CancelProductOrder request to cancel an existing product order. This is a task-based resource that tracks the cancellation workflow. ### Method POST ### Endpoint /cancelProductOrder ### Request Body - **@type** (string) - Required - The type of the entity, e.g., "CancelProductOrder". - **cancellationReason** (string) - Required - The reason for cancellation. - **requestedCancellationDate** (string) - Required - The date when the cancellation is requested. - **productOrder** (object) - Required - A reference to the product order to be cancelled. - **@type** (string) - Required - The type of the product order reference, e.g., "ProductOrderRef". - **id** (string) - Required - The ID of the product order. - **href** (string) - Optional - The HATEOAS link to the product order. ### Request Example ```json { "@type": "CancelProductOrder", "cancellationReason": "Customer changed their mind about the service", "requestedCancellationDate": "2024-01-25T12:00:00Z", "productOrder": { "@type": "ProductOrderRef", "id": "order-002", "href": "https://serverRoot/productOrder/order-002" } } ``` ### Response #### Success Response (201 Created) - **id** (string) - The ID of the cancellation request. - **href** (string) - The HATEOAS link to the cancellation request. - **@type** (string) - The type of the entity. - **state** (string) - The current state of the cancellation request. - **creationDate** (string) - The date when the cancellation request was created. - **cancellationReason** (string) - The reason for cancellation. - **requestedCancellationDate** (string) - The date when the cancellation is requested. - **productOrder** (object) - A reference to the product order being cancelled. - **id** (string) - The ID of the product order. - **href** (string) - The HATEOAS link to the product order. #### Response Example ```json { "id": "cancel-001", "href": "https://serverRoot/cancelProductOrder/cancel-001", "@type": "CancelProductOrder", "state": "acknowledged", "creationDate": "2024-01-20T14:30:00Z", "cancellationReason": "Customer changed their mind about the service", "requestedCancellationDate": "2024-01-25T12:00:00Z", "productOrder": { "id": "order-002", "href": "https://serverRoot/productOrder/order-002" } } ``` ``` -------------------------------- ### Retrieve Cancel Product Order by ID Source: https://context7.com/tmforum-apis/tmf622_productorder/llms.txt Retrieves a specific CancelProductOrder entity by its unique identifier. ```APIDOC ## Retrieve Cancel Product Order by ID ### Description Retrieves a specific CancelProductOrder entity by its unique identifier. ### Method GET ### Endpoint /cancelProductOrder/{id} ### Response #### Success Response (200 OK) - **id** (string) - The ID of the cancellation request. - **href** (string) - The HATEOAS link to the cancellation request. - **@type** (string) - The type of the entity. - **state** (string) - The current state of the cancellation request. - **creationDate** (string) - The date when the cancellation request was created. - **effectiveCancellationDate** (string) - The date when the cancellation became effective. - **cancellationReason** (string) - The reason for cancellation. - **productOrder** (object) - A reference to the product order being cancelled. - **id** (string) - The ID of the product order. - **href** (string) - The HATEOAS link to the product order. #### Response Example ```json { "id": "cancel-001", "href": "https://serverRoot/cancelProductOrder/cancel-001", "@type": "CancelProductOrder", "state": "done", "creationDate": "2024-01-20T14:30:00Z", "effectiveCancellationDate": "2024-01-21T09:00:00Z", "cancellationReason": "Customer changed their mind about the service", "productOrder": { "id": "order-002", "href": "https://serverRoot/productOrder/order-002" } } ``` ```