ITSM APIs for VAR Partners

In order for a partner to be able to retrieve a supported customer's masterdata using the endpoints /supportcases/masterdata/landscapeObjects, /supportcases/masterdata/landscapeObjectsExtended and /supportcases/masterdata/contacts, a few additional requirements must be met.

S-User passport

You need to have a valid s-user that belong to your customer number. It needs to have the authorizations to manage incidents for supported customers.

You can manage the authorizations in SAP4Me:

SAP BTP Destination

The Client Certificates uploaded to the BTP destinations calm_itsm_support and calm_itsm_documents_services need to belong to the partner S-user that has the authorizations to manage incidents for supported customers to be able to create incidents and retrieve the masterdata of end customers.

API usage

Case Creation

When creating an SAP case for a supported customer. You need to provide two S-users:
  • partnerSuser: S-user of the VAR partner. It needs to have the authorizations to manage incidents for supported customers.

  • customerSuser: S-user of the end customer

Request: POST https://<tenant name>.<region>.alm.cloud.sap/api/calm-itsmapi/v1/supportcases/cases

Example Request Body:
Response:

LandscapeObjects API:

Request parameters:
  • customerSuser: S-user of the end customer

  • customerNumber: Customer number of supported customer

Retrieve End Customer System Landscape - Default:

By default, if customerNumber is provided, the reporter parameter is optional. However, if reporter is specified, it must belong with the end customer and have the authorizations to display system data.

Example requests:
  • GET https://<tenant name>.<region>.alm.cloud.sap/api/calm-itsmapi/v1/supportcases/landscapeObjects?customerNumber=${{customerNumber}}.

  • GET https://<tenant name>.<region>.alm.cloud.sap/api/calm-itsmapi/v1/supportcases/landscapeObjects?reporter=${{customerSuser}}&customerNumber=${{customerNumber}}.

  • GET https://<tenant name>.<region>.alm.cloud.sap/api/calm-itsmapi/v1/supportcases/landscapeObjects?reporter=${{customerSuser}}.

Response:

Retrieve End Customer System Landscape - onlyCaseSelectable

When the optional parameter onlyCaseSelectable is set to true, the reporter parameter is mandatory.

The filter onlyCaseSelectable is used to retrieve only the landscape objects that can be selected for the provided s-user during case creation.

Example requests:
  • GET https://<tenant name>.<region>.alm.cloud.sap/api/calm-itsmapi/v1/supportcases/landscapeObjects?reporter=${{customerSuser}}&onlyCaseSelectable=true.

  • GET https://<tenant name>.<region>.alm.cloud.sap/api/calm-itsmapi/v1/supportcases/landscapeObjects?reporter=${{customerSuser}}&customerNumber=${{customerNumber}}&onlyCaseSelectable=true.

Response:

Retrieve End Customer System Landscape - onlySupported

The filter onlySupported is used to retrieve only the landscape objects that are supported by the var partner. These are the landscape objects the partner can select when creating a case for the end customer.

Example requests:
  • GET https://<tenant name>.<region>.alm.cloud.sap/api/calm-itsmapi/v1/supportcases/landscapeObjects?customerNumber=${{customerNumber}}&onlySupported=true.

  • GET https://<tenant name>.<region>.alm.cloud.sap/api/calm-itsmapi/v1/supportcases/landscapeObjects?reporter=${{customerSuser}}&customerNumber=${{customerNumber}}&onlySupported=true.

  • GET https://<tenant name>.<region>.alm.cloud.sap/api/calm-itsmapi/v1/supportcases/landscapeObjects?reporter=${{customerSuser}}&onlyCaseSelectable=true&onlySupported=true.

Response:

Contacts API

The customerNumber parameter is mandatory.

The reporter parameter is optional. However, if reporter is specified, it must belong with the end customer and have the authorizations to display system data.

Request parameters:
  • customerSuser: S-user of the end customer.

  • customerNumber: Customer number of supported customer.

Example requests:
  • GET https://<tenant name>.<region>.alm.cloud.sap/api/calm-itsmapi/v1/supportcases/contacts?customerNumber=${{customerNumber}}.

  • GET https://<tenant name>.<region>.alm.cloud.sap/api/calm-itsmapi/v1/supportcases/contacts?reporter=${{customerSuser}}&customerNumber=${{customerNumber}}.

  • GET https://<tenant name>.<region>.alm.cloud.sap/api/calm-itsmapi/v1/supportcases/contacts?reporter=${{customerSuser}}&customerNumber=${{customerNumber}}&authorizationObjects=CASE_READ,CASE_WRITE.

Response: