Taleo Business Edition: Integration Features Overview
Taleo Business Edition (TBE) provides an easy to use, implement and customize solution that even the smallest companies can afford. TBE solution for mid-sized business allows to simplify recruiting, onboarding, hiring, and performance management with unmatched flexibility.
In this post I want to talk about TBE online integration approaches. TBE supports both SOAP and REST integration protocols. You can find more information in the following documentation:
- Taleo Business Edition SOAP API Guide ( MOS Doc ID 1463528.1)
- Taleo Business Edition REST API Guide version 14B2
Please note although the Web Services SOAP API continues to be supported, all new development is focused exclusively on the REST API. All Taleo Business Edition customers interested in developing integrations are encouraged to utilize the REST API.
In my opinion REST API more simple and powerful and I will use REST in examples discussed below. For comparision of mentioned protocols you can see the following table:
REST | SOAP |
Assumes a point-to-point communication model–not usable for distributed computing environment where message may go through one or more intermediaries | Designed to handle distributed computing environments |
Minimal tooling/middleware is necessary. Only HTTP support is required | Requires significant tooling/middleware support |
URL typically references the resource being accessed/deleted/updated | The content of the message typically decides the operation e.g. doc-literal services |
Not reliable – HTTP DELETE can return OK status even if a resource is not deleted | Reliable |
Formal description standards not in widespread use. WSDL 1.2, WADL are candidates. | Well defined mechanism for describing the interface e.g. WSDL+XSD, WS-Policy |
Better suited for point-to-point or where the intermediary does not play a significant role | Well suited for intermediated services |
No constraints on the payload | Payload must comply with the SOAP schema |
Only the most well established standards apply e.g. HTTP, SSL. No established standards for other aspects. DELETE and PUT methods often disabled by firewalls, leads to security complexity. | A large number of supporting standards for security, reliability, transactions. |
Built-in error handling (faults) | No error handling |
Tied to the HTTP transport model | Both SMTP and HTTP are valid application layer protocols used asTransport for SOAP |
Less verbose | More verbose |
Using Taleo Business Edition REST API
The REST API provided is in a passive manner. Passive meaning the API sits at rest which you can query as often or as little as required through your developer tools. Your built integration would login to Taleo programmatically, query for the prevalent data it is looking for (i.e. find new hires over past 24 hours), extract the data in Taleo JSON/XML format, reformat to what’s required for your 3rd party system, and then send it through to that system. Once you have completed engagement through Taleo’s API for that session, please logout of the service for security purposes.
REST RESOURCES
The Taleo Business Edition REST API focuses on resources of a specific Taleo Business Edition instance. A resource is any layer of information in context. This can include object records like an employee record, a location, a region, a work history instance, etc. Or can include discovery level data like licensed services, metadata or display fields.
METHODS
Taleo Business Edition uses the standard GET, PUT, POST and DELETE methods for the REST API. Each method defines the type of request to a resource; where that resource can be discover data, object record(s) or specialty functions supported within the application (i.e. upsert data, parse data).
In example below I will show how to create candidate record with REST API functions. For testing purposes I will use well known testing tool SOAP UI.
To work with REST services the following sequence must be implemented:
- Login
- Invoke resources (CREATE, UPDATE, DELETE, RETRIEVE)
- Logout
First of all you should find your Taleo Business Edition instance (Host / EndPoint) located in data center server pools. Simply login in your TBE zone and copy URL address. TBE endpoint should looks like below:
https://abc.tbe.taleo.net/abcNN/ats/api/v1n.
Once the host URL has been determined for a specific Taleo instance, you must then login for service and receipt of session authToken. The REST API requires submission of username, password and company code credentials as part of login resource request as parameters:
See screenshots:
The returning session authToken value provided has to be set in subsequent calls as part of the header (as a cookie). The rest of the URL structure will vary based on the core action you would like to take with the resource.
After a session has been established we can invoke needed resources and methods. To create candidate record I will use the following resource with POST method:
https://abc.tbe.taleo.net/abcNN/ats/api/v1/object/candidate
Also I need to create message body in JSON format(1):
{
“candidate”: {
“city”: “Kyiv”,
“country”: “UA”,
“resumeText”: “TBE Rest API Test”,
“email”: “oskrypka@invalidemail.com”,
“firstName”: “Oleg”,
“lastName”: “Skrypka”,
“status”: 2
}
}
And put session authToken value into header section of message(2).
See screenshot:
After completion, we see that the candidate record created successfully(3).
Finally I want to check new candidate data in TBE.
We see that candidate profile successfully created in the system.
And finally don’t forget to invoke logout operation before end of work:
POST https://abc.tbe.taleo.net/abcNN/ats/api/v1/logout
Good Luck.
This is sweet! How can I find all the candidates for a given requisitionID?
This is very Cool. Although I cannot get this to work on any other method
I’m able to get the job specific questions for the respective requisition id. But can you please explain how to answer them?
Can I do this in java?
Sure
Do you need a developer contract with Taleo/Oracle in order to work with the API, is there a Sandbox environment to work in?