createOffer

Posts a new job offer with the values provided in soap request envelope. In order to insert an offer you must comply with all the validations. Each validations is explained in the definition of the field.


Only plain text is allowed (do not use any html tags). You must not include links to external sites or contact details. Additionally you should avoid posting sexist/gender specific offers


Request

WSDL URL

https://api.infojobs.net/soap/WSOfferV2Service?wsdl

Security

  • User Role: ROLE_EMPLOYER

Parameters

Name Description

jobTitle

String

Required

Title of the job post as it will displayed to prospective candidates. This is a mandatory field, and its length should be between 3 and 255 characters long. Infojobs reserves the right to withdraw a job post if its title refers to more than one posting.

Example values: Junior Developer with knowledge of English

jobDescription

String

Required

Text describing the job offer. This is a mandatory field, and its length is limited to a minimum of 100 and a maximum of 4000 characters.

Only plain text is allowed (do not use any html tags). You must not include links to external sites or contact details. Additionally you should avoid posting sexist/gender specific offers.

If you do not comply with any of these rules, Infojobs reserves the right to withdraw your job post.

city

String

Required

The city where to list the job offer. This is a mandatory field, and its length is limited to a minimum of 3 and a maximum of 500 characters.

Example values: Maragall

contractTypeId

Long

Required

The identifier of the contract type.This is a mandatory field. In order to obtain all valid identifiers you can use the operation findByListName providing the publicNameKey of the appropriate list.

Example values: 5 (Other contracts)

In this example the identifier 5 is obtained using the findByListName operation with publicNameKey: CONTRACTS.

countryId

Long

Required

The identifier of the country of the offer. This is a mandatory field.In order to obtain all valid identifiers you can use the operation findByListName providing the publicNameKey of the appropriate list.

Example values: 17 (Spain)

In this example the identifier 17 is obtained using the findByListName operation with publicNameKey: COUNTRIES.

provinceId

Long

Required

The identifier of the province in which the offer is published. This is a mandatory field.

To obtain all valid province identifiers for a given countryId you can use the operation findByListNameAndParentId.

In the request you should use PROVINCES as the publicNameKey and the the value of the countryId as the parentId.

Example values: 9 (Barcelona)

In this example the identifier 9 is obtained using the findByListNameAndParentId operation with publicNameKey: PROVINCES and the parentId:17 obtained in the previous example.

department

String

Optional

Company department where the job opening is allocated. This field is optional.

Example values: Quality

desiredJobSkills

String

Optional

Desired skills the candidate should have in order to apply for the job offer. This field is optional.

Example values: Solid knowledge of English

emailFeedbackInsc

String

Optional

The email address of the employer where to receive notifications regarding applications. When a new application is received, an email will be sent to the emailFeedbackInsc provided. This field is optional, but if informed it should contain a correctly formed email address.

Example values: test@yourcompany.com

jobDuration

String

Optional

Period of time for which you need to cover the position solicited. This field is optional.

Example values: 6 months

jobIndustryId

Long

Optional

The identifier of the job industry of the offer. This is a mandatory field.In order to obtain all valid identifiers you can use the operation findByListName providing the publicNameKey of the appropriate list.

In order to be valid, a category id must be greater than zero.

Example values: 100 (Legal)

In this example the identifier 100 is obtained using the findByListName operation with publicNameKey: CATEGORIES.

jobSubindustryId

Long

Optional

The identifier of the job subIndustry under which the offer is listed. This is a mandatory field.

To obtain all valid subIndustry identifiers for a given job industryId you can use the operation findByListNameAndParentId.

In the request you should use SUBCATEGORIES as the publicNameKey and the the value of the jobIndustryId as the parentId.

Example values: 3064 (International Law)

In this example the identifier 3064 is obtained using the findByListNameAndParentId operation with publicNameKey: SUBCATEGORIES and the parentId:100 obtained in the previous example.

jobReference

String

Optional

This field is used internally by companies to perform searches. It is an optional field.

levelId

Long

Required

The identifier of the level of expertise required by the offer. This is an optional field but if provided it must be valid.

In order to obtain all valid identifiers you can use the operation findByListName providing the publicNameKey of the appropriate list.

Example values: 3 (Specialist)

In this example the identifier 3 is obtained using the findByListName operation with publicNameKey: LABORALLEVEL.

minimumExperienceId

Long

Required

The identifier of the minimum level of experience required by the offer. This is an mandatory field.

In order to obtain all valid identifiers you can use the operation findByListName providing the publicNameKey of the appropriate list.

Example values: 2 (Not required)

In this example the identifier 2 is obtained using the findByListName operation with publicNameKey: MINEXPERIENCES.

minimumStudiesId

Long

Required

The identifier of the minimum level of studies required by the offer. This is an mandatory field .

In order to obtain all valid identifiers you can use the operation findByListName providing the publicNameKey of the appropriate list.

Example values: 147 (Master)

In this example the identifier 147 is obtained using the findByListName operation with publicNameKey: STUDIESLEVEL.

nationalityId

Long

Optional

The identifier of the nationality of the candidate. This is an optional field but if provided it must be valid.

In order to obtain all valid identifiers you can use the operation findByListName providing the publicNameKey of the appropriate list.

Example values: 17 (Spain)

In this example the identifier 17 is obtained using the findByListName operation with publicNameKey: COUNTRIES.

numberOfVacancies

Int

Required

Amount of vacancies to be filled- This is a numeric mandatory field.

Example values: 2

requiredJobSkills

String

Optional

Required skills candidate must have in order to apply for the job offer. This is an optional field.

Example values: Knowledge of Java

residenceInId

Long

Optional

The identifier of the residence requirement the candidate should meet in order to apply to the offer. (e.g: province where the offer is posted, country where the offer is posted, not appliable, etc.). This is an optional field but if provided it must be valid.

In order to obtain all valid identifiers you can use the operation findByListName providing the publicNameKey of the appropriate list.

Example values: 2 (Not required)

In order to obtain all valid identifiers you can use the operation findByListName providing the publicNameKey "RESIDENTS"

salaryBenefits

String

Optional

Added benefits the company offers to the candidate. This is an optional field. Maximum length: 50 characters.

Example values: Ticket Restaurant Card

salaryPerId

Long

Required

The identifier of the period by which the payment will be issued.

In order to obtain all valid identifiers you can use the operation findByListName providing the publicNameKey of the appropriate list.

Example values: 3 (gross/year)

In order to obtain all valid identifiers you can use the operation findByListName providing the publicNameKey "WAGEPERIOD"

salaryFromId

Long

Required

The identifier of the minimum monetary amount the company is willing to pay for the service solicited. (ranges from: 3 to 240.000 euros).

In order to obtain all valid identifiers you can use the operation findByListName providing the publicNameKey of the appropriate list.

Example values: 150 (1200 euros)

In order to obtain all valid identifiers you can use the operation findByListName providing the publicNameKey "WAGEAMOUNT"

salaryToId

Long

Required

The identifier of the maximum monetary amount the company is willing to pay for the service solicited. (ranges from: 3 to 240.000 euros).

In order to obtain all valid identifiers you can use the operation findByListName providing the publicNameKey of the appropriate list.

Example values: 150 (1200 euros)

In order to obtain all valid identifiers you can use the operation findByListName providing the publicNameKey "WAGEAMOUNT"

specialityId

Long

Optional

The identifier of the studies specialty required for the candidate. This is an optional field but if provided it must be valid.

In order to obtain all valid identifiers you can use the operation findByListName providing the publicNameKey of the appropriate list.

Example values: 181 (Algebra)

In order to obtain all valid identifiers you can use the operation findByListName providing the publicNameKey "DETAILSTUDIES"

staffInChargeId

Long

Optional

The identifier of number of employees that will be in charge of the selected candidate. This is an optional field but if provided it must be valid.

In order to obtain all valid identifiers you can use the operation findByListName providing the publicNameKey of the appropriate list.

Example values: 1 (0)

In order to obtain all valid identifiers you can use the operation findByListName providing the publicNameKey "PERSONNELTOPOSITION"

studying

Boolean

Optional

Current educational status of the candidate. This field is optional.

Example values: true

Example values: 1

Example values: false

timetable

String

Optional

Text input to describe the time range during which the job will be performed. This is an optional field, and its length is limited to a maximum of 50 characters.

Example values: 8am-5pm

workingDayId

Long

required

The identifier of the type of working day. This is an optional field, but if it is informed it must be valid. In order to obtain all valid identifiers you can use the operation findByListName providing the publicNameKey of the appropriate list.

Example values: 2 (fulltime)

In this example the identifier 2 is obtained using the findByListName operation with publicNameKey: DAYS.

zip

String

Required

The postal code where the offer will be posted. This is a mandatory field, it must be a 5 digit number.

Example values: 08032

killerQuestionList

List of killer question entity

optional

The list of killer questions that will be added to the job offer. Below you can see the fields of the Killer question entity. Limited to 8 killer questions per offer.

openQuestionList

List of open question entity

optional

The list of open questions that will be added to the job offer. Below yo can see the fields of the open question entity. Limited to 4 open questions per offer.

upsellingList

List of upselling entity

optional

The list of upsellings that will be added to the job offer. Below yo can see the fields of the upselling entity.

In order to obtain all the available upsellings you can use the findMyUpsellings operation.

urlExternalApplication

String

optional

URL the applicants will be directed to when they click the link to apply to the job offer. The field must start with http:// or http://. This field is optional, but in order to inform it, the authenticated user must have the stock necessary. Otherwise an error code will be returned.

profile

Profile entity

optional

The company profile used to posting the job offer. If this field is not informed the default profile of the company will be used.

In order to obtain all the available profiles you can use the findMyProfiles operation.

hideSalary

Boolean

Optional

Optional field to set if offer salary should be hidden. Default value: false

knowledgeList

List of Knowledge entity

Optional

Optional field to set the offer knowledge skills.


Fields related to the killer question entity
Name Description

text

The killer question text. This text must be between 10 and 490 characters long.

answerList

A structure where every answer and its grade is listed. A list of answer elements. It is limited to a minimun of 2 and a maximum of 5 answers per question.

Fields related to the answer entity
Name Description

grade

The grade associated to the text specified.

text

The answer text, it must be between 2 and 150 characters long.

Fields related to the open question entity
Name Description

text

The open question text. The text must be between 10 and 490 characters long.

Fields related to the upselling entity
Name Description

productId

The identifier of the upselling.

Fields related to the profile entity
Name Description

code

The code that identifies the profile.

Fields related to the knowledge entity
Name Description

name

The offer knowledge skill.

Response

Response fields

The response will include a summary of the posted job offer formed by the following fields:

Name Description

jobIndustryId

The identifier of the job offer industry.

jobReference

Used by the company for classification purposes.

jobTitle

The title of the job offer.

offerCode

The code that identifies the job offer.

provinceId

The identifier of the job offer province.

upsellingList

List of upselling entity added to the job offer.

Fields related to the upselling entity
Name Description

beginDate

The upselling starting date.

endDate

The upselling termination date.

productId

The identifier of the upselling.

productName

The name of the upselling.

state

The current state of the upsellling. The possible values are 0 for inactive, 1 for active.

stateDescription

A text description of the upselling state.

Error codes

Code Description

WS.1130

The field mininumStudiesId is required.

WS.1131

The mininumStudiesId provided is invalid.

WS.1132

The emailFeedbackInsc provided is an invalid email.

WS.1133

The contractTypeId provided is invalid.

WS.1135

The levelId provided is invalid.

WS.1136

The url is not valid. It must start with 'http://' or 'https://'

WS.1138

The authenticated user doesn't have stock to add external form to offer.

WS.1141

The authenticated user can't add an external url if the offer already has Infojobs applications.

WS.1142

The staffInChargeId provided is invalid.

WS.1143

The minimumExperienceId provided is invalid.

WS.1144

The city provided is invalid. It must be between 5 and 500 characters long.

WS.1145

The city field is required.

WS.1146

The provinceId field is required.

WS.1147

The provinceId provided is invalid.

WS.1148

The provinceId provided does not belong to the countryId.

WS.1149

The countryId field is required.

WS.1150

The countryId provided is invalid.

WS.1151

The job description is required.

WS.1152

The job description is invalid. It should be between 100 and 4000 characters long.

WS.1153

The job title is required.

WS.1154

The job title is invalid. It must be between 3 and 255 characters long.

WS.1155

The salaryFromId provided is invalid.

WS.1156

The salaryToId provided is invalid.

WS.1160

The NumberOfVacancies provided is invalid. It must be a valid number greated than 0.

WS.1161

The NationalityId provided is invalid.

WS.1162

The jobSubindustryId field is required.

WS.1163

The jobSubindustryId provided is invalid.

WS.1164

The jobSubindustryId does not belong to the jobIndustryId.

WS.1165

The jobIndustryId field is required.

WS.1166

The jobIndustryId provided is invalid.

WS.1167

The residenceInId provided is invalid.

WS.1168

The workingDayId field is required.

WS.1169

The workingDayId provided is invalid.

WS.1170

The salaryPerId provided is invalid.

WS.1171

The specialityId provided is invalid.

WS.1172

The zip code provided is invalid.

WS.1173

The zip code field is required.

WS.1174

No available stock for creating the job offer.

WS.1175

No available stock for creating the job offer.

WS.1176

The countryId provided is invalid. It must be a value greater than 0.

WS.1177

The provinceId provided is invalid. It must be a value greater than 0.

WS.1178

The jobIndustryId provided is invalid. It must be a value greater than 0.

WS.1179

The jobSubindustryId provided is invalid. It must be a value greater than 0.

WS.1180

The minimumExperienceId provided is invalid. It must be a value greater than 0.

WS.1181

The minimumStudiesId provided is invalid. It must be a value greater than 0.

WS.1182

The workingDayId provided is invalid. It must be a value greater than 0.

WS.1183

The job offer has an invalid upselling.

WS.1197

The additionalSalaryBenefit is mandatory for salaryBenefit.

WS.1198

Offer redirect (externalUrlForm is not valid) not available for this matrix.

WS.1199

The offer is not a draft offer.

WS.1200

The offer to copy does not belong to the matrix.

WS.1201

The sector is not a valid parameter.

WS.1202

The category is not a valid parameter.

WS.1203

The detailed study does not belong to the specified minimum study.

WS.1204

The offer province must be from a foreign country.

WS.1205

Category id is required.

WS.1206

Subcategory id is required.

WS.1207

Detailed study id is required.

WS.1208

Residence id is required.

WS.1209

Staff in charge id is required.

WS.1210

Contract type required.

WS.1211

Zip code is invalid. It must contain only numbers.

WS.1212

Zip code is invalid. It exceeds the maximum number of 1 allowed '-' separators.

WS.1213

Zip code is invalid. It should have a length between 5 and 10 characters.

WS.1214

Comissions length invalid. It should have a length between 1 and 50 characters.

WS.1215

The contract duration length is invalid. It should have a length between 0 and 50 characters.

WS.1216

Invalid question type.

WS.1217

Job description exceeds the maximum of 4 contiguous characters.

WS.1218

Department length invalid. It should have a length between 0 and 50 characters.

WS.1219

Alternate name length invalid. It should have a length between 3 and 100 characters.

WS.1220

Alternate name exceeds the maximum of 4 contiguous characters.

WS.1221

Schedule length invalid. It should have a length between 0 and 50 characters.

WS.1222

Desired requirements invalid. It should have a length between 0 and 1000 characters.

WS.1223

Alternate description length invalid. It should have a length between 100 and 4000 characters.

WS.1224

Reference length invalid. It should have length between 0 and 50 characters

WS.1225

Minimum requirements length invalid. It should have length between 0 and 1000 characters

WS.1226

Alternate description exceeds the maximum of 4 contiguous characters.

WS.1500

It is only allowed a maximun of 12 Killer questions per job offer.

WS.1501

There is a killer question invalid. The text must be between 10 and 490 characters long.

WS.1502

There is a killer question invalid. The answer text must be between 2 and 150 characters long.

WS.1503

There is a killer question with an invalid grade.

WS.1504

It is only allowed a maximun of 5 answers per killer question.

WS.1505

There is killer question invalid. There must be at least 2 answers per killer question.

WS.1506

The killer question grade is required.

WS.1507

There is a killer question with invalid field values.

WS.1507

There is a killer question answer with invalid field values.

WS.1509

The grade is required for each killer question answer.

WS.1510

The killer question answer text is required.

WS.1511

There killer question text is required.

WS.1512

Maximum number of knowledges is exceed.

WS.1513

Knowledges must have text.

WS.1514

Knowledge is not valid option.

WS.1515

Knowledge has not allowed symbols.

WS.1516

Period of salary is required.

WS.1517

Mimimun salary is required.

WS.1518

Maximun salary is required.

WS.1519

Employment level is required.

WS.1520

The number of vacancies is required.

WS.1521

The minimum experience id is required.

WS.1600

It is only allowed a maximun of 4 open questions per job offer.

WS.1601

There is an open question invalid. The text must be between 10 and 490 characters long.

WS.1602

There is an open question with invalid field values.

WS.1602

There open question text is required.

WS.1700

The profile code provided is invalid.

WS.1701

No stock available for stockable profiles.

WS.1702

The offer has an invalid profile or profile is not in group.

Examples

Request

 

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:off="http://offer.endpoints.www.soap.infojobs.net/">
    <soapenv:Header>   
      <wsse:Security soapenv:mustUnderstand="1" xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd">
         <wsse:UsernameToken wsu:Id="UsernameToken-799830164" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">
            <wsse:Username>SOAP-TEST</wsse:Username>
            <wsse:Password Type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordText">SOAP-TEST-PASSWORD</wsse:Password>
         </wsse:UsernameToken>
      </wsse:Security>
      <ij:authnHeader xmlns:ij='http://api.infojobs.net/soap/authn'>
	    <token>20000000-0000-0000</token>
      </ij:authnHeader>
   </soapenv:Header>
   <soapenv:Body>
 <off:createOffer>
         <wsCreateOfferRequestBean>
            <jobTitle>Simple offer title</jobTitle>
            <jobReference/>
            <numberOfVacancies>1</numberOfVacancies>
            <department/>
            <levelId>0</levelId>
            <staffInChargeId>0</staffInChargeId>
            <jobDescription>Lorem ipsum dolor sit amet, consectetur adipiscing
               elit. Maecenas blandit ante vel mauris. Suspendisse
               nisi tellus, pharetra quis, sodales eget, laoreet
               at, erat. Pellentesque ultrices enim venenatis
               nulla. Nullam purus mi, mattis et, faucibus sodales,
               sagittis ut, risus. Nam vel magna vel nulla interdum
               posuere. Fusce aliquam auctor nisi. Aenean ut erat
               id elit pulvinar imperdiet. Nullam convallis, nunc
               in consectetur vestibulum, felis elit porttitor
               nisi, a vehicula sapien magna a orci. Nullam id orci
               vel justo pretium accumsan. Nulla dictum purus et
               nibh.</jobDescription>
               
            <jobIndustryId>10</jobIndustryId>
            <jobSubindustryId>3000</jobSubindustryId>
            
            <countryId>17</countryId>
            <provinceId>9</provinceId>
            <city>Maragall</city>
            <zip>08032</zip>
            
            <minimumStudiesId>10</minimumStudiesId>
            <minimumExperienceId>1</minimumExperienceId>
            <specialityId>0</specialityId>
            <studying>false</studying>            
            <residenceInId>0</residenceInId>
            <requiredJobSkills/>
            <desiredJobSkills/>
            <nationalityId>0</nationalityId>
            <contractTypeId>10</contractTypeId>
            <jobDuration/>
            <workingDayId>1</workingDayId>
            <timetable/>
            <salaryPerId>2</salaryPerId>
            <salaryFromId>126</salaryFromId>
            <salaryToId>150</salaryToId>
            <salaryBenefits/>
            <studying>true </studying>
            <emailFeedbackInsc>direccion.nacional.de@correo.net</emailFeedbackInsc>
            
            
            <upsellingList>
             <upselling><productId>63</productId></upselling>
             <upselling><productId>64</productId></upselling>
            </upsellingList>
            
            
            <openQuestionList>
               <openQuestion>
                  <text>Open Question 01</text>
               </openQuestion>
            </openQuestionList>

            
            <killerQuestionList>
               <killerQuestion>
                  <text>Killer Question 01</text>
                  <answerList>
                     <answer>
                     <grade>1</grade>
                     <text>Answer 01 to Killer Question 01</text>
                     </answer>
                     <answer>
                     <grade>0</grade>
                     <text>Answer 02 to Killer Question 01</text>
                     </answer>
                  </answerList>
               </killerQuestion>
            </killerQuestionList>
               
         </wsCreateOfferRequestBean>
      </off:createOffer>
   </soapenv:Body>
</soapenv:Envelope>

 

Response

<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
   <soap:Header>
      <wsse:Security soap:mustUnderstand="1" xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">
         <wsu:Timestamp wsu:Id="TS-1">
            <wsu:Created>2012-05-09T11:23:37.859Z</wsu:Created>
            <wsu:Expires>2012-05-09T11:28:37.859Z</wsu:Expires>
         </wsu:Timestamp>
      </wsse:Security>
   </soap:Header>
   <soap:Body>
      <ns1:createOfferResponse xmlns:ns1="http://offer.endpoints.www.soap.infojobs.net/">
         <wsCreateOfferResponseBean>
            <jobIndustryId>10</jobIndustryId>
            <jobReference/>
            <jobTitle>Simple offer title</jobTitle>
            <offerCode>f7e07618454d50bc7987fa2072ab0b</offerCode>
            <provinceId>9</provinceId>
            <upsellings/>
         </wsCreateOfferResponseBean>
      </ns1:createOfferResponse>
   </soap:Body>
</soap:Envelope>