Skip to main content

Push API: User Create/Update

The OPSCOM Controller provides a simple JSON based API to integrate with. Clients use this API to push to OPSCOM new users and update existing users directly from another system. For example, you may wish to push Student and Staff information from Banner directly to OPSCOM.

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

Making API Requests

Raw Request:

POST /api/OC_TOMA/v1/profiles/push HTTP/1.1
Host: controller.operationscommander.io
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",
    "street2":"123 General Street",
    "city2":"Somewhere",
    "province2":"AB",
    "state2":"MA",
    "postal_code2":"A9A9A9",
    "zip2":"54321-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"
}

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",
    "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",
    "street2":"123 General Street",
    "city2":"Somewhere",
    "province2":"AB",
    "state2":"MA",
    "postal_code2":"A9A9A9",
    "zip2":"54321-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.unique_id(Required) An unique identification number of the user.
Login SourceString20-character alphanumeric including dashes.login_source(Required) Your supplied login source.
First NameString50-character alphanumeric including dashes.first_name(Optional)  User's first name.
Last NameString50-character alphanumeric including dashes.last_name(Optional) User's last name.
User NameString50-character alphanumeric including dashes.user_name(Optional) Unique username.
EmailString100-character alphanumeric including dashes.email(Optional) Valid email address .
Street - address 1String
street(Optional) User's primary street number and name.
City - address 1String50-character alphanumeric including dashes.city(Optional) User's primary city name.
Province - address 1String2-character postal abbreviation eg. "MA"

province,

state

(Optional)  User's primary province or state.
Postal Code - address 1String20-character alphanumeric including dashes.

postal_code,

zip

(Optional) User's primary postal code or zip.
Street - address 2String20-character alphanumeric including dashes.street2(Optional) User's alternate street number and name.
City - address 2String50-character alphanumeric including dashes.city2(Optional) User's alternate city name.
Province - address 2String2-character postal abbreviation eg. "MA"

province2,

state2

(Optional) User's alternate province or state.
Postal_Code - address 2String20-character alphanumeric including dashes.

postal_code2,

zip2

(Optional) User's alternate postal code or zip.
Cell phone numberString20-character alphanumeric including dashes.phone_cell(Optional) User's cell phone number
User Type IDStringId number of UserTypeuser_type_id(Optional) A reference number to the type of user.
Employee NumberString50-character alphanumeric including dashes.employ_no(Optional) User's employee number. 
Employee phone numberString50-character alphanumeric including dashes.employee_phone(Optional) User's employee phone number.
Student numberString50-character alphanumeric including dashes.student_no(Optional) User's student number.
Student phone numberString50-character alphanumeric including dashes.student_phone(Optional) User's student phone number.
Driver licence numberString255-character alphanumeric including dashes.

driver_licence_num,

driver_license_num

(Optional) User's driver's licence number or driver's license number.
Date of BirthString10-character date in format 'yyyy-mm-dd'date_of_birth(Optional) User's date of birth in format "YYYY-MM-DD.
Locker User Type IDStringId number of LockerUserTypelocker_user_type_id(Optional) A reference the the user's locker type id of the user.
Driver's licence provinceString2-character postal abbreviation eg. "MA"

driver_licence_prov,

driver_license_state

(Optional) The province or state of the user's driver's licence.

Successful Response

The response will be a json object. 

Content-Type: application/json

{
    "status""success",
    "reference_id": 44
}