(1) Basic nodes
1.1 xml (document header)
All listings must be provided in encoding UTF-8. Your XML document should also start with UTF-8 header:
<!--?xml version="1.0" encoding="UTF-8"?-->
Please make sure that you have no invisible characters (BOM chracters, non breaking spaces from editor) in your document.
1.2 jobfeed (root node)
Root node/first node after encoding is , example:
<!--?xml version="1.0" encoding="UTF-8"?--> <jobfeed> ... </jobfeed>
1.3 joblisting (main listing node)
Each new listing starts with a main node . This node must contain a unique @reference_id.
JobFeed uses this reference to ensure that actions are addressed correctly to the proper listing. Please check PUSH and PULL documentation for more details.
<!--?xml version="1.0" encoding="UTF-8"?--> <jobfeed> <joblisting reference_id="123456ABCD" sender_id="12345" organisation_id="321" action="INSERT"> ... </joblisting> </jobfeed>
xpath to unique reference_id: /jobfeed/joblisting/@reference_id
Following additional attributes may be provided:
@sender_id is the customer’s ID in the StepStone System where the listing will be published. This ID is provided by StepStone Customer Service. For greater flexibility we suggest to use Company’s full name in node /jobfeed/joblisting/companydetails/companyname instead and let StepStone handle the proper mapping of each company to the matching ID. See description for companydetails/companyname
xpath to sender_id: /jobfeed/joblisting/@sender_id
The @organisation_id is also provided by StepStone. This ID is linked to the contract that will be charged for that certain listing insertion. Like the @sender_id the @organisation_id can also be handled by StepStone through Orgamapping.
xpath to organisation_id: /jobfeed/joblisting/@organisation_id
The @action attribute is used only for PUSH-JobFeed-integrations. Possible values are:
- INSERT – inserts a new offer
- OFFLINE – takes an offer offline, but does not delete it
- UPDATE – updates an offer
- TRANSLATE – on multilingual sites, like StepStone Belgium or StepStone Luxembourg, this action causes the translation of the offer
You find additional details in the PUSH-section of this documentation.
xpath to action: /jobfeed/joblisting/@action
1.4 channel (mandatory)
The node channel defines in which country you want to post an offer. Possible Channels are:
- AT = Austria
- BE = Belgium
- DE = Germany
- NL = Netherlands
- ZA = South Africa
... <joblisting reference_id="123456ABCD" sender_id="12345" organisation_id="321" action="INSERT"> <channel><!--[CDATA[DE]]--></channel> </joblisting> ...
xpath to channel: /jobfeed/joblisting/channel
(CDATA declared)
(2) Offer information
2.1 jobdetails
is the most important node inside the main node joblisting. The subnodes of contain the necessary information to post a basic offer on StepStone. Please do not put in any value directly inside this node but use the subnodes instead.
... <joblisting reference_id="123456ABCD" sender_id="12345" organisation_id="321" action="INSERT"> <channel><!--[CDATA[DE]]--></channel> <jobdetails>...</jobdetails> </joblisting> ...
2.2 language (mandatory)
contains country code in which language the offer is published. Valid options depending on the used channel (check 1.4) are
- AT = DE / EN
- BE = NL / FR / EN
- DE = EN / DE
- NL = NL / EN
- ZA = EN
... <jobdetails> <language><!--[CDATA[DE]]--></language> </jobdetails> ...
xpath to language: /jobfeed/joblisting/jobdetails/language
(CDATA declared)
2.3 job title (mandatory)
The node contains the title of the position. This title is visible on stepstone search result list.
Maximum number of characters: 200 including spaces and entities.
... <jobdetails> ... <jobtitle><!--[CDATA[offer jobtitle]]--></jobtitle> </jobdetails> ...
xpath to jobtitle: /jobfeed/joblisting/jobdetails/jobtitle
(CDATA declared)
2.4 introduction (mandatory)
The node contains information about the company. Note: part of this text is also visible in the search result list on StepStone.
... <jobdetails> ... <introduction title=""><!--[CDATA[company's introduction text]]--></introduction> </jobdetails> ...
xpath to introduction: /jobfeed/joblisting/jobdetails/introduction
(CDATA declared)
If required, you can define your own headline for the introduction block. Use @title for declaration. All special chars must be converted to entities. This attribute is optional and not mandatory.
Default titles:
- AT/DE: Einleitung
- EN: Introduction
- BE/NL: Introductie
xpath to headline description of introduction: /jobfeed/joblisting/jobdetails/introduction/@title
2.5 tasks (mandatory)
What is the “to do” for the candidate in the new job? Please describe the field of work in node , list here the candidate’s tasks and responsibilities. Do not put any other information into this node.
... <jobdetails> ... <tasks title=""><!--[CDATA]--></tasks> </jobdetails> ...
xpath to tasks: /jobfeed/joblisting/jobdetails/tasks
(CDATA declared)
If required, you can define your own headline for the tasks block. Use @title for declaration. All special chars must be converted to entities. This attribute is optional and not mandatory.
Default titles:
- AT/DE: Ihre Aufgaben
- EN: Your tasks
- BE/NL: Jouw verantwoordelijkheden
xpath to headline description of tasks: /jobfeed/joblisting/jobdetails/tasks/@title
2.6 profile (mandatory)
What skills and qualification should the candidate possess? The node contains the requirements of your candidate. Do not put any other information into this node.
... <jobdetails> ... <profile title=""> <!--[CDATA[candidate's profile text]]--></profile> </jobdetails> ...
xpath to profile: /jobfeed/joblisting/jobdetails/profile
(CDATA declared)
If required, you can define your own headline for the profile block. Use @title for declaration. All special chars must be converted to entities. This attribute is optional and not mandatory.
Default titles:
- AT/DE: Ihr Profil
- EN: Your profile
- BE/NL: Jouw profiel
xpath to headline description of profile: /jobfeed/joblisting/jobdetails/profile/@title
2.7 offer (optional)
describes the benefits of your company. What can the applicant look forward to?
... <jobdetails> ... <offer title=""><!--[CDATA[company's benefits text]]--></offer> </jobdetails> ...
xpath to offer: /jobfeed/joblisting/jobdetails/offer
(CDATA declared)
If required, you can define your own headline for the offer block. Use @title for declaration. All special chars must be converted to entities. This attribute is also optional and not mandatory.
Default titles:
- AT/DE: Wir bieten
- EN: We offer
- BE/NL: Ons aanbod
xpath to headline description of offer: /jobfeed/joblisting/jobdetails/offer/@title
2.8 contactInfo (optional)
contains the visible contact information inside the listing.
... <jobdetails> ... <contactinfo title=""><!--[CDATA[contact information text]]--></contactinfo> </jobdetails> ...
xpath to contactinfo: /jobfeed/joblisting/jobdetails/contactinfo
(CDATA declared)
If required, you can define your own headline for the contact block. Use @title for declaration. All special chars must be converted to entities. This attribute is also optional and not mandatory.
Default titles:
- AT/DE: Kontakt
- EN: Contact
- BE/NL: Geïnteresseerd?
xpath to headline description of contact: /jobfeed/joblisting/jobdetails/contactinfo/@title
2.9 job locations (Mandatory)
is the main node for joblocation specific details. This details are provided in subnodes. Do not put in any value directly inside this node, please use the subnodes instead.
... <joblocations> ... </joblocations> ...
xpath to joblocation: /jobfeed/joblisting/jobdetails/joblocations
2.10 location
is the top node for each location where the candidate will work. Full address details are provided in further subnodes. The data contained in its sub nodes are used on StepStone’s own jobsearch and as additional display on Google Maps. A minimum of 1 location is mandatory.
Please note: only the first location node contains data for Google Maps on listing view. If you provide multiple -nodes, Google Maps is not possible on listing view.
... <joblocations> <location>...</location> <location>...</location> </joblocations> ...
xpath to joblocation: /jobfeed/joblisting/jobdetails/joblocations/location
2.11 location – country code
Country code specific value.
... <joblocations> <location> <countrycode><!--[CDATA[DE]]--></countrycode> </location> </joblocations> ...
xpath to country code: /jobfeed/joblisting/jobdetails/joblocations/location/countrycode
(CDATA declared)
2.12 location – city
contains the information about the city the candidate will be working. The number of characters for this information is limited to 100 including spaces and entities.
... <joblocations> <location> <city><!--[CDATA[Berlin]]--></city> </location> </joblocations> ...
xpath to municipality: /jobfeed/joblisting/jobdetails/joblocations/location/city
(CDATA declared)
2.13 location – postal code
Postal or ZIP code.
... <joblocations> <location> <postalcode><!--[CDATA[10969]]--></postalcode> </location> </joblocations> ...
xpath to postal code: /jobfeed/joblisting/jobdetails/joblocations/location/postalcode
(CDATA declared)
2.14 location – street name
Street’s name.
... <joblocations> <location> <streetname><!--[CDATA[Lindenstraße]]--></streetname> </location> </joblocations> ...
xpath to street name: /jobfeed/joblisting/jobdetails/joblocations/location/streetname
(CDATA declared)
2.15 location – building number
Building’s number.
... <joblocations> <location> <buildingnumber><!--[CDATA[123]]--></buildingnumber> </location> </joblocations> ...
xpath to building number: /jobfeed/joblisting/jobdetails/joblocations/location/buildingnumber
(CDATA declared)
2.16 keywords
Keywords are not longer supported. All content in a job listings is available for keyword search.
xpath to keywords: /jobfeed/joblisting/jobdetails/keywords
(CDATA declared)
2.17 apply (mandatory)
is the top node of the section containing possible apply-data. Do not put in any value directly inside this node, please use the subnodes instead. The node that should be used for all applications is defined individually in each feed. At least one apply method is required.
... <jobdetails> <apply>...</apply> </jobdetails> ...
xpath to applybutton: /jobfeed/joblisting/jobdetails/apply
2.18 email
A valid email address.
... <jobdetails> <apply> <email><!--[CDATA[apply@customer.com]]--></email> </apply> </jobdetails> ...
xpath to applybutton: /jobfeed/joblisting/jobdetails/apply/email
(CDATA declared)
2.19 url
This node is used for an online application form.
... <jobdetails> <apply> <url><!--[CDATA[https://www.applyhere.com]]--></url> </apply> </jobdetails> ...
xpath to applybutton: /jobfeed/joblisting/jobdetails/apply/url
(CDATA declared)
2.20 questionnaire
A questionnaire URL which is only used for www.pnet.co.za.
... <jobdetails> <apply> <questionnaire><!--[CDATA[https://www.applyhere.com]]--></questionnaire> </apply> </jobdetails> ...
xpath to questionnaire: /jobfeed/joblisting/jobdetails/apply/questionnaire
(CDATA declared)
2.21 salary (OPTIONAL)
The top node of the section defines possible salary data. Do not enter a value directly in this node, use the subnodes instead. Salary information is generally optional.
However, please note that for some countries (such as Austria), this information is mandatory within the content of the listing due to local legislation.
Note: For valid salary information, all subnodes must be filled in.
... <jobdetails> <salary>...</salary> </jobdetails> ...
xpath to salary: /jobfeed/joblisting/jobdetails/salary
2.22 minimum
This node contains the minimum amount of salary for the posted job. The provided value must be an integer. Please avoid usage of dots, commas or similar.
... <jobdetails> <salary> <minimum>20000</minimum> </salary> </jobdetails> ...
xpath to minimum: /jobfeed/joblisting/jobdetails/salary/minimum
Datatype: Integer
Example decimal value
In case decimal value is provided it must use the dot, like “10.5”
<salary_details> <minimum><![CDATA[10.5]]></minimum> <maximum><![CDATA[15.2]]></maximum> <currency><![CDATA[euro]]></currency> <period><![CDATA[hourly]]></period> </salary_details>
2.23 maximum
This node contains the maximum amount of salary for the posted job. The provided value must be an integer. Please avoid usage of dots, commas or similar.
... <jobdetails> <salary> <maximum>50000</maximum> </salary> </jobdetails> ...
xpath to maximum: /jobfeed/joblisting/jobdetails/salary/maximum
Datatype: Integer
2.24 currency
Please use values according to ISO 4217.
... <jobdetails> <salary> <currency><!--[CDATA[EUR]]--></currency> </salary> </jobdetails> ...
xpath to currency: /jobfeed/joblisting/jobdetails/salary/currency
2.25 period
The period can be defined in hourly, daily, monthly or yearly.
... <jobdetails> <salary> <period><!--[CDATA[monthly]]--></period> </salary> </jobdetails> ...
xpath to period: /jobfeed/joblisting/jobdetails/salary/period
(3) Layout informations
3.1 layoutdetails
contains all layout specific values that can be used on StepStone. Do not put in any value directly inside this node, please use the subnodes instead.
... <layoutdetails> ... </layoutdetails> ...
xpath to layoutdetails: /jobfeed/joblisting/layoutdetails
3.2 images
This is the base node for all image related data. Do not put in any value directly inside this node, please use the subnodes instead.
... <layoutdetails> <images>...</images> </layoutdetails> ...
xpath to images: /jobfeed/joblisting/layoutdetails/images
3.3 header
For StepStone listings where a header image is allowed it can be defined in this node/s. Maximum of allowed headerpictures is 3, one image per node. Recommended values for images:
- Recommended minimum 1140px * 456px.
- size ratio 5:2
- resolution 72 dpi
- filesize recommended 500 KB
- Supported formats are JPG and PNG
2 or 3 images can be used for a slider. In that case all images used must have the same width and height.
... <layoutdetails> <images> <header> <!--[CDATA[https://www.exampleimage/images/headerpicture01.jpg]]--> </header> <header> <!--[CDATA[https://www.exampleimage/images/headerpicture02.jpg]]--> </header> <header> <!--[CDATA[https://www.exampleimage/images/headerpicture03.jpg]]--> </header> </images> </layoutdetails> ...
xpath to header: /jobfeed/joblisting/layoutdetails/images/header
(CDATA declared)
3.4 background image
In case you want to set a background-image for a listing you can use this node. Recommended values for images:
- minimum width and height: 1920px * 1080px
- size ratio 16:9
- resolution 72 dpi
- filesize maximum of 2 MB
- Supported formats are JPG and PNG, JPG is preferred
... <layoutdetails> <images> ... <backgroundimage> <!--[CDATA[https://www.exampleimage/images/backgroundimage.jpg]]--> </backgroundimage> </images> </layoutdetails> ...
xpath to header: /jobfeed/joblisting/layoutdetails/images/backgroundimage
(CDATA declared)
3.5 colors
This is the base node for defining individual colors. Do not put in any value directly inside this node, please use the subnodes instead.
... <layoutdetails> <colors> ... </colors> </layoutdetails> ...
xpath to html: /jobfeed/joblisting/layoutdetails/colors
(CDATA declared)
3.6 background
This value sets the border color of the listing’s Liquid Design version, but only on mobile devices. Please use hexadecimal color code including the hash sign. Shorthand CSS colors are not allowed.
... <layoutdetails> <colors> <background><!--[CDATA[#cccccc]]--></background> </colors> </layoutdetails> ...
xpath to background: /jobfeed/joblisting/layoutdetails/colors/background
(CDATA declared)
3.7 headline
The secondary color formats headlines and links in ‘contact’ section displayed in Liquid Design. Please use hexadecimal color code including the hash sign. Shorthand CSS colors are not allowed.
... <layoutdetails> <colors> <headline><!--[CDATA[#0c2577]]--></headline> </colors> </layoutdetails> ...
xpath to headline: /jobfeed/joblisting/layoutdetails/colors/headline
(CDATA declared)
3.8 video
When using StepStone Product that allows branding, a video link (Youtube, Vimeo or Wistia) can be added in this node.
... <layoutdetails> <video><!--[CDATA[https://www.youtube.com/embed/hEcnAi5kQbM]]--></video> </layoutdetails> ...
xpath to video: /jobfeed/joblisting/layoutdetails/video
(CDATA declared)
(4) Company information
4.1 company details
This is the main node for providing all company related information. Do not put in any value directly inside this node, please use the subnodes instead.
... <joblisting reference_id="123456ABCD"> <companydetails>...</companydetails> </joblisting> ...
xpath to company details: /jobfeed/joblisting/companydetails
4.2 company name
This node provides the name of the company / subsidiary (and thus the dataset on StepStone) where the listing will be published.
... <companydetails> <companyname><!--[CDATA[Max Mustermann GmbH]]--></companyname> </companydetails> ...
xpath to company name: /jobfeed/joblisting/companydetails/companyname
(CDATA declared)
4.3 contract
This is the main node to provide detailed information about contract types, especially used by agencies with different end customers. Do not put in any value directly inside this node, please use the subnodes instead.
... <companydetails> <contract> ... </contract> </companydetails> ...
xpath to contract: /jobfeed/joblisting/companydetails/contract
4.4 Contract – name
This node contains the name and – where necessary – additional information about the contract that is valid for consumption of credits.
... <companydetails> <contract> <name><!--[CDATA[customers frame contract]]--></name> </contract> </companydetails> ...
xpath to name: /jobfeed/joblisting/companydetails/contract/name
(CDATA declared)
4.5 Contract – product (mandatory)
This node covers all products available in the respective Stepstone country (DE, AT, BE, NL) and is most flexible in case of future additions or changes.
Below please find an overview for each country of the possible string values.
BE – Belgium
Possible values are:
Starter
Professional
Premium
Internship Starter
Internship Professional
NL – The Netherlands
Possible values are:
Starter
Professional
Premium
Internship Starter
Internship Professional
DE – Germany
Possible values are:
Select
Select Brand
Select Plus
Select Plus Brand
Pro
Pro Plus
Pro Ultimate
Pro Campus
Pro XXL
AT- Austria
Possible values are:
Starter
Professional
Internship
Premium (special agreement needed)
XML node valid for all countries
... <companydetails> <contract> <product><!--[CDATA[Pro]]--></product> </contract> </companydetails> ...
xpath to product: /jobfeed/joblisting/companydetails/contract/product
(CDATA declared)
4.6 Contract – duration
For customers using products with different durations this node is used to set the correct value.
BE – Belgium
Possible values are:
30, 60, 90, 360
NL – The Netherlands
Possible values are:
30, 60, 90, 360
DE – Germany
Not mandatory. Duration is defined by product.
15 (Select, Select Brand)
30 (Select Plus, Select Plus Brand, Pro, Pro Plus, Pro Campus)
60 (Pro Ultimate)
360 (Pro XXL)
AT – Austria
Mandatory for professional product.
Possible values are:
30, 60, 90, 360
XML node valid for all countries
... <companydetails> <contract> <duration><!--[CDATA[30]]--></duration> </contract> </companydetails> ...
xpath to duration: /jobfeed/joblisting/companydetails/contract/duration
(CDATA declared)
4.7 Billing
This is the main node to provide detailed billing information. Do not put in any value directly inside this node, please use the subnodes instead.
... <companydetails> <billing> ... </billing> </companydetails> ...
xpath to duration: /jobfeed/joblisting/companydetails/billing
(CDATA declared)
4.8 Billing – order number
Order- or PO-numbers can be provided in this node.
... <billing> ... <ordernumber><!--[CDATA[ordernumber/PO-Nr.]]--></ordernumber> </billing> ...
xpath to order number: /jobfeed/joblisting/companydetails/billing/ordernumber
(CDATA declared)
4.9 Billing – cost center
Cost center information.
... <billing> ... <costcenter><!--[CDATA[costcenter]]--></costcenter> </billing> ...
xpath to cost center: /jobfeed/joblisting/companydetails/billing/costcenter
(CDATA declared)
4.10 Billing – company
The company’s name that receives the billing. This is a different information as provided in 4.2 company name.
... <billing> ... <company><!--[CDATA[company]]--></company> </billing> ...
xpath to billing company: /jobfeed/joblisting/companydetails/billing/company
(CDATA declared)
4.11 Billing – contact
A person’s name or a department that is responsible for this billing.
... <billing> ... <contact><!--[CDATA[orderer]]--></contact> </billing> ...
xpath to billing contact: /jobfeed/joblisting/companydetails/billing/contact
(CDATA declared)
4.12 Billing – address
Additional address information for 4.10 company and 4.11 contact.
... <billing></billing> <address><!--[CDATA[billing address]]--></address> ...
xpath to billing address: /jobfeed/joblisting/companydetails/billing/address
(CDATA declared)
4.13 Billing – reference
This can be a manual entered reference string to easily identify a certain listing. This value is only for statistic purposes and won’t be used in the way the value of the node is used.
... <billing> <reference><!--[CDATA[internal / secondary reference]]--></reference> </billing> ...
xpath to billing reference: /jobfeed/joblisting/companydetails/billing/reference
(CDATA declared)
4.14 recruiter
This node contains a recruiter’s contact information. It can be useful in case an offline notification or information for statistics are requested. Do not put in any value directly inside this node, please use the subnodes instead.
... <companydetails> <recruiter> ... </recruiter> </companydetails> ...
xpath to recruiter: /jobfeed/joblisting/companydetails/recruiter
4.15 recruiter – position
The recruiter’s position title.
... <recruiter> ... <position><!--[CDATA[Recruiting Manager]]--></position> </recruiter> ...
xpath to recruiter position: /jobfeed/joblisting/companydetails/recruiter
4.16 recruiter – gender
The recruiter’s gender, please use M or F in upper case.
... <recruiter> ... <gender><!--[CDATA[F]]--></gender> </recruiter> ...
xpath to recruiter gender: /jobfeed/joblisting/companydetails/recruiter/gender
(CDATA declared)
4.17 recruiter – first name
The recruiter’s first name.
... <recruiter> ... <firstname><!--[CDATA[Marlene]]--></firstname> </recruiter> ...
xpath to recruiter first name: /jobfeed/joblisting/companydetails/recruiter/firstname
(CDATA declared)
4.18 recruiter – last name
The recruiter’s last name.
... <recruiter> ... <lastname><!--[CDATA[Mustermann]]--></lastname> </recruiter> ...
xpath to recruiter last name: /jobfeed/joblisting/companydetails/recruiter/lastname
(CDATA declared)
4.19 recruiter – email
The recruiter’s email. Please insert a valid email-address.
... <recruiter> ... <email><!--[CDATA[mustermann@company-group.de]]--></email> </recruiter> ...
xpath to recruiter email: /jobfeed/joblisting/companydetails/recruiter/email
(CDATA declared)
4.20 recruiter – phone
The recruiter’s phone number.
... <recruiter> ... <phone><!--[CDATA[+4912356789]]--></phone> </recruiter> ...
xpath to recruiter email: /jobfeed/joblisting/companydetails/recruiter/phone
(CDATA declared)