Bamboo HR
BambooHR is a core HRIS/HRMS software platform that helps to collect and organizes and centralize employees' information into a single database with real-time alerts and reports. It also allows the user to securely access the data remotely, which helps the employees and the managers to view, update and manage the data in a simple manner.
Authorization
Basic Auth
Each API request sent from a third-party application to the BambooHR website will be authenticated and permissioned as if a real user were using the software. The permissions of the user associated with the API request will determine which fields and employees each API request is allowed to view and/or edit.
To generate an Basic API key, users should log in and click their name in the upper right-hand corner of any page to get to the user context menu. If they have sufficient permissions, there will be an "Basic API Keys" option in that menu to go to the page.
Each user may have one or more secret API keys that identify that user to the API. The API secret key is a 160-bit number expressed in hexadecimal form.
At the HTTP level, the API key is sent over HTTP Basic Authentication. Use the secret key as the username and any random string for the password.
For more information about HTTP Basic Authentication, see BambooHR documentation.
Input | Description | Examples |
---|---|---|
Secret Key | It’s a private key, used for authentication purpose. In BambooHR this key is used as a username. | xxxx |
Password | It’s a string of characters that allows access to the respective BambooHR user account. | xxxx |
OAuth 2.0
To configure BambooHR the user is required to use OpenID connect Login API to retrieve the API key for the authorization purpose. It will allow Sapper to configure BambooHR for the respective users.
In order to enable this method , user need to be issued OpenID credentials including a Client ID, Client Secret, and Application Key (from BambooHR) as well as an Single Sign-On (SSO) with OpenID Connect and OpenID Connect Login API.
Input | Description | Examples |
---|---|---|
Client ID | This is unique for each partner, and is provided by BambooHR | xxxx |
Client Secret | This is unique for each partner, and is provided by BambooHR | xxxx |
Application Key | It’s a security tokens used for authentication in BambooHR | xxxx |
When you create your BambooHR app you must be sure to enter Sapper's OAuth callback URL -Sapper - as a Callback URL.
To enable the SSO process an user will need to provide these information's mentioned below:
Input | Description | Examples |
---|---|---|
Grant Types | In OAuth 2.0, the term “grant type” refers to the way an application gets an access token. OAuth 2.0 defines several grant types, including the authorization code flow. OAuth 2.0 extensions can also define new grant types. | Code |
Scope | It manages the connection to a specified BambooHR instance and provides a scope for all subsequent BambooHR activities. | openid email |
Username claim | The username-claim command specifies a claim name of a JSON Web Token (JWT). In the BambooHR this username claim token can be opt through email. | |
Client ID | This is unique for each partner, and is provided by BambooHR | xxxx |
Client Secret | This is unique for each partner, and is provided by BambooHR | xxxx |
Authorization Code | It’s an one-time use code that the client will exchange for an access token | xxxx |
ID Token | A security token that contains data about an authorization server's authentication of a user. | To get an api key, use https://documentation.bamboohr.com/page/openid-connect-login-api . |
Access Token | In general, applications use access tokens to make API requests on behalf of a user. But Bamboo's API requires an API key which you can obtain with an ID Token. | https://documentation.bamboohr.com/page/openid-connect-login-api |
To enable OpenID Connect Login API the user need to provide these information stated below:
Input | Description | Examples |
---|---|---|
HTTP Method | The primary or most commonly-used HTTP methods are POST, GET, PUT, PATCH, and DELETE. For more information: https://sappersoftware.atlassian.net/wiki/spaces/SD/pages/88211467 | Post |
Path | It is a navigation or getway location for opting login in BambooHR. | /api/gateway.php/{company}/v1/oidcLogin |
Headers | It’s a name or value pairs that are displayed in the request and response messages of message headers for Hypertext Transfer Protocol (HTTP). | Content-Type- application/x-www.form.urlencoded |
id_token | An ID token is an artifact that proves that the user has been authenticated. | The ID Token for an authenticated user provided by BambooHR. |
applicationKey | Application Keys, or app Keys, are security tokens used for authentication in BambooHR. | The application key provided to you by BambooHR. |
For more information please visit : Authenticate guide I BambooHR
Bamboo HR Connections
Bamboo HR Basic Connection
Input | Key | Description | Example |
Select Application | application | Select BambooHR application | BambooHR |
Connection type | connection type | Select the type of connection. | Rest |
Rest Connection Type | Rest Connection Type | Select the Basic connection type | Basic |
Connection Name | name | Provide a name for the connection. | BambooHR |
Connection Description | description | Provide a description for the connection. | NA |
Host Name | host | Provide a string value for the URL of user's BambooHR account. | |
Username | username | Provide a valid username for the given BambooHR account user want to connect. | exampleUser |
Password | password | Provide a password to authenticate all requests with. Cloud users need to generate an API token for this value. | exampleSecurePassword |
Header Field | header | Provide the path of the endpoint for authentication. | Authorization |
Header Prefix | header prefix | Select the header prefix - | Basic |
Bamboo HR OAuth2.0 Connection
Input | Key | Description | Example |
Select Application | application | Select BambooHR application | BambooHR |
Connection Type | connection type | Select the type of connection. | REST |
REST Connection Type | rest connection type | Select the type of REST connection. | OAuth2.0 |
Connection Name | name | Provide a name for the connection. | BambooHR connection |
Connection Description | description | Provide a description for the connection. |
|
Host Name | host | Provide a string value for the URL of user's BambooHR account. |
|
Grant Type | grant type | Provide the grant type - authorization code, password, client credentials. | authorization code, password, client credentials. |
Actions
Get Employee by ID
Get Employees by ID | key: getEmployeesbyID
Input | Key | Description | Example |
---|---|---|---|
Company Domain | CompanyDomain | A company domain is the website name found in your web address or URL . The customer can locate the company website by clicking on the URL.
|
|
ID | ID | The ID is a user identification or user ID is an entity used to identify of a user on BambooHR |
Get Time Off Requests
Get Time off requests of an employee | key: getTimeoffRequests
Input | Key | Description | Example |
---|---|---|---|
Start Date | Start_Date | This section is describe about the start date of the employee time off request. | 25/06/2022 |
End Date | End_Date | This section is describe about the end date of the employee time off request. | 30/06/2022 |
Company Domain | CompanyDomain | A company domain is the website name found in your web address or URL . The customer can locate the company website by clicking on the URL.
|
|
Get Employee Directory
Get Employee Directory | key: getEmployeeDirectory
Input | Key | Description | Example |
---|---|---|---|
Company Domain | CompanyDomain | A company domain is the website name found in your web address or URL . The customer can locate the company website by clicking on the URL.
|
|