PCR-360 Wiki

Calling saveService using Services API Parameters

For full details of this API Endpoint, see Services API.

type

  • Data Type: String

  • Required Field: Yes

Notes:

type = “POOLS” for assigning a Service to a Service Pool.

type = “REMARKS” for adding a Remark.

type = “CHARGES” for adding a Charge.

type = “GLA” for adding a GLA to a Service.

type = “CONTACTS” for adding a Contact to the Service.

type = “UDF” for adding a UDF value to a Service.

type = “LOCATIONS” for adding a Location to the Service.

type = “EQUIPMENT” for adding Equipment to the Service.

type = “ATTACHMENT” for adding an Attachment to the Service.

recid

  • Data Type: Integer

  • Required Field: Yes*

  • Required Type: none or “CHARGES” or “ATTACHMENT”

Notes:

Identifier of the record.

*When updating a record, the "recid" or "service_id" is Required. If both are passed they must match the same record.

status

  • Data Type: Integer

  • Required Field: Yes

  • Required Type: none

Notes:

The status of the service. To set a Service to Active, the Owner field becomes required if it is not already populated.

serv_catalog

  • Data Type: Integer

  • Required Field: Yes

  • Required Type: none

Notes:

Recid of the Service Catalog item.

When updating the Catalog, the process will maintain the Service Type and the Service ID Format.

The Catalog may only be updated for a Service if its status is Available.

service_id

  • Data Type: String

  • Required Field: Yes*

  • Required Type: none

Notes:

Service ID of this service. Before inserting a new record, the system confirms that there is no existing, matching, formatted version. If a match is found, the call will update the appropriate record. The service_id field can be formatted or unformatted. The service_id cannot be updated.

*When updating a record, the "recid" or "service_id" is Required. If both are passed, they must match the same record.

owner

  • Data Type: Integer

  • Required Field: No

  • Required Type: none

Notes:

Record ID of either the Contact or the Department owner. The API will validate if the Owner's GLA Format is compatible with the Service's Billing Group Format.

owner_type

  • Data Type: String

  • Required Field: No

  • Required Type: none

Notes:

“contact” or “department” to signify the type of Owner.

location

  • Data Type: Integer

  • Required Field: Yes*

  • Required Type: none or “CHARGES” or “LOCATIONS”

Notes:

The recid of the Location of the Service.

*only required if type is “CHARGES” or “LOCATIONS”.

service_host

  • Data Type: Integer

  • Required Field: No

  • Required Type: none

Notes:

The recid of the Service Host for the Service.

sla

  • Data Type: Integer

  • Required Field: No

  • Required Type: none

Notes:

The recid of the SLA for the Service.

reference

  • Data Type: String

  • Required Field: No

  • Required Type: none

Notes:

Reference for the Service.

billable

  • Data Type: Integer

  • Required Field: No

  • Required Type: none

Notes:

Marks the Service as Billable. “1” for Yes and “0” for No.

billing_group

  • Data Type: Integer

  • Required Field: No

  • Required Type: none

Notes:

Recid of billing group for service.

essential

  • Data Type: Integer

  • Required Field: No

  • Required Type: none

Notes:

Designate if this is an essential Service.

“1” for Yes, “0” for No.

status_date

  • Data Type: String

  • Required Field: Yes

  • Required Type: none

Notes:

Date status was set for Service. Format “YYYY/MM/DD”.

assoc_service

  • Data Type: Integer

  • Required Field: No

  • Required Type: none

Notes:

Recid of Associated Service.

equipment

  • Data Type: String

  • Required Field: Yes*

  • Required Type: none or “EQUIPMENT”

Notes:

Recid(s) of Equipment to assign to the Service.

*Only Required if type = “EQUIPMENT”.

contact

  • Data Type: String

  • Required Field: Yes*

  • Required Type: none or “CONTACTS”

Notes:

The recids of the Contacts to be added to the Service.

*only required if type is not set or is “CONTACTS”.

pool

  • Data Type: String

  • Required Field: No

  • Required Type: none

Notes:

The recids of the Service pool(s) to add to the Service. If multiple contacts are to be assigned, separate recids with commas. Example: 548,785.

gla

  • Data Type: Integer

  • Required Field: Yes*

  • Required Type: none or “CHARGES”, or “GLA”

Notes:

The recids of the GLAs to be assigned to the Service or it’s Charge.

*only required for a Billable Service if type is not set, or if adding new GLAs when type is “CHARGES” or “GLA”.

gla_percent

  • Data Type: String

  • Required Field: Yes*

  • Required Type: none or “GLA”

Notes:

Percentages to apply to each GLA. All percentages must equal exactly 100.

*only required if creating a new Billable Service when the type is not set, or if adding a new GLA when the type is “GLA”.

gla_type

  • Data Type: String

  • Required Field: Yes*

  • Required Type: none or “GLA”

Notes:

The type(s) of GLA(s).

*only required if creating a new Billable Service when the type is not set, or if adding a new GLA when the type is “GLA”.

directory

  • Data Type: Integer

  • Required Field: Yes

  • Required Type: none

Notes:

IF service_type = "phone". Designates if this Service is to be listed in the directory.

“1” for Yes, “0” for No.

report_911

  • Data Type: Integer

  • Required Field: Yes*

  • Required Type: none or “LOCATIONS”

Notes:

Designate whether the Location should be shown on the emergency 911 feed. “1” for Yes, “0” for No.

*only required if type is “LOCATIONS” or not used.

multiple_locations

  • Data Type: Integer

  • Required Field: No

  • Required Type: none

Notes:

IF service_type = "phone". Designates if this Service has multiple locations.

“1” for Yes, “0” for No.

bandwidth

  • Data Type: Integer

  • Required Field: No

  • Required Type: none

Notes:

IF service_type = "data" OR "backbone". Recid of bandwidth record.

auth_code_type

  • Data Type: Integer

  • Required Field: No

  • Required Type: none

Notes:

IF service_type = "authcode". Recid of authcode type.

service_class

  • Data Type: Integer

  • Required Field: No

  • Required Type: none

Notes:

IF service_type = "authcode". Recid of Service Class for authcode.

rating_group

  • Data Type: Integer

  • Required Field: No

  • Required Type: none

Notes:

The recid of Rating Group for the Service.

Config USE_RATING_GROUP must be set to TRUE to use this field

service_recid

  • Data Type: Integer

  • Required Field: Yes*

  • Required Type: “POOLS” or “REMARKS” or “CHARGES” or “GLA” or “CONTACTS” or “LOCATIONS” or “EQUIPMENT”

Notes:

The Services recid.

*required only if type is used.

pools

  • Data Type: String

  • Required Field: Yes

  • Required Type: “POOLS”

Notes:

One or more RECIDs of Pools. If multiple, separate with commas. Example: 23,43

remarks

  • Data Type: String

  • Required Field: Yes*

  • Required Type: none or “REMARKS”

Notes:

The Remark to add to the Service.

*not required if type is not set.

charge_recid

  • Data Type: Integer

  • Required Field: No*

  • Required Type: “CHARGES”

Notes:

The recid from the column of the CHRG_CATALOG table.

*Conditionally Required if attempting to add a new Service Charge

description

  • Data Type: String

  • Required Field: No

  • Required Type: “CHARGES”

Notes:

The details or description of the Charge.

amount

  • Data Type: Decimal

  • Required Field: No*

  • Required Type: “CHARGES”

Notes:

The amount to be charged.

*Required if the Charge does not have an amount on it.

quantity

  • Data Type: Integer

  • Required Field: No

  • Required Type: “CHARGES”

  • Default Value: 1

Notes:

The quantity of Charge to be used is only allowed if the Charge Catalog allows it.

prorate

  • Data Type: Integer

  • Required Field: No

  • Required Type: “CHARGES”

  • Default Value: 0

Notes:

Should the Charge be Prorated on the Service? “1” for Yes and “0” for No.

start_date

  • Data Type: String

  • Required Field: No

  • Required Type: “CHARGES”

Notes:

The Start Date of a Charge. YYYY-MM-DD format. Other formats may give unexpected results.

Used for Monthly Recurring Charges and Alternate Recurring Charges.

stop_date

  • Data Type: String

  • Required Field: No

  • Required Type: “CHARGES”

Notes:

YYYY-MM-DD format. Other formats may give unexpected results.

Used for Monthly Recurring Charges and Alternate Recurring Charges

recurring_date

  • Data Type: String

  • Required Field: No

  • Required Type: “CHARGES”

Notes:

YYYY-MM-DD format. Other formats may give unexpected results.

Used for Alternate Recurring Charges

transaction_date

  • Data Type: String

  • Required Field: No

  • Required Type: “CHARGES”

Notes:

YYYY-MM-DD format. Other formats may give unexpected results.

Used for Non-Recurring Charges

effective

  • Data Type: String

  • Required Field: No

  • Required Type: “CHARGES”

  • Default Value: “today”

Notes:

The effective date of a Charge being added to the Service. Either “today” or “backdate”.

udf_UDF-RECID

  • Data Type: Integer

  • Required Field: Yes*

  • Required Type: “UDF”

Notes:

UDF-RECID is the RECID of the UDF to assign the value to. RECID column from USER_DEFINED_FIELDS_VALS table. Example: udf_684=value

udf_UDF-RECID and udf_UDF-IDENTIFIER are Conditionally Required. The use of one is Required, but not both.

*only needed if type = “UDF”.

udf_UDF-IDENTIFIER

  • Data Type: Mixed

  • Required Field: Yes*

  • Required Type: “UDF”

Notes:

IDENTIFIER is the unique Identifier of the UDF to assign the value to. Example: udf_LEGACYNUM=value

udf_UDF-RECID and udf_UDF-IDENTIFIER are Conditionally Required. The use of one is Required, but not both.

*only needed if type = “UDF”.

location_status

  • Data Type: Integer

  • Required Field: Yes*

  • Required Type: “LOCATIONS”

Notes:

Status of the Location. “1” for Active and “0” for Inactive.

*only required for type = “LOCATIONS”.

filename

  • Data Type: String

  • Required Field: Yes

  • Required Type: “ATTACHMENT”

Notes:

The name of the File.

data

  • Data Type: Array

  • Required Field: Yes

  • Required Type: “ATTACHMENT”

Notes:

The base64 encoded data for the file.

New Service Example

PHP
$params = [
    "status" => "Available",
    "serv_catalog" => 1,
    "service_id" => 5558675309,
    "status_date" => "2025/08/19",
    "directory" => 1,
    "report_911" => 1
];

$api_call = $this->call('saveService', $params, true)

Add Service to Pools Example

PHP
$params = [
    "type" => "POOLS",
    "service_recid" => 1,
    "pools" => "1, 2, 3"
];

$api_call = $this->call('saveService', $params, true)

New Remark on a Service Example

PHP
$params = [
    "type" => "REMARKS",
    "service_recid" => 1,
    "remarks" => "This is a sample Remark"
];

$api_call = $this->call('saveService', $params, true)

New Service Charge Example

PHP
$params = [
    "type" => "CHARGES",
    "recid" => 1,
    "transaction_date" => "2025-09-02",
    "description" => "Sample Charge",
    "charge_recid" => 1,
    "gla" => 1
];

$api_call = $this->call('saveService', $params, true)

New Service Contact Example

PHP
$params = [
    "type" => "CONTACTS",
    "service_recid" => 1,
    "contact" => 1
];

$api_call = $this->call('saveService', $params, true)

Update Service UDF Example

PHP
$params = [
    "type" => “UDF”,
    "service_recid" => 1,
    "udf_1" => "UDF 1 Value",
    "udf_two" => "UDF 2 Value"
];
$api_call = $this->call('saveLocation', $params, true)

New Location for a Service Example

PHP
$params = [
    "type" => "LOCATIONS",
    "service_recid" => 1,
    "location_status" => 1,
    "location" => 1,
];

$api_call = $this->call('saveService', $params, true)

Add Equipment for a Service Example

PHP
$params = [
    "type" => "EQUIPMENT",
    "service_recid" => 1,
    "equipment" => "1, 2"
];

$api_call = $this->call('saveService', $params, true)

New Attachment to a Service Example

PHP
$params = [
    "type" => “ATTACHMENT”,
    "recid" => 1,
    "filename" => "File Name",
    "data" => "iVBORw0KGgoAAAANSUhEUgAAACQAAAAjCAYAAAD8BaggAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAAEnQAABJ0Ad5mH3gAAAuSSURBVFhH1ZdpUNv3mccBcyMJIYQkBBIChLgE4j7NJXHfGPCFjR1jx1d8BOLY4BsfsTEONmnS"
];

$api_call = $this->call('saveService', $params, true)