Purpose and Objective

Design Considerations

Feed Frequency

Implementation Process

Creating the Job Feed

Automated Campaigning

Custom Campaigning Fields

Appendix A – Job Feed XSD

Appendix B – XML Job Feed Samples

Appendix C – JSON Job Feed Samples

Job Ad Feed (PPC and Collected jobs)

 

Purpose and Objective

The purpose of this guide is to help you create a job feed for PPC or Collected jobs, edit and delete job ads to Monster's Controlled Listings Program.

 

Design Considerations

There are required and optional fields within the job feed. Refer to the Creating the Job Feed section of this document for specific details. Please consider the following as part of your design.

  • Feed format – XML or JSON?
  • Full feeds vs incrementals?
    • Full feed – Allows providers to send full feeds on a regular basis and include only those jobs they want posted. Once a job is posted, it must be contained within subsequent feeds in order to continue to be posted. If a posted job is not contained within a subsequent feed, the posting will be removed. For full feeds, the 'isfullfeed' element must be set to true.
    • Incremental feeds – Allows providers the ability to specify action on certain jobs. The 'action' element in the job ad must be set appropriately. Initial migrations can be done using this method.
 

Feed Frequency

Monster requires that job feeds be limited to one update per 24 hour period.

In order to take full advantage of Monster's distribution network and receive maximum performance, it is highly recommended that jobs remain active in our system for a minimum of 3-4 days (unless the position has been filled). This will allow you to take full advantage of all distribution channels, including email, without the end user landing on an expired job.

Excessive job turnover will result in your jobs being removed from certain distribution channels in order to maintain an optimal user experience as well as maintain both your brand and the Monster brand in the eyes of job seekers.

 

Implementation Process

Monster will create an ftp account and provide access credentials. The approval and creation process can take up to 7 business days. The same FTP account is used for testing and production. Access is as follows:

  1. Go to ftp.monster.com
  2. Login with username and password provided.
  3. Feeds should be dropped off in folder - alljobs\inbound
    -If Agency FTP account with multiple client feeds, separate folders would be required within the alljobs\inbound directory for each client
  4. Notify implementation team when file has been dropped, Implementation team will review and provide feedback if necessary.
 

Creating the Job Feed

  • The full and incremental feed xsd's can be found in Appendix A.
  • XML and json files are the only accepted formats.
  • XML feed samples can be found in Appendix B and json samples in Appendix C. Feed samples should be used as a reference to guide development.
  • XML element content
    • Should only contain text that can be parsed successfully.
    • Pre-defined XML entity references such as < and & are illegal in XML elements and will cause job failures. See https://www.w3schools.com/xml/xml_syntax.asp in the "Entity References" section for a complete list of predefined entity references in XML.
    • Pre-defined XML entity references should 1) be removed or 2) use the equivalent XML/HTML entities (example: < & ) or 3) be contained within a CDATA wrapper (A CDATA section starts with "<![CDATA[" and ends with "]]>").
    • Monster XML elements where this is more common are: title, description, company, url.
  • There's a 50MB file size limit.
  • Files greater than 50MB must be split into multiple files and provided within a zip file. The 'part' and 'islast' elements of the job ad must be set appropriately.
  • File naming convention (recommendation).
    • For a full feed file, a zip file or incremental files.
      • providername_datetime.xxx where xxx = the file name extension.
      • For example: partnername_20210710135300.zip
    • For individual files within a zip file. Each file within the zip file must have a unique name and must contain a file extension.
      • providername_datetime_part1.xxx, providername_datetime_part2.xxx, etc. where xxx = the file name extension.
      • For example = partnername_20210710135300_part1.xml
  • Files within a zip file must not contain folders or zip files.
  • Supported file types: .xml, .json, .zip, .tar, .gz
  Required in Feed?  
Field Name Full Incremental Notes
jobfeed YES YES First level field that encapsulates provider meta and job data.
provider YES YES Display field to indicate the name of the organization providing the jobs. In many cases, provider = company.
providerurl NO NO Link to the organization providing the jobs.
isfullfeed YES NO
  • Full feed = Set to true.
  • Incremental feed = Set to false or don't include element. See 'action' element for additional information.
part YES NO For full feeds:
  • Single file (less than 50MB). Example below:
    <part>1</part>
    <islast>true</islast>
    
  • When file size is greater than 50MB, the file must be split into multiple files. Example below shows a 90MB file split in two files:

    File #1 .....
    <part>1</part>
    <islast>false</islast>
    

    File #2 .....
    <part>2</part>
    <islast>true</islast>
    
    .....
islast YES NO For full feeds:
  • All ads in one file – <islast>true</islast> must be in the file.
  • Multiple files (contained within a zip file)
    • All files must contain <islast>.
    • One of the files within the zip file must contain <islast>true</islast>. This is a signal to ensure all files from a particular set are processed. See 'part' element for additional information.
    • The remaining files should have <islast> set to false.
jobs YES YES Encapsulates jobs in the jobfeed
job NO YES Element nested within jobs to indicate individual job details.
action No YES

For incremental feeds, populate as follows:

I = Insert a new job or update a job that was previously provided (via an incremental or full feed).

D = Delete. Used to indicate a job has expired or should be removed.

title YES YES Title of job.
description YES YES Indicate job details. Minimum of 200 characters.
company YES YES Indicates hiring company. If anonymity/confidentiality required, populate with Company Confidential.
refcode YES YES Company's unique job identifier. Used to track status of job and must not be changed during lifespan of job.
country YES YES Indicate country abbreviation where job is located. A list of country abbreviations can be found here.
state YES YES
  • Allows for searches at the state level.
  • Indicate state where job is located. A list of valid state abbreviations and names here.
  • This is not required if job is set to joblocationtype of remote
url YES YES
  • Indicate the "apply start" page on the company's career site or Applicant Tracking System (ATS).
  • The url must contain appropriate attribution of the applicant source to Monster.
group NO NO A way to group selected jobs. For example, this could be by a board number (<group>1</group>) or by jobs in a particular area (<group>Boston</group>).
posteddate NO NO
  • Indicates date job first posted on your system.
  • Format must be as follows: YYYY-MM-DDThh:mm:ss For example <posteddate>2014-05-11T09:00:00</posteddate>. Where
    • YYYY = year
    • MM = month
    • DD = day
    • hh = hour
    • mm = minute
    • ss = second
  • Specifying a time zone within the posteddate is optional. To do this, UTC (Universal Time Coordinated) must be used. The offsets can be zero, positive or negative. See examples below.

    Zero offset (add Z at end)
    UTC: <posteddate>2014-05-11T09:00:00Z</posteddate>

    Positive offset
    <posteddate>2014-05-11T09:00:00+08:00</posteddate>

    Negative offset
    <posteddate>2014-05-11T09:00:00-06:00</posteddate>
streetaddress NO NO Indicate street address where job is located.
city YES YES Indicate physical city where job is located. This is not required if job is set to joblocationtype of remote
postalcode NO NO
  • Indicate postal code where job is located.
  • Recommend provide where possible.
companycode See notes See notes
  • REQUIRED if refcodes are NOT unique across all jobs from a single provider
  • NOT required if refcodes are unique across all jobs from a single provider.
salary NO NO

Optional field for specifying the salary for the job. The tags contains the following fields:

  • min = The amount of minimum salary
  • max = The amount of maximum salary
  • type = Period of salary given, e.g. hourly, weekly, biweekly, monthly, annual
  • currency = Currency of salary, e.g. USD, EUR, GBP

Example how to specify salary:
<salary>
<min>2000</min>
<max>5000</max>
<type>Per Month</type>
<currency>EUR</currency>
<description>Salary description</description>
</salary>

joblocationtype NO NO

Optional field for specifying the type of location of the job. Values for the field are:

  • REMOTE
  • ONSITE
  • ONSITE_AND_REMOTE
  • ON_THE_ROAD

Example of how to specify:
"joblocationtype": "REMOTE"




 

Automated Campaigning

Automated campaigning allows a provider to manage CPCs on the job or campaign level without the intervention of the Monster Campaign Management team.

Job-level Bids

Field Name Notes
name Provider's identification for the campaign – should be CPC bid value (format: 0.00)
refcode Mechanism to group jobs together for reporting – should be CPC bid value (format: 0.00)
cpc CPC bid (format: 0.00)

Sample:

Job 1:
<campaign>
<name>0.40</name>
<refcode>0.40</refcode>
<cpc>0.40</cpc>
</campaign>

Job 2:
<campaign>
<name>0.80</name>
<refcode>0.80</refcode>
<cpc>0.80</cpc>
</campaign>

Job 3:
<campaign>
<name>0.60</name>
<refcode>0.60</refcode>
<cpc>0.60</cpc>
</campaign>

Job 4:
<campaign>
<name>0.60</name>
<refcode>0.60</refcode>
<cpc>0.60</cpc>
</campaign>

Campaign-level Bids

Field Name Notes
name Provider's identification for the unique campaign name (200 max per feed)
refcode Provider's identification for the unique campaign refcode (200 max per feed)
cpc CPC Value - only one value per unique campaign allowed within a feed (format: 0.00)

Sample:

Job 1:
<campaign>
<name>New England</name>
<refcode>9909abc</refcode>
<cpc>0.40</cpc>
</campaign>

Job 2:
<campaign>
<name>New England</name>
<refcode>9909abc</refcode>
<cpc>0.40</cpc>
</campaign>

Job 3:
<campaign>
<name>Midwest</name>
<refcode>9910def</refcode>
<cpc>0.60</cpc>
</campaign>

Job 4:
<campaign>
<name> Midwest </name>
<refcode>9910def</refcode>
<cpc>0.60</cpc>
</campaign>
 

Custom Campaigning Fields

Custom campaigning fields should be used for listing additional job-level attributes, used by Monster's Campaign Management team for grouping jobs into sponsored PPC campaigns. This is not automated. Up to 5 custom fields can be used within a single feed.

Field Name Notes
campaign  
     customfields  
          customfield  
          name The name of the job-level attribute (e.g. Job Priority)
          value The individual value(s) associated with the job attribute name (e.g. High Priority)

Sample:

<campaign>
...
<customfields>
<customfield>
<name>priority</name>
<value>high</value>
</customfield>
<customfield>
<name>campaigncode</name>
<value>xt1</value>
</customfield>
</customfields>
...
</campaign>


 

Including Apply With Monster

Apply With Monster (AWM) – Want to simplify the job seekers apply experience? Leveraging an AWM integration can provide a significant uplift in the number of applicants. Learn more about AWM at https://partner.monster.com/apply-with-monster

  • Will configuration parameters be the same for all or most jobs? If so, Monster can define default configuration settings for all jobs, such that AWM parameters do not need to be specified in the job feed.
    • Based on the delivery method to be used, please provide the following:
      • Post2: POST2 URL + format (xml or json).
      • Email: Email address + format (xml or json).

    • Will configuration parameters be different for each job? If so, refer to the Creating the Job Feed section of this document.

The following table includes AWM information and how to include that in the job feed. If the same information will be used for all or most jobs, Monster can define default configuration settings such that AWM parameters do not need to be specified in the job feed. Based on the delivery method to be used, please provide the following:

  • Post: POST2 URL + format (xml or json).
  • Email: Email address + format (xml or json).

AWM information provided in the job feed will override default configuration settings.

  Required for AWM?  
Field Name Full   Notes
method YES  
  • Method for obtaining AWM applicant information
  • Possible entries are Post2 or Email
format YES  
  • AWM Data document format.
  • Possible entries are Xml or Json
apikey YES  
  • AWM API Key. Provided by Monster
email See notes  
  • Required if AWM method = "Email"; otherwise ignored
  • Email destination for applicant information.
vendortext NO  
  • General purpose field for AWM vendor data. Not consumed by Apply with Monster; if specified, the vendor field is simply returned with the applicant data record. Useful for specifying metadata.
posturl See notes  
  • Required if AWM method = "Post2"; otherwise ignored
  • REST service where applicant information is to be POSTed
       

 



Appendix A – Job Feed XSD

Full Job Feed (JobFeed_Full.xsd)

<?xml version="1.0" encoding="utf-8"?>
<xs:schema xmlns:xs="https://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
	<xs:complexType name="jobfeed">
		<xs:all>
			<xs:element name="provider" type="xs:string"/>
			<xs:element name="providerurl" type="xs:string" minOccurs="0"/>
			<xs:element name="isfullfeed" type="xs:boolean"/>
			<xs:element name="part" type="xs:string"/>
			<xs:element name="islast" type="xs:boolean" minOccurs="0"/>
			<xs:element name="jobs" type="jobs" minOccurs="0"/>
		</xs:all>
	</xs:complexType>
	<xs:element name="jobfeed" type="jobfeed"/>
	<xs:complexType name="job">
		<xs:all>
			<xs:element name="title" type="xs:string"/>
			<xs:element name="description" type="xs:string"/>
			<xs:element name="company" type="xs:string"/>
			<xs:element name="refcode" type="xs:string"/>
			<xs:element name="country" type="xs:string"/>
			<xs:element name="state" type="xs:string"/>
			<xs:element name="url" type="xs:string"/>
			<xs:element name="group" type="xs:string" minOccurs="0"/>
			<xs:element name="posteddate" type="xs:dateTime" minOccurs="0"/>
			<xs:element name="streetaddress" type="xs:string" minOccurs="0"/>
			<xs:element name="city" type="xs:string"/>
			<xs:element name="postalcode" type="xs:string" minOccurs="0"/>
			<xs:element name="tweetid" type="xs:string" minOccurs="0"/>
			<xs:element name="companycode" type="xs:string" minOccurs="0"/>
			<xs:element name="awm" type="awm" minOccurs="0"/>
			<xs:element name="campaign" type="campaign" minOccurs="0"/>
			<xs:element name="salary" type="salary" minOccurs="0"/>
			<xs:element name="joblocationtype" type="xs:string" minOccurs="0"/>

		</xs:all>
	</xs:complexType>
	<xs:element name="job" type="job"/>
	<xs:complexType name="jobs">
		<xs:sequence>
			<xs:element name="job" type="job" minOccurs="0" maxOccurs="unbounded"/>
		</xs:sequence>
	</xs:complexType>
	<xs:element name="jobs" type="jobs"/>
	<xs:complexType name="salary">
		<xs:all>
			<xs:element name="min" type="xs:string"/>
			<xs:element name="max" type="xs:string"/>
			<xs:element name="currency" type="xs:string"/>
			<xs:element name="type" type="xs:string"/>
			<xs:element name="description" type="xs:string"/>
		</xs:all>
	</xs:complexType>
	<xs:element name="salary" type="salary"/>
	<xs:element name="awm" type="awm"/>
	<xs:complexType name="awm">
		<xs:all>
			<xs:element name="method" type="xs:string" minOccurs="0"/>
			<xs:element name="format" type="xs:string" minOccurs="0"/>
			<xs:element name="apikey" type="xs:string" minOccurs="0"/>
			<xs:element name="email" type="xs:string" minOccurs="0"/>
			<xs:element name="vendortext" type="xs:string" minOccurs="0"/>
			<xs:element name="posturl" type="xs:string" minOccurs="0"/>
			<xs:element name="oncontinueurl" type="xs:string" minOccurs="0"/>
		</xs:all>
	</xs:complexType>
</xs:schema>

Incremental Job Feed (JobFeed_Incremental.xsd)

<?xml version="1.0" encoding="utf-8"?>
<xs:schema xmlns:xs="https://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
	<xs:complexType name="jobfeed">
		<xs:all>
			<xs:element name="provider" type="xs:string"/>
			<xs:element name="providerurl" type="xs:string" minOccurs="0"/>
			<xs:element name="jobs" type="jobs" minOccurs="0"/>
		</xs:all>
	</xs:complexType>
	<xs:element name="jobfeed" type="jobfeed"/>
	<xs:complexType name="job">
		<xs:all>
			<xs:element name="action" type="xs:string"/>
			<xs:element name="title" type="xs:string" minOccurs="0"/>
			<xs:element name="description" type="xs:string" minOccurs="0"/>
			<xs:element name="company" type="xs:string" minOccurs="0"/>
			<xs:element name="refcode" type="xs:string"/>
			<xs:element name="country" type="xs:string" minOccurs="0"/>
			<xs:element name="state" type="xs:string"/>
			<xs:element name="url" type="xs:string" minOccurs="0"/>
			<xs:element name="group" type="xs:string" minOccurs="0"/>
			<xs:element name="posteddate" type="xs:dateTime" minOccurs="0"/>
			<xs:element name="streetaddress" type="xs:string" minOccurs="0"/>
			<xs:element name="city" type="xs:string"/>
			<xs:element name="postalcode" type="xs:string" minOccurs="0"/>
			<xs:element name="tweetid" type="xs:string" minOccurs="0"/>
			<xs:element name="companycode" type="xs:string" minOccurs="0"/>
			<xs:element name="awm" type="awm" minOccurs="0"/>
			<xs:element name="campaign" type="campaign" minOccurs="0"/>
			<xs:element name="salary" type="salary" minOccurs="0"/>
			<xs:element name="joblocationtype" type="xs:string" minOccurs="0"/>
		</xs:all>
	</xs:complexType>
	<xs:element name="job" type="job"/>
	<xs:complexType name="jobs">
		<xs:sequence>
			<xs:element name="job" type="job" minOccurs="0" maxOccurs="unbounded"/>
		</xs:sequence>
	</xs:complexType>
	<xs:element name="jobs" type="jobs"/>
	<xs:complexType name="salary">
		<xs:all>
			<xs:element name="min" type="xs:string"/>
			<xs:element name="max" type="xs:string"/>
			<xs:element name="currency" type="xs:string"/>
			<xs:element name="type" type="xs:string"/>
			<xs:element name="description" type="xs:string"/>
		</xs:all>
	</xs:complexType>
	<xs:element name="salary" type="salary"/>
	<xs:element name="awm" type="awm"/>
	<xs:complexType name="awm">
		<xs:all>
			<xs:element name="method" type="xs:string" minOccurs="0"/>
			<xs:element name="format" type="xs:string" minOccurs="0"/>
			<xs:element name="apikey" type="xs:string" minOccurs="0"/>
			<xs:element name="email" type="xs:string" minOccurs="0"/>
			<xs:element name="vendortext" type="xs:string" minOccurs="0"/>
			<xs:element name="posturl" type="xs:string" minOccurs="0"/>
			<xs:element name="oncontinueurl" type="xs:string" minOccurs="0"/>
		</xs:all>
	</xs:complexType>
	  <xs:element name="campaign" type="campaign"/>
	<xs:complexType name="campaign">
		<xs:all>
			<xs:element name="refcode" type="xs:string"/>
			<xs:element minOccurs="0" name="name" type="xs:string"/>
			<xs:element name="isjoblevelcampaigned" type="xs:boolean"/>
			<xs:element name="cpc" type="xs:decimal"/>
			<xs:element name="customfields" type="customfields"/>
			<xs:element name="budget" type="xs:decimal"/>
			<xs:element name="dailymaxbudget" type="xs:decimal"/>
			<xs:element name="dailycap" type="xs:decimal"/>
			<xs:element name="status" type="xs:positiveInteger"/>
			<xs:element name="thirdPartyLinks" type="thirdPartyLinks"/>
			<xs:element name="isDirectClickEnabled" type="xs:boolean"/>
		</xs:all>
	</xs:complexType>
	<xs:complexType name="customfields">
		<xs:all>
			<xs:element name="name" type="xs:string"/>
			<xs:element name="value" type="xs:string"/>
		</xs:all>
	</xs:complexType>
	<xs:complexType name="thirdPartyLinks">
		<xs:all>
			<xs:element name="linkID" type="xs:positiveInteger"/>
			<xs:element name="url" type="xs:string"/>
			<xs:element name="linkType" type="xs:positiveInteger"/>
		</xs:all>
	</xs:complexType>
</xs:schema>

 

Appendix B – XML Job Feed Samples

 

Minimum requirements

  1. Full Feed
    <?xml version="1.0" encoding="utf-8"?> 
    <jobfeed>
     <provider>Testcingo</provider>
     <isfullfeed>true</isfullfeed>
     <part>1</part>
     <islast>true</islast> 
    <jobs>
    <job>
       <title>Testing ONLY DO NOT APPLY</title>
       <description><![CDATA[This is a test only. DO NOT APPLY. This is a test only. DO NOT APPLY. 
    This is a test only. DO NOT APPLY. This is a test only. DO NOT APPLY.]]></description> <company>Testcingo</company> <refcode>000277ef0302c2318b759e99c2446bae</refcode> <city>Boston</city> <state>Massachusetts</state> <country>US</country> <url>https://www.testcingo.com/jobs/testingonly.aspx?src=Monster</url> </job> </jobs> </jobfeed>
  2. Incremental feed - insert or update job
    <?xml version="1.0" encoding="utf-8"?>
    <jobfeed>
     <provider>Testcingo</provider>
     <jobs>
      <job>
       <action>I</action>
       <title>Testing ONLY DO NOT APPLY</title>
       <description><![CDATA[This is a test only. DO NOT APPLY. This is a test only. DO NOT APPLY. 
    This is a test only. DO NOT APPLY. This is a test only. DO NOT APPLY.]]></description> <company>Testcingo</company> <refcode>000277ef0302c2318b759e99c2446bae</refcode> <country>US</country> <city>Boston</city> <state>Massachusetts</state> <url>https://www.testcingo.com/jobs/testingonly.aspx?src=Monster</url> </job> </jobs> </jobfeed>
  3. Incremental feed – delete job
    <?xml version="1.0" encoding="utf-8"?>
    <jobfeed>
     <provider>Testcingo Inc.</provider>
     <jobs>
      <job>
       <action>D</action>
       <refcode>000277ef0302c2318b759e99c2446bae</refcode>
      </job>
     </jobs>
    </jobfeed>
    
 

All Fields

  1. Full Feed (AWM Post2 method)
    <?xml version="1.0" encoding="utf-8"?>
    <jobfeed>
    	<provider>Testcingo Inc.</provider>
    	<providerurl>www.testcingo.com</providerurl>
    	<isfullfeed>true</isfullfeed>
    	<part>1</part>
    	<islast>true</islast>
    	<jobs>
    	<job>
    		<title>Pitcher</title>
    		<description><![CDATA[This is a test only. DO NOT APPLY. This is a test only. DO NOT APPLY. 
    This is a test only. DO NOT APPLY. This is a test only. DO NOT APPLY.]]></description> <company>Test Company</company> <companycode>testcingo</companycode> <refcode>000277ef0302c2318e99c2446bae</refcode> <country>US</country> <state>Massachusetts</state> <url>https://www.testcingo.com/jobs/testingonly.aspx?src=Monster</url> <posteddate>2021-11-07T16:05:00-05:00</posteddate> <streetaddress>1 Main Street</streetaddress> <city>Boston</city> <postalcode>02115</postalcode> <awm> <method>Post2</method> <format>Json</format> <apikey>EXAMPLEONLYAAQwQeZBhB3MyyOhCNzymbYoA--</apikey> <vendortext>optional field for text to pass along with apply</vendortext> <posturl>enter_your_REST_service_URL_here</posturl> </awm> </job> </jobs> </jobfeed>
  2. Full Feed - Salary and Job Location Type Example
    <?xml version="1.0" encoding="utf-8"?> 
    <jobfeed>
    	<provider>Testcingo</provider>
    	<isfullfeed>true</isfullfeed>
    	<part>1</part>
    	<islast>true</islast> 
    	<jobs>
    	<job>
    		<title>Testing ONLY DO NOT APPLY</title>
    		<description><![CDATA[This is a test only. DO NOT APPLY. This is a test only. DO NOT APPLY. 
    This is a test only. DO NOT APPLY. This is a test only. DO NOT APPLY.]]></description> <company>Testcingo</company> <refcode>000277ef0302c2318b759e99c2446bae</refcode> <city>Boston</city> <state>Massachusetts</state> <country>US</country> <url>https://www.testcingo.com/jobs/testingonly.aspx?src=Monster</url> <salary> <min>66000</min> <max>99000</max> <type>annual</type> <currency>USD</currency> </salary> <joblocationtype>REMOTE</joblocationtype> </job> </jobs> </jobfeed>
  3. Incremental Feed - Insert Or Update Job - Salary and Job Location Type Example
    <?xml version="1.0" encoding="utf-8"?>
    <jobfeed>
    	<provider>Testcingo</provider>
    	<jobs>
    	<job>
    		<action>I</action>
    		<title>Testing ONLY DO NOT APPLY</title>
    		<description><![CDATA[This is a test only. DO NOT APPLY. This is a test only. DO NOT APPLY. 
    This is a test only. DO NOT APPLY. This is a test only. DO NOT APPLY.]]></description> <company>Testcingo</company> <refcode>000277ef0302c2318b759e99c2446bae</refcode> <country>US</country> <city>Boston</city> <state>Massachusetts</state> <url>https://www.testcingo.com/jobs/testingonly.aspx?src=Monster</url> <salary> <min>66000</min> <max>99000</max> <type>annual</type> <currency>USD</currency> </salary> <joblocationtype>REMOTE</joblocationtype> </job> </jobs> </jobfeed>
 

Appendix C – JSON Job Feed Samples

 

Minimum requirements

  1. Full Feed – 2 jobs
    {
      "jobfeed": {
        "provider": "testcingo Inc.",
        "isfullfeed": true,
        "part": 1,
        "islast": true,
        "jobs": [
          {
         "title": "Testing job only. DO NOT APPLY",
    "description": "This is a test only. DO NOT APPLY. This is a test only. DO NOT APPLY.
    This is a test only. DO NOT APPLY. This is a test only. DO NOT APPLY.",
    "company": "testcingo company",
    "refcode": "000277ef0302c2318b759e99c2446bae",
    "country": "US",
    "state": "Massachusetts",
    "url": "https://www.testco.com/jobs/testingonly.aspx?src=Monster" }, { "title": "Testing job only two. DO NOT APPLY",
    "description": "This is a test only. DO NOT APPLY. This is a test only. DO NOT APPLY.
    This is a test only. DO NOT APPLY. This is a test only. DO NOT APPLY.",
    "company": "testcingo company",
    "refcode": "000277ef0302c2319c2446bae2",
    "country": "US",
    "state": "Massachusetts",
    "url": "https://www.testcingo.com/jobs/testingonlytwo.aspx?src=Monster" } ] } }
  2. Incremental feed - insert or update job
    {
      "jobfeed": {
        "provider": "Testcingo Inc.",
        "jobs": [ {
            "action": "I",
    {
    "title": "Testing job only. DO NOT APPLY",
    "description": "This is a test only. DO NOT APPLY. This is a test only. DO NOT APPLY.
    This is a test only. DO NOT APPLY. This is a test only. DO NOT APPLY.",
    "company": "testcingo company",
    "refcode": "000277ef0302c2318b759e99c2446bae",
    "country": "US",
    "state": "Massachusetts",
    "url": "https://www.testcingo.com/jobs/testingonly.aspx?src=Monster" } ] } }
  3. Incremental feed – delete job
    {
      "jobfeed": {
        "provider": "Testcingo Inc.",
        "jobs": [
           {
            "action": "D",
            "refcode": "000277ef0302c2318b759e99c2446bae"
          }
        ]
      }
    }
    
    
 

All Fields

  1. Full Feed (AWM Post2 method)
    {
      "jobfeed": {
        "provider": "Testcingo Inc.",
        "providerurl": "www.testcingo.com",
        "isfullfeed": true,
        "part": 1,
        "islast": true,
        "jobs": [
          {
            "title": "Testing job only. DO NOT APPLY",
            "description": "This is a test only. DO NOT APPLY. This is a test only. DO NOT APPLY. 
             This is a test only. DO NOT APPLY. This is a test only. DO NOT APPLY.",
            "company": "testcingo company",
            "companycode": "testco",
            "refcode": "000277ef0302c2318b759e99c2446bae",
            "country": "US",
            "state": "Massachusetts",
            "url": "https://www.testco.com/jobs/testingonly.aspx?src=Monster",
            "group": "1",
            "posteddate": "2021-11-08T09:05:00-05:00",
            "streetaddress": "1 Main Street",
            "city": "Boston",
            "postalcode": "02115",
            "awm": {
              "method": "Post2",
              "format": "Json",
              "apikey": "EXAMPLEONLY3MymbYoA--",
              "vendortext": "optional field for text to pass along with apply",
              "posturl": "enter_your_REST_service_URL_here"
            }
          }
        ]
      }
    }
    
    
  2. Full Feed - Salary and Job Location Type Example
    {
      "jobfeed": {
        "provider": "testcingo Inc.",
        "isfullfeed": true,
        "part": 1,
        "islast": true,
        "jobs": [
          {
            "title": "Testing job only. DO NOT APPLY",
    "description": "This is a test only. DO NOT APPLY. This is a test only. DO NOT APPLY.
    This is a test only. DO NOT APPLY. This is a test only. DO NOT APPLY.",
    "company": "testcingo company",
    "refcode": "000277ef0302c2318b759e99c2446bae",
    "country": "US",
    "state": "Massachusetts",
    "url": "https://www.testco.com/jobs/testingonly.aspx?src=Monster"
    "salary": {
    "min": "66000",
    "max": "99000",
    "type": "annual"
    "currency": "USD" }, "joblocationtype": "REMOTE" }, { "title": "Testing job only two. DO NOT APPLY",
    "description": "This is a test only. DO NOT APPLY. This is a test only. DO NOT APPLY.
    This is a test only. DO NOT APPLY. This is a test only. DO NOT APPLY.",
    "company": "testcingo company",
    "refcode": "000277ef0302c2319c2446bae2",
    "country": "US",
    "state": "Massachusetts",
    "url": "https://www.testcingo.com/jobs/testingonlytwo.aspx?src=Monster" "salary": {
    "min": "60",
    "max": "90",
    "type": "hourly"
    "currency": "USD" }, "joblocationtype": "ONSITE" } ] } }
  3. Incremental Feed - Insert Or Update Job - Salary and Job Location Type Example
    {
      "jobfeed": {
        "provider": "Testcingo Inc.",
        "jobs": [ {
            "action": "I",
            {
    "title": "Testing job only. DO NOT APPLY",
    "description": "This is a test only. DO NOT APPLY. This is a test only. DO NOT APPLY.
    This is a test only. DO NOT APPLY. This is a test only. DO NOT APPLY.",
    "company": "testcingo company",
    "refcode": "000277ef0302c2318b759e99c2446bae",
    "country": "US",
    "state": "Massachusetts",
    "url": "https://www.testcingo.com/jobs/testingonly.aspx?src=Monster" "salary": {
    "min": "60",
    "max": "90",
    "type": "hourly"
    "currency": "USD" }, "joblocationtype": "REMOTE" } ] } }