Aller au contenu principal

Talentplug WebService Documentation

Version 1.13.1 - February 2026

This document is intended for ATS partners and explains how to interact with the Web Service provided by Talentplug in order to interface with our IS and thus multi-distribute from ATS.

Objective

The purpose of the webservice is to enable communication with Talentplug via an XML feed that will save a job offer as a draft and return a URL allowing the job offer to be finalised (SendToUbipostingLite).

The URL returned will allow the job posting to be finalised by providing the recruiter with an interface containing the pre-filled job posting. The recruiter can then complete and validate it.

Environment

As part of the interfacing between our two solutions, a dedicated account will be created for your testing. We will provide you with the following:

  • An APIKey
  • A login
  • A password

Access to the web service

Web service address

You can run your tests directly on this environment, available at the following address:

https://v2.mytalentplug.com/webservice/WebService.asmx?wsdl

SendToUbipostingLite method

This method allows you to send an offer without pre-selecting jobboard and returns a URL to an interface where you can finalise the offer entry.

It takes four pieces of information as parameters:

Field nameField typeDescription
apiKTextUnique key identifying the partner (provided by TalentPlug)
loginTextLogin ID of the user posting the offer (100 characters max)
passwdTextUser password
xmlXMLOffer content in XML format

XML content

To create an offer, the following fields are required as a minimum:

  • The release date
  • The reference
  • The title
  • The action
  • The job description
  • A unique Offerkey_ID
  • A method for receiving the application (email, URL or API)

The Application API documentation can be found here: API Documentation

The offerkey_ID is generated by you (ATS) and is unique to identify the offer for each action.

The table below summarises the tags that are present and mandatory in the XML:

FieldField type
posting_dateDate
job_referenceText (75 characters max)
job_titleText (75 characters max)
job_descriptionText (2500 characters max)
application_email / application_urlText (100 characters max)
Offerkey_IDVarchar (50 characters max)
actionText

CDATA and special characters

For "Text" type tags, it is advisable to encapsulate the values in a CDATA section.

To take into account special characters such as accents or apostrophes, it is advisable to set a content-type parameter defined as text/plain;charset=utf-8 in the request to the Web Service.

attention

HTML is not supported by the Web Service.

Available fields

DataTag nameSpecial feature
Unique offer identifierofferkey_IDMandatory (50 characters max)
Action to be takenaction_nameRequired
Release dateposting_dateOptional, Date
Job titlejob_titleRequired (75 characters max)
Job referencejob_referenceRequired (75 characters max)
Company IDcompanyIDOption
Company URLcompany_urlOptional
Company descriptioncompany_descriptionOptional (2500 characters max)
Job descriptionjob_descriptionRequired (2500 characters max)
Industryjob_industryOptional, List
Second industry sectorjob_industry2Optional, depends on sites used, List
Functionjob_functionOptional, List
Second functionjob_function2Optional, depends on sites used, List
Job typejob_typeOptional, List
Statusjob_statusOptional, List
Type of employmentjob_contractOptional, List
Contract durationjob_durationOptional, List
Start datejob_startdateOptional
Required profileapplicant_profileOptional (2500 characters max)
Level of educationapplicant_degreeOptional, List
Level of experienceapplicant_experienceOptional, List
Skillsapplicant_skillsOptional (75 characters max)
Minimum salarysalary_fromOptional, List
Maximum salarysalary_toOptional, List
Salary currencysalary_currencyOptional, List
Salary persalary_perOptional, List
Salary benefitssalary_benefitsOptional (75 characters max)
Addresslocation_streetOptional
Postcodelocation_zipcodeOptional
Townlocation_townOptional
Countylocation_subadministrativeareaOptional, List
Second departmentlocation_subadministrativearea2Optional, depends on sites used, List
Regionlocation_administrativeareaOptional, List
Second regionlocation_administrativearea2Optional, depends on sites used, List
Countrylocation_countryOptional, List
Application emailapplication_emailRequired if application_url is empty (100 characters max)
Application URLapplication_urlRequired if application_email is empty
Name of recruitment officercontact_nameOptional
Recruiter's telephone numbercontact_phoneOptional
Alternative Emailuniquement_emailOptional, can be enabled for media that do not support URL mode
Redirect URLredirectionUrlOption
Customer platform languageoffer_languageOption (French = 24954, English = 4644)
Publish "under the name of"Published_asOption
Retrieve applications via APIenable_application_apiTrue, Option
Force republishingforceTrue, Option

The names of these tags are configurable and can be adapted to the service provider's requirements. Initially, we set up your ATS's default feed with a standard configuration.

Available actions

ValueUsage
addAdd a new job offer
editModify an existing offer
deleteArchive an existing offer
republishRepublishing an offer

The values shown are the default values; these can be customised for the partner.

Warning

The republish command on an active offer causes it to be archived, and the publication of a new copy on H+6.

If the offer has been archived for more than one day, republishing takes place immediately (depending on how often the advertisements are retrieved by the various jobboards).

By default, when republishing, if an error is detected on at least one of the jobboard, the entire publication on all media will be blocked, and an error will be returned to you.

Force

This option allows you to republish an advertisement even if one of the sites included in the initial offer is no longer available at the time of republishing:

<force>true</force>

Values

The values in our repository can be retrieved by identifier using the following two methods:

  • GetListNames: Returns the names of the different value lists in our repository
  • GetListValues: Returns the values from a list in our repository

However, it is possible to configure the XML so that you can use your own repository values. To do this, you will need to provide us with the lists of values corresponding to the fields for which you wish to use them so that we can configure them in our solution.

Templates via the SendToUbipostingLite method

See the available request templates:

Options

Subsidiaries

For customers who wish to distribute specifically to one of their subsidiaries, an option is available via the enterpriseID tag.

The company ID in the request means that users do not have to select their subsidiary when they arrive on Talentplug and link a given user to their parent company on Talentplug. There is therefore only one possible channel for this user.

Below are the different user configuration options for the various company configurations (determined at the time of configuration):

  • Parent company and 0 subsidiaries: admin or user linked to parent
  • Parent company and 1 subsidiary: admin attached to parent and subsidiary, user linked to parent and subsidiary, or user linked to subsidiary only
  • Parent company and 2 subsidiaries: admin linked to parent and both subsidiaries, user linked to parent and both subsidiaries, user linked to 1 or 2 subsidiaries
  • Parent company and N subsidiaries: admin linked to parent and N subsidiaries, user linked to parent and N subsidiaries, or user linked to N subsidiaries

When you send a request with Login/Password/Entity, the user is logged into their Talentplug account. If we have granted them rights to multiple entities, the user can choose another entity for distribution if they wish in our step 1.

remarque

A company ID that is not the one previously included in the creation request will return an error on editing, republishing and unpublishing actions.

Similarly, editing, republishing and unpublishing actions will result in an error if you do not have a company ID and the user who wishes to perform the action is not linked to the parent company.

Two possible configurations:

  • Simple mode: 1 TP user = 1 TP entity — requests contain IDs for creations, archiving, editing and republishing
  • Multi-entity mode: 1 TP user = X TP entities — requests do not contain IDs; the user chooses their entity on Talentplug, and you archive, republish, and edit using only the (unique) offer_key_id

Not sending the ID simplifies your queries and any inconsistencies as soon as a change is made to a user's entities at our level.

Redirection at the end of publication

Once the offer has been published, it is possible to redirect the user to a URL of your choice. To use this option, simply use the redirectionUrl tag available to send the address to which you want the user to be redirected.

This tag can be mapped like any other to allow you to use the value of your choice.

Process for publishing an offer via Published_as

If your system does not allow you to provide a login and password for each user when creating an offer, you can publish the offer under a Talentplug user using the Published_as tag.

Steps to follow:

  1. When sending the job offer, use the login and password provided to you for the client.
  2. In the Published_as tag, specify the login of the user to whom the job offer should be associated.
  3. Talentplug will automatically identify the user, where each login corresponds to an email address.

The offer will then be automatically associated with the user specified in Published_as.

Error messages

Error codeMessageReason
error_100One or more mandatory fields are emptyOne or more mandatory fields are empty
error_102Email and/or URL not foundThe email or application URL is missing
error_103Invalid emailThe email address is invalid
error_104Invalid URLThe URL is invalid
error_105Application mode mismatch: email and URL foundBoth the email and URL fields are filled in, when only one of them should be filled in
error_106Missing tracking addressThe tracking address is missing
error_200Invalid partner API keyThe API key is missing or incorrect
error_201Invalid partner mappingThe partner configuration is invalid or could not be found
error_203Invalid offer_keyIDThe unique offer ID is incorrect and no offer could be found
error_204Partner is not set on this companyThe partner was not found in the company configuration
error_205Administrator access requiredThe user is not an administrator, whereas the method called requires it
error_210The list is emptyThe list query did not return any results
error_300Authentication failed: login and/or password not foundAuthentication failed because the login or password is missing or incorrect
error_301User not foundThe user was not found for the current request
error_400Invalid tokenThe token provided is invalid
error_401Token not createdThe token could not be generated
error_402Unable to decryptDecryption failed
error_500Undefined action tag or action valueThe action could not be found on an offer
error_501Cannot generate Talentplug platform URLThe redirect link to the Talentplug platform could not be generated
error_600HTML not allowedHTML is not permitted in values
error_700The offer has not been addedThe addition has not been made
error_701No active offer for this userNo offer was found for the current user
error_702Unable to delete: the offer was already deletedThe offer was unable to be unpublished because it had already been unpublished previously
error_703Unable to delete: more than one occurrence of the offer has been foundThe offer has been unpublished because several offers were found for this identifier
error_704Invalid userThe user who wants to edit the offer is not the same as the one who created it
error_705The offer has expired on all job boardsThe offer has expired on all media where it was published
error_706User is not permitted on this companyThe user does not have access to the company
error_707Invalid company IDThe company ID is not listed
error_708No user found on this companyNo user found on this company
error_709Offer not republishedThe offer has not been republished
error_710Offer not processed when attempting to republishThe offer was not processed when republishing
error_711Unable to republish: more than one occurrence of the offer has been foundThe offer republishing failed because multiple offers were found for this identifier
error_712Unable to republish: you cannot republish this offer yetThe offer reposting failed because the number of days is less than the number of days defined by the customer in their Talentplug settings
error_800Invalid job board IDThe media ID is incorrect
error_801Invalid SchoolPosting job board IDThe SchoolPosting media ID could not be found
error_802No job board foundNo media found
error_900One or more parameters are emptyOne or more parameters sent to the method are empty
error_901Invalid parameter: [param] must be a value between [min] and [max]The specified parameter must be between the minimum and maximum values indicated
error_902Invalid parameter: [param] must be a numericThe specified parameter must be a numeric value
error_903Invalid parameter: [param] is not a correct location codeThe specified parameter does not correspond to a valid location code (country or region)
error_1000The validity date has expiredThe account validity date has expired
error_1100Unexpected error. Please contact Talentplug supportUnidentified error. Please contact Talentplug support

Retrieving information from an offer

GetOffer method

This method allows you to retrieve information about an offer. It takes the following parameters:

Field nameField typeDescription
apiKeyTextUnique key identifying the partner (provided by TalentPlug)
loginTextLogin ID of the user posting the offer
passwordTextUser password
offerKeyTextUnique identifier for the offer
includeSpecificFieldsBoolean1: Include specific fields / 0: Do not include specific fields

SOAP request template

<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<GetOffer xmlns="http://www.mytalentplug.com/webservice/WebService.asmx">
<apiKey>string</apiKey>
<login>string</login>
<password>string</password>
<offerKey>string</offerKey>
<includeSpecificFields>boolean</includeSpecificFields>
</GetOffer>
</soap:Body>
</soap:Envelope>

Return XML

The offer tag contains a status attribute that will return the overall status of the offer:

  • Normal: active offer
  • Draft (brouillon): unpublished offer
  • Archived (archive): archived offer
Tag nameTypeSpecific information
jobBoardsTagContainer for job boards
jobBoardTextJob board name with id, status, reason, external_reference attributes
general_informationsTagGeneral job information
posting_dateDateDate the vacancy was posted
job_referenceTextJob reference
job_titleTextJob title
offer_languageTextJob offer language
companyTagCompany information
company_nameTextCompany name
company_descriptionText (CData)Company description
company_urlTextCompany website
jobTagPosition information
job_descriptionText (CData)Job description
job_industryTextIndustry
job_industry2TextSecond industry sector
job_functionTextFunction
job_function2TextSecond function
job_typeTextType of employment
job_statusTextJob status
job_contractTextContract type
job_durationTextContract duration
job_startdateTextStart date
ProfileTagCandidate profile information
applicant_profileText (CData)Required profile
applicant_degreeTextLevel of education
applicant_experienceTextLevel of experience
applicant_skillsTextSpecific skills
salaryTagSalary information
salary_fromTextLower limit of proposed salary
salary_toTextProposed upper salary limit
salary_currencyTextCurrency
salary_perTextSalary frequency
salary_benefitsTextSalary benefits
salary_textTextSummary of other salary-related fields
locationTagLocation information
location_streetTextAddress
location_zipcodeTextPostcode
location_townTextTown
location_administrativeareaTextRegion
location_subadministrativeareaTextDepartment
location_administrativearea2TextSecond region
location_subadministrativearea2TextSecond department
location_countryTextCountry
specific_fieldsTagSpecific field information
contactTagRecruitment officer information
contact_nameTextRecruitment officer
contact_phoneTextRecruitment officer's telephone number

Error messages (GetOffer)

Error codeMessageReason
error_200Partner API key not foundThe APIKey (partner key) is not present
error_203Offer key not foundThe unique identifier is invalid
error_300Authentication failedThe identifiers are invalid
error_900Parameters are emptyOne of the parameters in the method is empty
error_1000The account has expiredThe account's validity date has passed

Retrieving information from a job board

GetJobBoardInfo method

This method allows you to retrieve information from a job board for a given client. It returns the name, theme, number of credits (or slots) remaining, expiry date, investment amount and application acquisition cost.

Field nameField typeDescription
apiKeyTextUnique key identifying the partner (provided by TalentPlug)
loginTextLogin ID of the user posting the offer
passwordTextUser password
companyIDIntTalentPlug ID of the client's company
jobBoardIDIntJob board Talent ID

SOAP request template

<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<GetJobBoardInfo xmlns="http://www.mytalentplug.com/webservice/WebService.asmx">
<apiKey>string</apiKey>
<login>string</login>
<password>string</password>
<companyID>int</companyID>
<jobBoardID>int</jobBoardID>
</GetJobBoardInfo>
</soap:Body>
</soap:Envelope>

Retrieving companies

UserCompanies method

This method retrieves the list of companies for a given customer. It returns the company ID and name.

Field nameField typeDescription
apiKTextUnique key identifying the partner (provided by TalentPlug)
loginTextLogin ID of the user posting the offer
passwdTextUser password

SOAP request template

<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<UserCompanies xmlns="http://www.mytalentplug.com/webservice/WebService.asmx">
<apiK>string</apiK>
<login>string</login>
<passwd>string</passwd>
</UserCompanies>
</soap:Body>
</soap:Envelope>

Other available functions

List of media available for a given user (UserJobBoards)

Returns a list of the different media available for a given user.

Input parameters:

  • ApiK: unique identifier for the third-party application provided by Talentplug
  • Email: email address used by the user to log in to Talentplug
  • Passwd: password used by the user to log in to Talentplug

Web service call

<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<UserJobBoards xmlns="http://www.mytalentplug.com/webservice/WebService.asmx">
<apiK>apiK</apiK>
<email>Email</email>
<passwd>password</passwd>
</UserJobBoards>
</soap:Body>
</soap:Envelope>

Response example

<user_jobboards>
<jobboard>
<name>LA VOIX EMPLOI.COM</name>
<isPaying>True</isPaying>
<expiry_date></expiry_date>
<pack></pack>
<quota></quota>
</jobboard>
</user_jobboards>

Tag definitions

  • <user_jobboards>: delimits the beginning and end of the list
  • <jobboard>: delimits each medium
  • <name>: name of the medium
  • <isPaying>: whether the medium is paid (true) or free (false)
  • <expiry_date>: expiry date of the company's package for the medium
  • <pack>: number of advertisements in the company's package
  • <quota>: number of advertisements (quota) available to the given user

List of countries (CountryList)

Input parameters:

  • ApiK: unique identifier for the third-party application provided by Talentplug

Web service call

<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<CountryList xmlns="http://www.mytalentplug.com/webservice/WebService.asmx">
<apiK>apiK</apiK>
</CountryList>
</soap:Body>
</soap:Envelope>

Response example

<listCountries>
<country>
<id>1167</id>
<name>France</name>
</country>
<country>
<id>1292</id>
<name>Belgium</name>
</country>
<country>
<id>1304</id>
<name>Luxembourg</name>
</country>
<country>
<id>1305</id>
<name>Switzerland</name>
</country>
<country>
<id>1333</id>
<name>Canada</name>
</country>
</listCountries>

List of regions (ListRegions)

Returns a list of the regions where the positions are located.

Input parameters:

  • ApiK: unique identifier for the third-party application provided by Talentplug
  • Country: identification code for the country being searched

Code 0 provides a global list of all departments and regions.

Web service call

<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<ListeRegions xmlns="http://www.mytalentplug.com/webservice/WebService.asmx">
<apiK>apiK</apiK>
<country>country code</country>
</ListeRegions>
</soap:Body>
</soap:Envelope>

Response example

<country id="1304" name="Luxembourg">
<regions>
<region>
<id>1330</id>
<name>Diekirch</name>
</region>
<region>
<id>1331</id>
<name>Luxembourg</name>
</region>
<region>
<id>1332</id>
<name>Grevenmacher</name>
</region>
</regions>
</country>

List of departments (ListDepartments)

Returns a list of the departments where the positions are located.

Input parameters:

  • ApiK: unique identifier for the third-party application provided by Talentplug
  • Region: identification code for the search region

Code 0 provides a general list of all departments in all regions.

Web service call

<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<DepartmentList xmlns="http://www.mytalentplug.com/webservice/WebService.asmx">
<apiK>apiK</apiK>
<region>region code</region>
</DepartmentList>
</soap:Body>
</soap:Envelope>

Response example

<region id="1252" name="Nord-Pas-de-Calais" country_id="1167" country_name="France">
<departments>
<department>
<id>1253</id>
<name>59 - Nord</name>
</department>
<department>
<id>1254</id>
<name>62 - Pas-de-Calais</name>
</department>
</departments>
</region>

List of all active offers (GetAllActiveOfferStatus)

List of active offers for a given period with their status on each job board. If the request is made by an administrator, you will see all of the company's offers. If the request is made by a regular user, you will only see their offers.

Example request

<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope"
xmlns:web="http://www.mytalentplug.com/webservice/WebService.asmx">
<soap:Header/>
<soap:Body>
<web:GetAllActiveOfferStatus>
<web:apiKey>ApiKey</web:apiKey>
<web:login>login@login.com</web:login>
<web:password>testPassword</web:password>
<web:monthNumber>1</web:monthNumber>
</web:GetAllActiveOfferStatus>
</soap:Body>
</soap:Envelope>

List of all active users (GetActiveUserList)

Returns all users with hashed passwords and whether or not they are administrators. Regardless of who makes the request, administrator or not, users will be displayed but with a hashed password that will allow users to query other endpoints that require authentication.

Example request

<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope"
xmlns:web="http://www.mytalentplug.com/webservice/WebService.asmx">
<soap:Header/>
<soap:Body>
<web:GetActiveUserList>
<web:apiKey>ApiKey</web:apiKey>
<web:login>login@login.com</web:login>
<web:password>testPassword</web:password>
</web:GetActiveUserList>
</soap:Body>
</soap:Envelope>