Overview

Envelope

Header

Body - InventoriesQuery

Parameters

License Type

HTTPS response

Base Inventory

Enhancement Inventory

Inventory Attributes for Job Inventory

Resume View Inventory

Inventory Attributes for Resume View Inventory

Resume Search Inventory

Inventory Query Guide

 

Overview

The Inventory Query API lets you retrieve counts of available inventory via our Inventory Query web services, which are SOAP messages served over HTTPS.  With this guide, you'll be able to:
  1. Create an XML document to represent the InventoriesQuery following it's schema
  2. Test your solution with the Monster WS Toolkit

Create 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 InventoriesQuery and must follow the schema for the Monster InventoriesQuery
 

Envelope

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> 
 </SOAP-ENV:Header> 
 <SOAP-ENV:Body> 
 </SOAP-ENV:Body> 
 </SOAP-ENV:Envelope>

Monster SOAP Schema can be found here.
 

Header

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"<

<mh:MessageData>
<mh:MessageId>Company 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>

Monster Header Schema can be found here.
 

Body - InventoriesQuery

The Body contains the InventoriesQuery request and should comply with Monster Inventory schema. The response will be an InventoriesQueryResponse.
  • Find InventoriesQuery samples here.
  • The full Monster Inventory Schema can be found here.
  • Find a sample InventoriesQueryResponse here.
<InventoriesQuery xmlns="http://schemas.monster.com/Monster" 
 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> 
 <LicenseFilter monsterId="2">Active</LicenseFilter>
 <LicenseType monsterId="1">Job Inventory</LicenseType>
 </InventoriesQuery>
 

Parameters

Monster represents Inventory as Licenses. 3 Main types of licenses can be returned. You can control the kinds of inventory returned via a filter.
 

LicenseFilter

The license filter controls the set of the inventory returned.

Current (1) - Returns all inventories that are both active and have remaining available quantity.
<LicenseFilter monsterId="1">Current</LicenseFilter>

Active (2) - Returns all inventories that are active.
 

LicenseType

The license type controls the kind of inventory that is returned.

Job Inventory (1) -These are used to match and charge for job postings or enhancements to job postings.

<LicenseType monsterId="1">Job Inventory</LicenseType>

Resume View (2) - These are used to control the search and charge for resume views.

<LicenseType monsterId="2">Resume View</LicenseType>

Resume Search (3) -These are used to control whether resume search is allowed for a recruiter

<LicenseType monsterId="3">Resume Search</LicenseType>

6Sense Resume Transactions (4) -These are used to control the updates that can be done on private resume boards.

<LicenseType monsterId="4">6Sense_Resume_Transactions</LicenseType>

Enhanced SmartFind (5) -These are used to control what countries power resume search is allowed for a recruiter.

<LicenseType monsterId="5">Enhanced_SmartFind</LicenseType>

PRS Private DB Search (6) -These are used to control what private resume boards a recruiter is allowed to search.

<LicenseType monsterId="6">PRS Private DB Search</LicenseType>
 

HTTPS response

For each request, the BGW will return an XML response that will contain information about the success or failure of the request.

InventoriesQueryResponse
Returns a set of Inventories objects of the given LicenseType and that match the specified LicenseFilter.

Inventories
Holds 1 .. n Inventory objects

Inventory - Represents Job inventory, Resume View , or Resume Search licenses. The monsterId is the monster unique Id for the license.

<Inventory monsterId="23423223">

ResourceLicenseInfo - Represents usage information about the license.

<ResourceLicenseInfo>


ResourceAclID - Represents an Id that is uses to identify the type of license.

<ResourceAclID monsterId="233"<Standard Transactional</ResourceAclID>

ResourceLicenseTypeD -Indicates the charging model associated with the license.

<ResourceLicenseTypeID monsterId="4">Transactional Limited</ResourceLicenseTypeID>

ResourceLicenseProvisionMethodID - Indicates whether the license is pooled or allocated. Currently all licenses are pooled

<ResourceLicenseProvisionMethodID monsterId="2">Pooled</ResourceLicenseProvisionMethodID>

Quantity - Indicates quantity information associated with the licenses. isUnlimited = "1" indicates the license hasunlimited quantity.

>Quantity isUnlimited="0">

TotalPurchased - The total quantity purchased

<TotalPurchased>5</TotalPurchased>

TotalAvailable - The total quantity available for consumption.

<TotalAvailable>0</TotalAvailable>
CompanyReference - Information pertaining to the company that owns the license. Not Currently supported.

<CompanyReference companyId="13245">

InventoryDates - Represents the dates associated with the license.

<InventoryDates>...</InventoryDates>

InventoryActiveDate - Represents the date the license was active.

<InventoryActiveDate>2008-01-01T09:30:47-05:00</InventoryActiveDateγ

InventoryExpireDate - Represents the date the license will expire.

<InventoryExpireDate>2008-12-31T09:30:47-05:0</InventoryExpireDate>

InventoryAttrs - Represents the set of inventory attributes that indicate license abilities.

<InventoryAttrs>...</InventoryAttrs>

InventoryAttr - Represents a single inventory attribute.

<InventoryAttr>...</InventoryAttr>

AttrTypeID - The attribute type id that indicates which license ability the InventoryAttr represents

the following sample indicates that the job inventory can be used for postings on the Monster job board.

<AttrTypeId monsterId="5">Monster</AttrTypeId>

AttrValue - Holds attribute value information

<AttrValue>...</AttrValue>

Numeric1 - Numeric4 - Represents the numeric value for a InventoryAttr

<Numeric1><Value>1</Value> <Name>Monster</Name></Numeric1>

Alpha - Represents string information used to represent the attributes value

<Alpha>Alpha Val.</Alpha>
 

Job Inventory

The following resource aclIds define the various type of Job Inventory.
 

Base Inventory

These are used to charge for a job posting based on the job posting attributes that relate to the inventory attributes on the base inventory. An example of this is a US job posting cannot be charged for with a Canada base inventory.

The below indicates the base inventory is standard transactional. Each job posting charge decrements the quantity available. That quantity is never restored.

The below resource aclIds (233) is for standard transactional job inventory.

<ResourceAclID monsterId="233">Local_Posting</ResourceAclID>

The below indicates the base inventory is standard slotted. Each job posting charge decrements the quantity available. That quantity is restored when the job posting is expired.

   <ResourceAclID monsterId="240">Standard Reserved Jobs</ResourceAclID<
 

Enhancement Inventory

These are used to charge for enhancements to job postings. They can be combined with base inventory or used standalone to add the enhancement to the job posting

The below adds bolding to a job posting

<ResourceAclID monsterId="244">JOBINVENTORY_BOLDING</ResourceAclID>

The below indicates the job posting with be autorefreshed every autorefresh interval days.

<ResourceAclID monsterId="243">AUTO_REFRESH</ResourceAclID>

The below will refresh a job posting one time.

<ResourceAclID monsterId="281">JOBINVENTORY_REFRESH</ResourceAclID>

The below is used to charge for a job video that accompanies the job posting.

<ResourceAclID monsterId="282">JOBINVENTORY_VIDEO</ResourceAclID>

All enhancements have an ApplicableAclId to indicate the type of job posting they can be used with.
 

Inventory Attributes for Job Inventory

The following attributes can be associated to a job inventory.

JobboardId - Indicates the job board the job inventory can be used against. Numeric1/Value indicates the jobBoardId. Numeric1/Name holds the name of the Jobboard.

<AttrTypeId monsterId="5">JobBoardID</AttrTypeId>

PostingLocationGroupId - Defines a geographic region to indicate the set of job posting locations the job inventory can be used against. Numeric1/Value defines this. Numeric1/Name has the associated name.

<AttrTypeId monsterId="9">PostingLocationGroupID</AttrTypeId>

PostingDuration - The duration of the job posting in days is indicated in Numeric1/Value

<AttrTypeId monsterId="11">PostingDuration</AttrTypeId>

PostingInHold - Indicates if any quantity of the job inventory is in a state of hold up to a date. The Date is expressed in Alpha. The amount of quantity in hold is expressed in Numeric1/Value

<AttrTypeId monsterId="13">PostingInHold</AttrTypeId>

HasBolding - Indicates if the job inventory has bolding tied to it. This causes job postings to be bolded. Numeric1/Value = 1 indicates bolding is tied. Numeric1/Value = 0 indicates it is not tied. The absence of the inventory attribute means that bolding is not tied to the job inventory.

<AttrTypeId monsterId="17">HasBolding</AttrTypeId>
HasAutoRefresh - Indicates if the job inventory has autorefresh tied to it. This causes job postings to be moved to the top of the job search results every "autorefresh interval" days. Numeric1/Value = 1 indicates autorefresh is tied. Numeric1/Value = 0 indicates it is not tied. The absence of the inventory attribute means that autorefresh is not tied to the job inventory. Numeric2/Value = the autorefresh interval in days.

<AttrTypeId monsterId="18"<HasAutoRefresh</AttrTypeId>

ApplicableAclId - This is used for "a la carte" enhancment job inventory to indicate the kind of base job inventory the "a la carte" enhancement can be used with

<AttrTypeId monsterId="21">ApplicableACLID</AttrTypeId>

 

Resume View Inventory

These are inventory that control access to resumes that can be viewed. The below indidates that the inventory is a resume view inventory.

<ResourceAclID monsterId="2">RESUME_VIEW</ResourceAclID>
 

Inventory Attributes for Resume View Inventory

LocationGroupID - This indicates a location hierarchy that controls the resumes viewed by ensuring the job seeker location is within the location group. An example of this would be that a Canadian job seeker resume can not be viewed with a US Resume View license. Numeric1/Value = the location groupId Numeric1/Name = is the name of the location group.

<AttrTypeId monsterId="2">LocationGroupID</AttrTypeId>

ResumeBoardId - This indicates the resume board Id that the inventory can be used to charge views against.Numeric1/Value = resume board id. Numeric1/Name = name of the resume board

<AttrTypeId monsterId="4">ResumeBoardID</AttrTypeId>

LatLongBoundingBox - This indicates a latitude longitude bounding box to control access to resume views by ensuring the job seeker location is within the bounding box. Numeric1/Value = center latitude. Numeric2/Value = center longitude. Numeric3/Value = radius size in miles Alpha = postal code

<AttrTypeId monsterId="3">LatLongBoundingBox</AttrTypeId>
 

Resume Search Inventory

These are inventory that control whether resume search can be performed. The below indicates that the inventory is a resume search inventory

<ResourceAclID monsterId="1">RESUME_SEARCH</ResourceAclID>

Inventory Attributes for Resume Search Inventory Resume Search Type - This indicates the type of resume search supported. Numeric1/Value = resume search type id. Numeric1/Name = the name of the resume search type

<AttrTypeId monsterId="8">Resume Search Type</AttrTypeId>
 

Integration Testing

Monster Business Gateway URL: https://gateway.monster.com:8443/bgwBroker
NOTE: 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.

A WebServices Toolkit is available to verify the Inventory Query XML. This can be found at: http://integrations.monster.com/Toolkit/.

Test the following activities:
  1. Create inventory query XML to request inventory levels.
  2. Verify the XML in the WebServices Toolkit.
  3. Post the XML to the BGW URL.
  4. Retrieve response from BGW containing resume inventory levels.
  5. Parse the response and display results in your application.