Integration via code
The Personio career page is now available at the URL myaccount.jobs.personio.de . All Personio accounts created before 25.11.2020 must update the URL until 31/05/2021. The old URL (myaccount - jobs.personio.de ) will then no longer be available afterwards.
Please make sure to check all existing links to the content of the Personio career page and, if necessary, to renew them, e.g. E.g. if you link to a specific job advertisement or an application form on your website.
The integration uses TLS 1.2 to get the XML feed. The TLS update improves the security of your XML feed and the new URL ( myaccount . jobs.personio.de ) no longer supports TLS 1.0 or 1.1
To integrate open positions e.g. into your wordpress-based jobsite, you might want to check out this code sample:
<?php
// Draw job postings from Personio API
$hostname = 'personio';
$lang = getLang(); // Depending on implementation of multilingual content
$positions = simplexml_load_file('https://' . $hostname . '.jobs.personio.de/xml?language=' . $lang);
$categories = [];
foreach ($positions->position as $position){
$category = (string)$position->recruitingCategory;
if($category && !in_array($category, $categories)){
$categories[] = $category;
}
}
$translations = [
"full-time" => [
"de" => "Vollzeit",
"en" => "Full-time"
],
"part-time" => [
"de" => "Teilzeit",
"en" => "Part-time"
],
"permanent" => [
"de" => "Festanstellung",
"en" => "Permanent Employment"
],
"intern" => [
"de" => "Praktikum",
"en" => "Internship"
],
"trainee" => [
"de" => "Trainee Stelle",
"en" => "Trainee Stelle"
],
"freelance" => [
"de" => "Freelance Position",
"en" => "Freelance Position"
],
];
// Print job postings
foreach ($positions as $position) {
$detailLink = 'https://' . $hostname . '.jobs.personio.de/job/' . $position->id;
$channel = htmlspecialchars($_GET['channel']);
if ($channel){
$detailLink .= '?_pc=' . $channel;
}
echo '<a href="' . $detailLink . '" target="_blank" alt="Job Details">' .
'<h2>' . $position->name . '</h2>' .
'<p>' . $translations[(string)$position->employmentType][$lang] . ', ' . $translations[(string)$position->schedule][$lang] . '</p>' .
'</a>';
}
?>
Updated 3 months ago