Getting Started
Below is the Real Time Posting implementation process.
- Decide which Real Time Posting features to implement. This can be done by doing one or both of the following steps.
- Review the "Development Considerations" section of this guide.
- Review the Monster job posting interface by logging into hiring.monster.com with the test account (provided in the Testing section of this guide).
- Create the XML job posting by using the instructions in this guide and samples located in Monster's webservices toolkit (http://integrations.monster.com/Toolkit)
- Validate XML using the toolkit.
- Test posting a job from your application (Applicant Tracking System, etc).
- Review the job posting response, make the necessary changes and retest.
- Once the test cycle is complete, transition to production using the steps outlined in the "Deployment" section of this guide.
Design Considerations
Monster offers job enhancements to help employers stand out and/or target the best candidates. This section highlights key features that will differentiate your integration and offer value to joint clients.
Supported Boards Clients may choose to post to the following boards based on their available purchased inventory, as well as clients' desired distribution and targeting.
- Monster Board - Jobs posted to Monster's core job sites, our mobile app, our BeKnown professional networking app on Facebook, our affiliate websites including Military.com and Jobs.com, and over 1,000 newspaper partner co-branded websites.
- Career Ad Network Direct - Syndicates jobs to a network of thousands of sites, targeted to attract the right seekers. When job seekers click on the ad, they'll learn more about the job and apply online. Learn more
- Diversity Board - Distributes jobs to Monster's exclusive network of sites targeting diverse candidates. Learn more
- Veterans - Find and hire the best military talent with the largest military-focused destination site and network. Learn more
Inventory Types / Add-On Inventory Clients may add additional job visibility in job search results.
- Bolding - Increases the visibility of the posting with a bolded posting in the search results.
- Refresh - Moves the posting to the top after a pre-determined interval with manual updates.
- Auto-Refresh - Moves the posting to the top automatically after a pre-determined interval.
Tip! Show a snapshot of available inventory to users with the job inventory query.
Create the 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.
Sample Job in Monster XML Format (Click to expand XML code) <?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 09/08/2011 02:41:44 PM</mh:MessageId>
<mh:Timestamp>2011-09-08T14:41:44Z</mh:Timestamp>
</mh:MessageData>
</mh:MonsterHeader>
<wsse:Security xmlns:wsse="http://schemas.xmlsoap.org/ws/2002/04/secext">
<wsse:UsernameToken>
<wsse:Username>xrtpjobsx01</wsse:Username>
<wsse:Password>rtp987654</wsse:Password>
</wsse:UsernameToken>
</wsse:Security>
</SOAP-ENV:Header>
<SOAP-ENV:Body>
<Job jobRefCode="myownjobreferencecode" jobAction="addOrUpdate"
inventoryType="transactional" 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>xrtpjobsx01</UserName>
</RecruiterReference>
<JobInformation>
<JobTitle>Executive Officer </JobTitle>
<JobLevel monsterId="12"/>
<JobType monsterId="1"/>
<JobStatus monsterId="4"/>
<Salary>
<Currency monsterId="1"/>
<SalaryMin>100000.00</SalaryMin>
<SalaryMax>150000.00</SalaryMax>
<CompensationType monsterId="1"/>
</Salary>
<Contact hideAll="false" hideAddress="true" hideStreetAddress="true" hideCity="true"
hideState="true" hidePostalCode="true" hideCountry="true" hideContactInfoField="false"
hideCompanyName="false" hideEmailAddress="true" hideFax="true"
hideName="false" hidePhone="true">
<Name>John</Name>
<CompanyName>John's Company</CompanyName>
<Address>
<StreetAddress>1 John Street</StreetAddress>
<StreetAddress2>PO Box 1</StreetAddress2>
<City>Johnstown</City>
<State>PA</State>
<CountryCode>US</CountryCode>
<PostalCode>15955</PostalCode>
</Address>
<Phones>
<Phone phoneType="work">999-999-9999</Phone>
</Phones>
<E-mail>john@johnscompany.com</E-mail>
</Contact>
<PhysicalAddress>
<StreetAddress>5 Clock Tower</StreetAddress>
<StreetAddress2>Suite 500</StreetAddress2>
<City>Maynard</City>
<State>MA</State>
<CountryCode>US</CountryCode>
<PostalCode>01754</PostalCode>
</PhysicalAddress>
<DisableApplyOnline>false</DisableApplyOnline>
<HideCompanyInfo>false</HideCompanyInfo>
<JobBody>This is the Job Body that needs to be of certain length.
This is more information about the Job.
It should be detailed and well written to attract seekers.
</JobBody>
<AdditionalSearchKeywords>additional search keyword
</AdditionalSearchKeywords>
<EducationLevel monsterId="1"/>
</JobInformation>
<JobPostings>
<JobPosting desiredDuration="60" bold="true">
<InventoryPreference>
<Autorefresh desired="true"> <Frequency>7</Frequency>
</Autorefresh>
<CareerAdNetwork desired="true">
<Duration>14</Duration>
</CareerAdNetwork>
</InventoryPreference>
<Location>
<City>Boston</City>
<State>MA</State>
<CountryCode>US</CountryCode>
<PostalCode>02125</PostalCode>
</Location>
<JobCategory monsterId="47"/>
<JobOccupations>
<JobOccupation monsterId="11909"/>
</JobOccupations>
<BoardName monsterId="1"/>
<DisplayTemplate monsterId="1"/>
<Industries>
<Industry>
<IndustryName monsterId="1"/>
</Industry>
</Industries>
<Video monsterId="123" refCode="video_A">
</Video>
</JobPosting>
</JobPostings>
</Job>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
Information about Job Fields (Click to expand XML code) Field Name | Requirement | Data Type | Constraints | Notes |
Username | Required | String | | Value provided by Monster |
Password | Required | String | | Value provided by Monster |
jobRefCode | Required | String | <= 50 characters | Recruiter specific term used to uniquely identify job. |
jobAction | Optional | String | Common choices are: addOrUpdate add delete Full list of valid entries can be found in schema at Job Schema | Recommend using “addOrUpdate” as this allows new ads to be posted and updates to active jobs.
“add” allows new ads to be posted. Updates to active jobs not allowed. |
InventoryType | Optional | String | Choices are: transactional areaWideTransactional areaWideSlotted slotted | This field specifies the type of inventory that should be used to post the job. Most customers will use transactional inventory. If no inventory is specified, the account's default settings will be used. |
RecruiterReference\UserName | Required | String | | Value provided by Monster |
JobTitle | Required | String | <= 100 characters | |
JobLevel attribute: monsterId | Optional | Integer | | |
JobType attribute: monsterId | Optional | Integer | Valid entries for the US Channel: 1 - Employee 2 - Temporary/Contract 3 - Intern 20 - Seasonal Entries for other channels can be found at: JobType list | EducationLevel has to be specified when JobType Apprenticeship is used. |
JobStatus attribute: monsterId | Required | Integer | | |
Salary | Optional | | | |
Contact attribute: HideAll | Optional | Boolean | true or false (case sensitive!) | When set to “true”, hides contact given and family name, company name, street address, street address2, city, state, postal code, phone, fax when viewing a job. |
Contact attribute: HideAddress | Optional | Boolean | true or false (case sensitive!) | When set to “true”, hides contact street address, street address2, city, state and postal code when viewing a job. |
Contact attribute: HideStreetAddress | Optional | Boolean | true or false (case sensitive!) | When set to “true”, hides street address only (NOT street address2) when viewing a job. |
Contact attribute: HideCity | Optional | Boolean | true or false (case sensitive!) | When set to “true”, hides city when viewing a job. |
Contact attribute: HideState | Optional | Boolean | true or false (case sensitive!) | When set to “true”, hides State when viewing a job. |
Contact attribute: HidePostalCode | Optional | Boolean | true or false (case sensitive!) | When set to “true”, hides postalcode when viewing a job. |
Contact attribute: HideCountry | Optional | Boolean | true or false (case sensitive!) | No impact as country is not shown in standard job template. |
Contact attribute: HideContact | Optional | Boolean | true or false (case sensitive!) | No impact. |
Contact attribute: HideEmailAddress | Optional | Boolean | true or false (case sensitive!) | No impact as email address is not displayed when viewing a job. |
Contact attribute: HideFax | Optional | Boolean | true or false (case sensitive!) | When set to “true”, hides fax number when viewing a job. |
Contact attribute: HideName | Optional | Boolean | true or false (case sensitive!) | When set to “true”, hides given name and family name when viewing a job. |
Contact attribute: HidePhone | Optional | Boolean | true or false (case sensitive!) | When set to “true”, hides given name and family name when viewing a job. |
Contact\Name | Optional | String | <= 255 characters | |
Contact\ CompanyName | Optional | String | <= 255 characters | JobSearch: Whether provided or not, if company name on account is not an ad agency, the company name on the account will be displayed in job search results. If provided and if company name on account is an ad agency, this company name is displayed as company name in job search results. JobView: If provided, this is company name that will be displayed when viewing a job. If not provided, company name on account will be displayed. |
Contact\Address | Optional | | | |
Phones | Optional | String | Between 8 and 50 characters | Has to be either “contact” or “fax” type to be displayed. Other phone types can be provided but will not be displayed. |
E-mail | Optional | String | <= 100 characters | Only one allowed per job posting. |
PhysicalAddress | Optional | | | Represents a job’s physical location. Controls the visible location information that is displayed on the job posting Controls how the job is pulled up in the job search results.
Typically includes <City>, <State>, <CountryCode> and <PostalCode>.
<StreetAddress> and <StreetAddress2> may be provided as well. |
DisableApplyOnline | Optional | Boolean | true or false (case sensitive!) | When set to “false”, allows job seekers to apply for the job online.
When set to “true”, job seekers will not be able to apply for the job online. |
HideCompanyInfo | Optional | Boolean | true or false (case sensitive!) | When set to “true”, company name in job search results and top portion of job view show as confidential.
Hides company name in “Job Summary” and “Contact Information” sections of job view. |
JobBody | Required | String | >= 25 characters | |
AdditionalSearchKeywords | Optional | String | <= 255 characters | |
EducationLevel attribute: monsterId | Optional | Integer | | |
JobPostings | Required | | | |
JobPosting attribute: DesiredDuration | Optional | Integer | # of days | Highly recommended that this field be supported |
JobPostings attribute: Bold | Optional | Boolean | true or false (case sensitive!) | A true value will bold the job title in job search results. |
JobPostings attribute: jobPostingAction | Optional | String | Value of “refresh” | Makes the job refresh (move to the top of job search results) |
CareerAdNetwork attribute: desired | Optional | Boolean | true or false (case sensitive!) | A true value will set CAN (Career Ad Network ) on the job. CAN allows one to enhance Monster Job Posting with targeted advertising on the Monster network and its diverse partner websites. |
CareerAdNetwork\Duration | Only required when desired attribute=1 | Integer | # of days: 7, 14 or 30 | |
Autorefresh attribute: desired | Optional | Boolean | true or false (case sensitive!) | A true value will make the job refresh (move to the top of job search results) in 14 days |
Autorefresh\ Frequency | Only required when desired attribute= true | Integer | # of days: 7, 14, 30, 60 | Not available on 7 day job postings. |
JobPosting\ Location | Required | | | Controls what Monster search location the job is going to be posted to |
JobCategory | Required | | | |
JobOccupation | Required | | A list of valid occupationId’s for given job categories can be found at: JobOccupation list | Can contain a minimum of one and a maximum of three per job.
Recommend the use of "other" occupation be minimized. |
BoardName attribute: monsterId | Required | Integer | 1 is value for Monster core job board | See Job Board section below for other board Id values. |
DisplayTemplate attribute: monsterId | Optional | Integer | 1 is value for Monster standard job template | Contact Monster Representative for custom job templates. |
Industry | Optional | | | If submitted, can provide a minimum of one and a maximum of three per job. |
Video attribute: monsterId | Optional | Integer | | Value provided by Monster |
SOAP Envelope
The envelope is a container for Soap message.
(Click to Expand XML Code)
<?xml version="1.0" encoding="UTF-8"?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
<SOAP-ENV:Header>
</SOAP-ENV:Header>
<SOAP-ENV:Body> </SOAP-ENV:Body>
</SOAP-ENV:Envelope>
Monster SOAP Schema can be found
hereSOAP Header
The header contains information about the request, request protocol, and a security protocol with the user credentials.
(Click to Expand XML Code)
<mh:MonsterHeader xmlns:mh="http://schemas.monster.com/MonsterHeader">
<mh:MessageData>
<mh:MessageId>Company Jobs created on 09/08/2011 02:41:44 PM</mh:MessageId>
<mh:Timestamp>2011-09-08T14:41:44Z</mh:Timestamp>
</mh:MessageData>
</mh:MonsterHeader>
<wsse:Security xmlns:wsse="http://schemas.xmlsoap.org/ws/2002/04/secext">
<wsse:UsernameToken>
<wsse:Username>username</wsse:Username>
<wsse:Password>password</wsse:Password>
</wsse:UsernameToken>
</wsse:Security>
Monster Header Schema can be found
hereSOAP Envelope Job
The Body contains all the data related to the job you're posting and should comply with Monster job schema.
- Job request samples can be found here.
- The full Monster Job Schema can be found here.
The XML job is described by 3 main sections - Processing Information
- Job Information
- Job Posting
Processing 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...)
(Click to Expand XML Code)
<Job jobRefCode="myownjobreferencecode" 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>username</UserName>
</RecruiterReference>
<!−− [CONTINUES...] −−> Job Information
This contains the main information that will be displayed in the job ad. Example: job title, job description (jobBody), salary , contact, etc.
(Click to Expand XML Code) <JobInformation> <JobTitle>Executive Officer </JobTitle>
<JobLevel monsterId="12"/>
<JobType monsterId="1"/>
<JobStatus monsterId="4"/>
<Salary>
<Currency monsterId="1"/>
<SalaryMin>100000.00</SalaryMin>
<SalaryMax>150000.00</SalaryMax>
<CompensationType monsterId="1"/>
</Salary>
<Contact hideAll="false" hideAddress="true" hideStreetAddress="true" hideCity="true"
hideState="true" hidePostalCode="true" hideCountry="true" hideContactInfoField="false"
hideCompanyName="false" hideEmailAddress="true" hideFax="true"
hideName="false" hidePhone="true">
<Name>John</Name>
<CompanyName>John's Company</CompanyName>
<Address>
<StreetAddress>1 John Street</StreetAddress>
<StreetAddress2>PO Box 1</StreetAddress2>
<City>Johnstown</City>
<State>PA</State>
<CountryCode>US</CountryCode>
<PostalCode>15955</PostalCode>
</Address>
<Phones>
<Phone phoneType="work">999-999-9999</Phone>
</Phones>
<E-mail>john@johnscompany.com</E-mail>
</Contact>
<PhysicalAddress>
<StreetAddress>5 Clock Tower</StreetAddress>
<StreetAddress2>Suite 500</StreetAddress2>
<City>Maynard</City>
<State>MA</State>
<CountryCode>US</CountryCode>
<PostalCode>01754</PostalCode>
</PhysicalAddress>
<DisableApplyOnline>false</DisableApplyOnline>
<HideCompanyInfo>false</HideCompanyInfo>
<JobBody>This is the Job Body that needs to be of certain length.
This is more information about the Job.
It should be detailed and well written to attract seekers.
</JobBody>
<AdditionalSearchKeywords>additional search keyword
</AdditionalSearchKeywords>
<EducationLevel monsterId="1"/>
</JobInformation>
Job Posting
This section sets where the job posting will be searchable, identified by the combination of JobCategory, JobOccupation, Location and BoardName. Inventory preferences, industries, video, etc can be set in this section as well.
(Click to Expand XML Code) <JobPosting desiredDuration="60" bold="true"> <InventoryPreference>
<Autorefresh desired="true"> <Frequency>7</Frequency>
</Autorefresh>
<CareerAdNetwork desired="true">
<Duration>14</Duration>
</CareerAdNetwork>
</InventoryPreference>
<Location>
<City>Boston</City>
<State>MA</State>
<CountryCode>US</CountryCode>
<PostalCode>02125</PostalCode>
</Location>
<JobCategory monsterId="47"/>
<JobOccupations>
<JobOccupation monsterId="11909"/>
</JobOccupations>
<BoardName monsterId="1"/>
<DisplayTemplate monsterId="1"/>
<Industries>
<Industry>
<IndustryName monsterId="1"/>
</Industry>
</Industries>
<Video monsterId="123" refCode="video_A">
</Video>
</JobPosting>
Job Duration
The job duration defines how many days an ad will run. When added, it controls the desired duration to attempt to post the job with. Jobs will require inventory with the appropriate duration or else the job will fail to post.
(Click to Expand XML Code)
In the job XML, duration is defined as an attribute of the JobPosting element, as shown below:
<JobPostings> <JobPosting desiredDuration="60">
Job Category/OccupationTwo 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 can be found here:
Monster Job Categories Location
This is the location (region or part of it, down to the postal code level) under which the job will be searchable on Monster sites. This will restrict the website on which it will be searchable.
Example locations: London East, London North West, etc... full available location can be found here:
Monster LocationsJob Board
The job board is a container in which your jobs will fall into. It is specified in the BoardName element.
<BoardName monsterId="1"/>
For example, Id 1 represents the production core Monster sites, excluding Private Label sites ( also known as "Co-branded" sites or "Branded Career Sites") that have their own BoardId.
The following table shows the different test and production board Ids.
| Job Board Name | Test Board Id | Production Board Id |
|---|
| Monster | 178 | 1 |
| Diversity | 7007 | 3902 |
| CAN Direct | 7008 | 6955 |
| Veterans | 7009 | 6965 |
To post to both Monster and Diversity, two job postings must be provided in the request. This sample can be used as a reference as it shows multiple postings:
Multiple_Postings_Sample DisplayTemplate
The DisplayTemplate defines which job template is used to used to format the posting ad. Id value of 1 is for the standard job posting template offered by Monster. Other Id values are for customized job posting templates.
<DisplayTemplate monsterId="1">
Bolding
When added, bolds the job title in seeker job search results, increasing the visibility of the job. Bolding exists as both as an attribute for standard inventory and as an ala carte option. Setting bold to “true” will require available bolding inventory or else the job will fail to post.
In the job XML, bolding is defined as a Boolean attribute of the JobPosting element, as shown below:
<JobPostings> <JobPosting desiredDuration="60" bold="true">
Job Refresh
When added, refresh provides the ability to do a manual, “one time” refresh on an active job posting. Inventory is purchased only ala carte. Setting the jobPostingAction to “refresh” will require available refresh inventory or else the job will fail to refresh.
In the job XML, Refresh is defined as an enumeration value of the attribute jobPostingAction of the JobPosting element, as shown below:
<JobPosting desiredDuration="60" jobPostingAction="refresh">
Auto-Refresh
When added, auto-refresh provides the ability for a job posting to be moved to the top of the job search results every "auto-refresh interval" days. Valid auto-refresh frequencies are: 7, 14, 30 or 60 days. Auto-refresh inventory exists only as an attribute for standard inventory. Setting the Auto-refresh to “true” will require available auto-refresh inventory for the selected frequency or else the job will fail to refresh.
(Click to Expand XML Code) In the job XML, Autorefresh is defined as an element under InventoryPreference element, as shown below:
<JobPosting desiredDuration="60">
<InventoryPreference>
<Autorefresh desired="true">
<Frequency>14</Frequency>
</Autorefresh>
</InventoryPreference>
Video
When added, Video provides the ability to have a job video that accompanies the job posting. Inventory is purchased only ala carte. Setting Video on a job will require available video inventory or else the job will fail to post, Setting Video on a job will require available video inventory or else the job will fail to post.
</Industries> <Video monsterId="123" refCode="video_A"> </Video>
</JobPosting> CAN (Career Ad Network)
When added, allows one to enhance Monster Job Posting with targeted advertising on the Monster network and its diverse partner websites. Monster’s Career Ad Network will transform a job posting into a dynamic hiring ad and then strategically place that ad where qualified candidates spend their time online. When interested job seekers click on the ad, they’ll be brought to the Monster Job Posting, where they can learn more about the job and easily apply online. Inventory is purchased ala carte for Monster postings only. It is not available on Diversity. Setting CAN on a job will require available CAN inventory or else the job will fail to post.
<JobPosting desiredDuration="60" bold="true"> <InventoryPreference>
<CareerAdNetwork desired="true">
<Duration>14</Duration>
</CareerAdNetwork>
Apply Methods
There are 4 separate ways to apply to a job on Monster.
1) Apply Online
2) Apply By Email
3) Offsite Apply, also referred to as Custom Apply Online (CAO)
4) Shared Apply
With Apply Online, the resume is saved on Monster and a copy is emailed to the job contact as set in the posting account's preferences. This is enabled/disabled with the DisableApplyOnline field. Contact\E-Mail address must be provided in order for the apply button to be displayed on job.
With Apply By Email, the resume is NOT saved on Monster and is instead emailed directly to the job contact. This is enabled whenever any visible email address is included on the job. This can be either in the job body or in the Contact\E-mail field (this is not displayed to the job seeker.) This can be disabled by not including an email in the job body, or not including the Contact\E-mail field, or by setting Contact attribute HideEmailAddress to true. Apply By Email can be used in conjunction with Apply Online. Seekers who are not logged into a Monster account will have the option to use this method to apply even if Apply Online is available.
With Offsite Apply, also referred to as Custom Apply, the seeker is redirected to another site that the client provides. Nothing in the apply is saved on Monster, including the resume. To use an Offsite Apply the client should request this add on from their Monster account manager. This is either implemented on the client's account settings (Custom Apply - Company Level) or can be submitted through the CustomApplyOnlineURL field (Custom Apply - Job Level). To use either Company Level or Job Level Custom Apply option on job postings, the appropriate setting must first be enabled on the account by a Monster representative.
IMPORTANT NOTE: The XML tag ApplyOnlineURL in the job schema can NOT be used for setting up the apply URL.
Here is a sample showing the CustomApplyOnlineURL in the job XML:
(Click to Expand XML Code)
<JobBody><![CDATA[The Job Body needs to contain at least 50 characters to post successfully.]]>
</JobBody>
<AdditionalSearchKeywords><![CDATA[Network Administrator]]>
</AdditionalSearchKeywords>
<StartDate monsterId="1">Immediately</StartDate>
<YearsOfExperience monsterId="1">No Experience</YearsOfExperience>
<CustomApplyOnlineURL>http://www.sample_apply_url.com</CustomApplyOnlineURL>
</JobInformation>
Character sets and encoding
XML requests should be posted to BGW encoded in "UTF-8" (Unicode) characters set.
When text includes special characters in XML, including HTML markup characters, (ex. <li>One<li>) the text should be surrounded with the CDATA tag. If text uses XML/ HTML entities (ex. > < &) then the CDATA tag should not be used.
More information about HTML Encoding can be found here:
http://en.wikipedia.org/wiki/Character_encodings_in_HTMLJob 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
Posting a request with jobAction="addOrUpdate" will update a pre-existing job with such a jobRefCode under the referred recruiter account.
An alternative way of updating a job posting is by using jobAction="update", but this is not recommended. In the case that a job does not already exist with this jobRefCode, it will return an error in the XML Response.
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:
http://schemas.monster.com/Current/XSD/Delete.xsd(Click to Expand XML Code) <?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 09/08/2011 02:41:44PM</mh:MessageId>
<mh:Timestamp>2011-09-08T14:41:44Z</mh:Timestamp>
</mh:MessageData>
</mh:MonsterHeader>
<wsse:Security xmlns:wsse="http://schemas.xmlsoap.org/ws/2002/04/secext">
<wsse:UsernameToken>
<wsse:Username>username</wsse:Username>
<wsse:Password>password</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>username</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 about another 1.5 hours 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".
Job postings Processing
An XML job request can contain multiple 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:
http://schemas.monster.com/Current/XSD/Delete.xsd (Click to Expand XML Code) <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 09/08/2011 02:41:44PM</mh:MessageId>
<mh:Timestamp>2011-09-08T14: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>username</wsse:Username>
<wsse:Password>password</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>username</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
Testing
Here are suggestions for testing your Real Time Posting integration with Monster
- A Webservices Toolkit (http://integrations.monster.com/Toolkit) is available to validate the XML. It is recommended that this be done in the early stages of development until valid Monster XML can be created on a consistent basis.
- Once XML is valid, test posting a job directly to Monster's Business Gateway (BGW) URL
https://gateway.monster.com:8443/bgwBroker
- Monster's BGW uses port 8443; this is not an industry standard port so in some cases it needs to be configured in your firewall. If issues are encountered, be advised that it is not necessary for clients to use port 8443 to exit their systems.
- Test account that can be used to post directly to BGW is username: xrtpjobsx01 password: rtp987654
- Test the following activities as part of Real Time Posting
- Create a job on your site and post the job to the Monster demo job board (monsterId = 178).
- Receive and view the response.
- Be able to parse the XML response and provide feedback to users on job posting status (success or failure).
- Ensure there's a process in place to fix and resubmit job postings.
- View the job posting and make adjustments in the XML request as necessary.
- Jobs can be viewed by using http://jobview.monster.com/getjob.aspx?JobID=xxxxxxxxx. Where xxxxxxxxx is the postingId in the XML response.
- View the job search results (job board 178 only) and make adjustments as necessary. This can be done by going to http://jobsearch.demo.monster.com. Note that job search indexing is typically done within 90 minutes.
- Repeat steps 3a through 3c above and post jobs to the Diversity, CAN and VETERANS demo job boards.
- Note that step 3d is not applicable for the Diversity, CAN and VETERANS job boards.
- Perform an inventory query. Parse the results and provide inventory level information to users.
Take Note!Different job boards are used for integration testing and Monster's production job boards. Be sure that the appropriate job boards are used for the intended destination. HTTPS 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.
Deployment
- Ensure the correct job boards are being used. The job board Id's are located in the Job Board section of this guide.
- Have your customers contact their Monster Representative for the following
- Request their Real Time Posting credentials or update their existing account to support Real Time job Posting.
- Request that "job specific -Custom Apply inventory" be added to the account.
- Check their current job posting inventory types, durations, levels and purchase additional inventory if needed.
- Contact the partnership team for other marketing ideas to drive client adoption - partner@monster.com
- Send your name, title, email, phone to be added to the communications list for future updates, important changes, new and opportunities to partner@monster.com
Copyright © 2011 Monster Worldwide.