Permits API

Pull API: Permit Stats

The OPS-COM Controller provides a simple JSON based API to integrate with. Clients use this API to gather stats on permits pushed into OPS-COM.

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

Making API Requests          

Raw Request:

POST /api/OC-TOMA/v1/permits/stats HTTP/1.1
Host: controller.operationscommander.io
Accept: application/json
Content-Type: application/json
Cache-Control: no-cache
 
{
    "apiToken": "YOUR-API-TOKEN",
    "zones": "NOT-REQUIRED--LIST-OF-ZONES"
}

JavaScript Request

var request = new XMLHttpRequest();
 
request.open('POST''https://controller.operationscommander.io/api/OC-TOMA/v1/permits/stats');
 
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",
    "zones""Lot 01,Lot 02"
}
request.send(JSON.stringify(body));

Request Object Attributes

Attribute
Type

Limits

Possible Names
Description
apiToken String

50-character alphanumeric including dashes

apiToken (Required) Your supplied API Token.

zones

String Listed zones match zone names in database

zones

(Not Required) Comma delimited list of zones

e.g. zone1,zone2,Lot 03,Red Lot,Street parking

Successful Response

The response will be a json object. The same reference id will be returned.

Content-Type: application/json

{
    "data": [
        {
            "type""standard",
            "zone""zone1",
            "total""4"
        },
        {
            "type""temp",
            "zone""zone1",
            "total""35"
        },
   :
   :
}

Push API: Permit Delete

The OPS-COM Controller provides a simple JSON based API to integrate with. Clients use this API to directly feed details about existing paid permits and their changes into OPS-COM from other systems such as Parking apps.  

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

Making API Requests

Raw Request:

POST /api/OC-TOMA/v1/permits/delete HTTP/1.1
Host: controller.operationscommander.io
Accept: application/json
Content-Type: application/json
Cache-Control: no-cache
 
{
    "apiToken": "YOUR-API-TOKEN",
    "referenceID": "PREVIOUS-REFERENCE-ID"
}

JavaScript Request:

var request = new XMLHttpRequest();
 
 
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",
    "referenceID""PREVIOUS-REFERENCE-ID"
}
request.send(JSON.stringify(body));

Request Object Attributes

Attribute Type

Limits

Possible Names
Description
apiToken String

50-character alphanumeric including dashes

apiToken (Required) Your supplied API Token.

Reference ID

String 50-character alphanumeric including dashes

referenceid

referenceID

reference_id

(Required) This value is supplied to when the permit push api is successful.

e.g. 1a9b5375-cb75-4c71-9939-eeae550b09ac

Successful Response

The response will be a json object. The same reference id will be returned.

Content-Type: application/json

{
    "status""success",
    "reference_id""1a9b5375-cb75-4c71-9939-eeae550b09ac",
    "InternalReferenceID""1a9b5375-cb75-4c71-9939-eeae550b09ac"
}

Push API: Permit Create

The OPS-COM Controller provides a simple JSON based API to integrate with. Clients use this API to directly feed paid permit details into OPS-COM from other systems such as Parking Meters.  Any permit types whether Validator, Temporary or Standard can be feed to OPS-COM using this API

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

Making API Requests

Raw Request:

POST /api/OC-TOMA/v1/permits/push HTTP/1.1
Host: controller.operationscommander.io
Accept: application/json
Content-Type: application/json
Cache-Control: no-cache
 
{
    "apiToken": "YOUR-API-TOKEN",
    "Amount": "14.50",
    "CurrencyID": "CAD",
    "LicencePlate": "PL8RDR",
    "zone": "Lot 4",
    "permitNo": "L4-1138",
    "startTime": "2018-07-02T09:00:00",
    "endTime": "2018-07-02T09:30:00"
}

JavaScript Request:

var request = new XMLHttpRequest();
 
 
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",
    "Amount""14.50",
    "CurrencyID""CAD",
    "LicencePlate""PL8RDR",
    "zone""Lot 4",
    "permitNo""L4-1138",
    "startTime""2018-07-02T09:00:00",
    "endTime""2018-07-02T09:30:00"
}
request.send(JSON.stringify(body));

Request Object Attributes

Attribute Type Limits Possible Names Description
apiToken String

50-character alphanumeric including dashes

apiToken (Required) Your supplied API Token.
Amount String 9-character decimal

amount

Amount

(Optional) Transaction amount This must contain at least 3 digits, two of which are penny values.

The minimum allowable value is $0.01, and the maximum allowable value is $999999.99.

Currency String 10-characters

currency

CurrencyID

(Optional) CAD, USD

Start Date

String

20-characters

Y-m-d\TH:i:s format.

startTime

StartDateUtc

(Required) Must be in the format of Y-m-d\TH:i:s

e.g. 2000-05-30T14:38:22

For formatting help, see PHP Date Formatting

End Date String

20-characters

Y-m-d\TH:i:s format.

endTime

EndDateUtc

(Required) Must be in the format of Y-m-d\TH:i:s

e.g. 2000-05-30T14:38:22

For formatting help, see PHP Date Formatting

License Plate String 25-characters

plate

LicencePlate

(Required) The plate of the vehicle.
Ticket Number String 50-characters

permitNo

TicketNumber

(Optional)
Zone Name String 200-characters

zone

ParkingZoneName

(Optional) If the zone does not match a zone in our system, it will be a disconnected record and may not report properly.

Successful Response

The response will be a json object. 

Content-Type: application/json

{
    "status""success",
    "reference_id""1a9b5375-cb75-4c71-9939-eeae550b09ac",
    "InternalReferenceID""1a9b5375-cb75-4c71-9939-eeae550b09ac"
}

Push API: Permit Update

The OPS-COM Controller provides a simple JSON based API to integrate with. Clients use this API to directly feed paid permit details into OPS-COM from other systems such as Parking Apps.  

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

Making API Requests

Raw Request:

POST /api/OC-TOMA/v1/permits/update HTTP/1.1
Host: controller.operationscommander.io
Accept: application/json
Content-Type: application/json
Cache-Control: no-cache
 
{
    "apiToken": "YOUR-API-TOKEN",
    "referenceID": "PREVIOUS-REFERENCE-ID",
    "plate": "PL8RDR",
    "Amount": "14.50",
    "currency": "CAD",
    "endTime": "2018-07-02T09:30:00"
}

JavaScript Request:

var request = new XMLHttpRequest();
 
 
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",
    "referenceID""PREVIOUS-REFERENCE-ID",
    "plate""PL8RDR",
    "Amount""14.50",
    "currency""CAD",
    "endTime""2018-07-02T09:30:00"
}
request.send(JSON.stringify(body));

Request Object Attributes

Attribute Type Limits Possible Names Description
apiToken String

50-character alphanumeric including dashes

apiToken (Required) Your supplied API Token.

Reference ID

String 50-character alphanumeric including dashes

referenceid

referenceID

reference_id

(Required) This value is supplied to when the permit push api is successful.

e.g. 1a9b5375-cb75-4c71-9939-eeae550b09ac

End Date String

20-characters

Y-m-d\TH:i:s format.

endTime

EndDateUtc

(Optional) Must be in the format of Y-m-d\TH:i:s

e.g. 2000-05-30T14:38:22

For formatting help, see PHP Date Formatting

License Plate String 25-characters

plate

LicencePlate

(Optional) The plate of the vehicle.
Amount String 9-character decimal

amount

Amount

(Optional) Transaction amount This must contain at least 3 digits, two of which are penny values.

The minimum allowable value is $0.01, and the maximum allowable value is $999999.99.

Currency String 10-characters

currency

CurrencyID

(Optional) CAD, USD

Successful Response

The response will be a json object. The same reference id will be returned.

Content-Type: application/json

{
    "status""success",
    "reference_id""1a9b5375-cb75-4c71-9939-eeae550b09ac",
    "InternalReferenceID""1a9b5375-cb75-4c71-9939-eeae550b09ac"
}