Versions Compared

Key

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


Info
iconfalse

The OPS-COM Controller provides a simple JSON based API to integrate with. Clients use this API to obtain a list of the current profile user types in their system.

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/OC_TOMA/v1/profiles/push HTTP/1.1
Host: controller.operationscommander.com
Accept: application/json
Content-Type: application/json
Cache-Control: no-cache

{
	"apiToken": "YOUR-API-TOKEN",
	"unique_id": "tester23", 
	"login_source": "OPSCOM", 
	"first_name":"firstname",
	"last_name":"lastname",
	"user_name":"username",
	"email":"test@test.com",
	"street":"123 Main Street, 123 Main Street,123 Main Street,123 Main Street,123 Main Street,123 Main Street",
	"city":"Everywhere",
	"province":"bc",
	"state":"NY",
	"postal_code":"HOHOHO",
	"zip":"12345-1212",
	"phone_cell":"613-555-1212",
	"user_type_id":"6",
	"employ_no":"employee number: default",
	"employee_phone":"emp ph. klondike 555",
	"student_no":"SN 543209854",
	"student_phone":"999",
	"driver_licence_num":"QC 99999999",
	"driver_license_num":"NYNY",
	"date_of_birth":"1901-01-31",
	"locker_user_type_id":"3",
	"driver_licence_prov":"BC", 
	"driver_license_state":"CA"
}



Column
width50%

JavaScript Request

Code Block
languagejs
themeMidnight
var request = new XMLHttpRequest();

request.open('POST', 'https://controller.operationscommander.com/api/OC_TOMA/v1/profiles/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",
	"unique_id": "tester23", 
	"login_source": "OPSCOM", 
	"first_name":"firstname",
	"last_name":"lastname",
	"user_name":"username",
	"email":"test@test.com",
	"street":"123 Main Street, 123 Main Street,123 Main Street,123 Main Street,123 Main Street,123 Main Street",
	"city":"Everywhere",
	"province":"bc",
    "state":"NY",
    "postal_code":"HOHOHO",
    "zip":"12345-1212",
    "phone_cell":"613-555-1212",
    "user_type_id":"6",
    "employ_no":"employee number: default",
    "employee_phone":"emp ph. klondike 555",
    "student_no":"SN 543209854",
    "student_phone":"999",
    "driver_licence_num":"QC 99999999",
    "driver_license_num":"NYNY",
    "date_of_birth":"1901-01-31",
    "locker_user_type_id":"3",
    "driver_licence_prov":"BC", 
    "driver_license_state":"CA"
}
request.send(JSON.stringify(body));



Request Object Attributes

AttributeTypeLimitsPossible NamesDescription
apiTokenString

50-character alphanumeric including dashes.

apiToken(Required)Your supplied API Token.
unique_idString50-character alphanumeric including dashes.
(Required)Your unique_id.
login_sourceString20-character alphanumeric including dashes.
(Required)Your supplied login source.
first_nameString50-character alphanumeric including dashes.

last_nameString50-character alphanumeric including dashes.

user_nameString50-character alphanumeric including dashes.

emailString100-character alphanumeric including dashes.

streetString


cityString50-character alphanumeric including dashes.

provinceString2-character postal abbreviation eg. "MA"

province,

state


postal_codeString20-character alphanumeric including dashes.

postal_code,

zip


phone_cellString20-character alphanumeric including dashes.

user_type_idStringId number of UserType

employ_noString50-character alphanumeric including dashes.

employee_phoneString50-character alphanumeric including dashes.

student_noString50-character alphanumeric including dashes.

student_phoneString50-character alphanumeric including dashes.

driver_licence_numString255-character alphanumeric including dashes.

driver_licence_num,

driver_license_num


date_of_birthString10-character date in format 'yyy-mm-dd'

locker_user_type_idStringId number of LockerUserType

driver_licence_provString2-character postal abbreviation eg. "MA"

driver_licence_prov,

driver_license_state




Successful Response

The response will be a json object. 

Content-Type: application/json

Code Block
languagejs
themeMidnight
{
    "status": "success",
    "user_types": [
        {
            "id": "1",
            "type_name": "Full Time Student",
            "ext_info": "Student"
        },
        {
            "id": "6",
            "type_name": "Demo",
            "ext_info": "Public"
        },
        {
            "id": "7",
            "type_name": "Full Time Staff",
            "ext_info": "Staff"
        },
        {
            "id": "8",
            "type_name": "Part Time Staff",
            "ext_info": "Staff"
        },
        {
            "id": "9",
            "type_name": "Part Time Student",
            "ext_info": "Student"
        },
        {
            "id": "10",
            "type_name": "Exchange Student",
            "ext_info": "Student"
        },
        {
            "id": "11",
            "type_name": "Athletics Member",
            "ext_info": "Athletics"
        },
        {
            "id": "12",
            "type_name": "Complimentary",
            "ext_info": "Public"
        },
        {
            "id": "13",
            "type_name": "Daily Reserved",
            "ext_info": "Public"
        }
    ]reference_id": 44
}


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.


Server setup

nGinx needs to have Access-Control-Allow-Origin : * to work.

The controller also needs to be behind a certificate. 




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.