How can we help?
{{docApp.searchError}}
{{product.name}}
Searching in {{docApp.searchFilterBySpecificBookTitle}}
{{docApp.searchResultFilteredItems.length}} results for: {{docApp.currentResultsSearchText}}
in {{docApp.searchFilterBySpecificBookTitle}}
Search results have been limited. There are a total of {{docApp.searchResponse.totalResultsAvailable}} matches.
You have an odd number of " characters in your search terms - each one needs closing with a matching " character!
-
{{resultItem.title}}
{{resultItem.url}}
{{docApp.libraryHomeViewProduct.title || docApp.libraryHomeViewProduct.id}}
{{docApp.libraryHomeViewProduct.description}}
{{group.title || group.id}}
{{group.description}}
Operation Information
- Application Reference:
com.hornbill.servicemanager
- Scope:
Entity - ServiceRequests
- Class:
Entity
- Required Privilege Level:
user
- Required Rights: Group A - createServiceRequests
Description
This flowcode operation logs a Service Request using the provided parameters. Firstly it calls the component flowcode operation logRequest to actually log the service request before updating the record with any extended table details. Finally it spawns a bpm process if a service id has been provided.
Request Parameters
The logServiceRequest API takes the following input parameters. It is important to note that the parameters must satisfy the requirement of the input validation checks.
Name | Type | Required | Description |
---|---|---|---|
summary |
xs:string |
No | The service request summary. |
description |
xs:string |
No | The service request description. |
requestType |
xs:string |
No | The type of request (Service Request) |
customerId |
xs:string |
No | The customer Id (Co-worker / Contact). If the customer is a co-worker, the id will be their User ID. If the customer is a contact, the id will be the h_pk_id value of their record in the h_sys_contact table. |
customerType |
xs:string |
No | The customer type (Co-worker / Contact). 0 for a co-worker, 1 for a contact. |
ownerId |
xs:string |
No | The co-worker Id of the owner of the service request. |
teamId |
xs:string |
No | The Id of the team assigned to the Request. This is the h_id value of the record in the h_sys_groups table for the assigned team. |
status |
xs:string |
No | The status of the service request. Examples are status.new, status.open, status.resolved. When not supplied, the value "status.new" is considered. |
priorityId |
xs:string |
No | The Id of the chosen priority for the service request. By default, High (1), Medium (2), Low (3). |
categoryId |
xs:string |
No | The Id of the chosen category for the service request. |
categoryName |
xs:string |
No | The Name of the category |
image |
xs:string |
No | WebDAV path to an image (from email only). |
sourceType |
xs:string |
No | The source from where the service request was raised (e.g. Email / Post). |
sourceId |
xs:string |
No | The Id if the source object it was raised from (if Email:messageId, if Post:ActivityStreamID and ActivityID). |
assetId |
xs:string |
No | The Id(s) of all assets to be associated to the service request. |
impact |
xs:string |
No | The impact of the service request. E.g. High, Medium, Low. |
urgencyId |
xs:string |
No | The ID of the request's Urgency level |
serviceId |
xs:string |
No | The id of the selected service. This will be used to spawn a bpm process. |
questions |
xs:string |
No | Questions that were answered during progressive capture |
resolutionDetails |
xs:string |
No | The resolution details if the service request is to be raised and resolved at the same time |
fileName |
xs:string |
No | The full path for the file(s) to be attached |
siteId |
xs:string |
No | ID of the site this request is affecting |
siteName |
xs:string |
No | Name of the site this request is affecting |
catalogId |
xs:string |
No | The Catalog Id the Request was raised against |
catalogName |
xs:string |
No | The Catalog Name the Request was raised against |
externalRefNumber |
xs:string |
No | This parameter is to be set with the External Reference Number of a Request. |
bpmName |
xs:string |
No | The custom BPM Name when raising a request via a customised Service Catalog |
questionFieldMap |
xs:string |
No | Question Field Map as JSON |
senderDetails |
xs:string |
No | JSON string containing email sender details if the request is being raised via the autoresponder. |
ccDetails |
xs:string |
No | JSON string containing email cc receipient details if the request is being raised via the autoresponder. |
connectionMap |
xs:string |
No | Connection Map as JSON |
connectionUpdateTimeline |
xs:boolean |
No | Update timeline true/false |
connectionTimelineVisibility |
xs:string |
No | Visibility level of timeline updates for added connections. Timeline update visibility defaults to Team if not provided. |
employeeAssignmentUserId |
xs:string |
No | The user id of the employee assignment assigned to the Request. |
employeeAssignmentNumber |
xs:string |
No | The assignment number of the employee assignment assigned to the Request. |
Response Parameters
Name | Type | Description |
---|---|---|
requestId |
xs:string |
The Id of the new service request. |
bpmProcessId |
xs:string |
The Id of the spawned Bpm process for the new service request. |
exceptionName |
xs:string |
The name / code of any exception thrown during the creation of the service request. |
exceptionDescription |
xs:string |
A description of any exception thrown during the creation of the service request. |
summary |
xs:string |
The provided summary of the service request. |
warnings |
xs:string |
Any warnings that were encountered when logging the service request. |
Code Examples
curl -X POST 'https://api.hornbill.com/yourinstanceid/xmlmc/apps/com.hornbill.servicemanager/ServiceRequests' \
-H 'Authorization: ESP-APIKEY yourHornbillAPIKey' \
-H 'Content-Type: application/json' \
-d '{"@service":"apps/com.hornbill.servicemanager/ServiceRequests","@method":"logServiceRequest","params":{"summary":"xs:string","description":"xs:string","requestType":"xs:string","customerId":"xs:string","customerType":"xs:string","ownerId":"xs:string","teamId":"xs:string","status":"xs:string","priorityId":"xs:string","categoryId":"xs:string","categoryName":"xs:string","image":"xs:string","sourceType":"xs:string","sourceId":"xs:string","assetId":"xs:string","impact":"xs:string","urgencyId":"xs:string","serviceId":"xs:string","questions":"xs:string","resolutionDetails":"xs:string","fileName":"xs:string","siteId":"xs:string","siteName":"xs:string","catalogId":"xs:string","catalogName":"xs:string","externalRefNumber":"xs:string","bpmName":"xs:string","questionFieldMap":"xs:string","senderDetails":"xs:string","ccDetails":"xs:string","connectionMap":"xs:string","connectionUpdateTimeline":false,"connectionTimelineVisibility":"xs:string","employeeAssignmentUserId":"xs:string","employeeAssignmentNumber":"xs:string"}}'
package main
import (
"fmt"
apiLib "github.com/hornbill/goApiLib"
)
func main() {
hornbillAPI := apiLib.NewXmlmcInstance("yourinstanceid")
hornbillAPI.SetAPIKey("yourHornbillAPIKey")
hornbillAPI.SetJSONResponse(true)
hornbillAPI.SetParam("summary", "xs:string")
hornbillAPI.SetParam("description", "xs:string")
hornbillAPI.SetParam("requestType", "xs:string")
hornbillAPI.SetParam("customerId", "xs:string")
hornbillAPI.SetParam("customerType", "xs:string")
hornbillAPI.SetParam("ownerId", "xs:string")
hornbillAPI.SetParam("teamId", "xs:string")
hornbillAPI.SetParam("status", "xs:string")
hornbillAPI.SetParam("priorityId", "xs:string")
hornbillAPI.SetParam("categoryId", "xs:string")
hornbillAPI.SetParam("categoryName", "xs:string")
hornbillAPI.SetParam("image", "xs:string")
hornbillAPI.SetParam("sourceType", "xs:string")
hornbillAPI.SetParam("sourceId", "xs:string")
hornbillAPI.SetParam("assetId", "xs:string")
hornbillAPI.SetParam("impact", "xs:string")
hornbillAPI.SetParam("urgencyId", "xs:string")
hornbillAPI.SetParam("serviceId", "xs:string")
hornbillAPI.SetParam("questions", "xs:string")
hornbillAPI.SetParam("resolutionDetails", "xs:string")
hornbillAPI.SetParam("fileName", "xs:string")
hornbillAPI.SetParam("siteId", "xs:string")
hornbillAPI.SetParam("siteName", "xs:string")
hornbillAPI.SetParam("catalogId", "xs:string")
hornbillAPI.SetParam("catalogName", "xs:string")
hornbillAPI.SetParam("externalRefNumber", "xs:string")
hornbillAPI.SetParam("bpmName", "xs:string")
hornbillAPI.SetParam("questionFieldMap", "xs:string")
hornbillAPI.SetParam("senderDetails", "xs:string")
hornbillAPI.SetParam("ccDetails", "xs:string")
hornbillAPI.SetParam("connectionMap", "xs:string")
hornbillAPI.SetParam("connectionUpdateTimeline", "xs:boolean")
hornbillAPI.SetParam("connectionTimelineVisibility", "xs:string")
hornbillAPI.SetParam("employeeAssignmentUserId", "xs:string")
hornbillAPI.SetParam("employeeAssignmentNumber", "xs:string")
responseBody, apiError := hornbillAPI.Invoke("apps/com.hornbill.servicemanager/ServiceRequests", "logServiceRequest")
if apiError != nil {
fmt.Println(apiError)
return
}
fmt.Println(responseBody)
}
const endpoint = "https://api.hornbill.com/yourinstanceid/xmlmc/apps/com.hornbill.servicemanager/ServiceRequests";
const payload = {
"@service": "apps/com.hornbill.servicemanager/ServiceRequests",
"@method": "logServiceRequest",
"params": {
"summary": "xs:string",
"description": "xs:string",
"requestType": "xs:string",
"customerId": "xs:string",
"customerType": "xs:string",
"ownerId": "xs:string",
"teamId": "xs:string",
"status": "xs:string",
"priorityId": "xs:string",
"categoryId": "xs:string",
"categoryName": "xs:string",
"image": "xs:string",
"sourceType": "xs:string",
"sourceId": "xs:string",
"assetId": "xs:string",
"impact": "xs:string",
"urgencyId": "xs:string",
"serviceId": "xs:string",
"questions": "xs:string",
"resolutionDetails": "xs:string",
"fileName": "xs:string",
"siteId": "xs:string",
"siteName": "xs:string",
"catalogId": "xs:string",
"catalogName": "xs:string",
"externalRefNumber": "xs:string",
"bpmName": "xs:string",
"questionFieldMap": "xs:string",
"senderDetails": "xs:string",
"ccDetails": "xs:string",
"connectionMap": "xs:string",
"connectionUpdateTimeline": false,
"connectionTimelineVisibility": "xs:string",
"employeeAssignmentUserId": "xs:string",
"employeeAssignmentNumber": "xs:string"
}
};
fetch(endpoint, {
method: 'POST',
headers: {
"Authorization": "ESP-APIKEY yourHornbillAPIKey"
},
body: JSON.stringify(payload)
}).then(res => res.json())
.then(res => console.log(res));
const axios = require('axios');
const endpoint = "https://api.hornbill.com/yourinstanceid/xmlmc/apps/com.hornbill.servicemanager/ServiceRequests";
const payload = {
"@service": "apps/com.hornbill.servicemanager/ServiceRequests",
"@method": "logServiceRequest",
"params": {
"summary": "xs:string",
"description": "xs:string",
"requestType": "xs:string",
"customerId": "xs:string",
"customerType": "xs:string",
"ownerId": "xs:string",
"teamId": "xs:string",
"status": "xs:string",
"priorityId": "xs:string",
"categoryId": "xs:string",
"categoryName": "xs:string",
"image": "xs:string",
"sourceType": "xs:string",
"sourceId": "xs:string",
"assetId": "xs:string",
"impact": "xs:string",
"urgencyId": "xs:string",
"serviceId": "xs:string",
"questions": "xs:string",
"resolutionDetails": "xs:string",
"fileName": "xs:string",
"siteId": "xs:string",
"siteName": "xs:string",
"catalogId": "xs:string",
"catalogName": "xs:string",
"externalRefNumber": "xs:string",
"bpmName": "xs:string",
"questionFieldMap": "xs:string",
"senderDetails": "xs:string",
"ccDetails": "xs:string",
"connectionMap": "xs:string",
"connectionUpdateTimeline": false,
"connectionTimelineVisibility": "xs:string",
"employeeAssignmentUserId": "xs:string",
"employeeAssignmentNumber": "xs:string"
}
};
const axiosConfig = {
headers: {
"Authorization": "ESP-APIKEY yourHornbillAPIKey"
}
};
axios.post(endpoint, payload, axiosConfig)
.then((res) => {
console.log("RESPONSE RECEIVED: ", res);
})
.catch((err) => {
console.log("AXIOS ERROR: ", err);
})
$endpoint = "https://api.hornbill.com/yourinstanceid/xmlmc/apps/com.hornbill.servicemanager/ServiceRequests";
$payload = (object) [
'@service' => 'apps/com.hornbill.servicemanager/ServiceRequests',
'@method' => 'logServiceRequest',
'params' => (object) [
'summary' => 'xs:string',
'description' => 'xs:string',
'requestType' => 'xs:string',
'customerId' => 'xs:string',
'customerType' => 'xs:string',
'ownerId' => 'xs:string',
'teamId' => 'xs:string',
'status' => 'xs:string',
'priorityId' => 'xs:string',
'categoryId' => 'xs:string',
'categoryName' => 'xs:string',
'image' => 'xs:string',
'sourceType' => 'xs:string',
'sourceId' => 'xs:string',
'assetId' => 'xs:string',
'impact' => 'xs:string',
'urgencyId' => 'xs:string',
'serviceId' => 'xs:string',
'questions' => 'xs:string',
'resolutionDetails' => 'xs:string',
'fileName' => 'xs:string',
'siteId' => 'xs:string',
'siteName' => 'xs:string',
'catalogId' => 'xs:string',
'catalogName' => 'xs:string',
'externalRefNumber' => 'xs:string',
'bpmName' => 'xs:string',
'questionFieldMap' => 'xs:string',
'senderDetails' => 'xs:string',
'ccDetails' => 'xs:string',
'connectionMap' => 'xs:string',
'connectionUpdateTimeline' => 'xs:boolean',
'connectionTimelineVisibility' => 'xs:string',
'employeeAssignmentUserId' => 'xs:string',
'employeeAssignmentNumber' => 'xs:string',
]
];
$headers = [
'Authorization: ESP-APIKEY yourHornbillAPIKey',
'Content-Type: application/json'
];
$curl = curl_init($url);
curl_setopt($curl, CURLOPT_URL, $endpoint);
curl_setopt($curl, CURLOPT_POST, true);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_POSTFIELDS, json_encode($payload));
curl_setopt($curl, CURLOPT_HTTPHEADER, $headers);
$resp = curl_exec($curl);
curl_close($curl);
echo $resp;
$Endpoint = "https://api.hornbill.com/yourinstanceid/xmlmc/apps/com.hornbill.servicemanager/ServiceRequests"
$Body = @{
"@service" = "apps/com.hornbill.servicemanager/ServiceRequests"
"@method" = "logServiceRequest"
params = @{
summary = "xs:string"
description = "xs:string"
requestType = "xs:string"
customerId = "xs:string"
customerType = "xs:string"
ownerId = "xs:string"
teamId = "xs:string"
status = "xs:string"
priorityId = "xs:string"
categoryId = "xs:string"
categoryName = "xs:string"
image = "xs:string"
sourceType = "xs:string"
sourceId = "xs:string"
assetId = "xs:string"
impact = "xs:string"
urgencyId = "xs:string"
serviceId = "xs:string"
questions = "xs:string"
resolutionDetails = "xs:string"
fileName = "xs:string"
siteId = "xs:string"
siteName = "xs:string"
catalogId = "xs:string"
catalogName = "xs:string"
externalRefNumber = "xs:string"
bpmName = "xs:string"
questionFieldMap = "xs:string"
senderDetails = "xs:string"
ccDetails = "xs:string"
connectionMap = "xs:string"
connectionUpdateTimeline = "xs:boolean"
connectionTimelineVisibility = "xs:string"
employeeAssignmentUserId = "xs:string"
employeeAssignmentNumber = "xs:string"
}
}
$Header = @{
"Authorization" = "ESP-APIKEY yourHornbillAPIKey"
}
$Parameters = @{
Method = "POST"
Uri = $Endpoint
Headers = $Header
Body = ($Body | ConvertTo-Json)
ContentType = "application/json"
}
Invoke-RestMethod @Parameters
import requests
import json
endpoint = "https://api.hornbill.com/yourinstanceid/xmlmc/apps/com.hornbill.servicemanager/ServiceRequests"
headers = {
"Authorization": "ESP-APIKEY yourHornbillAPIKey"
}
payload={
"@service":"apps/com.hornbill.servicemanager/ServiceRequests",
"@method":"logServiceRequest",
"params":{
"summary":"xs:string",
"description":"xs:string",
"requestType":"xs:string",
"customerId":"xs:string",
"customerType":"xs:string",
"ownerId":"xs:string",
"teamId":"xs:string",
"status":"xs:string",
"priorityId":"xs:string",
"categoryId":"xs:string",
"categoryName":"xs:string",
"image":"xs:string",
"sourceType":"xs:string",
"sourceId":"xs:string",
"assetId":"xs:string",
"impact":"xs:string",
"urgencyId":"xs:string",
"serviceId":"xs:string",
"questions":"xs:string",
"resolutionDetails":"xs:string",
"fileName":"xs:string",
"siteId":"xs:string",
"siteName":"xs:string",
"catalogId":"xs:string",
"catalogName":"xs:string",
"externalRefNumber":"xs:string",
"bpmName":"xs:string",
"questionFieldMap":"xs:string",
"senderDetails":"xs:string",
"ccDetails":"xs:string",
"connectionMap":"xs:string",
"connectionUpdateTimeline":"xs:boolean",
"connectionTimelineVisibility":"xs:string",
"employeeAssignmentUserId":"xs:string",
"employeeAssignmentNumber":"xs:string",
},
}
response = requests.request("POST", endpoint, json=payload, headers=headers)
print(response.text)
- Version {{docApp.book.version}}
- Node {{docApp.node}} / {{docApp.build}}
In This Document