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.
-
<% jobangebote.forEach(function(j){ %>
-
<%= j.status === 'offen' ? 'Offen' : (j.status === 'uebernommen' ? 'Übernommen' : (j.status === 'abgelehnt' ? 'Abgelehnt' : j.status)) %> <% if (j.quelle && j.quelle !== 'drittanbieter') { %> Quelle: <%= j.quelle %> <% } %> <% if (j.art) { %> <%= j.art %> <% } %>
<%= j.firma %>
<%= j.stelle %>
<% if (j.ort || j.gehalt) { %><% if (j.ort) { %><%= j.ort %><% } %> <% if (j.ort && j.gehalt) { %> · <% } %> <% if (j.gehalt) { %><%= j.gehalt %><% } %>
<% } %> <% if (j.beschreibung) { %><%= j.beschreibung %>
<% if (j.beschreibung.length > 400) { %> <% } %> <% } %> <% if (j.quelle_url) { %> <%= j.quelle_url %> <% } %><% if (j.anzeige_datum) { %> Anzeige: <%= new Date(j.anzeige_datum).toLocaleDateString('de-DE') %> <% } %> Einspielung: <%= j.created_at ? new Date(j.created_at + 'Z').toLocaleString('de-DE') : '' %> <% if (j.verknuepfte_bewerbung_id) { %> · Bewerbung #<%= j.verknuepfte_bewerbung_id %> <% } %>
<% if (j.verknuepfte_bewerbung_id) { %> Zur Bewerbung <% } 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"
// "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.