Jobs API

Die Jobs API von jobs.sozialplattform.at dient dem automatisierten Inserieren von Jobs durch unsere Partnerinnen und Partner.

Zuletzt aktualisiert am 01.02.2024

Authentifizierung

Die Authentifizierung erfolgt mittels API Schlüssel.
Der API Schlüssel muss mit jedem Request als HTTP Header X-Api-Key übermittelt werden.

Fehlerfälle

400 Bad Request

Die übermittelten Daten sind fehlerhaft. Mögliche Ursachen:

  • Für ein Pflichtfeld wurde kein Wert geliefert.
  • Ein Wert entspricht nicht dem erforderlichen Format.
  • Ein Wert ist ungültig, z.B. entspricht die übermittelte Standord ID keinem der eigenen Organisation angehörenden Standorte.

401 Unauthorized

Der Server hat die Authentifizierung abgelehnt. Mögliche Ursachen:

  • Der HTTP Header X-Api-Key fehlt.
  • Der übermittelte API Schlüssel ist falsch oder wurde deaktiviert.

404 Not found

Der Endpunkt existiert nicht.

405 Method not allowed

Der Endpunkt existiert, unterstützt aber die angefragte Methode nicht.

Endpunkte

Alle Requests erfolgen gegen https://jobs.sozialplattform.at/…

audience - Arbeiten mit

GET /api/audience

Beschreibung

Ruft alle gültigen Optionen für den audience Parameter neuer Jobs ab.

Parameter

Keine

Antwort
{
    "message": "success",
    "data": [
        {
            "id": 1,
            "title": "Lorem ipsum"
        },
        {
            "id": 2,
            "title": "Lorem ipsum"
        },
        …
    ]
}

field - Berufsfeld

GET /api/field

Beschreibung

Ruft alle gültigen Optionen für den field Parameter neuer Jobs ab.

Parameter

Keine

Antwort
{
    "message": "success",
    "data": [
        {
            "id": 1,
            "title": "Lorem ipsum"
        },
        {
            "id": 2,
            "title": "Lorem ipsum"
        },
        …
    ]
}

job - Job

POST /api/job

Beschreibung

Erlaubt das Anlegen neuer Jobs.

Parameter
{
    "site": 1,
    "title": "Sozialarbeiter:in",
    "region": [1,2],
    "field": [1,2],
    "model": [1,2],
    "audience": [1,2],
    "salary": {
        "value": 1000000,
        "unit": "month",
        "text": "Details zum Gehalt"
    },
    "workingHours": {
        "min": 30,
        "max": 38.5,
        "mode": "fulltime"
    },
    "availableFrom": 1706694131,
    "temporaryEmployment": true,
    "homeoffice": true,
    "roster": true,
    "body": {
        "environment": "Wertschätzendes Arbeitsumfeld, …",
        "link": {
            "url": "https://jobs.sozialplattform.at/die-sozialplattform/ueber-uns",
            "title": "Mehr Infos über uns"
        },
        "tasks": "Beratung und Betreuung, …",
        "profile": "Selbständigkeit, …"
    },
    "application": {
        "description": "Bewerben Sie sich bei uns am besten mittels…",
        "external": {
            "url": "https://jobs.sozialplattform.at/jobboerse",
            "description": "Bewerben Sie sich über diesen Link."
        },
        "contact": {
            "name": "Claudia Zinganell-Kienbacher",
            "phone": "+43 / 732-6675 94-2",
            "email": "zinganell@sozialplattform.at",
            "description": "Ihre Ansprechpartnerin für Bewerbungen."
        }
    }
}
Feld Beschreibung Pflichtfeld Typ Wert Standardwert
application.contact.description Text der im Bereich Kontaktperson der Bewerbungs-Box angezeigt wird string
application.contact.email E-Mail Adresse der Kontaktperson in der Bewerbungs-Box string Gültige E-Mail Adresse
application.contact.name Name der Kontaktperson in der Bewerbungs-Box string
application.contact.phone Telefonnummer der Kontaktperson in der Bewerbungs-Box string Gültige Telefonnummer
application.description Allgemeiner Text in der Bewerbungs-Box string
application.external.description Text der im Bereich Online Bewerbung der Bewerbungs-Box angezeigt wird string
application.external.url URL für Online Bewerbung string Gültige URL
audience Zuteilung zum Filter "Arbeiten mit" Ja array[int] Eine oder mehrere audience IDs
availableFrom Ab wann die Stelle verfügbar ist. Hat keine Auswirkung darauf ab wann das Inserat sichtbar ist. int Timestamp
body.environment Text unter "Wir bieten" string Erlaubte HTML Tags: p ul li br
body.link.title Titel für Link zwischen "Wir bieten" und "Ihre/Deine Aufgaben" string
body.link.url URL für Link zwischen "Wir bieten" und "Ihre/Deine Aufgaben" string Gültige URL
body.profile Text unter "Ihr/Dein Profil" string Erlaubte HTML Tags: p ul li br
body.tasks Text unter "Ihre/Deine Aufgaben" string Erlaubte HTML Tags: p ul li br
field Zuteilung zum Filter "Berufsfeld" Ja array[int] Eine oder mehrere field IDs
homeoffice Zeigt den Tag "Home Office" an. bool false
model Zuteilung zum Filter "Stellenart" Ja array[int] Eine oder mehrere model IDs
region Zuteilung zum Filter "Region" Ja array[int] Eine oder mehrere region IDs
roster Zeigt den Tag "Turnusdienst" an. bool false
salary.text Zusätzlicher Text der beim Gehalt ausgegeben wird string
salary.unit Beschreibt den Kontext von salary.value
Z.b. pro Monat.
Ja string "hour", "day", "month" oder "year"
salary.value Ausgabe im Inserat Ja int Gehalt als Cent-Betrag
site Standort an den das Inserat gebunden wird Ja int Eine ID aus site
temporaryEmployment Zeigt den Tag "Befristet" an. bool false
title Titel des Inserats Ja string
workingHours.min Ausgabe im Inserat float
workingHours.max Ausgabe im Inserat Ja float
workingHours.mode Ausgabe im Inserat Ja string "fulltime" oder "parttime"

Wenn nicht anders angegeben, erlauben alle string Felder die Verwendung alphanumerischer Zeichen und Sonderzeichen aber kein HTML.

Antwort

Im Erfolgsfall enthält die Antwort die ID des angelegten Jobs.

{
    "message": "success",
    "data": {
        "jobId": 1
    }
}

Im Fehlerfall enthält die Antwort eine Auflistung der problematischen Felder.

{
    "message": "error",
    "data": {
        "title": "mandatory",
        "region": "invalid",
        …
    }
}

model - Stellenart

GET /api/model

Beschreibung

Ruft alle gültigen Optionen für den model Parameter neuer Jobs ab.

Parameter

Keine

Antwort
{
    "message": "success",
    "data": [
        {
            "id": 1,
            "title": "Lorem ipsum"
        },
        {
            "id": 2,
            "title": "Lorem ipsum"
        },
        …
    ]
}

region - Region

GET /api/region

Beschreibung

Ruft alle gültigen Optionen für den region Parameter neuer Jobs ab.

Parameter

Keine

Antwort
{
    "message": "success",
    "data": [
        {
            "id": 1,
            "title": "Lorem ipsum"
        },
        {
            "id": 2,
            "title": "Lorem ipsum"
        },
        …
    ]
}

site - Standort

GET /api/site

Beschreibung

Ruft alle gültigen Optionen für den site Parameter neuer Jobs ab.

Parameter

Keine

Antwort
{
    "message": "success",
    "data": [
        {
            "id": 1,
            "title": "Lorem ipsum"
        },
        {
            "id": 2,
            "title": "Lorem ipsum"
        },
        …
    ]
}

POST /api/site

Beschreibung

Erlaubt das Anlegen neuer Standorte.

Parameter
{
    "title": "Standort Linz",
    "street": "Wiener Str. 32/4. Stock",
    "zip": "4020",
    "city": "Linz",
    "description": "Ein starkes Netzwerk von Sozialorganisationen",
    "email": "office@sozialplattform.a",
    "phone": "+43 732 66 75 94",
    "logo": "data:@file/svg+xml;base64,…"
}
Feld Beschreibung Pflichtfeld Typ Wert Standardwert
city Ausgabe in Standort-Box beim Inserat. string
description Ausgabe in Standort-Box beim Inserat. string Erlaubte HTML Tags: strong em br
email Aktuell ungenutzt. string Gültige E-Mail Adresse
phone Aktuell ungenutzt. string Gültige Telefonnummer
street Ausgabe in Standort-Box beim Inserat. string
title Ausgabe in Standort-Box beim Inserat. Ja string
zip Ausgabe in Standort-Box beim Inserat. string 4 Zeichen
logo Ausgabe in Standort-Box beim Inserat. string base64 fileUri, max. 2MB

Wenn nicht anders angegeben, erlauben alle string Felder die Verwendung alphanumerischer Zeichen und Sonderzeichen aber kein HTML.

Antwort

Im Erfolgsfall enthält die Antwort die ID des angelegten Standorts.

{
    "message": "success",
    "data": {
        "siteId": 1
    }
}

Im Fehlerfall enthält die Antwort eine Auflistung der problematischen Felder.

{
    "message": "error",
    "data": {
        "title": "mandatory",
        "email": "invalid",
        …
    }
}