Anfragendetails
7 endpoints
Anfragen anlegen, lesen und im Status weiterschalten.
Jede Anfrageart hat einen eigenen Anlage-Endpunkt mit eigenem Datenmodell: Arbeitnehmerüberlassung, Direktvermittlung und Dienstleistungsvertrag. Der Statuswechsel ist für alle drei derselbe Endpunkt.
Anfragen per Id
GET /requests/{id}
Liest die Detaildaten einer Anfrage anhand ihrer Id, unabhängig von der Vermittlungsart. Die Anfrage wird direkt adressiert, die Firma muss nicht mit angegeben werden. Angelegt wird eine Anfrage über die drei Endpunkte unter POST /customers/{customerId}/requests/…, umgehängt über PUT /customers/{customerId}/requests/{requestId}, der Status geändert über PUT /customers/{customerId}/requests/{requestId}/status. Eine unbekannte oder gelöschte Id liefert 404.
Neu in V 3.4.0:
labourLeasingDurationUnitliefert den Anzeigetext zulabourLeasingDurationUnitId(z. B. „Monat"), analog zuworkingHoursUnitundserviceContractDurationUnit. Bisher war das Feld immernull.keywordsundqualificationssind unmittelbar nach dem Anlegen der Anfrage gefüllt, auch für Begriffe, die im System noch nicht als Schlagwort existierten. Bisher blieben beide Listen in diesem Fall dauerhaft leer.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
id |
path | integer | yes | Identifikation der Anfrage |
Responses
200 — OK — die Anfrage wird direkt als Objekt zurückgegeben, nicht in einer Antworthülle.
| Property | Type | Required | Description |
|---|---|---|---|
id |
integer (int32) | no | Eindeutige Identifikation der Anfrage |
jobTitle |
string | null | no |
customer |
string | null | no |
customerId |
integer (int32) | no | Identifikation des Kunden |
office |
string | null | no |
officeId |
integer (int32) | null | no |
contactId |
integer (int32) | null | no |
contactFullName |
string | null | no |
location |
string | null | no |
locationId |
integer (int32) | null | no |
workingTitleId |
integer (int32) | null | no |
workingTitle |
string | null | no |
responsibleAccountUserId |
integer (int32) | no | Identifikation des zuständigen Benutzers |
responsibleAccountOfficeId |
integer (int32) | no | Identifikation der zuständigen Niederlassung |
responsibleAccountUserEmail |
string | null | no |
amount |
integer (int32) | null | no |
earliestStartOfActivityUtc |
string (date-time) | null | no |
labourLeasingDuration |
integer (int32) | null | no |
labourLeasingDurationUnitId |
integer (int32) | null | no |
workingHours |
number (double) | null | no |
workingHoursUnitId |
integer (int32) | null | no |
workingHoursFrom |
integer (int32) | null | no |
workingHoursTo |
integer (int32) | null | no |
jobDescription |
string | null | no |
contractDurationId |
integer (int32) | null | no |
contractLimitedFor |
integer (int32) | null | no |
contractLimitedForPeriodId |
integer (int32) | null | no |
contractLimitedForPeriod |
string | null | no |
contractLimitedUntilUtc |
string (date-time) | null | no |
recruitmentWorkspace |
string | null | no |
hasWillingnessToStandby |
boolean | null | no |
hasWillingnessToTravel |
boolean | null | no |
wageCurrencyId |
integer (int32) | null | no |
wageCurrency |
string | null | no |
wagePeriodId |
integer (int32) | null | no |
wageRangeEnd |
number (double) | null | no |
wageRangeStart |
number (double) | null | no |
wageTypeId |
integer (int32) | null | no |
bonus |
number (double) | null | no |
bonusTypeId |
integer (int32) | null | no |
bonusType |
string | null | no |
isCompanyCarProvided |
boolean | null | no |
companyCarBudget |
number (double) | null | no |
additionalBenefits |
string | null | no |
notes |
string | null | no |
matchingFilterId |
integer (int32) | null | no |
requestedAtUtc |
string (date-time) | no | Zeitpunkt der Anfrage (UTC) |
workingTimeModelId |
integer (int32) | null | no |
workingTimeModel |
string | null | no |
workPlaceId |
integer (int32) | null | no |
workPlace |
string | null | no |
hasEmployeeLeasingExperience |
boolean | null | no |
shifts |
ShiftsDto[] | no | Liste der Schichten |
driversLicenses |
EnumValueDto[] | no | Liste der Führerscheine |
qualifications |
string[] | no | Liste der Qualifikationen |
keywords |
string[] | no | Liste der Schlüsselwörter |
suggestedCandidates |
SuggestedCandidateDto[] | no | Liste der vorgeschlagenen Bewerber |
placementTypeId |
PlacementTypeCode | no | Art der Vermittlung (Id) |
labourLeasingDurationUnit |
string | null | no |
workingHoursUnit |
string | null | no |
contractDuration |
string | null | no |
wagePeriod |
string | null | no |
placementType |
string | null | no |
candidateProfileTemplateConfigurationId |
integer (int32) | null | no |
serviceContractWageCurrencyId |
integer (int32) | null | no |
serviceContractWageCurrency |
string | null | no |
serviceContractWorkLocationId |
WorkLocation | null | no |
serviceContractWorkLocation |
string | null | no |
serviceContractHourlyWageRemote |
number (double) | null | no |
serviceContractHourlyWageOnSite |
number (double) | null | no |
serviceContractDuration |
integer (int32) | null | no |
serviceContractDurationUnitId |
integer (int32) | null | no |
serviceContractDurationUnit |
string | null | no |
customerReference |
string | null | no |
proposalDeadlineUtc |
string (date-time) | null | no |
processStatusReason |
string | null | no |
homeOfficePortionInPercent |
number (double) | null | no |
fieldServicePortionInPercent |
number (double) | null | no |
processStatusId |
RequestProcessStatus | no | Prozessstatus der Anfrage (Id) |
contractSignedAtUtc |
string (date-time) | null | no |
name |
string | null | no |
404 — Anfrage nicht gefunden
| Property | Type | Required | Description |
|---|---|---|---|
messageGuid |
string (uuid) | null | no |
message |
string | null | no |
validationErrors |
ValidationError[] | no | Liste der Validierungsfehler |
Anfrage für AÜV anlegen
POST /customers/{customerId}/requests/employeeleasing
Mit diesem Endpunkt kann man eine Anfrage für die Arbeitnehmerüberlassung anlegen.
Neu in V 3.4.0:
- Die Zuordnungen
shiftIds,driversLicenseIds,qualificationsundkeywordswerden zusammen mit der Anfrage angelegt. Schlägt einer dieser Schritte fehl, wird die Anfrage nicht angelegt und der Aufruf antwortet mit dem Fehler. Bisher wurden solche Fehler verworfen und die Anfrage ohne die betroffenen Zuordnungen mit200gespeichert. - Jede Schicht-Id muss ein Wert aus
/masterdata/shiftssein, jede Führerschein-Id ein Wert aus/masterdata/driverslicenses. Eine unbekannte Id, eine Id aus einer anderen Gruppe oder eine Id kleiner als 1 liefert400mit dem ValidierungsfehlerNotExistingaufShiftIdsbzw.DriversLicenseIds. Bisher lief eine unbekannte Id in500 CREATEDATAERRORund hinterließ eine Anfrage ohne Zuordnungen.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
customerId |
path | integer | yes | Identifikation des Kunden |
Request body
Content type: application/json
| Property | Type | Required | Description |
|---|---|---|---|
request |
RequestCreateEmployeeLeasingRequestDto | no | Details der Anfrage zur Arbeitnehmerüberlassung |
responsibility |
ResponsibilityCreateDto | no | Zuständigkeit für die Anfrage |
customer |
RequestCreateCustomerDto | no | Kundendaten der Anfrage |
candidateProfileTemplateConfigurationId |
integer (int32) | null | no |
Responses
200 — OK
| Property | Type | Required | Description |
|---|---|---|---|
id |
integer (int32) | no | Eindeutige Identifikation des erzeugten Datensatzes |
400 — Ungültige Anfrage oder Validierungsfehler
| Property | Type | Required | Description |
|---|---|---|---|
messageGuid |
string (uuid) | null | no |
message |
string | null | no |
validationErrors |
ValidationError[] | no | Liste der Validierungsfehler |
404 — Firma nicht gefunden
| Property | Type | Required | Description |
|---|---|---|---|
messageGuid |
string (uuid) | null | no |
message |
string | null | no |
validationErrors |
ValidationError[] | no | Liste der Validierungsfehler |
Anfrage für Direktvermittlung anlegen
POST /customers/{customerId}/requests/directtransmission
Mit diesem Endpunkt kann man eine Anfrage für eine Direktvermittlung anlegen.
Neu in V 3.4.0:
- Die Zuordnungen
shiftIds,driversLicenseIds,qualificationsundkeywordswerden zusammen mit der Anfrage angelegt. Schlägt einer dieser Schritte fehl, wird die Anfrage nicht angelegt und der Aufruf antwortet mit dem Fehler. Bisher wurden solche Fehler verworfen und die Anfrage ohne die betroffenen Zuordnungen mit200gespeichert. - Jede Schicht-Id muss ein Wert aus
/masterdata/shiftssein, jede Führerschein-Id ein Wert aus/masterdata/driverslicenses. Eine unbekannte Id, eine Id aus einer anderen Gruppe oder eine Id kleiner als 1 liefert400mit dem ValidierungsfehlerNotExistingaufShiftIdsbzw.DriversLicenseIds. Bisher lief eine unbekannte Id in500 CREATEDATAERRORund hinterließ eine Anfrage ohne Zuordnungen.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
customerId |
path | integer | yes | Identifikation des Kunden |
Request body
Content type: application/json
| Property | Type | Required | Description |
|---|---|---|---|
request |
RequestCreateDirectTransmissionRequestDto | no | Details der Anfrage |
responsibility |
ResponsibilityCreateDto | no | Zuständigkeit für die Anfrage |
customer |
RequestCreateCustomerDto | no | Angaben zum Kunden |
candidateProfileTemplateConfigurationId |
integer (int32) | null | no |
Responses
200 — OK
| Property | Type | Required | Description |
|---|---|---|---|
id |
integer (int32) | no | Eindeutige Identifikation des erzeugten Datensatzes |
400 — Ungültige Anfrage oder Validierungsfehler
| Property | Type | Required | Description |
|---|---|---|---|
messageGuid |
string (uuid) | null | no |
message |
string | null | no |
validationErrors |
ValidationError[] | no | Liste der Validierungsfehler |
404 — Firma nicht gefunden
| Property | Type | Required | Description |
|---|---|---|---|
messageGuid |
string (uuid) | null | no |
message |
string | null | no |
validationErrors |
ValidationError[] | no | Liste der Validierungsfehler |
Anfrage für Dienstleistungsvertrag anlegen
POST /customers/{customerId}/requests/servicecontract
Mit diesem Endpunkt kann man eine Anfrage für einen Dienstleistungsvertrag anlegen.
Neu in V 3.4.0:
- Die Zuordnungen
shiftIds,driversLicenseIds,qualificationsundkeywordswerden zusammen mit der Anfrage angelegt. Schlägt einer dieser Schritte fehl, wird die Anfrage nicht angelegt und der Aufruf antwortet mit dem Fehler. Bisher wurden solche Fehler verworfen und die Anfrage ohne die betroffenen Zuordnungen mit200gespeichert. - Jede Schicht-Id muss ein Wert aus
/masterdata/shiftssein, jede Führerschein-Id ein Wert aus/masterdata/driverslicenses. Eine unbekannte Id, eine Id aus einer anderen Gruppe oder eine Id kleiner als 1 liefert400mit dem ValidierungsfehlerNotExistingaufShiftIdsbzw.DriversLicenseIds. Bisher lief eine unbekannte Id in500 CREATEDATAERRORund hinterließ eine Anfrage ohne Zuordnungen. - Die Vertrags- und Konditionsfelder in
requestwerden gespeichert und validiert:contractDurationId(/masterdata/contractdurations),contractLimitedUntilUtc,contractLimitedFor,contractLimitedForPeriodId,workingTimeModelId,workPlaceId(/masterdata/workplaces),primaryLanguageId,primaryLanguageLevelId,secondaryLanguageId,secondaryLanguageLevelId,companyCarBudgetundadditionalBenefits. Eine unbekannte Stammdaten-Id liefert400mit einem Validierungsfehler auf dem jeweiligen Feld. Bisher wurden diese zwölf Felder still verworfen und blieben inGET /requests/{id}leer.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
customerId |
path | integer | yes | Identifikation des Kunden |
Request body
Content type: application/json
| Property | Type | Required | Description |
|---|---|---|---|
request |
RequestCreateServiceContractRequestDto | no | Details der Werkvertrags-Anfrage |
responsibility |
ResponsibilityCreateDto | no | Zuständigkeit für die Anfrage |
customer |
RequestCreateCustomerDto | no | Kunde der Anfrage |
candidateProfileTemplateConfigurationId |
integer (int32) | null | no |
Responses
200 — OK
| Property | Type | Required | Description |
|---|---|---|---|
id |
integer (int32) | no | Eindeutige Identifikation des erzeugten Datensatzes |
400 — Ungültige Anfrage oder Validierungsfehler
| Property | Type | Required | Description |
|---|---|---|---|
messageGuid |
string (uuid) | null | no |
message |
string | null | no |
validationErrors |
ValidationError[] | no | Liste der Validierungsfehler |
404 — Firma nicht gefunden
| Property | Type | Required | Description |
|---|---|---|---|
messageGuid |
string (uuid) | null | no |
message |
string | null | no |
validationErrors |
ValidationError[] | no | Liste der Validierungsfehler |
Anfragestatus ändern
PUT /customers/{customerId}/requests/{requestId}/status
Über diesen Endpunkt kann man den Anfragestatus ändern.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
customerId |
path | integer | yes | Identifikation des Kunden |
requestId |
path | integer | yes | Identifikation der Anfrage |
Request body
Content type: application/json
| Property | Type | Required | Description |
|---|---|---|---|
processStatusId |
RequestProcessStatus | no | Neuer Bearbeitungsstatus der Anfrage |
Responses
200 — OK
| Property | Type | Required | Description |
|---|---|---|---|
success |
boolean | no | Gibt an, ob die Operation erfolgreich war |
400 — Ungültige Anfrage oder Validierungsfehler. Fachliche Prüfungen antworten als ErrorResponse; scheitert dagegen schon das Binden des Requests (z.B. unbekannter Wert für processStatusId), liefert das Framework ValidationProblemDetails mit Content-Type application/problem+json.
404 — Firma oder Anfrage nicht gefunden
| Property | Type | Required | Description |
|---|---|---|---|
messageGuid |
string (uuid) | null | no |
message |
string | null | no |
validationErrors |
ValidationError[] | no | Liste der Validierungsfehler |
Anfrage umhängen (Betriebsstätte, Einsatzort, Ansprechpartner)
PUT /customers/{customerId}/requests/{requestId}
Neu in V 3.4.0: Ändert die drei Beziehungsfelder einer Anfrage: Betriebsstätte, Einsatzort und Ansprechpartner. Der fachliche Inhalt der Anfrage (Tätigkeit, Menge, Vergütung, Listen) und ihr Status sind über diesen Endpunkt nicht änderbar; der Status läuft weiterhin über PUT /customers/{customerId}/requests/{requestId}/status.
Teilweise Angaben werden gegen den Bestand validiert. Nicht mitgeschickte Werte werden aus der Anfrage übernommen, und geprüft wird immer die resultierende Kombination mit derselben Konsistenzkette wie beim Anlegen:
- der Ansprechpartner gehört zum Kunden,
- die Betriebsstätte gehört zum Kunden,
- der Einsatzort gehört zur Betriebsstätte,
- der Ansprechpartner ist der Betriebsstätte zugeordnet.
Wer nur officeId schickt, bekommt 400, wenn der bestehende Einsatzort nicht zur neuen Betriebsstätte gehört. Beim Umhängen deshalb alle drei Ids gemeinsam schicken.
Gehört die Anfrage zu einer anderen Firma oder existiert sie nicht, antwortet der Endpunkt mit 404.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
customerId |
path | integer | yes | Identifikation des Kunden |
requestId |
path | integer | yes | Identifikation der Anfrage |
Request body
Required.
Die neuen Beziehungsfelder der Anfrage. Nicht mitgeschickte Werte werden aus der Anfrage übernommen.
Content type: application/json
| Property | Type | Required | Description |
|---|---|---|---|
officeId |
integer (int32) | null | no |
locationId |
integer (int32) | null | no |
contactId |
integer (int32) | null | no |
Responses
204 — Anfrage geändert — die API antwortet ohne Inhalt.
400 — Ungültige Anfrage oder Validierungsfehler — insbesondere eine inkonsistente Kombination aus Betriebsstätte, Einsatzort und Ansprechpartner. Die Validierungsfehler sind dieselben wie beim Anlegen der Anfrage.
| Property | Type | Required | Description |
|---|---|---|---|
messageGuid |
string (uuid) | null | no |
message |
string | null | no |
validationErrors |
ValidationError[] | no | Liste der Validierungsfehler |
404 — Firma oder Anfrage nicht gefunden — auch dann, wenn die Anfrage zu einer anderen Firma gehört.
| Property | Type | Required | Description |
|---|---|---|---|
messageGuid |
string (uuid) | null | no |
message |
string | null | no |
validationErrors |
ValidationError[] | no | Liste der Validierungsfehler |
Anfrage löschen
DELETE /customers/{customerId}/requests/{requestId}
Neu in V 3.4.0: Löscht eine Anfrage der Firma, etwa um Löschungen aus einem Fremdsystem zu spiegeln oder Testdaten zu entfernen.
Gelöscht wird als Soft-Delete, genau wie in talent.Flow: Die Anfrage wird deaktiviert und liefert unter GET /requests/{id} anschließend 404. Bewerbervorstellungen, Schlagwörter, Schichten und Führerscheine der Anfrage bleiben als Historie erhalten. Wer eine Anfrage fachlich beenden statt löschen will, nutzt weiterhin PUT /customers/{customerId}/requests/{requestId}/status.
Eine Anfrage, die nicht zu dieser Firma gehört oder bereits gelöscht ist, ergibt 404.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
customerId |
path | integer | yes | Identifikation des Kunden |
requestId |
path | integer | yes | Identifikation der Anfrage |
Responses
204 — Anfrage gelöscht — die API antwortet ohne Inhalt.
400 — Ungültige Anfrage oder Validierungsfehler
| Property | Type | Required | Description |
|---|---|---|---|
messageGuid |
string (uuid) | null | no |
message |
string | null | no |
validationErrors |
ValidationError[] | no | Liste der Validierungsfehler |
404 — Firma oder Anfrage nicht gefunden — auch dann, wenn die Anfrage nicht zu dieser Firma gehört oder bereits gelöscht ist.
| Property | Type | Required | Description |
|---|---|---|---|
messageGuid |
string (uuid) | null | no |
message |
string | null | no |
validationErrors |
ValidationError[] | no | Liste der Validierungsfehler |
