Push API: User Create/Update

The OPS-COM Controller provides a simple JSON based API to integrate with. Clients use this API to push to OPS-COM 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 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/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.open('POST', 'https://controller.operationscommander.io/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",
    "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
}