Home > Developers

Automate your processes with our API

Jobber API

The API (Application Programmable Interface) can be used to embed Jobber in any application. This interface services the linking of our data to your application. Most actual embedded methods supply the interfacing of the most dominant models of our application: company, employee, user and group.

These models create the main part of our application and supply in numbers of functions that can be used to rely on our infrastructure. Other models that will be added in this API in the near future include questionnaire, questionnaireGroup, question and answerOption.

The ability of including your own questionnaires has been built into the model and into the database of our application.

However, the interface currently does not support adding your own questionnaires and the assigning of these questionnaires to groups, therefore these functionalities are also not included in the API.

Feel free to post any comment or question to our company, as well as any of your recommendations. We are working on adding features and functions on a daily base.

The api endpoint is https://www.malvee.com/jobber/api/1.0/. We’re currenty only supporting JSONoutput.



Methods Summary


  • int CompanyConstraints (string 0)
  • int CompanyCreditNeed (string 0)
  • int CompanyCreditPricing (string $amount, int $symbol, boolean $local, boolean 3)
  • int CompanyUpdate (string 0, string 1, string 2, string 3, string 4, string 5, string 6, string 7, string 8, string 9, string 10, string 11)
  • int CompanyView (string 0)
  • int EmployeeCreate (string 0, string 1, string 2, string 3, string 4, string 5, string 6, int 7, string 8, boolean 9, string 10, string 11, string 12, string 13, string 14, string 15)
  • int EmployeeDelete (string 0, int 1)
  • int EmployeeGroups (string 0, int 1)
  • int EmployeeLanguages (string 0, int 1)
  • int EmployeeList (string 0)
  • int EmployeeQuestionnaire (string 0, int 1)
  • int EmployeeUpdate (string 0, int 1, string 2, string 3, string 4, string 5, string 6, string 7, int 8, string 9, boolean 10, string 11, string 12, string 13, string 14, string 15, string 16)
  • int EmployeeView (string 0, int 1)
  • string GroupAccessLevel (string 0, int 1, int 2)
  • int GroupCreate (string 0, string 1, int 2, int 3)
  • int GroupDelete (string 0, int 1)
  • array GroupEmployees (string 0, int 1, boolean 2)
  • int GroupList (string 0)
  • array GroupTypes (string 0)
  • int GroupUpdate (string 0, int 1, string 2, int 3, int 4)
  • array GroupUsers (string 0, int 1, boolean 2)
  • int GroupView (string 0, int 1, string 2, int 3, int 4)
  • int UserCreate (string 0, int 1, boolean 2, string 3, string 4, int 5, string 6)
  • int UserDelete (string 0, int 1)
  • int UserList (string 0)
  • int UserView (string 0, int 1)

Methods


GroupUsers

Read user ids for a group

Groups are organizational units for holding employees. This method returns the user ids for a specified group. By setting recursive to true, this method also returns the user ids for the groups above (differs from groupEmployees because users are inherited from the groups above).

  • return: responseCode
  • since: version 1.0
  • access: public

array actionGroupUsers (string 0, int 1, boolean 2)

  • string 0: apikey
  • int 1: group_id
  • boolean 2: recursive (false by default)

GroupView

Update group

  • return: responseCode
  • since: version 1.0
  • access: public

int actionGroupView (string 0, int 1, string 2, int 3, int 4)

  • string 0: apikey
  • int 1: id
  • string 2: name (ISO 8859-1, required, max length 64)
  • int 3: parent_id
  • int 4: type (required)

EmployeeView

View employee

View a single employee, based on the employee id. Employee ids are provided in the method listEmployees or in the method createEmployee. For details on the attributes of a single employee, please see the parameters defined for createEmployee. The same attributes are returned in this method.

  • return: responseCode
  • since: version 1.0
  • access: public

int actionEmployeeView (string 0, int 1)

  • string 0: apikey
  • int 1: id

GroupAccesLevel

Read acces level for a user on a group

Groups are used to delegate rights throughout the company by adding a user – group relation. These rights determine whether users can perform certain actions on a group. This method inherits access levels and determines the access level for the given user on the given group.

An access level can be nothing (empty string), ‘read’ or ‘write’.

  • return: responseCode
  • since: version 1.0
  • access: public

string actionGroupAccessLevel (string 0, int 1, int 2)

  • string 0: apikey
  • int 1: id
  • int 2: user_id

UserList

List  users

For details on the attributes of a single group, please see the parameters defined for createGroup. The same attributes are returned in this method.

  • return: responseCode
  • todo: Add the option to add external users
  • since: version 1.0
  • access: public

int actionUserList (string 0)

  • string 0: apikey

UserView

View user

For details on the attributes of a single group, please see the parameters defined for createGroup. The same attributes are returned in this method.

  • return: responseCode
  • todo: Add the option to add external users
  • since: version 1.0
  • access: public

int actionUserView (string 0, int 1)

  • string 0: apikey
  • int 1: id

GroupEmployees

Read employee ids for a group

Groups are organizational units for holding employees. This method returns the employee ids for a specific group. If recursive is set to true, this method allows to return the employees recursive (including the employees from the groups underneath this group).

  • return: responseCode
  • since: version 1.0
  • access: public

array actionGroupEmployees (string 0, int 1, boolean 2)

  • string 0: apikey
  • int 1: group_id
  • boolean 2: recursive (false by default)

Grouplist

List groups

For details on the attributes of a single group, please see the parameters defined for createGroup. The same attributes are returned in this method.

  • return: responseCode
  • since: version 1.0
  • access: public

int actionGroupList (string 0)

  • string 0: apikey

CompanyConstraints

Review constraints

Receive an overview on the constraints that might affect the success of the job satisfaction survey. Several categories are used to categorize these constraints, such as credit balance constraints, address constraints, language constraints, questionnaire constraints and logo constraints. Note that these constraints do not limit your survey in any way (of course except for the credit balance constraints); all properties are backed up in one way or another. Skipping an employee is the last option.

  • return: responseCode
  • since: version 1.0
  • access: public

int actionCompanyConstraints (string 0)

  • string 0: apikey

CompanyCredritPricing

Credit need

Receive an estimation of the credit need for the period between a now and a year from now. This credit need is based on several configuration properties such as the number of reminders, delivery methods for participating in the job satisfaction survey, delivery methods for the reminders, the use of sms authentication and the number of employees within the company. Credit need is always rounded and separated into different cost categories.

  • return: responseCode
  • since: version 1.0
  • access: public

int CompanyConstraints (string 0)

  • string 0: apikey

CompanyCreditPricing

Credit pricing

Credit pricing is dependent on the currency of the country in which the company is located and on the amount in which credits are bought. This method provides the pricing of credits based on conversion and amount (both optional).

  • return: responseCode
  • since: version 1.0
  • access: public

int CompanyCreditPricing (string $amount, int $symbol, boolean $local, boolean 3)

  • boolean 3: local (whether or not to apply currency conversion)
  • string $amount: apikey
  • int $symbol: amount (if null, all levels for credit pricing will be returned)
  • boolean $local: symbol (whether or not to use local currency symbols)

CompanyUpdate

Update company

Updates the companies’ attributes. Only those attributes specified will be updated. Subdomain is used for retreiving employees that want to fill in their questionnaire (ex: subdomain.malvee.com).

  • return: responseCode
  • since: version 1.0
  • access: public

int CompanyUpdate (string 0, string 1, string 2, string 3, string 4, string 5, string 6, string 7, string 8, string 9, string 10, string 11)

  • string 0: apikey
  • string 1: address_line_1 (ISO 8859-1, max length 255)
  • string 2: address_line_2 (ISO 8859-1, max length 255)
  • string 3: city (ISO 8859-1, max length 255)
  • string 4: country_iso (ISO 3166-1 alpha-2)
  • string 5: name (ISO 8859-1, max length 45)
  • string 6: postal_code (ISO 8859-1, max length 45)
  • string 7: state (ISO 8859-1, max length 255)
  • string 8: subdomain (UTF-8, max length 45, unique)
  • string 9: title (ISO 8859-1, max length 5)
  • string 10: vat_number (ISO 8859-1, max length 255)
  • string 11: website_url (UTF-8, max length 255, valid url)

CompanyView

View company

View the companies’ details.

  • return: responseCode
  • since: version 1.0
  • access: public

int actionCompanyView (string 0)

  • string 0: apikey

EmployeeCreate

Create new employee

This function creates a new employee within the company.

  • return: responseCode
  • since: version 1.0
  • access: public

int actionEmployeeCreate (string 0, string 1, string 2, string 3, string 4, string 5, string 6, int 7, string 8, boolean 9, string 10, string 11, string 12, string 13, string 14, string 15)

  • string 0: apikey
  • string 1: address_line_1 (ISO 8859-1, max length 255)
  • string 2: address_line_2 (ISO 8859-1, max length 255)
  • string 3: birthday (http://www.php.net/manual/en/datetime.formats.php)
  • string 4: city (ISO 8859-1, max length 255)
  • string 5: country_iso (ISO 3166-1 alpha-2)
  • string 6: email_address (RFC 5322)
  • int 7: employee_number (ISO 8859-1, max length 20)
  • string 8: first_name (ISO 8859-1, max length 64)
  • boolean 9: gender (0 = Male, 1 = Female)
  • string 10: last_name (ISO 8859-1, required, max length 64)
  • string 11: language (ISO 639-1, required)
  • string 12: note (ISO 8859-1)
  • string 13: postal_code (ISO 8859-1, max length 45)
  • string 14: state (ISO 8859-1, max length 255)
  • string 15: title (ISO 8859-1, max length 5)

EmployeeDelete

Delete employee

Removes an employee within the employee. Note that we do not really delete the employee; this would remove all the historical details about its satisfaction as well which would cause the overall historical satisfaction to change.

  • return: responseCode
  • since: version 1.0
  • access: public

int actionEmployeeDelete (string 0, int 1)

  • string 0: apikey
  • int 1: id

EmployeeGroups

Return an employees groups

Employee – group is a many to many relationship. This method returns the groups that an employee belongs to. For those groups, the group ids are specified.

  • return: responseCode
  • since: version 1.0
  • access: public

int actionEmployeeGroups (string 0, int 1)

  • string 0: apikey
  • int 1: id

EmployeeLanguages

List a single employees possible languages

Languages can be specified per employee. However, only those languages available for the questionnaire selected for the group in which the employee is in, will be applied to the employee. This, thus, does not hold for the user account of the employee, if any. Available languages per employee depend on the available languages of its questionnaire; this method returns the ISO 639-1 code for those languages.

  • return: responseCode
  • since: version 1.0
  • access: public

int actionEmployeeLanguages (string 0, int 1)

  • string 0: apikey
  • int 1: id

EmployeeList

List employees

For details on the attributes of a single employee, please see the parameters defined for createEmployee. The same attributes are returned in this method.

  • return: responseCode
  • since: version 1.0
  • access: public

int actionEmployeeList (string 0)

  • string 0: apikey

EmployeeQuestionnaire

Returns an employees questionnaire

Questionnaires are defined on group level (at this moment only configurable on company level); this method returns the questionnaire defined for the employee defined by its id.

  • return: responseCode
  • since: version 1.0
  • access: public

int actionEmployeeQuestionnaire (string 0, int 1)

  • string 0: apikey
  • int 1: id

EmployeeUpdate

Update emplyee

Updates an employee within the company. This method uses id to search for the employee. The id can be found using listEmployees or as a result of a createEmployee action. Parameters are equal to the parameters of the createEmployee method. Only those attributes specified will be updated.

  • return: responseCode
  • since: version 1.0
  • access: public

int actionEmployeeUpdate (string 0, int 1, string 2, string 3, string 4, string 5, string 6, string 7, int 8, string 9, boolean 10, string 11, string 12, string 13, string 14, string 15, string 16)

  • string 0: apikey
  • int 1: id
  • string 2: address_line_1 (ISO 8859-1, max length 255)
  • string 3: address_line_2 (ISO 8859-1, max length 255)
  • string 4: birthday (http://www.php.net/manual/en/datetime.formats.php)
  • string 5: city (ISO 8859-1, max length 255)
  • string 6: country_iso (ISO 3166-1 alpha-2)
  • string 7: email_address (RFC 5322)
  • int 8: employee_number (ISO 8859-1, max length 20)
  • string 9: first_name (ISO 8859-1, max length 64)
  • boolean 10: gender (0 = Male, 1 = Female)
  • string 11: last_name (ISO 8859-1 max length 64)
  • string 12: language (ISO 639-1)
  • string 13: note (ISO 8859-1)
  • string 14: postal_code (ISO 8859-1, max length 45)
  • string 15: state (ISO 8859-1, max length 255)
  • string 16: title (ISO 8859-1, max length 5)

UserCreate

Create user

Jobber’s user model is based on three types of users: internal users (employees of the organization), consultants and resellers. These models can each be the base for a user model. However, in this API, at the moment, we only implemented the creation of a user who is an internal employee in the organization.

  • return: responseCode
  • todo: Add the option to add external users
  • since: version 1.0
  • access: public

int actionUserCreate (string 0, int 1, string 2, string 3, string 4)

  • string 0: apikey
  • int 1: employee_id
  • string 2: office_phone
  • string 3: password
  • string 4: timezone_id (required)

UserDelete

Removing user

  • return: responseCode
  • todo: Add the option to add external users
  • since: version 1.0
  • access: public

int actionUserDelete (string 0, int 1)

  • string 0: apikey
  • int 1: id

GroupCreate

Create group

Create a group within the company. Groups are organizational units that are used to hold the employees within the company. Employees may belong to different groups in order to measure satisfaction among those different groups. Groups may exist at root level (parent_id = null) or may exist somewhere down the tree (parent_id set). Furthermore, groups are used to delegate rights throughout the company by adding a user – group relation. These rights determine whether users can perform certain actions on a group.

Furthermore, several types are differentiated to categorize the group. This is only an interface-feature and may be used to categorize the group. You’ll find the different group types in the method groupTypes.

  • return: responseCode
  • since: version 1.0
  • access: public

int actionGroupCreate (string 0, string 1, int 2, int 3)

  • string 0: apikey
  • string 1: name (ISO 8859-1, required, max length 64)
  • int 2: parent_id
  • int 3: type (required)

GroupDelete

Delete group

Deleting a group can only take place if it is not the last group in the company.

  • return: responseCode
  • since: version 1.0
  • access: public

int actionGroupDelete (string 0, int 1)

  • string 0: apikey
  • int 1: id

GroupTypes

Read group types

Groups can have different types (numerical value that is linked in the interface to an image and a group type name). Although this is only a nice look-and-feel feature, we still allow you to read these types using this method.

For each type, type identifier and name are returned.

  • return: responseCode
  • since: version 1.0
  • access: public

array actionGroupTypes (string 0)

  • string 0: apikey

GroupUpdate

Update group

  • return: responseCode
  • since: version 1.0
  • access: public

int actionGroupUpdate (string 0, int 1, string 2, int 3, int 4)

  • string 0: apikey
  • int 1: id
  • string 2: name (ISO 8859-1, required, max length 64)
  • int 3: parent_id
  • int 4: type (required)