# Jobnet v1

It's possible to upload jobs to JobNet using the tsJobnet servlet.  
This site documents the interface.

### <span class="mw-headline" id="bkmrk-usage-1">Usage</span>

Send a POST or GET-request to the servlet-endpoint "/addJob" with the required parameters as url-parameters.  
If a parameter is missing, the servlet will return HTTP-CODE 403 and a message in the body, telling you what was wrong.

### <span class="mw-headline" id="bkmrk-all-fields-1">All fields</span>

<table class="wikitable" id="bkmrk-parameter-type-defau"><tbody><tr><td>**Parameter**</td><td>**Type**</td><td>**Default**</td><td>**Required**</td><td>**Description**</td></tr><tr><td>ApplicationDetails.ApplicationMethods.ApplyByEmail</td><td>String (email)</td><td> </td><td>No</td><td> </td></tr><tr><td>ApplicationDetails.ApplicationMethods.ApplyByLetter</td><td>Boolean</td><td>false</td><td>No</td><td> </td></tr><tr><td>ApplicationDetails.ApplicationMethods.ApplyByTelephone</td><td>String (phone-number)</td><td> </td><td>No</td><td> </td></tr><tr><td>ApplicationDetails.ApplicationMethods.ApplyOnline</td><td>String (url)</td><td> </td><td>No</td><td> </td></tr><tr><td>ApplicationDetails.Description</td><td>String</td><td> </td><td>No</td><td>A short description of the job, not the full description, that is JobDetails.Description</td></tr><tr><td>ApplicationDetails.JobContactList.JobContactType.Email</td><td>String (email)</td><td> </td><td>Yes</td><td> </td></tr><tr><td>ApplicationDetails.JobContactList.JobContactType.PersonNameStructure.PersonGivenName</td><td>String</td><td> </td><td>Yes</td><td> </td></tr><tr><td>ApplicationDetails.JobContactList.JobContactType.PersonNameStructure.PersonSurnameName</td><td>String</td><td> </td><td>Yes</td><td> </td></tr><tr><td>ApplicationDetails.JobContactList.JobContactType.Title</td><td>String</td><td> </td><td>Yes</td><td> </td></tr><tr><td>ApplicationDetails.JobContactList.JobContactType.HidePhoneNumbers</td><td>Boolean</td><td>true</td><td>Yes</td><td> </td></tr><tr><td>ApplicationDetails.JobContactList.JobContactType.TelephoneNumberStructure.MobileNumber</td><td>String (phone-number)</td><td> </td><td>No</td><td> </td></tr><tr><td>ApplicationDetails.JobContactList.JobContactType.TelephoneNumberStructure.PrimaryNumber</td><td>String (phone-number)</td><td> </td><td>No</td><td> </td></tr><tr><td>ApplicationDetails.JobContactList.JobContactType.TelephoneNumberStructure.SecondaryNumber</td><td>String (phone-number)</td><td> </td><td>No</td><td> </td></tr><tr><td>ApplicationDetails.JobContactList.JobContactType.TelephoneNumberStructure.Telefax</td><td>String (phone-number)</td><td> </td><td>No</td><td> </td></tr><tr><td>ApplicationDetails.Referral</td><td>String</td><td> </td><td>No</td><td> </td></tr><tr><td>HiringOrganizationDetails.AddressStructure.CountryCode</td><td>String</td><td> </td><td>Yes</td><td> </td></tr><tr><td>HiringOrganizationDetails.AddressStructure.FloorIdentifier</td><td>String</td><td> </td><td>No</td><td> </td></tr><tr><td>HiringOrganizationDetails.AddressStructure.MunicipalityId</td><td>Integer</td><td> </td><td>Yes</td><td> </td></tr><tr><td>HiringOrganizationDetails.AddressStructure.MunicipalityName</td><td>String</td><td> </td><td>Yes</td><td> </td></tr><tr><td>HiringOrganizationDetails.AddressStructure.PostalCity</td><td>String</td><td> </td><td>Yes</td><td> </td></tr><tr><td>HiringOrganizationDetails.AddressStructure.PostalCode</td><td>String</td><td> </td><td>Yes</td><td> </td></tr><tr><td>HiringOrganizationDetails.AddressStructure.StreetBuildingIdentifier</td><td>String</td><td> </td><td>Yes</td><td> </td></tr><tr><td>HiringOrganizationDetails.AddressStructure.StreetName</td><td>String</td><td> </td><td>Yes</td><td> </td></tr><tr><td>HiringOrganizationDetails.AddressStructure.SuiteIdentifier</td><td>String</td><td> </td><td>No</td><td> </td></tr><tr><td>HiringOrganizationDetails.BranchCode</td><td>Integer</td><td> </td><td>Yes</td><td> </td></tr><tr><td>HiringOrganizationDetails.BranchDescription</td><td>String</td><td> </td><td>Yes</td><td> </td></tr><tr><td>HiringOrganizationDetails.Contact.Email</td><td>String (email)</td><td> </td><td>No</td><td> </td></tr><tr><td>HiringOrganizationDetails.Contact.PersonNameStructure.PersonGivenName</td><td>String</td><td> </td><td>Yes</td><td> </td></tr><tr><td>HiringOrganizationDetails.Contact.PersonNameStructure.PersonSurnameName</td><td>String</td><td> </td><td>Yes</td><td> </td></tr><tr><td>HiringOrganizationDetails.Contact.Title</td><td>String</td><td> </td><td>No</td><td> </td></tr><tr><td>HiringOrganizationDetails.Contact.PrimaryNumber</td><td>String (phone-number)</td><td> </td><td>No</td><td> </td></tr><tr><td>HiringOrganizationDetails.Contact.SecondaryNumber</td><td>String (phone-number)</td><td> </td><td>No</td><td> </td></tr><tr><td>HiringOrganizationDetails.Contact.Telefax</td><td>String (phone-number)</td><td> </td><td>No</td><td> </td></tr><tr><td>HiringOrganizationDetails.CvrNumber</td><td>String</td><td> </td><td>No</td><td> </td></tr><tr><td>HiringOrganizationDetails.Name</td><td>String</td><td> </td><td>Yes</td><td> </td></tr><tr><td>HiringOrganizationDetails.PNumber</td><td>String</td><td> </td><td>No</td><td> </td></tr><tr><td>HiringOrganizationDetails.Url</td><td>String</td><td> </td><td>No</td><td> </td></tr><tr><td>JobAdDetails.JobPublishDates.LastModifiedDate</td><td>String</td><td> </td><td>No</td><td> </td></tr><tr><td>JobAdDetails.JobPublishDates.PublishEndDate</td><td>String</td><td> </td><td>Yes</td><td>Has to be after PublishStartDate, but at the longest 8 weeks after</td></tr><tr><td>JobAdDetails.JobPublishDates.PublishStartDate</td><td>String</td><td> </td><td>Yes</td><td>Has to be today or after</td></tr><tr><td>JobAdDetails.Logo</td><td>String (base64)</td><td> </td><td>No</td><td>max. 200x135px / 100KB</td></tr><tr><td>JobAdDetails.PostedBy.Email</td><td>String (email)</td><td> </td><td>No</td><td> </td></tr><tr><td>JobAdDetails.PostedBy.PersonNameStructure.PersonGivenName</td><td>String</td><td> </td><td>Yes</td><td> </td></tr><tr><td>JobAdDetails.PostedBy.PersonNameStructure.PersonSurnameName</td><td>String</td><td> </td><td>Yes</td><td> </td></tr><tr><td>JobAdDetails.PostedBy.Title</td><td>String</td><td> </td><td>No</td><td> </td></tr><tr><td>JobAdDetails.PostedBy.ContactGuid</td><td>String</td><td> </td><td>No</td><td> </td></tr><tr><td>JobAdDetails.PostedBy.PrimaryNumber</td><td>String (phone-number)</td><td> </td><td>No</td><td> </td></tr><tr><td>JobAdDetails.PostedBy.Telefax</td><td>String</td><td> </td><td>No</td><td> </td></tr><tr><td>JobAdDetails.PostedBy.UserRid</td><td>String</td><td> </td><td>No</td><td> </td></tr><tr><td>JobAdDetails.Type</td><td>String</td><td>Normal</td><td>No</td><td>Has to be one of "WageSubsidy", "HotJob", "Normal", "SpringStone", "Flexjob", "EarlyRetirement", "JobRotation", "EarlyRetiree", "CompanyInternship", "NormalAndEarlyRetiree", or"NormalAndEarlyRetireeWithHotJob"</td></tr><tr><td>JobDetails.AuthorityId</td><td>Integer</td><td>0</td><td>No</td><td> </td></tr><tr><td>JobDetails.AuthorityPhoneNumber</td><td>String (phone-number)</td><td> </td><td>No</td><td> </td></tr><tr><td>JobDetails.Classification.EmploymentType</td><td>String</td><td>PermanentJob</td><td>No</td><td>Has to be "PermanentJob" or "LimitedPeriod"</td></tr><tr><td>JobDetails.Classification.IsEuresJob</td><td>Boolean</td><td>false</td><td>No</td><td> </td></tr><tr><td>JobDetails.Classification.IsPublicSectorJob</td><td>Boolean</td><td>false</td><td>No</td><td> </td></tr><tr><td>JobDetails.Classification.IsWorkInDenmarkJob</td><td>Boolean</td><td>false</td><td>No</td><td> </td></tr><tr><td>JobDetails.Description</td><td>String</td><td> </td><td>Yes</td><td>The description of the job. If it contains html ([subset](https://starwiki.atlassian.net/wiki/spaces/FYS/pages/56590365/JobAdService)) it has to be wrapped in &lt;!\[CDATA\[\]\]&gt;</td></tr><tr><td>JobDetails.DriversLicences</td><td>Comma-List</td><td> </td><td>No</td><td>Required drivers licenses to apply for the job. Can be any combination of A1, A, B, BE, C, CE, D, DE, A10, AMa, AMb, A2, C1, D1, C1E, D1E, Taxi, Traktor, Truck, BusErhverv, DigitalFartskriver, EUGodsErhverv and EUBusErhverv, seperated by a comma</td></tr><tr><td>JobDetails.HidePhonenumbers</td><td>Boolean</td><td>false</td><td>No</td><td> </td></tr><tr><td>JobDetails.IsAnonymousEmployer</td><td>Boolean</td><td>false</td><td>No</td><td> </td></tr><tr><td>JobDetails.IsDisabilityFriendly</td><td>Boolean</td><td>false</td><td>No</td><td> </td></tr><tr><td>JobDetails.JobDates.ApplicationDeadlineDate</td><td>String (date)</td><td> </td><td>Yes</td><td> </td></tr><tr><td>JobDetails.JobDates.EmploymentDate</td><td>String (date)</td><td> </td><td>No</td><td> </td></tr><tr><td>JobDetails.JobDates.StartAsSoonAsPossible</td><td>Boolean</td><td>false</td><td>No</td><td> </td></tr><tr><td>JobDetails.JobLocation.Address.CountryCode</td><td>String</td><td> </td><td>Yes</td><td> </td></tr><tr><td>JobDetails.JobLocation.Address.FloorIdentifier</td><td>String</td><td> </td><td>No</td><td> </td></tr><tr><td>JobDetails.JobLocation.Address.MunicipalityId</td><td>Integer</td><td> </td><td>Yes</td><td> </td></tr><tr><td>JobDetails.JobLocation.Address.MunicipalityName</td><td>String</td><td> </td><td>Yes</td><td> </td></tr><tr><td>JobDetails.JobLocation.Address.PostalCity</td><td>String</td><td> </td><td>Yes</td><td> </td></tr><tr><td>JobDetails.JobLocation.Address.PostalCode</td><td>String</td><td> </td><td>Yes</td><td> </td></tr><tr><td>JobDetails.JobLocation.Address.StreetBuildingIdentifier</td><td>String</td><td> </td><td>Yes</td><td> </td></tr><tr><td>JobDetails.JobLocation.Address.StreetName</td><td>String</td><td> </td><td>Yes</td><td> </td></tr><tr><td>JobDetails.JobLocation.Address.SuiteIdentifier</td><td>String</td><td> </td><td>No</td><td> </td></tr><tr><td>JobDetails.JobLocation.NoLocalBusinessAddress</td><td>Boolean</td><td>false</td><td>No</td><td> </td></tr><tr><td>JobDetails.NumberOfPositions</td><td>Integer</td><td>1</td><td>No</td><td> </td></tr><tr><td>JobDetails.OccupationConceptUri</td><td>String ([JobnetConceptUri](https://docs.tsnocode.com/books/standard-integrations/page/jobnetconcepturi "JobnetConceptUri"))</td><td> </td><td>Yes</td><td> </td></tr><tr><td>JobDetails.Schedule.DailyWorkTime.Day</td><td>Boolean</td><td>false</td><td>No</td><td> </td></tr><tr><td>JobDetails.Schedule.DailyWorkTime.Evening</td><td>Boolean</td><td>false</td><td>No</td><td> </td></tr><tr><td>JobDetails.Schedule.DailyWorkTime.Night</td><td>Boolean</td><td>false</td><td>No</td><td> </td></tr><tr><td>JobDetails.Schedule.DailyWorkTime.Weekend</td><td>Boolean</td><td>false</td><td>No</td><td> </td></tr><tr><td>JobDetails.Schedule.WeeklyWorkTimeTypes</td><td>String</td><td>FullTime</td><td>No</td><td>Has to be PartTime or FullTime</td></tr><tr><td>JobDetails.Schedule.WorkHour.Max</td><td>Integer</td><td> </td><td>No</td><td>Expected maximum of hours of work, a week, if PartTime</td></tr><tr><td>JobDetails.Schedule.WorkHour.Min</td><td>Integer</td><td> </td><td>No</td><td>Expected minimum of hours of work, a week, if PartTime</td></tr><tr><td>JobDetails.Title</td><td>String</td><td> </td><td>Yes</td><td>The title being hired for</td></tr></tbody></table>

### <span class="mw-headline" id="bkmrk-notes-1">Notes</span>

At least one application method (ApplicationDetails.ApplicationMethods) has to be set.  
At least one phonenumber has to be set for job-contact (ApplicationDetails.JobContactList.JobContactType.TelephoneNumberStructure).  
If schedule (JobDetails.Schedule.WeeklyWorkTimeTypes) equals "FullTime", workhours (JobDetails.Schedule.WorkHour.Min and JobDetails.Schedule.WorkHour.Max) can't be set.  
JobDetails.Schedule.WorkHour.Min has to be lower than JobDetails.Schedule.WorkHour.Max and between 0 and 36.  
JobDetails.Schedule.WorkHour.Max has to be greater than JobDetails.Schedule.WorkHour.Min and between 1 and 36.  
If schedule (JobDetails.Schedule.WeeklyWorkTimeTypes) Equals "PartTime", workhours (JobDetails.Schedule.WorkHour.Min and JobDetails.Schedule.WorkHour.Max) have to be set.