openapi: 3.0.1
info:
title: ProductOrdering
description: >
**TMF API Reference : TMF 622 - Product Ordering Management**
** June 2023**
The Product Ordering API provides a standardized mechanism for placing a product order with all
of the necessary order parameters. The API consists of a simple set of operations that interact
with CRM/Order Negotiation systems in a consistent manner. A product order is created based on a
product offer that is defined in a catalog. The product offer identifies the product or set of
products that are available to a customer, and includes characteristics such as pricing, product
options and market. This API provide a task based resource to request order cancellation.
The product order references the product offer and identifies any specific requests made by the
customer.
**Product Order resource**
A Product Order is a type of order which can be used to place an order between a customer and a
service provider or between a service provider and a partner and vice versa. Main Product Order
attributes are its identifier, state, priority category (mass market, Enterprise, etc.) related
dates (start, completion, etc.), related billing account, related parties and order items. Main
Order Items (aka order lines) attributes are the ordered offering and product characteristics
with the related action to be performed (e.g. add or delete the products), state, location
information for delivery, order item price and price alteration.
Product Order API performs the following operations on product order :
* Retrieval of a product order or a collection of product orders depending on filter criteria
* Partial update of a product order (including updating rules)
* Creation of a product order (including default values and creation rules) - The productOrder could be created
in draft (the product order requester is not yet ready to submit it and draft order could be freely updated) or requester could
ask to an acknowledged state which means that requester submitted the order.
* Deletion of product order (for administration purposes)
* Notification of events on product order.
**cancelProductOrder resource**
This resource is used to request a product order cancellation.
Product Order API performs the following operations on CancelProductOrder resource :
* Retrieval of a cancel product order or a collection of cancel product orders
* Creation of a cancel product order
* Notification of events on cancel product order.
Copyright © TM Forum 2021. All Rights Reserved
version: 5.0.0
servers:
- url: 'https://serverRoot'
tags:
- name: productOrder
description: Operations for ProductOrder Resource
- name: cancelProductOrder
description: Operations for CancelProductOrder Resource
- name: notification listener
description: Notifications for Resource Lifecycle and event notifications
- name: events subscription
description: Endpoints to register and terminate an Event Listener
paths:
/cancelProductOrder:
get:
tags:
- cancelProductOrder
summary: TM Forum List or Find CancelProductOrder Objects
description: List or find CancelProductOrder objects
operationId: listCancelProductOrder
parameters:
- $ref: '#/components/parameters/Fields'
- $ref: '#/components/parameters/Offset'
- $ref: '#/components/parameters/Limit'
responses:
'200':
$ref: '#/components/responses/200CancelProductOrderArray'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'405':
$ref: '#/components/responses/405'
'500':
$ref: '#/components/responses/500'
'501':
$ref: '#/components/responses/501'
'503':
$ref: '#/components/responses/503'
post:
tags:
- cancelProductOrder
summary: TM Forum Creates a CancelProductOrder
description: This operation creates a CancelProductOrder entity.
operationId: createCancelProductOrder
parameters:
- $ref: '#/components/parameters/Fields'
requestBody:
$ref: '#/components/requestBodies/CancelProductOrder_FVO'
responses:
'201':
$ref: '#/components/responses/201CancelProductOrder'
'202':
description: Accepted
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'405':
$ref: '#/components/responses/405'
'409':
$ref: '#/components/responses/409'
'500':
$ref: '#/components/responses/500'
'501':
$ref: '#/components/responses/501'
'503':
$ref: '#/components/responses/503'
'/cancelProductOrder/{id}':
get:
tags:
- cancelProductOrder
summary: TM Forum Retrieves a CancelProductOrder by ID
description: >-
This operation retrieves a CancelProductOrder entity. Attribute selection enabled for all
first level attributes.
operationId: retrieveCancelProductOrder
parameters:
- $ref: '#/components/parameters/Id'
- $ref: '#/components/parameters/Fields'
responses:
'200':
$ref: '#/components/responses/200CancelProductOrder_Get'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'405':
$ref: '#/components/responses/405'
'500':
$ref: '#/components/responses/500'
'501':
$ref: '#/components/responses/501'
'503':
$ref: '#/components/responses/503'
/hub:
post:
operationId: createHub
summary: TM Forum Create a Subscription (hub) to Receive Events
description: Sets the communication endpoint to receive Events.
tags:
- events subscription
requestBody:
$ref: '#/components/requestBodies/Hub_FVO'
responses:
'201':
$ref: '#/components/responses/Hub'
default:
$ref: '#/components/responses/Error'
'/hub/{id}':
delete:
operationId: hubDelete
summary: TM Forum Remove a Subscription (hub) to Receive Events
description: ''
tags:
- events subscription
parameters:
- $ref: '#/components/parameters/Id'
responses:
'204':
description: Deleted
default:
$ref: '#/components/responses/Error'
/listener/cancelProductOrderCreateEvent:
post:
tags:
- notification listener
summary: TM Forum Client Listener for Entity CancelProductOrderCreateEvent
description: Example of a client listener for receiving the notification CancelProductOrderCreateEvent
operationId: cancelProductOrderCreateEvent
requestBody:
$ref: '#/components/requestBodies/CancelProductOrderCreateEvent'
responses:
'204':
description: Notified
default:
$ref: '#/components/responses/Error'
/listener/cancelProductOrderInformationRequiredEvent:
post:
tags:
- notification listener
summary: TM Forum Client Listener for Entity CancelProductOrderInformationRequiredEvent
description: >-
Example of a client listener for receiving the notification
CancelProductOrderInformationRequiredEvent
operationId: cancelProductOrderInformationRequiredEvent
requestBody:
$ref: '#/components/requestBodies/CancelProductOrderInformationRequiredEvent'
responses:
'204':
description: Notified
default:
$ref: '#/components/responses/Error'
/listener/cancelProductOrderStateChangeEvent:
post:
tags:
- notification listener
summary: TM Forum Client Listener for Entity CancelProductOrderStateChangeEvent
description: >-
Example of a client listener for receiving the notification
CancelProductOrderStateChangeEvent
operationId: cancelProductOrderStateChangeEvent
requestBody:
$ref: '#/components/requestBodies/CancelProductOrderStateChangeEvent'
responses:
'204':
description: Notified
default:
$ref: '#/components/responses/Error'
/listener/productOrderAttributeValueChangeEvent:
post:
tags:
- notification listener
summary: TM Forum Client Listener for Entity ProductOrderAttributeValueChangeEvent
description: >-
Example of a client listener for receiving the notification
ProductOrderAttributeValueChangeEvent
operationId: productOrderAttributeValueChangeEvent
requestBody:
$ref: '#/components/requestBodies/ProductOrderAttributeValueChangeEvent'
responses:
'204':
description: Notified
default:
$ref: '#/components/responses/Error'
/listener/productOrderCreateEvent:
post:
tags:
- notification listener
summary: TM Forum Client Listener for Entity ProductOrderCreateEvent
description: Example of a client listener for receiving the notification ProductOrderCreateEvent
operationId: productOrderCreateEvent
requestBody:
$ref: '#/components/requestBodies/ProductOrderCreateEvent'
responses:
'204':
description: Notified
default:
$ref: '#/components/responses/Error'
/listener/productOrderDeleteEvent:
post:
tags:
- notification listener
summary: TM Forum Client Listener for Entity ProductOrderDeleteEvent
description: Example of a client listener for receiving the notification ProductOrderDeleteEvent
operationId: productOrderDeleteEvent
requestBody:
$ref: '#/components/requestBodies/ProductOrderDeleteEvent'
responses:
'204':
description: Notified
default:
$ref: '#/components/responses/Error'
/listener/productOrderErrorMessageEvent:
post:
tags:
- notification listener
summary: TM Forum Client Listener for Entity ProductOrderErrorMessageEvent
description: Example of a client listener for receiving the notification ProductOrderErrorMessageEvent
operationId: productOrderErrorMessageEvent
requestBody:
$ref: '#/components/requestBodies/ProductOrderErrorMessageEvent'
responses:
'204':
description: Notified
default:
$ref: '#/components/responses/Error'
/listener/productOrderInformationRequiredEvent:
post:
tags:
- notification listener
summary: TM Forum Client Listener for Entity ProductOrderInformationRequiredEvent
description: >-
Example of a client listener for receiving the notification
ProductOrderInformationRequiredEvent
operationId: productOrderInformationRequiredEvent
requestBody:
$ref: '#/components/requestBodies/ProductOrderInformationRequiredEvent'
responses:
'204':
description: Notified
default:
$ref: '#/components/responses/Error'
/listener/productOrderJeopardyAlertEvent:
post:
tags:
- notification listener
summary: TM Forum Client Listener for Entity ProductOrderJeopardyAlertEvent
description: Example of a client listener for receiving the notification ProductOrderJeopardyAlertEvent
operationId: productOrderJeopardyAlertEvent
requestBody:
$ref: '#/components/requestBodies/ProductOrderJeopardyAlertEvent'
responses:
'204':
description: Notified
default:
$ref: '#/components/responses/Error'
/listener/productOrderMilestoneEvent:
post:
tags:
- notification listener
summary: TM Forum Client Listener for Entity ProductOrderMilestoneEvent
description: Example of a client listener for receiving the notification ProductOrderMilestoneEvent
operationId: productOrderMilestoneEvent
requestBody:
$ref: '#/components/requestBodies/ProductOrderMilestoneEvent'
responses:
'204':
description: Notified
default:
$ref: '#/components/responses/Error'
/listener/productOrderStateChangeEvent:
post:
tags:
- notification listener
summary: TM Forum Client Listener for Entity ProductOrderStateChangeEvent
description: Example of a client listener for receiving the notification ProductOrderStateChangeEvent
operationId: productOrderStateChangeEvent
requestBody:
$ref: '#/components/requestBodies/ProductOrderStateChangeEvent'
responses:
'204':
description: Notified
default:
$ref: '#/components/responses/Error'
/productOrder:
get:
tags:
- productOrder
summary: TM Forum List or Find ProductOrder Objects
description: List or find ProductOrder objects
operationId: listProductOrder
parameters:
- $ref: '#/components/parameters/Fields'
- $ref: '#/components/parameters/Offset'
- $ref: '#/components/parameters/Limit'
responses:
'200':
$ref: '#/components/responses/200ProductOrderArray'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'405':
$ref: '#/components/responses/405'
'500':
$ref: '#/components/responses/500'
'501':
$ref: '#/components/responses/501'
'503':
$ref: '#/components/responses/503'
post:
tags:
- productOrder
summary: TM Forum Creates a ProductOrder
description: This operation creates a ProductOrder entity.
operationId: createProductOrder
parameters:
- $ref: '#/components/parameters/Fields'
requestBody:
$ref: '#/components/requestBodies/ProductOrder_FVO'
responses:
'201':
$ref: '#/components/responses/201ProductOrder'
'202':
description: Accepted
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'405':
$ref: '#/components/responses/405'
'409':
$ref: '#/components/responses/409'
'500':
$ref: '#/components/responses/500'
'501':
$ref: '#/components/responses/501'
'503':
$ref: '#/components/responses/503'
'/productOrder/{id}':
get:
tags:
- productOrder
summary: TM Forum Retrieves a ProductOrder by ID
description: >-
This operation retrieves a ProductOrder entity. Attribute selection enabled for all first
level attributes.
operationId: retrieveProductOrder
parameters:
- $ref: '#/components/parameters/Id'
- $ref: '#/components/parameters/Fields'
responses:
'200':
$ref: '#/components/responses/200ProductOrder_Get'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'405':
$ref: '#/components/responses/405'
'500':
$ref: '#/components/responses/500'
'501':
$ref: '#/components/responses/501'
'503':
$ref: '#/components/responses/503'
delete:
tags:
- productOrder
summary: TM Forum Deletes a ProductOrder
description: This operation deletes a ProductOrder entity.
operationId: deleteProductOrder
parameters:
- $ref: '#/components/parameters/Id'
responses:
'202':
$ref: '#/components/responses/202'
'204':
$ref: '#/components/responses/204'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'405':
$ref: '#/components/responses/405'
'409':
$ref: '#/components/responses/409'
'500':
$ref: '#/components/responses/500'
'501':
$ref: '#/components/responses/501'
'503':
$ref: '#/components/responses/503'
patch:
tags:
- productOrder
summary: TM Forum Updates Partially a ProductOrder
description: This operation updates partially a ProductOrder entity.
operationId: patchProductOrder
parameters:
- $ref: '#/components/parameters/Id'
- $ref: '#/components/parameters/Fields'
requestBody:
$ref: '#/components/requestBodies/ProductOrder_MVO'
responses:
'200':
$ref: '#/components/responses/200ProductOrder_Patch'
'202':
description: Accepted
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'405':
$ref: '#/components/responses/405'
'409':
$ref: '#/components/responses/409'
'500':
$ref: '#/components/responses/500'
'501':
$ref: '#/components/responses/501'
'503':
$ref: '#/components/responses/503'
components:
schemas:
AccountRef:
type: object
description: Account reference. A account may be a party account or a financial account.
allOf:
- $ref: '#/components/schemas/EntityRef'
discriminator:
propertyName: '@type'
mapping:
AccountRef: '#/components/schemas/AccountRef'
AccountRef_FVO:
type: object
description: Account reference. A account may be a party account or a financial account.
allOf:
- $ref: '#/components/schemas/EntityRef_FVO'
discriminator:
propertyName: '@type'
mapping:
AccountRef: '#/components/schemas/AccountRef_FVO'
AccountRef_MVO:
type: object
description: Account reference. A account may be a party account or a financial account.
allOf:
- $ref: '#/components/schemas/EntityRef'
discriminator:
propertyName: '@type'
mapping:
AccountRef: '#/components/schemas/AccountRef_MVO'
Addressable:
type: object
description: Base schema for adressable entities
properties:
href:
type: string
description: Hyperlink reference
id:
type: string
description: unique identifier
Addressable_FVO:
type: object
description: Base schema for adressable entities
properties:
id:
type: string
description: unique identifier
AgreementItemRef:
allOf:
- $ref: '#/components/schemas/Extensible'
- type: object
description: It's a Agreement item that has been executed previously.
properties:
agreementName:
type: string
description: Name of the related entity.
agreementHref:
type: string
description: Reference of the related entity.
'@referredType':
type: string
description: The actual type of the target instance when needed for disambiguation.
agreementId:
type: string
description: Unique identifier of a related entity.
agreementItemId:
type: string
description: Id of an item of a Agreement
discriminator:
propertyName: '@type'
mapping:
AgreementItemRef: '#/components/schemas/AgreementItemRef'
AgreementItemRef_FVO:
allOf:
- $ref: '#/components/schemas/Extensible_FVO'
- type: object
description: It's a Agreement item that has been executed previously.
properties:
agreementName:
type: string
description: Name of the related entity.
agreementHref:
type: string
description: Reference of the related entity.
'@referredType':
type: string
description: The actual type of the target instance when needed for disambiguation.
agreementId:
type: string
description: Unique identifier of a related entity.
agreementItemId:
type: string
description: Id of an item of a Agreement
required:
- agreementId
- agreementItemId
discriminator:
propertyName: '@type'
mapping:
AgreementItemRef: '#/components/schemas/AgreementItemRef_FVO'
AgreementItemRef_MVO:
allOf:
- $ref: '#/components/schemas/Extensible'
- type: object
description: It's a Agreement item that has been executed previously.
properties:
agreementName:
type: string
description: Name of the related entity.
agreementHref:
type: string
description: Reference of the related entity.
'@referredType':
type: string
description: The actual type of the target instance when needed for disambiguation.
agreementId:
type: string
description: Unique identifier of a related entity.
agreementItemId:
type: string
description: Id of an item of a Agreement
discriminator:
propertyName: '@type'
mapping:
AgreementItemRef: '#/components/schemas/AgreementItemRef_MVO'
AgreementRef:
type: object
description: >-
Agreement reference. An agreement represents a contract or arrangement, either written or
verbal and sometimes enforceable by law, such as a service level agreement or a customer
price agreement. An agreement involves a number of other business entities, such as
products, services, and resources and/or their specifications.
allOf:
- $ref: '#/components/schemas/Extensible'
- $ref: '#/components/schemas/EntityRef'
discriminator:
propertyName: '@type'
mapping:
AgreementRef: '#/components/schemas/AgreementRef'
AgreementRef_FVO:
type: object
description: >-
Agreement reference. An agreement represents a contract or arrangement, either written or
verbal and sometimes enforceable by law, such as a service level agreement or a customer
price agreement. An agreement involves a number of other business entities, such as
products, services, and resources and/or their specifications.
allOf:
- $ref: '#/components/schemas/Extensible_FVO'
- $ref: '#/components/schemas/EntityRef_FVO'
discriminator:
propertyName: '@type'
mapping:
AgreementRef: '#/components/schemas/AgreementRef_FVO'
AgreementRef_MVO:
type: object
description: >-
Agreement reference. An agreement represents a contract or arrangement, either written or
verbal and sometimes enforceable by law, such as a service level agreement or a customer
price agreement. An agreement involves a number of other business entities, such as
products, services, and resources and/or their specifications.
allOf:
- $ref: '#/components/schemas/Extensible'
- $ref: '#/components/schemas/EntityRef'
discriminator:
propertyName: '@type'
mapping:
AgreementRef: '#/components/schemas/AgreementRef_MVO'
AppointmentRef:
allOf:
- $ref: '#/components/schemas/Extensible'
- $ref: '#/components/schemas/EntityRef'
- type: object
description: 'Refers an appointment, such as a Customer presentation or internal meeting or site visit'
properties:
description:
type: string
description: An explanatory text regarding the appointment made with a party
discriminator:
propertyName: '@type'
mapping:
AppointmentRef: '#/components/schemas/AppointmentRef'
AppointmentRef_FVO:
allOf:
- $ref: '#/components/schemas/Extensible_FVO'
- $ref: '#/components/schemas/EntityRef_FVO'
- type: object
description: 'Refers an appointment, such as a Customer presentation or internal meeting or site visit'
properties:
description:
type: string
description: An explanatory text regarding the appointment made with a party
discriminator:
propertyName: '@type'
mapping:
AppointmentRef: '#/components/schemas/AppointmentRef_FVO'
AppointmentRef_MVO:
allOf:
- $ref: '#/components/schemas/Extensible'
- $ref: '#/components/schemas/EntityRef'
- type: object
description: 'Refers an appointment, such as a Customer presentation or internal meeting or site visit'
properties:
description:
type: string
description: An explanatory text regarding the appointment made with a party
discriminator:
propertyName: '@type'
mapping:
AppointmentRef: '#/components/schemas/AppointmentRef_MVO'
Attachment:
allOf:
- $ref: '#/components/schemas/Entity'
- type: object
description: >-
Complements the description of an element (for instance a product) through video,
pictures...
properties:
name:
type: string
description: The name of the attachment
description:
type: string
description: A narrative text describing the content of the attachment
example: Photograph of the Product
url:
type: string
description: 'Uniform Resource Locator, is a web page address (a subset of URI)'
example: 'http://host/Content/4aafacbd-11ff-4dc8-b445-305f2215715f'
content:
type: string
format: base64
description: 'The actual contents of the attachment object, if embedded, encoded as base64'
size:
$ref: '#/components/schemas/Quantity'
validFor:
$ref: '#/components/schemas/TimePeriod'
attachmentType:
type: string
description: >-
a business characterization of the purpose of the attachment, for example logo,
instructionManual, contractCopy
mimeType:
type: string
description: a technical characterization of the attachment content format using IETF Mime Types
discriminator:
propertyName: '@type'
mapping:
Attachment: '#/components/schemas/Attachment'
AttachmentRef:
allOf:
- $ref: '#/components/schemas/EntityRef'
- type: object
description: >-
Attachment reference. An attachment complements the description of an element (for
instance a product) through video, pictures
properties:
description:
type: string
description: A narrative text describing the content of the attachment
url:
description: Link to the attachment media/content
type: string
discriminator:
propertyName: '@type'
mapping:
AttachmentRef: '#/components/schemas/AttachmentRef'
AttachmentRefOrValue:
type: object
description: >-
The polymorphic attributes @type, @schemaLocation & @referredType are related to the
Attachment entity and not the AttachmentRefOrValue class itself
oneOf:
- $ref: '#/components/schemas/Attachment'
- $ref: '#/components/schemas/AttachmentRef'
discriminator:
propertyName: '@type'
mapping:
Attachment: '#/components/schemas/Attachment'
AttachmentRef: '#/components/schemas/AttachmentRef'
AttachmentRefOrValue_FVO:
type: object
description: >-
The polymorphic attributes @type, @schemaLocation & @referredType are related to the
Attachment entity and not the AttachmentRefOrValue class itself
oneOf:
- $ref: '#/components/schemas/Attachment_FVO'
- $ref: '#/components/schemas/AttachmentRef_FVO'
discriminator:
propertyName: '@type'
mapping:
Attachment: '#/components/schemas/Attachment_FVO'
AttachmentRef: '#/components/schemas/AttachmentRef_FVO'
AttachmentRefOrValue_MVO:
type: object
description: >-
The polymorphic attributes @type, @schemaLocation & @referredType are related to the
Attachment entity and not the AttachmentRefOrValue class itself
oneOf:
- $ref: '#/components/schemas/Attachment_MVO'
- $ref: '#/components/schemas/AttachmentRef_MVO'
discriminator:
propertyName: '@type'
mapping:
Attachment: '#/components/schemas/Attachment_MVO'
AttachmentRef: '#/components/schemas/AttachmentRef_MVO'
AttachmentRef_FVO:
allOf:
- $ref: '#/components/schemas/EntityRef_FVO'
- type: object
description: >-
Attachment reference. An attachment complements the description of an element (for
instance a product) through video, pictures
properties:
description:
type: string
description: A narrative text describing the content of the attachment
url:
description: Link to the attachment media/content
type: string
discriminator:
propertyName: '@type'
mapping:
AttachmentRef: '#/components/schemas/AttachmentRef_FVO'
AttachmentRef_MVO:
allOf:
- $ref: '#/components/schemas/EntityRef'
- type: object
description: >-
Attachment reference. An attachment complements the description of an element (for
instance a product) through video, pictures
properties:
description:
type: string
description: A narrative text describing the content of the attachment
url:
description: Link to the attachment media/content
type: string
discriminator:
propertyName: '@type'
mapping:
AttachmentRef: '#/components/schemas/AttachmentRef_MVO'
Attachment_FVO:
allOf:
- $ref: '#/components/schemas/Entity_FVO'
- type: object
description: >-
Complements the description of an element (for instance a product) through video,
pictures...
properties:
name:
type: string
description: The name of the attachment
description:
type: string
description: A narrative text describing the content of the attachment
example: Photograph of the Product
url:
type: string
description: 'Uniform Resource Locator, is a web page address (a subset of URI)'
example: 'http://host/Content/4aafacbd-11ff-4dc8-b445-305f2215715f'
content:
type: string
format: base64
description: 'The actual contents of the attachment object, if embedded, encoded as base64'
size:
$ref: '#/components/schemas/Quantity'
validFor:
$ref: '#/components/schemas/TimePeriod'
attachmentType:
type: string
description: >-
a business characterization of the purpose of the attachment, for example logo,
instructionManual, contractCopy
mimeType:
type: string
description: a technical characterization of the attachment content format using IETF Mime Types
required:
- attachmentType
# --- truncated at 32 KB (474 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/tm-forum/refs/heads/main/openapi/tm-forum-tmf622-product-ordering-openapi.yaml