EditPurpose and Objective
The Purpose of this guide is to help you publish job ads to Monster via our Web Service(WS), called BGW, in real time.
In the following guide, we describe how to interact with the our Web Service called
BGW by sending SOAP messages over HTTPS.
This guide is divided into 3 main areas:
- Create an XML document to represent the Monster Job Posting following it's schema
- Test your solution with the Monster WS Toolkit
- Deploy your solution and go live!
Top
EditCreate an XML Request
Requests to BGW must be sent in the form of SOAP envelopes, which is composed of a
header and a
body
Each request can include a
maximum of a
single job and must follow the schema for the Monster Job Postings
EditEnvelope
The envelope is a container for
Soap message.
<?xml version="1.0" encoding="UTF-8"?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
<SOAP-ENV:Header>
<!-- information about the request here -->
</SOAP-ENV:Header>
<SOAP-ENV:Body>
<!-- The job request goes here -->
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
Monster SOAP Schema can be found
here
EditHeader
The header contains information about the request, request protocol, and a security protocol with the user credentials.
<mh:MonsterHeader xmlns:mh="http://schemas.monster.com/MonsterHeader">
<!--XML request information-->
<mh:MessageData>
<mh:MessageId>Company Jobs created on 06/09/2004 02:41:44 PM</mh:MessageId>
<mh:Timestamp>2004-06-09T14:41:44Z</mh:Timestamp>
</mh:MessageData>
</mh:MonsterHeader>
<wsse:Security xmlns:wsse="http://schemas.xmlsoap.org/ws/2002/04/secext">
<!--credentials indentifying the posting user-->
<wsse:UsernameToken>
<wsse:Username>xtestxftp</wsse:Username>
<wsse:Password>ftp12345</wsse:Password>
</wsse:UsernameToken>
</wsse:Security>
Monster Header Schema can be found
here
EditBody - Job
The Body contains all the data related to the job you're posting and should comply with Monster job schema.
- XML sample below outlines the job entities commonly used for posting a job ad.
- Find more job request sample here.
- The full Monster Job Schema can be found here.
Clicking on the XML Tags/Attributes within the job sample below will redirect you to a Job Schema Reference page for this entityThe XML job is described by 3 main sections
- Processing Information
- Job Information
- Job Posting
EditProcessing Information
This section contains information about the way the Job Message will be processed, under which account e.g. information about the kind of action (update, delete, etc...)
<Job jobRefCode="Clients_Unique_ID_of_The_Job-less_than_50_chars" jobAction="addOrUpdate" jobComplete="true" xmlns="http://schemas.monster.com/Monster" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://schemas.monster.com/Monster http://schemas.monster.com/Current/xsd/Monster.xsd">
<RecruiterReference>
<UserName>xtestxftp</UserName>
</RecruiterReference>
<!−− [CONTINUES...] −−>
EditJob Information
This contains the main information that will be displayed in the job ad. Example: job Title, job description (jobBody), salary , contact...
<JobInformation>
<JobTitle><![CDATA[Cisco ICM Support/Development Analyst]]></JobTitle>
<JobLevel monsterId="12"/>
<JobType monsterId="1"/>
<JobStatus monsterId="4"/>
<Salary>
<Currency monsterId="37"/>
<SalaryMin>100000</SalaryMin>
<SalaryMax>150000</SalaryMax>
<CompensationType monsterId="1"/>
</Salary>
<Contact hideAll="false" hideAddress="false" hideCompanyName="false" hideEmailAddress="true" hideName="false">
<Name>Aaron Zeeb</Name>
<CompanyName><Company, Inc.</CompanyName>
<E-mail>Dallas_jobs@Company.com</E-mail>
</Contact>
<DisableApplyOnline>false</DisableApplyOnline>
<HideCompanyInfo>false</HideCompanyInfo>
<JobBody><![CDATA[Tier II Support Analyst - Cisco ICM, Symposium, Technical Support and Applications Development]]></JobBody>
<AdditionalSearchKeywords><![CDATA[Network Administrator]]></AdditionalSearchKeywords>
<EducationLevel monsterId="1"/>
</JobInformation>
<!−− [CONTINUES...] −−>
EditJob Postings
This section sets where the job posting will be searchable, identified by the combination of JobCategory, JobOccupation, Location and BoardName.
<JobPostings>
<JobPosting>
<Location>
<City>New York City</City>
<State>NY</State>
<CountryCode>US</CountryCode>
<PostalCode>11220</PostalCode>
</Location>
<JobCategory monsterId="47"/>
<JobOccupations>
<JobOccupation monsterId="11716"/>
</JobOccupations>
<BoardName monsterId="1" />
<PhysicalAddress>
<City>New York City</City>
<State>NY</State>
<CountryCode>US</CountryCode>
<PostalCode>11220</PostalCode>
</PhysicalAddress>
<Industries>
<Industry>
<IndustryName monsterId="1" />
</Industry>
</Industries>
</JobPosting>
</JobPostings>
</Job>
Job Category/Occupation
Two tier position Categorizing where JobCategory would be the 1st tier and under it will be JobOccupation as the 2nd.
Example: Sales/Field Sales,International Sales, Telesales... for the full list see:
Monster Job Categories
Location
This is the location (region or part of it, down to the post code level) under which the job will be searchable on Monster sites. This will restrict the website on which it will be searcheable.
Example locations: London East, London North West, etc... for available location list see:
Monster Locations
Job Board
This is a container in which your jobs will fall into.
For example, BoardId 1 represents all the Monster sites, excluding Private Label sites (as known as "Co-branded" sites or "Branded Career Sites") that have their own BoardId.
EditCharacter sets and encoding
XML requests should be posted to
BGW encoded in "UTF-8" (Unicode) characters set.
For long-text tags (e.g:
JobBody) that may contain special characters (e.g:<, Ü), we recommend using HTML Encoding and placing the result into the tag without a CDATA tag.
Note: be aware when you are encoding the content, that it doesn't include already encoded tags.
More about HTML Encoding you can find
here
EditCommon tasks
EditJob Processing
The
jobAction attribute within Job Tag is used to determine the action your request will trigger.
Adding a new job
Posting a request with jobAction='addOrUpdate' will add a new job, or update a pre-existing one if a job with such a RefCode exists under the referred recruiter account.
An alternative way of posting a new job is by using jobAction="add", but this is not recommended. In the case that the job already exists with this JobRefCode, it will return an error in the XML Response
Updating a job
Also for Update, same as for the Add action above, it's preferable to use the
addOrUpdate jobAction. Using
update with non existence of targeted job (JobRefCode) the posting will be rejected and an error will be returned.
Note: after an add or update request is successfully processed, it can be
viewed immediately and will be searchable (listed on job-Search sites) in 1.5 hours.
Deleting a job
There are two ways to delete a job position:
1. Set the job action attribute, in your request (the same XML format as for adding or updating) to
delete (<Job... jobAction="delete"...>) including the targeted JobRefCode and RecruiterReference.
2. Post a Delete XML request with RefCode as the job identifier
Monster Delete Schema can be found
here
<?xml version="1.0" encoding="UTF-8"?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
<SOAP-ENV:Header>
<mh:MonsterHeader xmlns:mh="http://schemas.monster.com/MonsterHeader">
<mh:MessageData>
<mh:MessageId>Company Jobs created on 06/09/2004 02:41:44 PM</mh:MessageId>
<mh:Timestamp>2004-06-09T14:41:44Z</mh:Timestamp>
</mh:MessageData>
</mh:MonsterHeader>
<wsse:Security xmlns:wsse="http://schemas.xmlsoap.org/ws/2002/04/secext">
<wsse:UsernameToken>
<wsse:Username>xtestxftp</wsse:Username>
<wsse:Password>ftp12345</wsse:Password>
</wsse:UsernameToken>
</wsse:Security>
</SOAP-ENV:Header>
<SOAP-ENV:Body>
<Monster:Delete xmlns:Monster="http://schemas.monster.com/Monster" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://schemas.monster.com/Monster http://schemas.monster.com/Current/xsd/Monster.xsd">
<Monster:Target>JobPosting</Monster:Target>
<Monster:DeleteBy>
<Monster:Criteria>RecruiterName</Monster:Criteria>
<Monster:Value>xtestxftp</Monster:Value>
</Monster:DeleteBy>
<Monster:DeleteBy>
<Monster:Criteria>RefCode</Monster:Criteria>
<Monster:Value>the_refcode</Monster:Value>
</Monster:DeleteBy>
</Monster:Delete>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
Note: After deleting a job, it will still be searcheable (listed on job-Search sites) for another 1.5 hour due to the ads indexing schedule. It will, however, be locked for applying and a message will be visible to the job-seeker saying "We're sorry. This job has been removed from the site and is no longer available for viewing"
EditJob postings Processing
An XML job request can contain multi
postings for the same job position.
- Each of the posting will be referred by the unique combination of JobCategory/Location/BoardName
- Each posting will get a Monster postingId and will consume a posting Inventory from the recruiter account
Adding a new posting
Add a new posting to the request(include the existing posting) with
jobaction set to "addOrUpdate" or "Update" and repost it. This will add a new posting under the same position.
Updating a posting
Update the posting info on the request setup jobAction to "addOrUpdate" or "Update" and repost it.
Changing one of the key entities (JobCategory/Location/BoardName) on a posting will cause it to be deleted and to add a new posting, or update the existing posting if this combination key already exist under the position
Deleting a posting
There are two ways to delete a
single posting:
1. Omitting a posting from the job request with jobAction set to "addOrUpdate" or "Update" and reposting it will cause this position to be deleted.
2. Posting a delete XML request with
postingId as the posting identifier
Monster Delete Schema can be found
here
<?xml version="1.0" encoding="UTF-8"?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
<SOAP-ENV:Header>
<mh:MonsterHeader xmlns:mh="http://schemas.monster.com/MonsterHeader">
<mh:MessageData>
<mh:MessageId>Company Jobs created on 06/09/2004 02:41:44 PM</mh:MessageId>
<mh:Timestamp>2004-06-09T14:41:44Z</mh:Timestamp>
</mh:MessageData>
<mh:ProcessingReceiptRequest>
<mh:Address transportType="http">http</mh:Address>
</mh:ProcessingReceiptRequest>
</mh:MonsterHeader>
<wsse:Security xmlns:wsse="http://schemas.xmlsoap.org/ws/2002/04/secext">
<wsse:UsernameToken>
<wsse:Username>xtestxftp</wsse:Username>
<wsse:Password>ftp12345</wsse:Password>
</wsse:UsernameToken>
</wsse:Security>
</SOAP-ENV:Header>
<SOAP-ENV:Body>
<Monster:Delete xmlns:Monster="http://schemas.monster.com/Monster" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://schemas.monster.com/Monster http://schemas.monster.com/Current/xsd/Monster.xsd">
<Monster:Target>JobPosting</Monster:Target>
<Monster:DeleteBy>
<Monster:Criteria>RecruiterName</Monster:Criteria>
<Monster:Value>xtestxftp</Monster:Value>
</Monster:DeleteBy>
<Monster:DeleteBy>
<Monster:Criteria>PostingId</Monster:Criteria>
<Monster:Value>the_postingid</Monster:Value>
</Monster:DeleteBy>
</Monster:Delete>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
- For deleting all job postings for a certain job Position see Deleting a job
More tasks and solutions on "Advanced" pageTop
EditTest your job XML
During development you can use our
Web-Service-Tester to verify your XML, post it to our Test environment and see the posted job on
job-search site.
Use the following User for authentication (security section in the
Header) and as a test
RecruiterReference:
- UserName: xtestxftp
- Password: ftp12345
How to display the job ad posted to Test environment?
After posting a successful job using the Toolkit a link (http://jobview.monster.com/getjob.aspx?JobID=12345678) will appear in the page linking to the posted job ad.
In order to be able to display the job ad do as follows:
To your hosts file (on windows XP this path is c:\WINDOWS\system32\drivers\etc\hosts) add the following Test entries:
- 208.71.198.84 jobsearch.monster.com
- 208.71.198.84 jobview.monster.com
postingId(JobID) - Monster's job posting identifier, will also appear in the HTTPS response (xpath: /SOAP-ENV:Envelope/SOAP-ENV:Body/JobsResponse/JobResponse/JobPostingResponse/@postingId)
Test BGW URL : https://208.71.198.74:8443/bgwBroker
EditHTTPS response
For each request, the BGW will return an XML response that will contain information about the success or failure of the request.
Common Job Errors and Resolutions can be found
here.
EditTesting in Production
Testing feeds against our test environment should be sufficient since it mirrors the Production environment.
If you would like to run a Production test, please place in the JobBody and JobTitle... "TEST JOB, DO NOT APPLY"
Note: Such a test will consume
Inventory as for a real posting.
Top
EditDeployment
Production BGW URL : https://gateway.monster.com:8443/bgwBroker
Your checklist for deployment
- Do you know the production username/password to post jobs under? is your solution updated with it?
- Does this user have BGW posting permissions?
- Do you have enough Inventory? Is the inventory of the correct type (for the targeted location)?
Top
EditSupport
- Your Monster representative.
Top
EditReferences
Top