Overview

  • The TMF622 API provides a standardized client interface to Order Intake Systems for creating, tracking, and managing product orders as a result of an issue or problem identified by a customer or another system.
  • Following block diagram provides a high-level overview of how the various components are involved in handling TMF 622 API operations (GET, POST).

TMF622 Components

  • Consider you have purchased a new product. A product order is created based on a product offering that is defined in a catalog (POST). The product offering identifies the product or set of products that are available to a you, and includes characteristics such as pricing, product options and market. You can also check the status of the product order or access all the product orders from the system (GET).

In general, we can consider the various use cases listed based on the operation you want to perform.

It is assumed that you have completed the following.

Following block diagram provides a sequence of operations involved. Sequence

NOTE:

  • For mandatory fields and resource mappings, refer TMF622 v4 Resource Mappings.
  • For more information on supported Integration Procedures, Data Raptors, Apex Interfaces, Custom Metadata, refer Extend TMF622 API documentation.
I want to
Request Type
Example URL
Retrieve and display details of a particular product order.
GET by ID{https://MyDomainLoginUrl}//services/apexrest/{namespace}/tmforum/productopenapi/v57.0/productorder/{ID}

NOTE: 
For invalid product order ID, you will receive HTTP 404 error.
Based on the provided field values, retrieve and display details of a particular product order ID.
GET by ID and Fields
{https://MyDomainLoginUrl}/services/apexrest/{namespace}/tmforum/productopenapi/v57.0/productorder/{ID}?fields=description,state,externalId,note,requestedCompletionDate,requestedStartDate,channel,orderDate,id,href

NOTE: 
The requested fields will be part of output, if they have value.
List all the product orders present in the system.
GET List
{https://MyDomainLoginUrl}/services/apexrest/{namespace}/tmforum/productopenapi/v57.0/productorder
List all the product orders present in the system based on the provided field values and filter applied. For example, list all the product orders with status = Activated,state, and channel details.
GET List by Fields and Filtering
{https://MyDomainLoginUrl}/services/apexrest/{namespace}/tmforum/productopenapi/v57.0/productorder?fields=state=Activated&fields=state,channel

NOTE: 
The requested fields will be part of output, if they have value.
List product orders based on the date of creation, limit the number of product orders to a maximum of specified limit, and display results from the page specified by offset.
GET List by Limit and Offset
{https://MyDomainLoginUrl}/services/apexrest/{namespace}/tmforum/productopenapi/v57.0/productorder?limit=10&offset=3
Create a new product order by providing the required details.
POST
{https://MyDomainLoginUrl}/services/apexrest/{namespace}/tmforum/productopenapi/v57.0/productorder

Consider you want to retrieve details of a particular product order. For example, product order ID = 00004122. Fields that can be filtered:

  • id
  • state
  • orderDate

https://vlocity-1f5-dev-ed.develop.my.salesforce.com/services/apexrest/vlocity_cmt/tmforum/productopenapi/v57.0/productorder/00004122

Refer Retrieve ProductOrder by ID

Consider you want to retrieve details of the product order ID = 00005220 and get the following details in the output.

  • description
  • state
  • externalId
  • note
  • requestedCompletionDate
  • requestedStartDate
  • channel
  • orderDate
  • id
  • href

https://vlocity-1f5-dev-ed.develop.my.salesforce.com/services/apexrest/vlocity_cmt/tmforum/productopenapi/v1/productorder/00005220?fields=description,state,externalId,note,requestedCompletionDate,requestedStartDate,channel,orderDate,id,href

Consider there are multiple product orders in the system and you want to list all of them.

https://vlocity-1f5-dev-ed.develop.my.salesforce.com/services/apexrest/vlocity_cmt/tmforum/productopenapi/v57.0/productorder

Refer List All Product Orders

Consider you want to retrieve all the active product orders present in the system with applied filter values.

https://vlocity-1f5-dev-ed.develop.my.salesforce.com/services/apexrest/vlocity_cmt/tmforum/productopenapi/v1/productorder?state=Activated&fields=state,channel

Consider you want to retrieve list of products and apply required pagination query.

https://vlocity-1f5-dev-ed.develop.my.salesforce.com/services/apexrest/vlocity_cmt/tmforum/productopenapi/v1/productorder?limit=10&offset=3

NOTE: If the total products are 22, the above pagination query - limit=10&offset=3 will start display from page 3 and will have 2 records

Consider you want to create a new product order.

NOTE:

  • You need to include RelatedParty in the payload as account is mandatory in Salesforce to create a product order.
  • You need to configure Pricelist in the Metadata.
  • Pricelist must have the valid entries for the product offers of the sample request.

https://vlocity-1f5-dev-ed.develop.my.salesforce.com/services/apexrest/vlocity_cmt/tmforum/productopenapi/v57.0/productorder