Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.


Info
iconfalse

Use this API to obtain details related to a plate.  Plate details include permits, alerts and DNTT status.

Table of Contents




Note

Make sure you set the HTTP Content-Type header to be application/json.


Section
bordertrue

Making API Requests

Column
width50%

Raw Request

Code Block
languagetext
themeMidnight
POST /api/<client>/v1/validate/plate/<plate> HTTP/1.1
Host: service.ops-com.com
Accept: application/json
Content-Type: application/json
Cache-Control: no-cache

{
	"apiToken": "YOUR-API-TOKEN",
	"client": "<client ID>",
	"plate": "<plate to validate>"
}



Column
width50%

JavaScript Request

Code Block
languagejs
themeMidnight
var request = new XMLHttpRequest();
var client
=
'<client>';
var plate = '<plate>';

request.open('POST', 'https://service.ops-com.com/api/'+client+'/v1/validate/plate/'+plate);

request.setRequestHeader('Content-Type', 'application/json');
request.setRequestHeader('Accept', 'application/json');

request.onreadystatechange = function () {
  if (this.readyState === 4) {
    console.log('Status:', this.status);
    console.log('Headers:', this.getAllResponseHeaders());
    console.log('Body:', this.responseText);
  }
};


var body = {
	"apiToken": "YOUR-API-TOKEN",
	"client": "<client ID>",
	"plate": "<plate to validate>"
}
request.send(JSON.stringify(body));



Request Object Attributes

AttributeTypeLimitsPossible NamesDescription
apiTokenString

50-character alphanumeric including dashes.

apiToken(Required)Your supplied API Token.
<client>clientStringclient identifier
Required
<plate>plateStringvehicle plate
Required



Successful Response

The response will be a json object. 

Content-Type: application/json

Code Block
languagejs
themeMidnight
/*
    The below response is a merged example of different fields that may be in the response.
	- type response may be "standard" or "temp"

	An empty response (no permits, alarms or DNTT) will result in an empty JSON bundle:
	{
		"response": "",
		"plate": "ABC123",
		"responseJSON": {}
	}
*/
{
	"response": "standard: Faculty/Staff Permit\n Expires: 2099-06-01 23:59:59\n\nDNTT: Main Campus\n2024-11-15 00:00:00-2024-11-15 23:59:00 \nCLEAR FOR ANY PAY AREA\n\nALARM: Wanted to talk with.\n\n",
	"plate": "ABC123",
	"responseJSON": {
		"expires": "2099-06-01 23:59:59",
		"active": "1",
		"type": "standard",
		"shortName": "Faculty/Staff Permit"

	 	"dntt": [{
			"notes": "CLEAR FOR ANY PAY AREA",
			"start": "2024-11-15 00:00:00",
			"location": "Main Campus",
			"end": "2024-11-15 23:59:00"
		}],

		"alarm":"Wanted to talk with."
	}
}


Related Pages

Filter by label (Content by label)
showLabelsfalse
showSpacefalse
sorttitle
cqllabel = "apis" and space = currentSpace ( )


Show if
special@authenticated


Support Agent Notes

In order for a client to use this, they would have to have paid for the right to integrate with OPS-COM, been issued an API Key and had their integration validated by testing with us.




Client Setup

There is some setup related to getting clients to use the API. First, they must have an API token that exists on the API token table.
They then have to have an api_permission record that lists what kind of permission the token can have. 

The permission needed for this api request is