INDEX
Documentation Library
Search for information on Hornbill Documentation.
{{docApp.searchError}}
{{docApp.searchResultFilteredItems.length}} results for "{{docApp.currentResultsSearchText}}" in {{docApp.searchFilterBySpecificBookTitle}}
-
{{resultItem.title}}
{{resultItem.url}}
Have questions about this site?
What is this site?
- This website is Hornbill's new product documentation website and is currently under development.
- It is intended that all existing and future public-facing documentation we produce will be available to search, browse and share.
- Hornbill's current documentation is available at Hornbill Wiki but over time this content will be migrated to this documentation site.
- Please feel free to have a look around at any time.
Why has Hornbill created this site?
- Hornbill's products have moved on considerably since we introduced it almost 10 years ago. At the time, the MediaWiki tool was sufficient, but we have outgrown it.
- Our customers are more enterprise focused and more self-sufficient than ever before, so for 2023 and beyond we have established a new documentation platform and team to drive our documentation initiative forwards.
- We are aiming to deprecate the use of Hornbill Wiki for most Hornbill related documentation.
- We want to enable our growing partner network with product resources and information, documentation beyond our Wiki approach is required.
- We could definitely do with some help, and may even pay for some! If you have domain knowledge and would like to help, please check out our Hornbill Docs Contributor Guide and contact the Hornbill docs team at docs@hornbill.com.
What will this site be good for?
- Community contribution will be facilitated, encouraged, and most welcome.
- High quality documentation, will be kept up to date as rapidly as our products evolve.
- Real-time content search and discovery.
- Articles organized into books, books into libraries, creating a more natural and logical structure to our documentation.
- Legacy API documentation and various other documentation sources will all be consolidated into a single unified documentation system.
- Documentation available in browser as well as printable/viewable as PDF on demand.
- Personalized documentation experience, allowing dark/light mode, article subscriptions, social media sharing and other useful features.
- Almost all publicly available documentation on docs.hornbill.com will be open-source and available to fork on GitHub, allowing customers to derive their own custom documentation around Hornbill products should they wish to.
What is the timeline for this site?
- We have taken the decision to publish and make available early, there is very little content at this time.
- As and when we have completed/usable documentation, it will be published here.
- We have a host of additional features we wish to add over time, so please watch this space.
- We expect most of our existing documentation should be reviewed/migrated to docs.hornbill.com over the coming months.
- The documentation project will be ongoing, will continue to expand, evolve and improve day-by-day.
{{docApp.libraryHomeViewProduct.title || docApp.libraryHomeViewProduct.id}}
{{docApp.libraryHomeViewProduct.description}}
{{group.title || group.id}}
{{group.description}}
Operation Information
- Application Reference:
com.hornbill.servicemanager
- Scope:
Entity - Requests
- Class:
Entity
- Required Privilege Level:
guest
- Required Rights: none
Description
This operation creates a new Request using the supplied information.
Request Parameters
The logRequest 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 | This parameter can be set with the Request's summary. |
description |
xs:string |
No | This parameter can be set with the Request's description. |
requestType |
xs:string |
Yes | This parameter must be set with the Request's type. The options are Incident, Service Request, Problem, Known Error, Change Request or Release. |
customerId |
xs:string |
No | This parameter can be set with the Id of the Request's customer. When the customer is a Co-worker, supply their User Id. When the customer is a Contact, supply their record Id (value in h_pk_id of h_sys_contacts table). |
customerType |
xs:int |
No | This parameter can be set with the type of Request's customer. When the customer is a Co-worker, supply 0. When the customer is a Contact, supply 1. This option should only be supplied when 'customerId' parameter is set. |
ownerId |
xs:string |
No | This parameter can be set with the Id of the Request's owner. When the customer is a Co-worker, supply their User Id. When the customer is a Contact, supply their record Id (value in h_pk_id of h_sys_contacts table). |
teamId |
xs:string |
No | This parameter can be set with the Id of the Request's team. |
status |
xs:string |
No | This parameter can be set with the Request's status. The options are status.new, status.open, status.onHold, status.resolved, status.closed, status.cancelled or status.reopened. |
priorityId |
xs:string |
No | This parameter can be set with the Id of the Request's priority. Refer to the value in h_pk_priorityid of h_itsm_priority table for the Id of a priority. |
categoryId |
xs:string |
No | This parameter can be set with the Id of the Request's category. |
categoryName |
xs:string |
No | This parameter can be set with the display name of the Request's category. This option should only be supplied when 'categoryId' parameter is set. |
image |
xs:string |
No | This parameter can be set with the path of an image. This option is only applicable to Requests that are raised from an email. |
sourceType |
xs:string |
No | This parameter can be set with the type of the Request's source. The options are Email, Autoresponder, Analyst, Request, Self Service, Guest Access or Chat. |
sourceId |
xs:string |
No | This parameter can be set with the Id of the Request's source. For example, when 'sourceType' parameter is set to Analyst, this option should be set with the Id of the Co-worker who is raising the Request. This option should only be supplied when 'sourceId' parameter is set. |
impactId |
xs:string |
No | The ID of the request's impact level |
impact |
xs:string |
No | THIS PARAMETER IS NOW DEPRECATED. |
urgencyId |
xs:string |
No | The ID of the request's urgency level |
urgency |
xs:string |
No | THIS PARAMETER IS NOW DEPRECATED. |
serviceId |
xs:string |
No | This parameter can be set with the Id of the Request's service. Please note that the Request's BPM will not be spawned by this operation. You may use logRequestBPM operation or alternatively, create a Request using the log operation under each Request type (E.g. For Incidents, use Incidents::fc_ops::logIncident operation). |
questions |
xs:string |
No | This parameter is set with the Progressive Capture data for the Request. This is supplied as a JSON Object in form of a String. |
resolutionDetails |
xs:string |
No | This parameter can be set with the resolution text that will be used when resolving the Request. |
siteId |
xs:int |
No | This parameter can be set with the Id of the site that is associated to the Request. |
siteName |
xs:string |
No | This parameter can be set with the name of the site that is associated to the Request. This option should only be supplied if 'siteId' parameter is set. |
catalogId |
xs:string |
No | This parameter can be set with the Id of the Request's catalog. This option should only be supplied if 'serviceId' parameter is set. |
catalogName |
xs:string |
No | This parameter can be set with the name of the Request's catalog. This option should only be supplied if 'catalogId' and 'serviceId' parameters are set. |
externalRefNumber |
xs:string |
No | This parameter can be set with the Request's external reference number. |
questionFieldMap |
xs:string |
No | This parameter can be set with the data for mapping Progressive Capture answers to Request fields. This is supplied as a JSON Object in form of a String. |
senderDetails |
xs:string |
No | This parameter can be set with the details of the email sender when a Request is raised via the Autoresponder. |
ccDetails |
xs:string |
No | This parameter can be set with the details of the email cc recipient when a Request is raised via the Autoresponder. |
Response Parameters
Name | Type | Description |
---|---|---|
requestId |
xs:string |
This parameter is set with the Id of the Request created. |
bpmProcessId |
xs:string |
This parameter is set with the Id of the Request's BPM instance. |
exceptionName |
xs:string |
This parameter is set with any validation errors. |
exceptionDescription |
xs:string |
THIS PARAMETER IS NOW DEPRECATED. |
summary |
xs:string |
This parameter is set with the summary of the Request created. |
Code Examples
curl -X POST 'https://api.hornbill.com/yourinstanceid/xmlmc/apps/com.hornbill.servicemanager/Requests' \
-H 'Authorization: ESP-APIKEY yourHornbillAPIKey' \
-H 'Content-Type: application/json' \
-d '{"@service":"apps/com.hornbill.servicemanager/Requests","@method":"logRequest","params":{"summary":"xs:string","description":"xs:string","requestType":"xs:string","customerId":"xs:string","customerType":1,"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","impactId":"xs:string","impact":"xs:string","urgencyId":"xs:string","urgency":"xs:string","serviceId":"xs:string","questions":"xs:string","resolutionDetails":"xs:string","siteId":1,"siteName":"xs:string","catalogId":"xs:string","catalogName":"xs:string","externalRefNumber":"xs:string","questionFieldMap":"xs:string","senderDetails":"xs:string","ccDetails":"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:int")
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("impactId", "xs:string")
hornbillAPI.SetParam("impact", "xs:string")
hornbillAPI.SetParam("urgencyId", "xs:string")
hornbillAPI.SetParam("urgency", "xs:string")
hornbillAPI.SetParam("serviceId", "xs:string")
hornbillAPI.SetParam("questions", "xs:string")
hornbillAPI.SetParam("resolutionDetails", "xs:string")
hornbillAPI.SetParam("siteId", "xs:int")
hornbillAPI.SetParam("siteName", "xs:string")
hornbillAPI.SetParam("catalogId", "xs:string")
hornbillAPI.SetParam("catalogName", "xs:string")
hornbillAPI.SetParam("externalRefNumber", "xs:string")
hornbillAPI.SetParam("questionFieldMap", "xs:string")
hornbillAPI.SetParam("senderDetails", "xs:string")
hornbillAPI.SetParam("ccDetails", "xs:string")
responseBody, apiError := hornbillAPI.Invoke("apps/com.hornbill.servicemanager/Requests", "logRequest")
if apiError != nil {
fmt.Println(apiError)
return
}
fmt.Println(responseBody)
}
const endpoint = "https://api.hornbill.com/yourinstanceid/xmlmc/apps/com.hornbill.servicemanager/Requests";
const payload = {
"@service": "apps/com.hornbill.servicemanager/Requests",
"@method": "logRequest",
"params": {
"summary": "xs:string",
"description": "xs:string",
"requestType": "xs:string",
"customerId": "xs:string",
"customerType": 1,
"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",
"impactId": "xs:string",
"impact": "xs:string",
"urgencyId": "xs:string",
"urgency": "xs:string",
"serviceId": "xs:string",
"questions": "xs:string",
"resolutionDetails": "xs:string",
"siteId": 1,
"siteName": "xs:string",
"catalogId": "xs:string",
"catalogName": "xs:string",
"externalRefNumber": "xs:string",
"questionFieldMap": "xs:string",
"senderDetails": "xs:string",
"ccDetails": "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/Requests";
const payload = {
"@service": "apps/com.hornbill.servicemanager/Requests",
"@method": "logRequest",
"params": {
"summary": "xs:string",
"description": "xs:string",
"requestType": "xs:string",
"customerId": "xs:string",
"customerType": 1,
"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",
"impactId": "xs:string",
"impact": "xs:string",
"urgencyId": "xs:string",
"urgency": "xs:string",
"serviceId": "xs:string",
"questions": "xs:string",
"resolutionDetails": "xs:string",
"siteId": 1,
"siteName": "xs:string",
"catalogId": "xs:string",
"catalogName": "xs:string",
"externalRefNumber": "xs:string",
"questionFieldMap": "xs:string",
"senderDetails": "xs:string",
"ccDetails": "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/Requests";
$payload = (object) [
'@service' => 'apps/com.hornbill.servicemanager/Requests',
'@method' => 'logRequest',
'params' => (object) [
'summary' => 'xs:string',
'description' => 'xs:string',
'requestType' => 'xs:string',
'customerId' => 'xs:string',
'customerType' => 'xs:int',
'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',
'impactId' => 'xs:string',
'impact' => 'xs:string',
'urgencyId' => 'xs:string',
'urgency' => 'xs:string',
'serviceId' => 'xs:string',
'questions' => 'xs:string',
'resolutionDetails' => 'xs:string',
'siteId' => 'xs:int',
'siteName' => 'xs:string',
'catalogId' => 'xs:string',
'catalogName' => 'xs:string',
'externalRefNumber' => 'xs:string',
'questionFieldMap' => 'xs:string',
'senderDetails' => 'xs:string',
'ccDetails' => '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/Requests"
$Body = @{
"@service" = "apps/com.hornbill.servicemanager/Requests"
"@method" = "logRequest"
params = @{
summary = "xs:string"
description = "xs:string"
requestType = "xs:string"
customerId = "xs:string"
customerType = "xs:int"
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"
impactId = "xs:string"
impact = "xs:string"
urgencyId = "xs:string"
urgency = "xs:string"
serviceId = "xs:string"
questions = "xs:string"
resolutionDetails = "xs:string"
siteId = "xs:int"
siteName = "xs:string"
catalogId = "xs:string"
catalogName = "xs:string"
externalRefNumber = "xs:string"
questionFieldMap = "xs:string"
senderDetails = "xs:string"
ccDetails = "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/Requests"
headers = {
"Authorization": "ESP-APIKEY yourHornbillAPIKey"
}
payload={
"@service":"apps/com.hornbill.servicemanager/Requests",
"@method":"logRequest",
"params":{
"summary":"xs:string",
"description":"xs:string",
"requestType":"xs:string",
"customerId":"xs:string",
"customerType":"xs:int",
"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",
"impactId":"xs:string",
"impact":"xs:string",
"urgencyId":"xs:string",
"urgency":"xs:string",
"serviceId":"xs:string",
"questions":"xs:string",
"resolutionDetails":"xs:string",
"siteId":"xs:int",
"siteName":"xs:string",
"catalogId":"xs:string",
"catalogName":"xs:string",
"externalRefNumber":"xs:string",
"questionFieldMap":"xs:string",
"senderDetails":"xs:string",
"ccDetails":"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