Skip to main content

CustomerSupportTickets-v1 1.0.0

ServiceRequests

1. Authenticate

Text (formatted, long)

Prerequisites


  1. You should have registered in our developer portal. Check this link about how to register an Account.
  2. You should request access to the playground, sandbox and production environment using our Support page. Here is the link to support page to request access to our environments.
  3. You should have an App created in your account to get the client id and client secret. Check this link about how to create an App.

Note : The time data attribute on APIs follows a 24-hour clock starting at 00:00 and ending at 23:59.

 

Authentication


The bearer token obtained after successful authentication should be passed as credential when calling this API for authentication. Check the Access Token API link for instructions on how to generate your bearer token.

 

 

Read the Get Started documentation if you are unaware of your client credentials.

 

2. Permissions

3. Get Information

Text (formatted, long)

Get Account Information


Master account Id and account Id need to be passed in the header for this API call. This is needed to indicate your legal entity.
Refer to the Accounts API for instructions on how to retrieve your account information. You may skip this step if you already know your master account Id and account Id.

 

Text (formatted, long)

Get Site Information


Retrieve the available facility information which are assigned to you. You need the site code to indicate to which facility you want to make a request.
Refer to the Sites API for instructions on how to retrieve your site information. You may skip this step if you already know your sites.

 

Text (formatted, long)

Get Location Information


Retrieve the available location information which are assigned to you. You need the location name to indicate to which location in the facility you want to make a request.
Refer to the Locations API for instructions on how to retrieve your location information. You may skip this step if you already know your locations.

4. Retrieve Customer Support information

The method can be used to retrieve details of a customer support ticket 

 Method GET
End point /v1/customer-support-tickets/{id}
Headers Authorization, Master-Account-Id, Account-Id
Query Parameters n/a
Body n/a

 

Sample Curl Request

curl --location --request GET 'https://api.digitalrealty.com/v1/customer-support-tickets/<id>' \
--header 'Master-Account-Id: <Master-Account-Id>' \
--header 'Account-Id: <Account-Id>' \
--header 'Authorization: Bearer <access_token>' 

 

Headers

Field Name Mandatory Type Description
Master-Account-Id true string Customer master account identifier.
Account-Id true string Customer account identifier.
Authorization true string Token-based authentication.

 

Query Parameters

n/a

Body

n/a

 

Sample JSON Response

{
    "id": "WO9334196",
    "title": "title sample1",
    "status": "New",
    "site": "PHX015",
    "location": "COLO 8 Starbucks Cage 8.04",
    "requestType": "Facilities Request",
    "category": "Fire/Safety",
    "description": "Customer support description",
    "customerReference": "Testing",
    "createdOn": "2023-08-08 17:24:37",
    "updatedOn": "2023-08-09 14:34:31",
    "closedOn": "",
    "createdBy": "Michael test",
    "ticketType": "Customer Support",
    "notificationRecipients": "fsl_test Testing",
    "comments": []
}

 

Payload Description

Field Name Type Description
id string(20) Identifier of the Customer Support work order.
title string(160) Label on the Customer Support work order.
status string(enum) Designates the stage of the Customer Support ticket.

values: [New, In Progress, Completed, Cancelled].
site string(6) Identifier of the DLR facility.
location string(40) Identifier of customer premise within DLR facility.
requestType string(enum) Type of Customer Support request.

values: [check the RequestType Category table]
category string(enum) The category of Customer Support request based on the request type.

values: [check the RequestType Category table]
description string(32k) Full description of support request.
customerReference string(40) Customer Reference number.
createdOn string(date-time) Date on which the work order was generated.

format: [yyyy-MM-dd HH:mm:ss] timezone: [UTC].
updatedOn string(date-time) Last date on which the work order details were modified.

format: [yyyy-MM-dd HH:mm:ss] timezone: [UTC].
closedOn string(date-time) Date on which the work order’s status was marked Completed.

format: [yyyy-MM-dd HH:mm:ss] timezone: [UTC]. 
createdBy string(40) Designates the user that initially generated the work order.
ticketType string(enum) Type of the ticket.

value: [Customer Support]
notificationRecipients string(32k) Personnel's email addresses designated to be notified of the request. You can add one or more email addresses in the field by inserting a comma as a separator : "email_1, email_2, email_3".
comments string Comments for work order,

The method can be used to retrieve all customer support tickets of the customers account. 

 Method GET
End point /v1/customer-support-tickets
Headers Authorization, Master-Account-Id, Account-Id
Query Parameters site, status, requestType, category, createdBy, size, page
Body n/a

 

Sample Curl Request

curl --location --request GET 'https://api.digitalrealty.com/v1/customer-support-tickets' \
--header 'Master-Account-Id: <Master-Account-Id>' \
--header 'Account-Id: <Account-Id>' \
--header 'Authorization: Bearer <access_token>' 

 

Headers

Field Name Mandatory Type Description
Master-Account-Id true string Customer master account identifier.
Account-Id true string Customer account identifier.
Authorization true string Token-based authentication.

 

Query Parameters

Field Name Mandatory Type Description
site false string(6) Filter by the DLR facility that handles the request.
status false string(enum) Filter by state of the Customer Support.

values: [New, In Progress, Completed, Cancelled]
requestType false string(enum) Type of Customer Support request.

values: [check the RequestType Category table]
category false string(enum) Filter by the category of Customer Support request based on request type.

values: [check the RequestType Category table]
createdBy false string(40) Filter by user who generated the work order.
size false integer The maximum number of search results to return.

Default value: 25
page false integer The page number of the returning search results.

Default value: 0

 

Body

n/a

Sample JSON Response

{
    "content": [
        {
            "id": "WO9333892",
            "title": "Customer Support Title",
            "status": "New",
            "site": "PHX015",
            "location": "",
            "requestType": "Facilities Request",
            "category": "Fire/Safety",
            "createdOn": "2023-08-08 12:56:43",
            "closedOn": "",
            "updatedOn": "2023-08-08 12:56:43",
            "createdBy": "portaluser QATest"
        }
    ],
    "pageable": {
        "last": false,
        "totalPages": 343,
        "totalElements": 8567,
        "size": 25,
        "number": 0,
        "numberOfElements": 25,
        "first": true,
        "empty": false
    }
}

 

Payload Description

Field Name Type Description
id string(20) Identifier of the Customer Support order.
title string(160) Label on the work order.
status string(enum) Designates the stage of the Customer Support request.

values: [New, In Progress, Completed, Cancelled]
site string(6) Identifier of the DLR facility.
location string(40) Identifier of customer premise within DLR facility.
requestType string(enum) Type of Customer Support request.

values: [check the RequestType Category table]
category string(enum) The category of Customer Support request based on the request type.

values: [check the RequestType Category table]
createdOn string(date-time) Date on which the work order was generated.

format: [yyyy-MM-dd HH:mm:ss] timezone: [UTC].
closedOn string(date-time) Date on which the work order’s status was marked Completed.

format: [yyyy-MM-dd HH:mm:ss] timezone: [UTC].
updatedOn string(date-time) Last date on which the work order details were modified.

format: [yyyy-MM-dd HH:mm:ss] timezone: [UTC].
createdBy string(40) Designates the user that initially generated the work order.

5. Create a Customer Support Request

The method can be used to post a customer support request ticket. 

 Method POST
End point /v1/customer-support-tickets
Headers Authorization, Master-Account-Id, Account-Id, Content-Type
Query Parameters n/a
Body title, site, location, requestType, category, description, customerReference, notificationRecipients

 

Sample Curl Request

curl --location --request POST 'https://api.digitalrealty.com/v1/customer-support-tickets' \
--header 'Master-Account-Id: <Master-Account-Id>' \
--header 'Account-Id: <Account-Id>' \
--header 'Authorization: Bearer <access_token>' \
--header 'Content-Type: application/json' \
--data-raw '{
  "title": "Maintenance request",
  "site": "IAD024",
  "location": "Starbucks Cage F150-B",
  "requestType": "Facilities Request",
  "category": "Planned Maintenance",
  "description": "Maintenance planned for week 28",
  "customerReference": "REF01234",
  "notificationRecipients": "jane_doe@email.com,jake_doe@email.com"
}'

 

Headers

Field Name Mandatory Type Description
Master-Account-Id true string Customer master account identifier.
Account-Id true string Customer account identifier.
Authorization true string Token-based authentication.
Content-Type true string Indicates the request body format.

value: [application/json]

 

Query Parameters

n/a

Body

Field Name Mandatory Type Description
title true string(160) Label on the work order.
site true string(6) Identifier of the DLR facility.
location false string(40) Identifier of customer premise within DLR facility.
requestType true string(enum) Type of Customer Support request.

values: [check the RequestType Category table]
category true string(enum) The category of Customer Support request based on the request type.

values: [check the RequestType Category table]
description true string(32k) Full description of support request.
customerReference false string(40) Customer Reference number.
notificationRecipients false string(32k) Personnel's email addresses designated to be notified of the request. You can add one or more email addresses in the field by inserting a comma as a separator : "email_1, email_2, email_3".

 

Text (formatted, long)

Sample JSON Response

{
    "id": "WO9334196",
    "title": "title sample1",
    "status": "New",
    "site": "PHX015",
    "location": "COLO 8 Starbucks Cage 8.04",
    "requestType": "Facilities Request",
    "category": "Fire/Safety",
    "description": "Customer support description",
    "customerReference": "Testing",
    "createdOn": "2023-08-08 17:24:37",
    "updatedOn": "2023-08-09 14:34:31",
    "closedOn": "",
    "createdBy": "Michael test",
    "ticketType": "Customer Support",
    "notificationRecipients": "fsl_test Testing"
}

 

Payload Description

Field Name Type Description
id string(20) Identifier of the Customer Support work order.
title string(160) Label on the Customer Support work order.
status string(enum) Designates the stage of the Customer Support ticket.

values: [New, In Progress, Completed, Cancelled].
site string(6) Identifier of the DLR facility.
location string(40) Identifier of customer premise within DLR facility.
requestType string(enum) Type of Customer Support request.

values: [check the RequestType Category table]
category string(enum) The category of Customer Support request based on the request type.

values: [check the RequestType Category table]
description string(32k) Full description of support request.
customerReference string(40) Customer Reference number.
createdOn string(date-time) Date on which the work order was generated.

format: [yyyy-MM-dd HH:mm:ss] timezone: [UTC].
updatedOn string(date-time) Last date on which the work order details were modified.

format: [yyyy-MM-dd HH:mm:ss] timezone: [UTC].
closedOn string(date-time) Date on which the work order’s status was marked Completed.

format: [yyyy-MM-dd HH:mm:ss] timezone: [UTC]. 
createdBy string(40) Designates the user that initially generated the work order.
ticketType string(enum) Type of the ticket.

value: [Customer Support]
notificationRecipients string(32k) Personnel's email addresses designated to be notified of the request. You can add one or more email addresses in the field by inserting a comma as a separator : "email_1, email_2, email_3".

6. Update Customer Support Information

The method can be used to update a customer support ticket while the ticket status is still "New" or "In Progress".

 Method PUT
End point /v1/customer-support-tickets/{id}
Headers Authorization, Master-Account-Id, Account-Id, Content-Type
Query Parameters n/a
Body title, description, customerReference, notificationRecipients

 

Sample Curl Request

curl --location --request PUT 'https://api.digitalrealty.com/v1/customer-support-tickets/<id>' \
--header 'Master-Account-Id: <Master-Account-Id, >' \
--header 'Account-Id: <Account-Id>' \
--header 'Authorization: Bearer <access_token>' \
--header 'Content-Type: application/json' \
--data-raw '{
  "customerReference": "REF05678",
  "notificationRecipients": "jane_doe@email.com,jake_doe@email.com"
}'

 

Headers

Field Name Mandatory Type Description
Master-Account-Id true string Customer master account identifier.
Account-Id true string Customer account identifier.
Authorization true string Token-based authentication.
Content-Type true string Indicates the request body.

value: format [application/json]

 

Query Parameters

n/a

Body

Field Name Mandatory Type Description
customerReference false string(40) Customer Reference number.
notificationRecipients false string(32k) Personnel's email addresses designated to be notified of the request. You can add one or more email addresses in the field by inserting a comma as a separator : "email_1, email_2, email_3".

 

Sample JSON Response

{
    "id": "WO9334196",
    "title": "title sample1",
    "status": "New",
    "site": "PHX015",
    "location": "COLO 8 Starbucks Cage 8.04",
    "requestType": "Facilities Request",
    "category": "Fire/Safety",
    "description": "Customer support description",
    "customerReference": "Testing",
    "createdOn": "2023-08-08 17:24:37",
    "updatedOn": "2023-08-09 14:34:31",
    "closedOn": "",
    "createdBy": "Michael test",
    "ticketType": "Customer Support",
    "notificationRecipients": "fsl_test Testing",
    "comments": []
}

 

Payload Description

Field Name Type Description
id string(20) Identifier of the Customer Support work order.
title string(160) Label on the Customer Support work order.
status string(enum) Designates the stage of the Customer Support ticket.

values: [New, In Progress, Completed, Cancelled].
site string(6) Identifier of the DLR facility.
location string(40) Identifier of customer premise within DLR facility.
requestType string(enum) Type of Customer Support request.

values: [check the RequestType Category table]
category string(enum) The category of Customer Support request based on the request type.

values: [check the RequestType Category table]
description string(32k) Full description of support request.
customerReference string(40) Customer Reference number.
createdOn string(date-time) Date on which the work order was generated.

format: [yyyy-MM-dd HH:mm:ss] timezone: [UTC].
updatedOn string(date-time) Last date on which the work order details were modified.

format: [yyyy-MM-dd HH:mm:ss] timezone: [UTC].
closedOn string(date-time) Date on which the work order’s status was marked Completed.

format: [yyyy-MM-dd HH:mm:ss] timezone: [UTC]. 
createdBy string(40) Designates the user that initially generated the work order.
ticketType string(enum) Type of the ticket.

value: [Customer Support]
notificationRecipients string(32k) Personnel's email addresses designated to be notified of the request. You can add one or more email addresses in the field by inserting a comma as a separator : "email_1, email_2, email_3".
comments string Comments for work order,

7. Cancel a Customer Support Request

The method can be used to cancel a customer support ticket while the ticket status is still "New" or "In Progress".

 Method PUT
End point /v1/customer-support-tickets/{id}/cancel
Headers Authorization, Master-Account-Id, Account-Id
Query Parameters n/a
Body cancelReason

 

Sample Curl Request

curl --location --request PUT 'https://api.digitalrealty.com/v1/customer-support-tickets/<id>/cancel' \
--header 'Master-Account-Id: <Master-Account-Id>' \
--header 'Account-Id: <Account-Id>' \
--header 'Authorization: Bearer <access_token>' \
--header 'Content-Type: application/json' \
--data-raw '{
  "cancelReason": "Request no longer needed"
}'

 

Headers

Field Name Mandatory Type Description
Master-Account-Id true string Customer master account identifier.
Account-Id true string Customer account identifier.
Authorization true string Token-based authentication.
Content-Type true string Indicates the request body format.

value: [application/json]

 

Query Parameters

n/a

Body

Field Name Mandatory Type Description
cancelReason false string(enum) Reason of the cancellation.

values: [Duplicate request, Request entered in error, Request no longer needed]

default: [Request no longer needed]

 

Sample JSON Response

{
  "message": "ServiceTicket 'WO9334196' has been Cancelled"
}

 

Payload Description

Field Name Type Description
message string(255) Acknowledgement message of the cancellation.

8. Get Customer Support Category

The method can be used to retrieve the available customer support categories supported by DLR. The categories are related to the request types. The category used must part of the request type used.

You may skip this step if you already know the customer support category.

 Method GET
End point /v1/customer-support-tickets/categories
Headers Authorization, Master-Account-Id, Account-Id
Query Parameters requestType
Body n/a

 

Sample Curl Request

curl --location --request GET 'https://api.digitalrealty.com/v1/customer-support-tickets/categories' \
--header 'Master-Account-Id: <Master-Account-Id>' \
--header 'Account-Id: <Account-Id>' \
--header 'Authorization: Bearer <access_token>' 

 

Headers

Field Name Mandatory Type Description
Master-Account-Id true string Customer master account identifier.
Account-Id true string Customer account identifier.
Authorization true string Token-based authentication.

 

Query Parameters

Field Name Mandatory Type Description
requestType true string(enum) Type of Customer Support request.

values: [Account Management, Accounts Receivable, Facilities Request, Amenities, Cross Connect]

 

Body

n/a

Sample JSON Response

{
    "result": [
        {
            "requestType": {
                "name": "Account Management",
                "categories": [
                    {
                        "name": "User Account Inquiry"
                    }
                ]
            }
        },
        {
            "requestType": {
                "name": "Accounts Receivable",
                "categories": [
                    {
                        "name": "General Billing Inquiry"
                    }
                ]
            }
        },
        {
            "requestType": {
                "name": "Facilities Request",
                "categories": [
                    {
                        "name": "Cooling - Datacenter"
                    },
                    {
                        "name": "Cooling - Office"
                    },
                    {
                        "name": "Electrical"
                    },
                    {
                        "name": "Fire/Safety"
                    },
                    {
                        "name": "Planned Maintenance"
                    }
                ]
            }
        },
        {
            "requestType": {
                "name": "Amenities",
                "categories": [
                    {
                        "name": "Elevator"
                    },
                    {
                        "name": "Loading Dock"
                    },
                    {
                        "name": "Parking"
                    },
                    {
                        "name": "General Inquiry"
                    }
                ]
            }
        },
        {
            "requestType": {
                "name": "Cross Connect",
                "categories": [
                    {
                        "name": "New Install"
                    },
                    {
                        "name": "Change (Hot Cut)"
                    },
                    {
                        "name": "Disconnect"
                    }
                ]
            }
        }
    ]
}

 

Payload Description

Field Name Type Description
requestType - name string(enum) Name of the Customer Support Type

values: [check the RequestType Category table]
category - name string(enum) Name of the Customer Support Category

values: [check the RequestType Category table]

9. Add a Comment or Attachment

Text (formatted, long)

Add Comments


Add comments to an existing work order. Multiple comments can be added to a work order as long as the status of the order is not closed or cancelled. Refer to the Comments API instructions on how to add comments. You may skip this step if you already know how to add comments.

 

Text (formatted, long)

Add Attachments


Add attachments to an existing work order. Multiple attachments can be added to a work order as long as the status of the order is not closed or cancelled. Refer to the Attachments API for instructions on how to add attachments. You may skip this step if you already know how to add attachments.

RequestType Category table

RequestType Category
Account Management User Account Inquiry
Accounts Receivable General Billing Inquiry
Facilities Request Cooling - Datacenter
  Cooling - Office
  Electrical
  Fire/Safety
  Planned Maintenance
Amenities Elevator
  Loading Dock
  Parking
  General Inquiry
Cross Connect New Install
  Change (Hot Cut)
  Disconnect

Response Codes

Text (formatted, long)

Please check the Response Codes overview in case of any issues.


Need Help?

Have not found what you are looking for, please do not hesitate to reach out to us!

globe