# 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"` `}` |
`var` `request = ``new` `XMLHttpRequest();` `request.open(``'POST'``, ``'https://controller.operationscommander.io/api/OC-TOMA/v1/permits/push'``);` `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));` |
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](http://php.net/manual/en/function.date.php) |
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](http://php.net/manual/en/function.date.php) |
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. |
`{` ` ``"status"``: ``"success"``,` ` ``"reference_id"``: ``"1a9b5375-cb75-4c71-9939-eeae550b09ac"``,` ` ``"InternalReferenceID"``: ``"1a9b5375-cb75-4c71-9939-eeae550b09ac"` `}` |