API contracts for ITSM Integration

API to create a ticket.

HTTP POST

Request JSON - {"connectionDetails":{},"ticketJSON":{}, "ticketFields":[],"itsmTimeZoneOffset":""}

Response JSON - {"statusCode":"", "statusMessage":"", "ticketDetails":{}}

Request Fields

Response Fields

 

API to update a ticket

 

HTTP POST

Request JSON: {"sysId":"", "connectionDetails":{}, "ticketFields":[],"ticketJSON":{}, "itsmTimeZoneOffset":""}

Response JSON: {"statusCode":"", "statusMessage":"", "ticketDetails":{}}

Request Fields

Response Fields

 

API to fetch the details of a ticket

HTTP GET

Request JSON: {"ticketNumber":"", "connectionDetails":{},"ticketFields":[],"itsmTimeZoneOffset":""}

Response JSON : {"statusCode":"","statusMessage":"", "ticketDetails":{}}

Request Fields

Response Fields

 

Note: The headers for the 3 APIs will all the headers used by SmartOps APIs. Authorization via Smartops keycloak needs to be done in the APIs. Authorization using offline token and authorization token should be supported.

Appendix

Fields that can come up in ticketFields

  1. ticketNumber – string

  2. ticketStatus - string

  3. ticketPriority - string

  4. ticketBusinessDuration - string that contains a numeric value with gives the ticketBusinessDuration in seconds

  5. ticketBusinessTimeLeft - string that contains a numeric value with gives the ticketBusinessTimeLeft in seconds

  6. sysId - string

  7. assignedTo - string

  8. assignedGroup - string

  9. shortDescription - string

  10. longDescription - string

  11. category - string

  12. subCategory - string

  13. callerId - string

  14. urgency - string

  15. ticketSeverity - string

  16. comments - list of objects where each object is of the form - {"commentBy": "","commentTime": "", "comment":""}

  17. workNotes - list of objects where each object is of the form - {"workNoteBy": "","workNoteTime": "", "workNote":""}

  18. closureNotes - list of objects where each object is of the form - {"closureNoteBy": "","closureNoteTime": "", "closureNote":""}

  19. createdTime - UTC date time string in format YYYY-MM-DDTHH:mm:ss.ffffff

  20. updatedTime - UTC date time string in format YYYY-MM-DDTHH:mm:ss.ffffff

  21. resolvedTime - UTC date time string in format YYYY-MM-DDTHH:mm:ss.ffffff

  22. createdBy - string

  23. updatedBy - string

  24. resolvedBy - string

  25. closedBy - string

Note: commentTime, workNoteTime and closureNoteTime are also UTC date time strings in format YYYY-MM-DDTHH:mm:ss.ffffff