Stelleninserate in die Stellenplattformen der Somedia exportieren
Die Stellenplattformen der Somedia, bestehend aus den
Webseiten
suedostschweizjobs.ch
und liechtensteinjobs.li,
unterstützen einen automatischen Import der Stelleninserate ihrer Kunden.
Der Import erfolgt über eine Abfrage der vom Kunden bereitgestellten HTTP oder HTTPS URL,
welche die Inserate im unten beschriebenen XML- oder JSON-Format enthält.
Beide Formate enthalten dieselben Daten. Das Format wird bei der Einrichtung des Imports festgelegt.
Gzip-komprimierte Antworten werden unterstützt.
Alle Datenquellen werden stündlich zwischen
05:00 morgens und 23:00 CET abends abgefragt.
Die Datei muss alle Inserate der Firma/Firmen enthalten, die zum aktuellen Zeitpunkt online sein sollen.
Dies bedeutet, dass alle Inserate, welche die Firma A in der Datei bereitstellt, auf den gewählten Stellenplattformen veröffentlicht werden.
Sie erscheinen auf der Seite der Firma (https://www.suedostschweizjobs.ch/firma/[Company A Name]/[Company A ID])
und auf der Miniseite der Firma, falls diese existiert (https://www.suedostschweizjobs.ch/minisite/[Company A minisite ID]).
Sie werden von der Suche erfasst und sind über
ihren Link (https://www.suedostschweizjobs.ch/job/[Vacancy Title]/[Vacancy ID]) erreichbar.
Wird ein Inserat aus der Datei entfernt, wird dieses auch auf der Plattform deaktiviert und kann
im Plattform 'Front-End' nicht mehr aufgerufen werden. Es ist jedoch immer noch im System vorhanden
und kann unter den anderen inaktiven Inseraten im Manager-Interface der
Firma gefunden werden (https://www.suedostschweizjobs.ch/manager/[Company A ID]/vacancy/list).
Achtung: Wenn die Datei keine Inserate enthält (XML: leeres Root-Element, JSON: leeres
vacancies-Array),
werden alle gegenwärtig aktiven Inserate der Firma/Firmen deaktiviert, für welche diese URL als Import eingerichtet ist.
Darum sollte bei einem Fehlerfall einer automatisch
generierten Datei eine leere Rückgabe der URL-Datenquelle oder eine schlichte Text/HTML
Error Nachricht zurückgegeben werden. Wichtig ist, dass es keine gültige, aber leere Datei ist.
Derselbe Feed kann auch für weitere Stellenplattformen verwendet werden, z.B. ostjob.ch oder zentraljob.ch.
Voraussetzung ist, dass der Import auch auf diesen Plattformen eingerichtet ist.
Wichtige Anmerkung: suedostschweizjobs.ch und liechtensteinjobs.li sind ein Kombi-Angebot.
Es müssen also beide Plattformen aktiv oder beide Plattformen inaktiv sein.
The Somedia platforms, consisting of the
suedostschweizjobs.ch
and liechtensteinjobs.li
websites, support an automatic import of jobs for its subscription customers.
The import is implemented via regular polling of a customer-provided HTTP or HTTPS URL,
containing the jobs' data in the XML or JSON format described below.
Both formats carry the same data. The format is chosen when the import is set up.
Gzip-compressed responses are supported.
All the data sources are polled every hour between the following times:
from 05:00am until 23:00pm CET.
The job data file must contain all the jobs of a company (or a set of companies) that should be online at the given time.
This means that all the jobs listed
in the file for company A will be published on the selected platforms: they'll appear
on the company page (e.g. https://www.suedostschweizjobs.ch/firma/[Company A Name]/[Company A ID]),
the company's minisite, if it exists (e.g. https://www.suedostschweizjobs.ch/minisite/[Company A minisite ID]),
will be found by the platform job search, and
are available via the direct link (e.g. https://www.suedostschweizjobs.ch/job/[Vacancy Title]/[Vacancy ID]).
When a vacancy is removed from the exported file,
it's deactivated on the platform, and is no longer available in the platform front-end.
However, it still persists in the system, and can be found among all the other inactive vacancies
in the company manager's area (https://www.suedostschweizjobs.ch/manager/[Company A ID]/vacancy/list).
Attention: if the file contains no vacancies (XML: empty root element, JSON: empty
vacancies array), the import procedure
will deactivate all the currently active vacancies of all the companies for which this URL is set up as import.
Thus, for an automatically generated file, in case of error,
please return an empty response (or any plain text/HTML error message).
What's important is that it's not a valid file with no vacancies.
The same feed can also be used for other job platforms, e.g. ostjob.ch or zentraljob.ch,
provided the import is set up on those platforms as well.
Important note: suedostschweizjobs.ch and liechtensteinjobs.li are a combined offer,
so both platforms must be active or both platforms must be inactive.
XML-Struktur
Die exportierte XML-Datei muss folgende Struktur haben. Folgend wird jedes vorhandene Element beschrieben.
<list version="1">
<vacancy>
<id>REF-123456</id>
<company>XIAG AG</company>
<title>Programmer</title>
<workplace>
<country>CH</country>
<zip>8057</zip>
<city>Zürich</city>
<home_office>0</home_office>
</workplace>
<company_description>
<![CDATA[
XIAG AG, Internet Solutions Zürich, is an international software developing company specialised on web and
mobile applications.<br />
Founded in 2000, XIAG AG now employs more than 30 specialists in software development, design and system
administration offering to our demanding international clients sophisticated and individual solutions. With
more than a decade of experience and over 200 successfully completed projects, XIAG has built up long term
partnerships with its clients and stands for stability and strong growth.
]]>
</company_description>
<description>
<![CDATA[
Challenging well-paid job in a successful international software development company,<br />
which will boost your professional and personal growth. Development of Internet software
solutions with PHP (Linux, Apache, Postgres).
]]>
</description>
<requirements>
<![CDATA[
<ul>
<li>Minimum 2 years of industry experience with PHP</li>
<li>Object-oriented programming, and relational data modeling skills</li>
<li>Test-driven development experience is a plus</li>
<li>Written English</li>
</ul>
]]>
</requirements>
<offer>
<![CDATA[
Development of Internet software solutions with PHP (Linux, Apache, Postgres)
]]>
</offer>
<contact>
<![CDATA[
You are welcome to send your resume in English, stating the job your are applying for to
the following contact: <br />
John Smith
<a href="mailto:jobs@xiag.ch">jobs@xiag.ch</a>
Telephone: +41 43 255 30 96
Your data will be treated strictly confidential!
]]>
</contact>
<links>
<description_url>http://www.xiag.ch/jobs/php_developer/</description_url>
<application_url>http://www.xiag.ch/jobs/php_developer/apply</application_url>
</links>
<publication>
<suedostschweizjobs_ch>1</suedostschweizjobs_ch>
<liechtensteinjobs_li>1</liechtensteinjobs_li>
<ostjob_ch>0</ostjob_ch>
<westjob_at>0</westjob_at>
<nicejob_de>0</nicejob_de>
<myjob_ch>0</myjob_ch>
<zentraljob_ch>0</zentraljob_ch>
<jobmittelland_ch>0</jobmittelland_ch>
<jobbern_ch>0</jobbern_ch>
<jobbasel_ch>0</jobbasel_ch>
<jobzueri_ch>0</jobzueri_ch>
<jobs_nzz_ch>0</jobs_nzz_ch>
<lehrstellencheck_ch>0</lehrstellencheck_ch>
<schaffu_ch>0</schaffu_ch>
<zustelljob_ch>0</zustelljob_ch>
<ajourjob_ch>0</ajourjob_ch>
<minisite>0</minisite>
</publication>
<type>
<key>5</key>
<value_min>60</value_min>
<value_max>100</value_max>
</type>
<positions>
<position>1</position>
<position>2</position>
</positions>
<template>34</template>
<keywords>Manager, Project Leader</keywords>
</vacancy>
<vacancy>
...
</vacancy>
...
</list>
/list/@version
Konstant und erforderlich. Muss
1 sein.
/list/vacancy/id
Erforderlich. Identifiziert ein Inserat eindeutig innerhalb einer Firma. Maximale Länge: 200 Zeichen.
/list/vacancy/company
Identifiziert eine Firma einmalig.
Nur bei einer Multi-Firma XML-Datei erforderlich. Maximale Länge: 200 Zeichen.
Der Wert muss der externen Firmen-ID entsprechen, die bei der Einrichtung des Imports hinterlegt wurde.
Die Firma muss schon auf der Plattform existieren. Die Importprozedur erstellt keine neue Firmen.
/list/vacancy/title
Erforderlich. Der Stellentitel. Maximale Länge: 200 Zeichen.
/list/vacancy/workplace/*
Nur
city (Arbeitsort) ist erforderlich. Die weiteren Elemente sind optional.
Im Feld city können zudem Regionen übermittelt werden,
falls Ihre Firma hierfür aufgeschaltet wurde. Für weitere Details hierzu richten Sie Ihre Fragen bitte an Somedia.
/list/vacancy/workplace/home_office
Optional.
1 wenn Homeoffice möglich ist, sonst 0.
Ohne Angabe wird der Wert bei neuen Inseraten anhand von Stichworten bestimmt.
/list/vacancy/company_description
Inseratspezifische Unternehmensbeschreibung.
- Kann HTML beinhalten
-
Die erlaubten Tags sind:
<b> <i> <ul> <ol> <li> <a> <img> <br> <p>
/list/vacancy/description
- Kann HTML beinhalten
-
Die erlaubten Tags sind:
<b> <i> <ul> <ol> <li> <a> <img> <br> <p>
/list/vacancy/requirements
- Kann HTML beinhalten
-
Die erlaubten Tags sind:
<b> <i> <ul> <ol> <li> <a> <img> <br> <p>
/list/vacancy/offer
- Kann HTML beinhalten
-
Die erlaubten Tags sind:
<b> <i> <ul> <ol> <li> <a> <img> <br> <p>
/list/vacancy/contact
- Erforderlich
- Kann HTML beinhalten
-
Die erlaubten Tags sind:
<b> <i> <ul> <ol> <li> <a> <img> <br> <p>
/list/vacancy/links
Optional.
/list/vacancy/links/description_url
Der Inhalt dieser URL wird auf der Detailseite des Inserats
(https://www.suedostschweizjobs.ch/job/[Vacancy Title]/[Vacancy ID]) in einem
iframe angezeigt.
Maximale Länge: 1024 Zeichen. Bitte beachten Sie, dass Sie auch in diesem Fall die Beschreibung und Anforderungen ausfüllen.
Diese werden auf Mobilgeräten angezeigt und wenn die Seite keine Einbettung erlaubt.
/list/vacancy/links/application_url
Webseite mit dem Bewerbungsformular oder E-Mail Adresse (mit oder ohne
mailto:) einer Kontaktperson.
Maximale Länge: 1024 Zeichen.
/list/vacancy/publication
Definiert, auf welchen Plattformen das Inserat veröffentlicht wird.
Pro Plattform ein Subelement mit deren Domain, Punkt durch Unterstrich ersetzt
(z.B.
suedostschweizjobs_ch, liechtensteinjobs_li, ostjob_ch),
mit dem Wert 1 oder 0.
Nicht aufgeführte Plattformen gelten als 0.
Bitte geben Sie jede Plattform, auf welcher der Import eingerichtet ist, explizit an.
minisiteist erforderlich und steuert die Anzeige auf der Miniseite der Firma (1oder0).- Mindestens eine Plattform oder
minisitemuss den Wert1haben, sonst wird das Inserat nicht importiert.
/list/vacancy/type/key
Optional. Ohne Angabe wird der Typ bei neuen Inseraten anhand von Stichworten im Titel bestimmt.
Ohne Treffer gilt
5 (Festanstellung).
Die folgenden Werte sind möglich:
2für Lehrstelle3für Praktikumsstelle5für Festanstellung6für Temporär7für Freelance8für Neben- / Ferienjob
/list/vacancy/type/value_min
Optional. Minimales Pensum in Prozent, ganze Zahl von
10 bis 100.
Der Wert muss kleiner oder gleich /list/vacancy/type/value_max sein.
Wird nur einer der beiden Werte angegeben, gilt er für beide. Ohne Angabe gilt 100.
/list/vacancy/type/value_max
Optional. Maximales Pensum in Prozent, ganze Zahl von
10 bis 100.
Der Wert muss grösser oder gleich /list/vacancy/type/value_min sein.
/list/vacancy/positions/position
Optional. Ohne Angabe wird die Position bei neuen Inseraten anhand von Stichworten bestimmt.
position
position 1 beschreibt eine "Führungsposition", d.h. mit Personalverantwortung.
2 beschreibt eine "Management / Kader" Position, d.h. mit Autorität für Managemententscheidungen im Unternehmen.
/list/vacancy/template
Optional. Wird derzeit nicht ausgewertet.
Für die Wahl der Vorlage wenden Sie sich bitte an Ihre Ansprechperson bei Somedia.
/list/vacancy/keywords
Optional. Soll Keywords enthalten, welche die Stelle beschreiben. Die individuellen Keywords sollen mit Kommas unterteilt sein.
/list/@version
Required. Must be
1.
/list/vacancy/id
Required. Consistently and uniquely identifies a vacancy within a company. Maximum length: 200 characters.
/list/vacancy/company
Consistently and uniquely identifies a company. Required only for a multi-company XML, otherwise can be omitted.
Maximum length: 200 characters.
The value must match the external company ID stored when the import was set up.
The company must already exist on the platform. The import procedure doesn't create new companies.
/list/vacancy/title
Required. The job title. Maximum length: 200 characters.
/list/vacancy/workplace/*
Only the city is required. Other elements can be omitted.
The field can also be used to transmit regions,
if your company has been authorized for this - for further questions, please contact Somedia directly.
/list/vacancy/workplace/home_office
Optional.
1 if home office is possible, otherwise 0.
If omitted, the value is derived from keywords for new vacancies.
/list/vacancy/company_description
Vacancy specific company description.
- Can contain HTML
-
Allowed tags are:
<b> <i> <ul> <ol> <li> <a> <img> <br> <p>
/list/vacancy/description
- Can contain HTML
-
Allowed tags are:
<b> <i> <ul> <ol> <li> <a> <img> <br> <p>
/list/vacancy/requirements
- Can contain HTML
-
Allowed tags are:
<b> <i> <ul> <ol> <li> <a> <img> <br> <p>
/list/vacancy/offer
- Can contain HTML
-
Allowed tags are:
<b> <i> <ul> <ol> <li> <a> <img> <br> <p>
/list/vacancy/contact
- Required
- Can contain HTML
-
Allowed tags are:
<b> <i> <ul> <ol> <li> <a> <img> <br> <p>
/list/vacancy/links
Optional.
/list/vacancy/links/description_url
When present, the content from this URL will be displayed on the vacancy details page (
https://www.suedostschweizjobs.ch/job/[Vacancy Title]/[Vacancy ID]) in an
<iframe>.
Maximum length: 1024 characters. Please note that in this case the description and requirements should be present.
They are shown on mobile devices and when the page does not allow embedding.
/list/vacancy/links/application_url
Web page containing this job's application form or e-mail address (with or without
mailto:) of a contact person.
Maximum length: 1024 characters.
/list/vacancy/publication
Defines on which platforms the vacancy is published.
One subelement per platform, named after its domain with the dot replaced by an underscore
(e.g.
suedostschweizjobs_ch, liechtensteinjobs_li, ostjob_ch),
with the value 1 or 0.
Platforms that are not listed count as 0.
Please list every platform on which the import is set up explicitly.
minisiteis required and controls whether the vacancy is shown on the company's minisite (1or0).- At least one platform or
minisitemust have the value1, otherwise the vacancy is not imported.
/list/vacancy/type/key
Optional. If omitted, the type is derived from keywords in the title for new vacancies.
Without a match,
5 (fixed employment) applies.
The following values are available:
2for Lehrstelle (apprenticeship)3for Praktikumsstelle (internship)5for Festanstellung (fixed employment)6for Temporär (temporary)7for Freelance (freelance)8for Neben- / Ferienjob (side job / vacation job)
/list/vacancy/type/value_min
Optional. Minimum workload in percent, integer from
10 to 100.
If given, should be less or equal to /list/vacancy/type/value_max.
If only one of the two values is given, it applies to both. If omitted, 100 applies.
/list/vacancy/type/value_max
Optional. Maximum workload in percent, integer from
10 to 100.
If given, should be greater or equal to /list/vacancy/type/value_min.
/list/vacancy/positions/position
Optional. If omitted, the position is derived from keywords for new vacancies.
position
position 1 describes a "leadership position", meaning personnel responsibility.
2 describes a "management / executive position", meaning a responsibility with authority for executive decisions in the company.
/list/vacancy/template
Optional. Currently not evaluated.
Please contact your Somedia representative to choose a template.
/list/vacancy/keywords
Should contain keywords which describe the vacancy.
The individual keywords should be separated by commas.
JSON-Struktur
Die exportierte JSON-Datei muss folgende Struktur haben. Sie enthält dieselben Daten wie die XML-Datei. Folgend wird jedes Feld dem entsprechenden XML-Element zugeordnet.
{
"version": 1,
"vacancies": [
{
"id": "REF-123456",
"companyExternalId": "XIAG-AG",
"title": "Programmer",
"workplaces": [
{ "country": "ch", "zip": "8057", "city": "Zürich" }
],
"homeOffice": false,
"companyDescription": "XIAG AG is an international software developing company.<br />Founded in 2000.",
"description": "Challenging job in a successful software development company.",
"requirements": "<ul><li>Minimum 2 years of industry experience with PHP</li><li>Written English</li></ul>",
"offer": "Development of Internet software solutions with PHP (Linux, Apache, Postgres)",
"contact": "John Smith <a href=\"mailto:jobs@xiag.ch\">jobs@xiag.ch</a>, Telephone: +41 43 255 30 96",
"links": {
"descriptionUrl": "https://www.xiag.ch/jobs/php_developer/",
"applicationUrl": "https://www.xiag.ch/jobs/php_developer/apply"
},
"publication": {
"countries": ["ch", "li"],
"minisite": true
},
"type": { "key": 5, "valueMin": 60, "valueMax": 100 },
"positions": [1, 2],
"keywords": "Manager, Project Leader"
}
]
}
Jedes Feld hat dieselbe Bedeutung wie das zugeordnete XML-Element im Abschnitt XML-Struktur.
Abweichungen stehen in der Spalte Hinweis.
| JSON-Feld | XML-Element | Hinweis |
|---|---|---|
version | /list/@version | Erforderlich. Muss 1 sein. |
vacancies | /list/vacancy | Erforderlich. Array der Inserate. |
id | id | Erforderlich. |
companyExternalId | company | |
title | title | Erforderlich. |
workplaces | workplace | Erforderlich. Array mit einem Objekt mit country, zip, city. Nur city ist erforderlich. |
homeOffice | workplace/home_office | true oder false. |
companyDescription | company_description | |
description | description | |
requirements | requirements | |
offer | offer | |
contact | contact | Erforderlich. |
links.descriptionUrl | links/description_url | |
links.applicationUrl | links/application_url | |
publication | publication | Erforderlich. Enthält countries, minisite oder beides. |
publication.countries | publication/<Plattform> | Array mit Ländercodes statt einem Element pro Plattform, siehe unten. Nur aufgeführte Plattformen werden berücksichtigt. |
publication.minisite | publication/minisite | true oder false. Ohne Angabe false. |
type.key | type/key | Nur 2, 3, 5, 6, 7, 8. |
type.valueMin | type/value_min | |
type.valueMax | type/value_max | |
positions | positions/position | Array, z.B. [1] oder [1, 2]. |
template | template | |
keywords | keywords |
publication.countries
Ländercodes der Plattformen, auf denen das Inserat veröffentlicht wird:
ch: suedostschweizjobs.chli: liechtensteinjobs.li
Allgemeine Regeln
- Die Datei muss UTF-8 kodiert sein.
- Unbekannte Felder sind nicht erlaubt.
- Textfelder dürfen nicht leer sein. Optionale Felder ohne Inhalt bitte weglassen.
- Achtung: Entspricht die Datei nicht der beschriebenen Struktur, wird sie vollständig abgewiesen. Es werden dann keine Inserate importiert, aktualisiert oder deaktiviert. Bitte prüfen Sie die Datei mit der Validierung unten.
Each field has the same meaning as the mapped XML element in the XML structure section.
Differences are listed in the Note column.
| JSON field | XML element | Note |
|---|---|---|
version | /list/@version | Required. Must be 1. |
vacancies | /list/vacancy | Required. Array of vacancies. |
id | id | Required. |
companyExternalId | company | |
title | title | Required. |
workplaces | workplace | Required. Array with one object with country, zip, city. Only city is required. |
homeOffice | workplace/home_office | true or false. |
companyDescription | company_description | |
description | description | |
requirements | requirements | |
offer | offer | |
contact | contact | Required. |
links.descriptionUrl | links/description_url | |
links.applicationUrl | links/application_url | |
publication | publication | Required. Contains countries, minisite or both. |
publication.countries | publication/<Plattform> | Array of country codes instead of one element per platform, see below. Only listed platforms are used. |
publication.minisite | publication/minisite | true or false. Defaults to false. |
type.key | type/key | Only 2, 3, 5, 6, 7, 8. |
type.valueMin | type/value_min | |
type.valueMax | type/value_max | |
positions | positions/position | Array, e.g. [1] or [1, 2]. |
template | template | |
keywords | keywords |
publication.countries
Country codes of the platforms on which the vacancy is published:
ch: suedostschweizjobs.chli: liechtensteinjobs.li
General rules
- The file must be UTF-8 encoded.
- Unknown fields are not allowed.
- Text fields must not be empty. Please omit optional fields without content.
- Attention: if the file does not match the described structure, it is rejected as a whole. No vacancies are imported, updated or deactivated in that case. Please check the file with the validation below.
Validierung
Es kann eine URL oder der Inhalt im XML- oder JSON-Format eingefügt und validiert werden.
Aktueller Stand: 04.11.2026
