Overview

  • The TMF621 API provides a standardized client interface to Trouble Ticket Management Systems for creating, tracking, and managing trouble tickets 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 621 API operations (GET, POST).

TMF621 Components

  • Consider you have purchased a new service. You can create a new ticket from an external system to log an issue (POST). You can also check the status of the created ticket or access all the tickets 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 TMF621 Resource Mappings.
  • For more information on supported Integration Procedures, Data Raptors, Apex Interfaces, Custom Metadata, refer Extend TMF621 API documentation.
I want to
Request Type
Example URL
Retrieve and display details of a particular ticket ID.GET by ID{https://yourInstance.salesforce.com}/services/apexrest/{namespace}/tmforum/troubleticket/v57.0/troubleticket/{ID}

NOTE: 
For invalid ticket ID, you will receive HTTP 404 error.
Based on the provided field values, retrieve and display details of a particular ticket ID. For example, severity of the ticket, and ticketType.GET by ID and Fields
{https://yourInstance.salesforce.com}/services/apexrest/{namespace}/tmforum/troubleticket/v57.0/troubleticket/{ID}?fields=severity,ticketType

NOTE: 
The requested fields will be part of output, if they have value.
List all the tickets present in the system.GET List
{https://yourInstance.salesforce.com}/services/apexrest/{namespace}/tmforum/troubleticket/v57.0/troubleticket
List all the tickets present in the system based on the provided field values. For example, list all the tickets with status, priority, and severity.GET List with Fields
{https://yourInstance.salesforce.com}/services/apexrest/{namespace}/tmforum/troubleticket/v57.0/troubleticket?fields=status,priority,severity

NOTE: 
The requested fields will be part of output, if they have value.
List all the tickets present in the system based on the provided field values and filter applied. For example, list all the tickets with ticketType, priority, and status = closed.GET List by Fields and Filtering
{https://yourInstance.salesforce.com}/services/apexrest/{namespace}/tmforum/troubleticket/v57.0/troubleticket?fields=ticketType,priority,status&status=closed

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

Consider you want to retrieve details of a particular ticket. For example, ticket ID = 00001022.

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

Refer Retrieve TroubleTicket by ID

Consider you want to retrieve details of the ticket ID = 00003490 and get the severity and ticketType in the output.

https://vlocity-1f5-dev-ed.develop.my.salesforce.com/services/apexrest/vlocity_cmt/tmforum/troubleticket/v57.0/troubleticket/00003490?fields=severity,ticketType

Consider there are multiple tickets 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/troubleticket/v57.0/troubleticket

Refer List All Trouble Ticket

Consider you want to retrieve all the tickets by applying the requested fields. The requested fields will be part of output if they are have value. The sample output is assuming the total tickets in system is 3.

https://vlocity-1f5-dev-ed.develop.my.salesforce.com/services/apexrest/vlocity_cmt/tmforum/troubleticket/v57.0/troubleticket?fields=status,priority,severity

The sample output is assuming that following 3 tickets are present in the system.

  1. 00003456
  2. 00003457
  3. 00003458

Consider you want to retrieve all the closed tickets present in the system.
NOTE: Currently, if name is requested, name and id both appear as output.

https://vlocity-1f5-dev-ed.develop.my.salesforce.com/services/apexrest/vlocity_cmt/tmforum/troubleticket/v57.0/troubleticket?fields=ticketType,priority,status&status=Closed

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

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

NOTE: If the total tickets 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 ticket. You need to specify the values for the following the mandatory fields.

  • description
  • ticketType
  • severity

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

Refer Creates a TroubleTicket