/** * Returns the standardized job object * * @param array $payload Raw job payload from the API * * @return \JobApis\Jobs\Client\Job */ public function createJobObject($payload = []) { $job = new Job(['description' => $payload['DescriptionTeaser'], 'employmentType' => $payload['EmploymentType'], 'title' => $payload['JobTitle'], 'name' => $payload['JobTitle'], 'url' => $payload['JobDetailsURL'], 'educationRequirements' => $payload['EducationRequired'], 'experienceRequirements' => $payload['ExperienceRequired'], 'sourceId' => $payload['DID']]); $pay = $this->parseSalariesFromString($payload['Pay']); $job->setOccupationalCategoryWithCodeAndTitle($payload['OnetCode'], $payload['ONetFriendlyTitle'])->setCompany($payload['Company'])->setCompanyUrl($payload['CompanyDetailsURL'])->setLocation($this->parseLocationElement($payload['City']) . ', ' . $this->parseLocationElement($payload['State']))->setCity($this->parseLocationElement($payload['City']))->setState($this->parseLocationElement($payload['State']))->setDatePostedAsString($payload['PostedDate'])->setCompanyLogo($payload['CompanyImageURL'])->setMinimumSalary($pay['min'])->setMaximumSalary($pay['max']); if (isset($payload['Skills']['Skill'])) { $job->setSkills($this->parseSkillSet($payload['Skills']['Skill'])); } return $job; }