WebServer HTTPS Request Format

The HTTPS GET request should consist of a URL terminated by a question mark (?) followed by a set of key=value pairs separated by ampersands (&). (A standard POST request can also be used with appropriate formatting of the parameters).

e.g. https://www.houseonthehill.com/supisacs.isa?A=HttpApiAddCall&R=&Subject=Test

A=

  • This drives the internal action dispatch handler and will be set to different strings to achieve different actions. (String:80)
  •  Mandatory

A=HttpApiAddCall

  • Add a new call anonymously i.e. without logging in.
  • Success is indicated by a response of “OK”, an error will return an error string.
  • Unless otherwise specified all additional key=value pairs for the A=HttpApiAddCall are optional. The values in the resulting call will reflect the defaults set within SupportDesk e.g. Folder defaults for categories, assignees etc. and contact information from the appropriate customer, contact etc.

R=

  • This must be supplied as an empty value, if it is not empty or not supplied then an error will occur. (String:8)

Customer=

  • The customer reference for the call (String:16)
  • This must be a customer reference string that already exists in the database (SUPCUST table REFERENCE field)

Contact=

  • The contact name for the call (String:40)

Phone+No=

  • The phone number for the call (String:20)

E-Mail=

  • The email address for the call (String:50)

Product=

  • The product ID (Numeric String:57)
  • This must be a product identifier that already exists in the database (SUPPROD table DID field)

Type=

  • The call type category identifier (Numeric String:32)
  • This must be a valid category identifier that already exists in the database (SUPCATEG table NO field)

Subtype=

  • The call subtype category identifier (Numeric String:32)
  • This must be a valid category identifier that already exists in the database (SUPCATEG table NO field)

Priority= (or F4)

  • The call priority category identifier (Numeric String:32)
  • This must be a valid category identifier that already exists in the database (SUPCATEG table NO field)

Action= (or F32)

  • The call action category identifier (Numeric String:32)
  • This must be a valid category identifier that already exists in the database (SUPCATEG table NO field)

F3=

  • The call status category identifier (Numeric String:32)
  • This must be a valid category identifier that already exists in the database (SUPCATEG table NO field)

F15=

  • The call level category identifier (Numeric String:32)
  • This must be a valid category identifier that already exists in the database (SUPCATEG table NO field)

Assignee=

  • The call assignee tag (String:8)
  • This must be a valid login tag that already exists in the database (SUPUSERS table TAG field)

Owner =

  • The call owner tag (String:8)
  • This must be a valid login tag that already exists in the database (SUPUSERS table TAG field)

Subject=

  • The call subject text (String:370)

Description=

  • The call description, which is added as the first note to the call (String:10000)

CustOwnRef=

  • The call customer own reference field (String:16)

SerialNo=

  • The call serial number (String:40)

Submitting a Call to the API

Very simple example ASP code for submitting a call to the API where the SupportDesk WebServer is located at https://localhost/SupportDesk. The parameters to the call are hard-coded in this example, in practice they would probably be retrieved from a previous form.

<%@ Language=JavaScript %>
<html>
<head>
</head>
<body>
<%
function CallApi(strURL)
{
var strResult;
try
{
// Create the WinHTTPRequest ActiveX Object.
var WinHttpReq = new ActiveXObject(“WinHttp.WinHttpRequest.5.1”);

//  Create an HTTP request.
var temp = WinHttpReq.Open(“GET”, strURL, false);

//  Send the HTTP request.
WinHttpReq.Send();

//  Retrieve the response text.
strResult = WinHttpReq.ResponseText;

}
catch (objError)
{
strResult = objError + “\n”
strResult += “WinHTTP returned error: ” +
(objError.number & 0xFFFF).toString() + “\n\n”;
strResult += objError.description;
}

//  Return the response text.

return strResult;

}

Response.Write(CallApi(“https://localhost/SupportDesk” + “?A=HttpApiAddCall&R=&Subject=Test”));

%>
</body>
</html>

Previous