Talentry API

Chloé Büttgen
Chloé Büttgen
  • Updated

 

Important note : Not all our endpoints are documented here. Please contact us to get the exhaustive documentation.

Authentication

In order to successfully authenticate the following headers must be set:

User-Source: this data will be communicated separately
X-Token: <Token>

The token is customer specific.

 

Integration API

Job import API

Use this method to update jobs.

Call

POST

https://api.talentry.com/api/v1/tenants/<customerId>/jobs/multiple?source= <atsName>&deactivateMissingJobs=1&skipInvalidJobs=1

  • deactivateMissingJobs is set to 1 by default and will deactivate missing jobs if they are not present in the payload. Setting the parameter to 0 disables this behaviour.
  • skipInvalidJobs is set to 1 by default and makes it so that the API will not abort the execution when an invalid job is encountered but instead continue to try to import other, valid jobs. Setting the parameter to 0 disables this behaviour.

Payload

{ 
"jobs": [
{
"externalId": "edjkn5l4sm2",
"contactPersonName": "Eva Flores",
"contactPersonPhone": "+49-795-6985424",
"contactPersonEmail": "eva.flores@company.net",
"departments": [
"Marketing & Sales"
],
"locations": [
"Wien"
],
"tags": [
"WS_Tag_1"
],
"rewardType": "EUR",
"rewardAmount": 2000,
"company": "testcompany",
"internalOnly": false,
"customData": "{\"costCenter\": \"XOv645lI\"}",
"translations": [
{
"locale": "de",
"name": "Project Manager (w\/m)",
"description": "<p>Test description<\/p>"
}
]
}
]
}
  • You can send 0-n jobs. Sending an empty array will result in all jobs being deactivated
  • You must always send a full load of all currently published jobs. Talentry will figure out which ones to create, update or deactivate
  • Given that a customer might not want to have all jobs published to Talentry, consider using some sort of publishing channel logic
  • Locations, Departments, Company, RewardTypes and Tags must be referenced by the "External ID", which will most likely be the external system's ID
  • A job must have 1-n departments
  • A job must have 1-n locations
  • A job must have 1 company
  • Jobs must have 1-n translations, depending on which languages the customer has activated in Talentry. You can only submit locales that the customer has activated.
  • RewardType and RewardAmount are optional
  • Tags are optional
  • RewardType represents a currency, while RewardAmount indicates how much of that currency the referral reward should be
  • If you want jobs to only be available to employees (internal), you must set the internalOnly flag

Response

If you set skipInvalidJobs to a truthy value, your response will look like this:

{ 
"created": 3,
"updated": 0,
"deactivated": 0,
"unchanged": 0,
"invalid": 1,
"errors": [
{
"property_path": "Job <277EC16C46> => company",
"message": "Company 'Talentry GmbH' does not exist for job '277EC16C46'"
},
{
"property_path": "Job <277EC16C46> => locations",
"message": "Location 'Munich' does not exist for job '277EC16C46'"
}
]
}

Otherwise if set to false you'll get the following response:

{ 
"errorCode": 11,
"message": "Bad request",
"code": 400,
"params": [
{
"property_path": "Job <Project Manager (w\/m)> => externalId",
"message": "ExternalId must not be null for job 'Project Manager (w\/m)'"
},
{
"property_path": "Job <Project Manager (w\/m)> => rewardType",
"message": "Reward type 'Unknown' does not exist for job 'Project Manager (w\/m)'"
}
]
}

Share application GET

API endpoint for fetching an application that resulted from a referral/share.

Call

GET

https://api.talentry.com/api/v1/tenants/<customerId>/applications/<applicationId>

Response

{
"status": "submitted",
"externalId": null,
"exportDate": null,
"firstName": "Thomas",
"id": "q038tay42u0shux45tzdn8",
"legacyId": 13333,
"lastName": "Test",
"email": "thomas.test@university.gov",
"statusLastChangedDate": "2021-02-10T09:33:59+0000",
"creationDate": "2021-02-10T09:33:59+0000",
"job": {
"id": "1574362",
"externalId": "21023",
"translations": {
"de": {
"name": "Consultant (w/m/d) IT Project management"
}
},
"source": null
},
"data": {
"gender": "m",
"firstName": "Thomas",
"lastName": "Test",
"phone": "0049223sddsds",
"email": "thomas.test@university.gov",
"notes": "",
"street": "Dummystreet 20a",
"zipCode": "80331",
"city": "Munich",
"country": "DE"
},
"documents": {
"cv": {
"fieldName": "cv",
"url": "https://api.talentry.com/document/88phgiw3ngewhbly50d4kx",
"fileName": "Resume_Thomas_Test.pdf",
"mimeType": "application/pdf"
},
"certificates": {
"fieldName": "certificates",
"url": "https://api.talentry.com/document/hhjgjktrrpgdgyv41jp8pp",
"fileName": "Certifcates_Thomas_Test.pdf",
"mimeType": "application/pdf"
}
},
"locale": "de",
"referral": {
"referrerMail": "l.blue@bigcompany.org",
"referrerStaffId": "66886",
"referrerExternalId": "ID10326474",
"referrerFirstName": "Linda",
"referrerLastName": "Blue",
"referrerComment": null,
"rewardType": {
"id": "T23xdjqrn3FErT8t8U4eu7",
"externalId": "EUR",
"translations": {
"de": { "name": "€ für Festangestellte*"
},
"en": { "name": "€ for permanent staff*"
}
}
},
"rewardAmount": 1500
},
"internal": false,
"talentId": "zml0lllhetn7ir3a77v28n"
}

data and documents are customer specific and depend on the configuration of their application form

 

Update Application stage

Use this method to set the custom stage of an application. 

Call

POST

https://api.talentry.com/api/v1/tenants/<customerID>/applications/<applicationID>/applicationStage

Payload

{
"externalId": "my_external_id"
}

 

Referral API

Get gamification points (referral program)

Use this method to get all points awarded to all employees during a specific period.

Call

GET 

https://api.talentry.com/api/v1/tenants/<tenantId>/gamificationPointsReport/<startDate>/<endDate> 

The format for the dates is YYYY-MM-DD and the time is assumed to be 00:00:00 for the start and 23:59:59 for the end one.
 

Response

[
{
"id": "q038tay42u0shux45tzdn8",
"externalId": "21023",
"email": "thomas.test@university.gov",
"points": "235"
},
{
"id": "zml0lllhetn7ir3a77v28n",
"externalId": "8976",
"email": "sanchez.test@university.gov",
"points": "180"
}
]
 
  • id (string) CleverConnect's employee ID
  • externalId (string or null) ID of the employee from the customer's system
  • email (string) Email of the employee
  • points (integer) Total points earned by the employee within the timeframe
 

Hiring rewards

Use this method to retrieve applications and associated hiring reward information based on the last stage change date

Call

GET 

https://api.talentry.com/api/v1/tenants/<customerId>/applications/<stageExternalId>/<startDate>/<endDate> 

The format for the dates is YYYY-MM-DD and the time is assumed to be 00:00:00 for the start and 23:59:59 for the end one.

 

Response

{
[
{
"applicationId": "0w1qydbqoxb249t883vpwa",
"applicationExternalId": null,
"applicationStageId": "hired",
"applicationLastStageChangeDate": "2023-06-21T11:45:01+0000",
"jobId": "2703",
"jobExternalId": null,
"talentFirstName": "First",
"talentLastName": "Last",
"talentEmail": "first.last@example.invalid",
"rewardTypeExternalId": "EUR",
"rewardAmount": 10,
"referrerEmployeeId": 1876,
"referrerExternalId": null,
"referrerStaffId" : "ABCDEF123456",
"referrerFirstName": "First",
"referrerLastName": "Referrer",
"referrerEmail": "first.referrer@example.invalid",
"referrerCompanyExternalId": "5",
"referrerDepartmentExternalId": "14",
"referrerLocationExternalId": "12"
}
]
}

 

Was this article helpful?

0 out of 0 found this helpful

Have more questions? Submit a request

Comments

0 comments

Please sign in to leave a comment.