<%- include('partials/head') %> <%- include('partials/header') %>
Zurück zur Übersicht

Jobangebote

Hier landen Stellen, die von Drittanbietersoftware über die POST /api/v1/joboffers REST-Schnittstelle eingespielt werden. Ein Angebot lässt sich per Klick als Bewerbung-Entwurf übernehmen.

Blacklist <%= jobangebote.length %> Angebot(e)
<% if (jobangebote && jobangebote.length) { %> <% } else { %>

Noch keine Jobangebote vorhanden.

Drittanbietersoftware kann Angebote über POST /api/v1/joboffers einspielen.

<% } %>
Wie werden Jobangebote eingespielt?

Jedes Angebot hat zwei Datumswerte:

  • Anzeige (anzeige_datum) — wann die Stellenanzeige ursprünglich erschienen ist; wird vom Einsender im Request mitgegeben.
  • Einspielung (created_at) — wann das Angebot hier im Tracker über die REST-API angekommen ist; wird automatisch vom Server gesetzt, nicht im Request gesendet.

Angebot über die REST-API anlegen (API-Key im Header X-API-Key):

curl -X POST https://<host>/api/v1/joboffers \
  -H "X-API-Key: $API_TOKEN" -H "Content-Type: application/json" \
  -d '{
    "external_id": "job-12345",
    "quelle": "mein-crm",
    "firma": "Acme GmbH",
    "stelle": "Softwareentwickler (m/w/d)",
    "ort": "Berlin",
    "gehalt": "55.000 €",
    "beschreibung": "…",
    "quelle_url": "https://acme.example/job/12345",
    "art": "Online-Portal",
    "anzeige_datum": "2026-07-01",
    "kontakt_email": "bewerbung@acme.example"
    // "created_at" (Einspielung) NICHT mitsenden — wird vom Server automatisch gesetzt.
  }'

Wiederholtes Senden mit derselben quelle + external_id aktualisiert das Angebot (Upsert). Die Doku/Swagger-UI liegt unter /swagger.

<%- include('partials/footer') %>