Permits API
Pull API: Permit Stats
The OPSCOM Controller provides a simple JSON based API to integrate with. Clients use this API to gather stats on permits pushed into OPSCOM.
API access is a paid feature and must be granted by OPSCOM. Email your Account Executive to negotiate access.
Making API Requests
Make sure you set the HTTP Content-Type header to be application/json.
Raw Request:
POST /api/OC-TOMA/v1/permits/stats HTTP/1.1Host: controller.operationscommander.ioAccept: application/jsonContent-Type: application/jsonCache-Control: no-cache{ "apiToken": "YOUR-API-TOKEN", "zones": "NOT-REQUIRED--LIST-OF-ZONES"}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", "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
API access is a paid feature and must be granted by OPSCOM. Email your Account Executive to negotiate access.
The OPSCOM 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 OPSCOM 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.1Host: controller.operationscommander.ioAccept: application/jsonContent-Type: application/jsonCache-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
API access is a paid feature and must be granted by OPSCOM. Email your Account Executive to negotiate access.
The OPSCOM Controller provides a simple JSON based API to integrate with. Clients use this API to directly feed paid permit details into OPSCOM from other systems such as Parking Meters. Any permit types whether Validator, Temporary or Standard can be feed to OPSCOM 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.1Host: controller.operationscommander.ioAccept: application/jsonContent-Type: application/jsonCache-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
API access is a paid feature and must be granted by OPSCOM. Email your Account Executive to negotiate access.
The OPSCOM Controller provides a simple JSON based API to integrate with. Clients use this API to directly feed paid permit details into OPSCOM 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.1Host: controller.operationscommander.ioAccept: application/jsonContent-Type: application/jsonCache-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"} |