Document toolboxDocument toolbox

Service Desk API Calls

Read Call

In an effort to make the PCR-360 API more flexible, PCR has made the decision to no longer create individual endpoints for all the different data types. Instead, PCR is encouraging Users to use the SQL endpoint with a structured SELECT statement to retrieve exactly the data you want. Please see the API End Point documentation for more information.

Example SELECT query for retrieving Service Desk items and related records:

SELECT * FROM V_SERVICE_SD_CHARGES;


Retrieve Service Desk items that match your search.

Request Type

Description

servicedesk.TYPE.OUTPUT

Retrieve a specific type of service desk items. Replace TYPE with any of the following: SO, IN

Remember, OUTPUT is replaced by the desired data type you want returned. 

Controlling Results Count

By default, 20 items will be returned at a time. 

These parameters are added in addition to any fields from the specific data types.

Parameter

Default

Description

LIMIT

20

Number of listings to show.

PAGE

1

Page number to show.

Response Data

Name

Datatype

Searchable

Notes

SD_TYPE

string

Yes

The type of the SD item (e.g. Inquiry), use TYPE for search

SD_NUMBER

string

Yes

The unique identifier for a service desk item

DUE_DATE

string

Yes

The date established for the service desk item to be completed

DESCRIPTION

string

Yes

A brief description of the service desk item

OWNER

string

Yes

Name of the service owner – either a Contact or Dept. Hierarchy

CSR

string

Yes

The Customer Service Representative

REQUESTOR

string

Yes

The contact that initiated the service desk item

SD_SOURCE

string

Yes

The originating source of the service desk item (e.g., email or phone)

SD_STATUS

string

Yes

Current status of the service desk item

SERVICEDESK_REMARKS

list

No

All remarks or comments for the service desk item and its actions

SERVICEDESK_EMAIL

list

No

The email thread concerning the service desk item

SERVICEDESK_ATTACHMENTS

list

No

List of attachment documents and files

SERVICEDESK_ACTIONS

list

No

List of all actions for the service desk item

SERVICEDESK_EQUIPMENT

list

No

List of all equipment to be used/associated with the service desk item

SERVICEDESK_CONTACTS

list

No

List of contacts for the service desk item

SERVICEDESK_CHARGES

list

No

List of all charges to be billed on the service desk item

SERVICEDESK_LABOR

list

No

List of the labor performed by worker and when performed

SERVICEDESK_WORKFLOW

list

No

List of all workflow on the service desk item

SERVICEDESK_GLA

list

No

All G/L Accounts associated with this service desk item

SERVICEDESK_CABLE

list

No

List of cable paths for the service desk item

Results

Lists

When inserting or updating Service Desk records, it is sometimes necessary to provide values that exist elsewhere in the system. The LIST method can help to retrieve available options for these values.

Below is how to make a LIST request:

   GET http://DOMAIN/api/API_KEY/servicedesk.OUTPUT?LIST=LISTTYPE

Searchable

If a LISTTYPE is designated as searchable in the table below, adding the "SEARCH" param will return values that contain the provided value.

GET http://DOMAIN/api/API_KEY/servicedesk.OUTPUT?LIST=LISTTYPE&SEARCH=test


Parameter

Replace With

LISTTYPE

The type of List to be retrieved. Types can be found below.

List Types

Type

Description

Extra Parameters*

Searchable

Results

CONTACTS

Retrieve available Contacts

CTYPE - Type of contact. Example: "worker"

yes

Contacts

DEPTHIER

Retrieve available Departments


Coming Soon

Department Hierarchy

EQP_CATALOG

Retrieve available Equipment Catalogs


yes

Equipment Catalog

CHARGE_CATALOG

Retrieve available Charge Catalogs


yes

Charge Catalog

PRCODE

Retrieve available Problem Codes


no

Problem Code

RESCODE

Retrieve available Resolution Codes


no

Resolution Code

CSRS

Retrieve available Customer Service Representatives (CSR)


no

CSR

SD_STATUS

Retrieve available Service Desk Statuses


no

SD Status

SDTYPES

Retrieve available Service Desk Types (Some may not be currently valid for creating or updating SD records via the API)


no

SD Types

UDFS

Retrieve available User Defined Fields (UDF)

SDTYPE - Retrieve UDFs for only a specific SD Type
SORT - Order the results ASC by a specific field

no

UDF

WORKGROUPS

Retrieve available Workgroups


no

Workgroups

LABOR_TYPE

Retrieve available Labor Types


no

Labor Types

SD_CHRG_ACTION

Retrieve available Service Desk Charge Actions


no

SD Charge Actions

URGENCY

Retrieve available Service Desk Urgency values


no

SD Urgency

AUTH_CODE_TYPERetrieve available Auth Code Types
no

SD Auth Code

BANDWIDTHRetrieve available Bandwidth values
no

SD Bandwidth

Extra Parameters can be appended to the URL in standard Query String fashion.

Write Call

Note: The List Calls are used to locate the proper List Recid value that needs to be passed in the Endpoint Call. Details for the Call can be found in the Options section of the Available Fields for the various API Call Types.Using POST Calls

  • POST requests will ignore parameters supplied as a query string and need any additional parameters in the request Body.
  • To configure the number of Pages/Results returned by the API (this is most useful for the SQL Endpoint), you can send these as additional Parameter's in the Body.

    Parameter

    Data Type

    Default

    Description

    limit

    Interger

    20

    Number of listings to show.

    page

    Interger

    1

    Page number to show.

  • API fields are not case sensitive, and will always be returned in the lower case format.

UDF parameters are all lower case when processed by PCR-360. Since Organizations can create their own UDF fields, the generic use of IDENTIFIER is used as a placeholder for actual UDF Identifiers.

Available Fields

Field

Required

Data Type

Options

Default

Notes

recid

Only when updating

Integer



Identifier of the record to be updated

sd_status

No

String

"complete", "finalized"


This field should only be used when attempting to Complete or Finalize a Service Order or Incident. When a new Service Desk Item is created, the sd_status is set automatically to "Pending".

due_date

No

String



The date when the Service Desk item is due.

finalized_date

No*

String



Required when setting sd_status to "finalized". The desired date is in the valid format of: mm/dd/yyyy. This field is for Service Orders only. Charges created will use the Finalized Date as their Billing Date.

type

Yes

String

"SO" - Service Order
"IN" - Incident
"ES" - Estimate
"WO" - Work Order
"IQ" - Inquiries


Service Desk type

source

No

String

Value Lookups:

"API"

Code for the source of the Service Desk Item. List Type must be SD_SOURCE.

urgency

No

String

Value Lookups:


Set the urgency on the Service Desk Item.

csr

Yes

Integer

Value Lookups:


The customer service representative assigned to the Service Desk item. The Record ID of the Service Rep to be assigned is a required field.

owner

No*

Integer

Value Lookups:


Record ID of either the Contact or the Department owner.
*Required only when completing an order

owner_type

No*

String

"contact" or "department"


Type of owner.
*Required only when setting an owner

requestor

No

Integer

Value Lookups:


Record ID for the name of the person (contact) who is requesting the Service Desk item.

description

No

String



A description of the Service Desk item

assoc_proj

No

Integer



Record ID of the project or problem associated with the service desk item.

remarks

No

String



Service Desk remarks. These remarks show up on the "Activity/Remarks" tab of Service Desk.

udf_IDENTIFIER

No

Mixed



IDENTIFIER of UDF preceded by “udf_”. Example: udf_FIELD123
Provided value will be validated against UDF’s data type requirements and used if acceptable.

udf_UDF-RECIDYes*Integer

UDF-RECID is the RECID of the UDF to assign the value to. Example: udf_684=value
  • See Note Below
udf_UDF-IDENTIFIERYes*Mixed

Value Lookups:


IDENTIFIER is the unique Identifier of the UDF to assign the value to. Example: udf_LEGACYNUM=value
  • See Note Below
  • udf_UDF-RECID and udf_UDF-IDENTIFIER are Conditionally Required. The use of one is Required, but not both.
  • If a validation error occurs when a request is made to complete or finalize a Service Order, the API will send the same error message as the application. This usually is from a missing required field, or still open Workflows.

Request Example

Call:
POST DOMAIN/KEY/servicedesk.json
Headers:

Key

Value

Content-Type

application/json

Pcr-Html-Encoded

TRUE

Body:

Key

Value

recid

143658

type

SO

csr1

Results

If the request is successful, the SD Number will returns as follows:

Service Desk Incidents

Typically, an Incident will include a Service or piece of Equipment that is having an issue. If this was not included when the Incident was created, it can be done with an update.

When including a Service or piece of Equipment on an Incident request, you MUST also supply a Contact Owner or Hierarchy owner for the Incident when creating a new Incident. If an Incident is being updated and it does not currently have an “Owner” specified, the update must also include a record ID for the Contact or Department Hierarchy “Owner”.

Available Fields

These fields are IN ADDITION TO the Service Desk fields listed above

Field

Required

Data Type

Options

Default

Notes

sd_status

No

String

"complete", "finalized"


If setting the status to "complete", res_code will be required

finalized_date

No*

String



Required when setting sd_status to "finalized". Date the Incident is finalized on.  Today's date in valid format (mm/dd/yyyy)

prob_code

yes

Integer

Value Lookups:


Record ID of the trouble code.

owneryes

Integer

Value Lookups:


Record ID of either the Contact or the Department owner.

owner_typeyes

String

"contact" or "department"


Type of owner.

problem

no

String



The details or description of the trouble

res_code

no*

Integer

Value Lookups:


Record ID of the Resolution Code. If setting the sd_status to "complete", this field becomes required.

resolution

no

String



The details or description of the Resolution

service

no

Integer



Record ID for the Service with the trouble

equipment

no

Integer



Record ID for the Equipment with the trouble

sdcnoInteger

Record ID of the Service Desk Classification
equipment_udf_IDENTIFIERnomixed

IDENTIFIER of UDF preceded by "equipment_udf_". Example: equipment_udf_FIELD123.
The provided value will be validated against UDF’s data type requirements and used if acceptable. Only valid if the parameter "equipment" is provided
equipment_udf_RECIDnomixed

RECID of UDF preceded by "equipment_udf_". Example: equipment_udf_123.
The provided value will be validated against UDF’s data type requirements and used if acceptable. Only valid if the parameter "equipment" is provided
service_udf_IDENTIFIERnomixed

IDENTIFIER of UDF preceded by "service_udf_". Example: service_udf_FIELD123.
The provided value will be validated against UDF’s data type requirements and used if acceptable. Only valid if the parameter "service" is provided
service_udf_RECIDnomixed

RECID of UDF preceded by "service_udf_". Example: service_udf_123
The provided value will be validated against UDF’s data type requirements and used if acceptable. Only valid if the parameter "service" is provided.

Request Example

Call:
POST DOMAIN/KEY/servicedesk.json
Headers:

Key

Value

Content-Type

application/json

Pcr-Html-Encoded

TRUE

Body:

Key

Value

recid

267870

prob_code4
owner1
owner_type"contact"

type

IN

csr1

Results

If the request is successful, the SD Number will be returned as follows:

Service Desk Estimates

Typically, an Estimate will include Charges, Labor, and Equipment.

Available Fields

These fields are IN ADDITION TO the Service Desk fields listed above

Field

Required

Data Type

Options

Default

Notes

charge_catalog

no

Integer

Value Lookups:


Record ID of the applicable Charge.

charge_description

no

String



The details or description of the Charge on the Estimate

chrg_quantity

no

Integer


1

Quantity of Charge to be used.

prorate

no

Integer

1 or 0

0

Should the Charge be prorated when activated

override_amount

no

Decimal



If allowed by the selected Charge, overrides the default amount from the Charge.

eqp_catalog

no

Integer

Value Lookups:


Record ID of the Equipment Catalog item to added to the Estimate.

eqp_quantity

no

Integer


1

Quantity of the Equipment to be added to the Estimate.

eqp_billable

no

Integer

1 or 0


Mark whether the Equipment item is billable.

labor_type

yes*

Integer

Value Lookups:


Type of Labor to be added.
*Only Required when adding Labor to the Estimate (when "workgroup" field is provided).

workgroup

no

Integer

Value Lookups:


Record ID of the Workgroup to be associated with the Labor record on the Estimate.

labor_description

no

String



Description to give the Labor record.

hours

yes*

String



Hours to be assigned to the labor. Use "h" for hours and "m" for minutes. Example: "1h 30m"
*Only Required when adding labor to the estimate (when "workgroup" field is provided).

rate

no

Decimal



Rate to be billed for Labor. If not provided, default rate from Workgroup will be used.

labor_billable

no

Integer

1 or 0


Mark whether the Labor item is billable.

Request Example

Call:
POST DOMAIN/KEY/servicedesk.json
Headers:

Key

Value

Content-Type

application/json

Pcr-Html-Encoded

TRUE

Body:

Key

Value

recid

355989

type

ES

csr1

Results

If the request is successful, the SD Number will be returned as follows:

Service Desk UDFs

User Defined Fields can be easily set for a Service Desk item.

Below is the proper format for making a UDF request.

Note: "type=UDFS" to indicate that this is to add UDFs to a Service.

POST http://DOMAIN/api/API_KEY/servicedesk.OUTPUT?type=UDFS&field1=value1 ...


Available Fields

Field

Required

Data Type

Options

Default

Notes

sd_recid

yes*

Integer



*Either sd_recid or sd_number are conditionally Required, but not both. RECID column from SERVICE_DESK table.

sd_number

yes*

String



*Either sd_recid or sd_number are conditionally Required, but not both. The Number of the Service Desk item that the UDF is for.

sda_recidno*Integer

RECID of the Service Desk Action. If "sda_recid" is provided, "sd_recid" and "sd_number" are not Required.

sda_numberno*String

Service Desk Action Number for the Action. "sda_number" can be provided instead of "sda_recid" IF "sd_recid" or "sd_number" are provided.

udf_IDENTIFIER

yes*

Mixed



IDENTIFIER is the unique Identifier of the UDF to assign the value to. Example: udf_LEGACYNUM=value
*A single UDF parameter is Required, but not all of them

action_udf_IDENTIFIERyes*Mixed

IDENTIFIER of UDF belonging to a Service preceded by “action_udf_”. Example: action_udf_FIELD123
Provided value will be validated against UDF’s data type requirements and used if acceptable.

*A single UDF parameter is Required, but not all of them

action_udf_RECIDyes*Integer

RECID of UDF belonging to a Service preceded by “action_udf_”. Example: action_udf_FIELD123
Provided value will be validated against UDF’s data type requirements and used if acceptable.

*A single UDF parameter is Required, but not all of them

NOTES

  • Either "sd_recid" or "sd_number" need to be provided as a Required field, but not both.
  • If "sda_recid" is provided, "sd_recid" and "sd_number" are not required.
  • "sda_number" can be provided instead of "sda_recid" IF "sd_recid" or "sd_number" are provided.

Request Example

Call:
POST DOMAIN/KEY/servicedesk.json
Headers:

Key

Value

Content-Type

application/json

Pcr-Html-Encoded

TRUE

Body:

Key

Value

sd_recid

5434

type

SO

udf_IDENTIFIER1

Results

If the request is successful, the RECID(s) of the new Service Desk UDF records will be returned in the same order as provided:

Service Desk Remarks

If the supplied API key has write privileges to write Service Desk Remarks, it is easy to insert Remarks for the new or existing Service Desk Item.

Available Fields

Field

Required

Data Type

Options

Default

Notes

typeyesString

type must be REMARKS

sd_recid

yes

Integer



RECID column from SERVICE_DESK table.

remarks

yes

String



The remark to add to the service

sda_recidnoInteger

*Conditionally Required for use on a Service Desk Action. RECID column from SERVICE_DESK_ACTIONS table.

Request Example

Call:
POST DOMAIN/KEY/servicedesk.json
Headers:

Key

Value

Content-Type

application/json

Pcr-Html-Encoded

TRUE

Body:

Key

Value

sd_recid

999

typeREMARKS
remarksThis is a Remark from the API

Results

If the request is successful, the SD Number will be returns as follows:

Service Desk Estimate Charges

It is easy to insert a single Charge for the new or existing Service Desk Estimate. On the write request just add the appropriate fields to the query. If multiple Charges need to be added to a single Estimate, then separate POST requests will need to be made.

Below is the proper format for making a separate request.

Note: "type=EST_CHARGES" to indicate that this is to create an Estimate Charge record.

Available Fields

Field

Required

Data Type

Options

Default

Notes

estimate_recid

yes

Integer



RECID column from SERVICE_DESK_EST table.

charge_catalog

yes

Integer

Value Lookups:


Record ID of the applicable charge.

charge_description

no

String



The details or description of the charge on the estimate

chrg_quantity

no

Integer


1

Quantity of charge to be used.

prorate

no

Integer

1 or 0

0

Should the charge be prorated when activated

override_amount

no

Decimal



If allowed by the selected charge, overrides the default amount from the charge.

Request Example

Call:
POST DOMAIN/KEY/servicedesk.json
Headers:

Key

Value

Content-Type

application/json

Pcr-Html-Encoded

TRUE

Body:

Key

Value

estimate_recid

56487
charge_catalog1
typeEST_CHARGES

Results

If the request is successful, the RECID of the new service desk estimate charge is returned as follows:


Service Desk Estimate Labor

It is easy to insert a single Labor record for the new or existing Service Desk Estimate. On the write request, just add the appropriate fields to the query. If multiple Labor records need to be added to a single Estimate, then separate POST requests will need to be made.

Below is the proper format for making a separate request.

Note: "type=EST_LABOR" to indicate that this is to create an Estimate Labor record.

Available Fields

Field

Required

Data Type

Options

Default

Notes

estimate_recid

yes

Integer



RECID column from SERVICE_DESK_EST table.

labor_type

yes

Integer

Value Lookups:


Type of Labor to be added.

workgroup

yes

Integer

Value Lookups:


Record ID of the Workgroup to be associated with the Labor record on the Estimate.

labor_description

no

String



Description to give the Labor record.

hours

yes

String



Hours to be assigned to the Labor. Use "h" for hours and "m" for minutes. Example: "1h 30m".

rate

no

Decimal



Rate to be billed for Labor. If not provided, default rate from Workgroup will be used.

labor_billable

no

Integer

1 or 0


Mark whether the Labor Item is billable.

Request Example

Call:
POST DOMAIN/KEY/servicedesk.json
Headers:

Key

Value

Content-Type

application/json

Pcr-Html-Encoded

TRUE

Body:

Key

Value

estimate_recid

55073
labor_type

Regular

workgroup1
hours1h 45m
typeEST_CHARGES

Results

If the request is successful, the RECID of the new service desk estimate labor record is returned as follows:

Service Desk Estimate Equipment

It is easy to insert a single Equipment record for the new or existing Service Desk Estimate. On the write request, add the appropriate fields to the query. If multiple Equipment records need to be added to a single Estimate, then separate POST requests will need to be made.

Below is the proper format for making a separate request.

Note: "type=EST_EQP" to indicate that this is to create an Estimate Equipment record.

Available Fields

Field

Required

Data Type

Options

Default

Notes

estimate_recid

yes

Integer



RECID column from SERVICE_DESK_EST table.

eqp_catalog

yes

Integer

Value Lookups:


Record ID of the Equipment Catalog item to added to the Estimate.

eqp_quantity

yes

Integer


1

Quantity of the Equipment to be added to the Estimate.

eqp_billable

yes

Integer

1 or 0


Mark whether the Equipment item is billable.

Request Example

Call:
POST DOMAIN/KEY/servicedesk.json
Headers:

Key

Value

Content-Type

application/json

Pcr-Html-Encoded

TRUE

Body:

Key

Value

estimate_recid

78451
eqp_catalog

1

eqp_quantity1
eqp_billable1
typeEST_CHARGES

Results

If the request is successful, the RECID of the new service desk estimate equipment record is returned as follows:

Service Desk Adding GLAs

It is easy to insert one or more GLA records for the new or existing Service Desk Order. On the write request, add the appropriate fields to the query.

Below is the proper format for making a separate request.

Note: "type=GLA" to indicate that this is to create a Service Order record.

Available Fields

Field

Required

Data Type

Options

Default

Notes

type

yes

String


GLA

type=GLA is Required

sd_recid

yes*

Integer



RECID column from SERVICE_DESK table.
*See NOTE below

sd_number

yes*

String



The Number of the Service Desk item that the UDF is for.
*See NOTE below

sda_recidno*Integer

RECID of the Service Desk Action. If "sda_recid" is provided, "sd_recid" and "sd_number" are not Required.

sda_numbernoString

Service Desk Action Number for the Action. "sda_number" can be provided instead of "sda_recid" IF "sd_recid" or "sd_number" are provided.

action_default_gla

no*

String or Integer



If a single GLA is sent with a Service Desk request, the value of this is RECID of the GLA. If multiple GLAs are sent with a Service Desk request OR request made directly to the Service Desk GLA POST, this param is "1" or "0" (true/false). If multiple GLAs sent, then these are comma-separated corresponding to the GLAs.

gla

yes

Mixed



A single GLA RECID or comma-separated GLA RECIDs

gla_type

yes

String



A single GLA type or comma-separated GLA types. Example: "Default" or "Usage"

gla_percent

yes

Mixed



A single number of "100" or comma-separated numbers that equal 100. Example: "50,50"

NOTES

  • Either "sd_recid" or "sd_number" need to be provided as a Required field, but not both.
  • If "sda_recid" is provided, "sd_recid" and "sd_number" are not required.
  • "sda_number" can be provided instead of "sda_recid" IF "sd_recid" or "sd_number" are provided.
  • "action_default_gla" is required if the configuration sda_allow_multiple_default_glas is TRUE.

Request Example

Call:
POST DOMAIN/KEY/servicedesk.json
Headers:

Key

Value

Content-Type

application/json

Pcr-Html-Encoded

TRUE

Body:

Key

Value

sd_recid

78451

gla

1

gla_typeDefault
gla_percent100
typeGLA

Results

If the request is successful, the RECID of the new service desk GLA record is returned as follows:

Service Desk Equipment

It is easy to insert one or more Equipment records for the new or existing Service Desk Order. On the write request, add the appropriate fields to the query.

Below is the proper format for making a separate request.

Note: "type=EQUIPMENT" to indicate that this is to create an Equipment record.

Available Fields

Field

Required

Data Type

Options

Default

Notes

type

yes

String



type=EQUIPMENT is Required

sd_recid

yes*

Integer



RECID column from SERVICE_DESK table.
*See NOTE below

sd_number

yes*

String



The Number of the Service Desk item that the Equipment is for.
*See NOTE below

sda_recidno*Integer

RECID for the Service Desk Action. If "sda_recid" is provided, "sd_recid" and "sd_number" are not Required.

sda_numbernoString

Service Desk Action Number for the Action. "sda_number" can be provided instead of "sda_recid" IF "sd_recid" or "sd_number" are provided.
equipment noInteger

RECID for the Equipment to be added. Used only for Cabling and Asset type Equipment.
equipment _idno*Integer

Equipment ID for the Equipment. Conditionally Required for Cabling type Equipment.
to_location noInteger

RECID of the Location the Equipment will be moved to.
from_location noInteger

RECID of the Location the Equipment will be moved from.
qty yesInteger

Quantity of the Equipment to be added
billable no

Integer

1 or 0

defaulted to Catalog setting

Mark whether the Equipment item is Billable.

asset_tagno*String

The Asset Tag for the Equipment. Conditionally Required for Asset type Equipment.
override_glanoInteger

RECID of the GLA to override billing for this Equipment.
eqp_catalogno*Integer

Equipment Catalog RECID
*Required if not Cabling or Asset equipment
expense_typenoInteger

Value Lookups:


The List ID value for the EXPENSE_TYPE List entry that is desired.

NOTES

  • Either "sd_recid" or "sd_number" need to be provided as a Required field, but not both.
  • If "sda_recid" is provided, "sd_recid" and "sd_number" are not required.
  • "sda_number" can be provided instead of "sda_recid" IF "sd_recid" or "sd_number" are provided.

Request Example

Call:
POST DOMAIN/KEY/servicedesk.json
Headers:

Key

Value

Content-Type

application/json

Pcr-Html-Encoded

TRUE

Body:

Key

Value

sd_recid

78451

qty

1

typeEQUIPMENT
eqp_catalog1

Results

If the request is successful, the RECID of the new Service Desk Add Equipment record is returned as follows:

Service Desk Labor

It is easy to insert one or more Labor records for the new or existing Service Desk Item. On the write request, add the appropriate fields to the query.

Below is the proper format for making a separate request.

Note: "type=LABOR" to indicate that this is to create an Equipment record.

Available Fields

Field

Required

Data Type

Options

Default

Notes

typeyesString

type=LABOR is Required
sd_recidyes*Integer

RECID column from SERVICE_DESK table.

*See Note Below.

sd_number yes*String

Service Desk Number for the Service Desk Item.

*See Note Below

sda_recidno*Integer

RECID for the Service Desk Action. If "sda_recid" is provided, "sd_recid" and "sd_number" are not Required.

sda_numbernoString

Service Desk Action Number for the Action. "sda_number" can be provided instead of "sda_recid" IF "sd_recid" or "sd_number" are provided.
labor_typeyesString"Regular", "OT", "2xOT"
Type of Labor activity. This is a case-sensitive field.
dateyesString

Date the Labor action was performed on. YYYY/MM/DD format.
hoursyesDecimal

Hours to be assigned to the Labor. must be sent in decimal hours (0.5 is 30 min)
workflownoInteger

Recid for the Workflow
workgroupyesInteger

Recid for the Workgroup. Workgroup must be Active.
workeryesInteger

Recid for the Worker. Worker must be an Active Contact with Contact Type = Worker. Worker must be part of provided Workgroup.
flate_ratenoDecimal
NULLRate to be billed for Labor. Only zero or positive dollar amounts are allowed.
descriptionnoString

Description to give the Labor record
billableyesBoolean1 (True), 0 (False)
Mark whether the Labor action is billable

NOTES:

  • "sd_recid" or "sd_number" are Conditionally Required. The use of one is Required, but not both.
  • "sda_number" or "sda_recid" are Conditionally Required. The use of one is Required, but not both.

  • "sd_recid", "sd_number" and "sda_number" can be omitted if "sda_recid" is provided

Correct Examples

  • "sd_recid=123&sda_number=001"

  • "sd_number=SO12345&sda_number=002"

  • "sda_recid=345"

Incorrect Examples:

  • "sd_recid=123"

  • "sda_number=001"

Request Example

Call:
POST DOMAIN/KEY/servicedesk.json
Headers:

Key

Value

Content-Type

application/json

Pcr-Html-Encoded

TRUE

Body:

Key

Value

typeLABOR
sd_recid66116
labor_typeRegular
date2019/04/25
hours1.25
workgroup1
worker1
billable0

Results

If the request is successful, the RECID of the new Service Desk Add Labor record is returned as follows:

Service Desk Work Orders

Work Orders are a special type of one-time Order, that does not create or manage Services.

Note: "type = WO".

Available Fields

Field

RequiredData TypeOptionsDefaultNotes
locationnoInteger

Location restrictions will be checked against the Service Catalog
catalognoInteger

RECID of the Service Catalog
Service Catalog must be a "Task" Type
slanoInteger

RECID of the SLA
sdcnoInteger

RECID of the Service Desk Classification
detailsnoCLOB

The details for the Work Order
impactnoInteger

Value Lookups:


RECID for the Impact value

Request Example

Call:
POST DOMAIN/KEY/servicedesk.json
Headers:

Key

Value

Content-Type

application/json

Pcr-Html-Encoded

TRUE

Body:

Key

Value

typeWO
catalog7394
sourceWeb
csr1

Results

If the request is successful, the RECID of the new Service Desk Work Order record is returned as follows:

Service Desk Workflow

Note: "type=WORKFLOW' to indicate that this is to create a Workflow record. 

FieldRequiredData TypeOptionsDefaultNotes
typeyesString

type=WORKFLOW
recidnoInteger

required if updating

sd_recid

yes*

Integer



*Either sd_recid or sd_number are conditionally Required, but not both. RECID column from SERVICE_DESK table.

sd_number

yes*

String



*Either sd_recid or sd_number are conditionally Required, but not both. The Number of the Service Desk item.

sda_recidno*Integer

RECID for the Service Desk Action Number. If "sda_recid" is provided, "sd_recid" and "sd_number" are not Required.

sda_numbernoString

Service Desk Action Number for the Action. "sda_number" can be provided instead of "sda_recid" IF "sd_recid" or "sd_number" are provided.
sequenceyesInteger

needs to be higher than highest completed sequence

if status is complete, needs to be higher than lowest pending

workgroupyesInteger

Record ID of the Workgroup 
workernoInteger

Record ID of the Worker. Worker must be an Active Contact with Contact type = Worker. Worker must be part of provided Workgroup.
scheduled_datenoString

The date Workflow is scheduled to begin.
scheduled_end_datenoString

The date Workflow is scheduled to end.
billableyesInteger1 or 0
Mark wether Workflow is billable
statusyesStringPENDING, COMPLETE, HOLD, VOID
Current status of Workflow
notesnoString

Editable notes for the Workflow
estimated_timenoString

Example 1.5 is equivalent to 1 hour 30 minutes
start_datenoString

The date the Workflow was started
completed_datenoString

The date the Workflow was completed.
activity_remarksnoString

Required if status is hold. 

NOTES:

  • "sd_recid" or "sd_number" are Conditionally Required. The use of one is Required, but not both.
  • "sda_number" or "sda_recid" are Conditionally Required. The use of one is Required, but not both.

  • "sd_recid", "sd_number" and "sda_number" can be omitted if "sda_recid" is provided

Correct Examples

  • "sd_recid=123&sda_number=001"
  • "sd_number=SO12345&sda_number=002"
  • "sd_recid=345"

Incorrect Examples

  • "sd_recid=123"
  • "sda_number=001"

Request Example

Call:
POST DOMAIN/KEY/servicedesk.json

Service Desk Inquiries

Inquiries are a special type of request for generic Information.

Note: "type = IQ".

Available Fields

Field

RequiredData TypeOptionsDefaultNotes
typeyesString

type = IQ
recidyes*Integer

Required in order to Update the Inquiry
subjectyes*String

Required in order to Create the Inquiry, and cannot be Updated
messageyes*String

Required in order to Create the Inquiry
topicyes*Integer

Value Lookups:


Required in order to Create the Inquiry, and must be a valid LIST RECID of the type SD_INQTOPICS_LISTS_RECID
emailyes*String

Required in order to Create the Inquiry, UNLESS using Token Authentication. This can not be Updated.
sdcnoInteger

Cannot be Updated. RECID of the Service Desk Classification

Request Example

Call:
POST DOMAIN/KEY/servicedesk.json
Headers:

Key

Value

Content-Type

application/json

Pcr-Html-Encoded

TRUE

Body:

Key

Value

typeIQ
emaildemo@pcr.com
subjectSample Inquiry
messageThis is the Inquiry Text
topic4

Results

If the request is successful, the RECID of the new Service Desk Inquiry record is returned as follows:

Service Desk Charges

Available Fields

Field

Required

Data Type

Options

Default

Notes

type

yes

String

"CHARGES"


Service Desk type, must be in the status of Pending, Hold or Complete

recid

no*

Integer



Required to Update an existing Non-Recurring Charge

sd_recidno*Integer

Required to Add a new Charge. Either sd_recid or sd_number must be used
sd_numberno*Integer

Required to Add a new Charge. Either sd_recid or sd_number must be used

charge_catalog_recid

yesInteger

RECID of the Non-Recuring Charge Catalog
override_amountnoNumber

Amount to Override the Catalog Charge Amount, if the Catalog allows it
quantitynoNumber

Quantity of Charges of the chosen Catalog to apply, if the Catalog is set to use Quantity
override_glanoInteger

RECID of the Override GLA, if the Catalog allows it
proratenoBoolean1 (True) or 0 (False)

Only allowed if BILL_MRC_CHANGE_FORCE_PRORATE config option is false

description

noString

Description of the Charge

Request Example

Call:
POST DOMAIN/KEY/servicedesk.json
Headers:

Key

Value

Content-Type

application/json

Pcr-Html-Encoded

TRUE

Body:

Key

Value

typeCHARGES
sd_recid35612
charge_catalog_recid7
description


Results

If the request is successful, the RECID of the new Service Desk Service Order Charge record is returned as follows:

Adding Attachments to Service Desk Items

Attachments can be added to Service Desk Items either on their own, or as a part of any normal creation or update of an existing Service Desk Item.

Available Fields

FieldRequiredData TypeOptionsDefaultNotes
typenoStringATTACHMENT
Can be used to add an attachment when creating, or updating any Service Desk Action
filesyesarray

The file(s) to be attached. 

'files' is an array with infinite number of sub-arrays.  Each sub-array has keys of 'filename' (the file's name) and 'data' (the base64 encoded data for the file).

sd_recidyes*Integer

*Either sd_recid or sd_number are conditionally Required, but not both. RECID column from SERVICE_DESK table.

sd_number

yes*

String



*Either sd_recid or sd_number are conditionally Required, but not both. The Number of the Service Desk item.

sda_recidno*Integer

If "sda_recid" is provided, "sd_recid" and "sd_number" are not Required.

sda_numbernoString

"sda_number" can be provided instead of "sda_recid" IF "sd_recid" or "sd_number" are provided.

NOTES:

  • a User can provide just the 'sd_recid' to attach the file to the Service Desk item and if the 'sda_recid' is provided, it will attach it to the Action.
  • "sd_recid" or "sd_number" are Conditionally Required. The use of one is Required, but not both.
  • "sda_number" or "sda_recid" are Conditionally Required. The use of one is Required, but not both.

  • "sd_recid", "sd_number" and "sda_number" can be omitted if "sda_recid" is provided

Correct Examples

  • "sd_recid=123&sda_number=001"

  • "sd_number=SO12345&sda_number=002"

  • "sda_recid=345"

Incorrect Examples:

  • "sd_recid=123"

  • "sda_number=001"

Request Example

Call:
POST DOMAIN/KEY/servicedesk.json
Headers:

Key

Value

Content-Type

application/json

Pcr-Html-Encoded

TRUE

Body:

Key

Value

sd_recid66116
JSON:
{
    ...
    "files": [
        {
            "filename":"file1.pdf",
            "data":"/9j/SOMEMORE/BASE64ENCODED/FUN"
        },
        {
            "filename":"file2.pdf",
            "data":"/9j/SOMEMORE/BASE64ENCODED/FUN"
        }
    ]
}


How to Create a Service Order

The method of making calls to the API will vary depending on what application or language used. Running requests using cURL on the command line. The most basic of examples is as follows:

The request below makes a service order with the Service Rep whose contact RECID is 209.

curl -X POST --data "CSR=1" http://URL_TO_YOUR_PCR360_INSTALLATION/api/YOURAPIKEY/servicedesk.SO.json
  • "curl" indicates the program you're trying to use.
  • -X POST tells curl you want to make a POST request (change POST to GET to make a GET request, etc)
  • --data "…" is a query string of parameters to send as the POST data. i.e. "foo=bar&bat=baz&etc=123" and so on.
  • the URL to request. Notice at the end is "json". This is the format you want the response returned in. "json", "php" and "xml" are your available options.

This request returns the following:

{
	"status": "success",
	"page": 1,
	"count": 1,
	"total_count": 0,
	"servicedesk": "SO20160600145"
}

It is a JSON encoded string (because json was specified in the URL) with 2 important points of information: "status" and "servicedesk". If "status" is "success" as it is above, then "servicedesk" will be the ID for the Service Order (or Estimate (ES) or Incident (IN) if specified). If "status" is "failure", then a parameter named "message" will be in-place of "servicedesk" with a reason as to why it failed. Example:

{
	"status": "failure",
	"message": "The following information is required: car"
}

Locating Service Desk Data

Within PCR-360, these menu options list a variety of Grids that can be used to help locate any of the required fields.

All grids have the option to show the ROW ID column, which is also the RECID for that particular record.

Help Desk Portal - Email: help@pcr.com - Phone: 616.259.9242