Einsatzorte
4 endpoints
Einsatzorte lesen und anlegen.
Ein Einsatzort hängt immer an einer Betriebsstätte. Die Reihenfolge beim Anlegen ist damit vorgegeben: erst Firma, dann Betriebsstätte, dann Einsatzort.
Einen Änderungsendpunkt gibt es nicht — eine Korrektur bedeutet in der Praxis, einen neuen Einsatzort anzulegen und den alten fachlich außer Betrieb zu nehmen.
Einsatzort ändern
PUT /customers/{customerId}/offices/{officeId}/locations/{locationId}
Neu in V 3.4.0: Ändert die Daten eines Einsatzortes: Bezeichnung, Anfahrtshinweise, Ansprechpartner, externe Id und Adresse. Es werden ausschließlich die im Request-Body übermittelten Felder geändert; nicht übermittelte Felder bleiben unverändert (einzige Ausnahme: das Bundesland beim Länderwechsel, siehe unten).
Das Umhängen auf eine andere Betriebsstätte ist nicht möglich: Die Betriebsstätte kommt aus der Route, ein officeId im Body wird nicht ausgewertet. Diese Einschränkung gilt systemweit, auch talent.Flow kann einen Einsatzort nicht umhängen.
Gehört der Einsatzort zu einer anderen Betriebsstätte oder die Betriebsstätte zu einer anderen Firma, antwortet der Endpunkt mit 404.
Eine Adressänderung berechnet die Koordinaten neu; geoLat/geoLon sind nicht schreibbar. Schlägt die Geokodierung fehl, bleiben vorhandene Koordinaten erhalten.
Länderwechsel: Wird location.countryId auf ein anderes Land geändert und location.federalStateId nicht mitgeschickt, leert die API das gespeicherte Bundesland, so wie talent.Flow beim Länderwechsel. Ein mitgeschicktes federalStateId gilt unverändert. Bleibt countryId unverändert, bleibt auch das Bundesland stehen.
Enthält location.street Straße und Hausnummer und fehlt streetNumber, zerlegt die API den Wert selbst: Das letzte Wort wird zur Hausnummer, wenn es mit einer Ziffer beginnt.
createdAtUtc wird beim Ändern übernommen, gedacht für Importe, die das Erstelldatum des Quellsystems nachtragen. Der Änderungszeitpunkt bleibt der Zeitpunkt des Aufrufs.
Angelegt wird ein Einsatzort über POST /customers/{customerId}/offices/{officeId}/locations, gelesen über GET /customers/locations/{locationId}.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
customerId |
path | integer | yes | Identifikation des Kunden |
locationId |
path | integer | yes | Identifikation des Einsatzortes |
officeId |
path | integer | yes | Identifikation der Betriebsstätte, zu der der Einsatzort gehört |
Request body
Required.
Zu ändernde Daten des Einsatzortes. Nur die übermittelten Felder werden geändert.
Content type: application/json
| Property | Type | Required | Description |
|---|---|---|---|
description |
string | null | no |
directions |
string | null | no |
contactId |
integer (int32) | null | no |
importExternalId |
string | null | no |
createdAtUtc |
string (date-time) | null | no |
location |
AddressCreateDto | no | Adresse des Einsatzortes. Eine Adressänderung berechnet die Koordinaten neu; geoLat und geoLon sind nicht schreibbar. Adresszeilen führt der Einsatzort nicht. |
Responses
204 — Einsatzort geändert — 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, Betriebsstätte oder Einsatzort nicht gefunden — auch dann, wenn der Einsatzort zu einer anderen Betriebsstätte gehört.
| Property | Type | Required | Description |
|---|---|---|---|
messageGuid |
string (uuid) | null | no |
message |
string | null | no |
validationErrors |
ValidationError[] | no | Liste der Validierungsfehler |
Einsatzort lesen
GET /customers/locations/{locationId}
Liest die Detaildaten eines Einsatzorts anhand seiner Id, einschließlich Adresse, Anfahrtshinweisen sowie der zugehörigen Firma und Betriebsstätte. Der Einsatzort wird direkt adressiert, Firma und Betriebsstätte müssen nicht mit angegeben werden. Angelegt wird ein Einsatzort über POST /customers/{customerId}/offices/{officeId}/locations, geändert über PUT /customers/{customerId}/offices/{officeId}/locations/{locationId}; die Einsatzorte einer Betriebsstätte stehen außerdem in der Liste locations an GET /customers/offices/{officeId}.
Neu in V 3.4.0:
importExternalIdundimportedAtUtcwerden ausgegeben. Bisher waren beide Felder an Einsatzorten immernull, obwohl der Wert beim Anlegen gespeichert wurde.- Eine unbekannte oder gelöschte Id liefert 404 mit
ErrorResponse. Bisher antwortete der Endpunkt in diesem Fall mit 204 ohne Inhalt.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
locationId |
path | integer | yes | Identifikation des Standorts |
Responses
200 — OK
| Property | Type | Required | Description |
|---|---|---|---|
customerId |
integer (int32) | no | Identifikation des Kunden |
customerName |
string | null | no |
officeId |
integer (int32) | no | Identifikation der Niederlassung |
officeDescription |
string | null | no |
id |
integer (int32) | no | Eindeutige Identifikation des Standorts |
description |
string | null | no |
contactId |
integer (int32) | null | no |
importedAtUtc |
string (date-time) | null | no |
importExternalId |
string | null | no |
address |
AddressReadDto | no | Adresse des Standorts |
directions |
string | null | no |
404 — Einsatzort nicht gefunden
| Property | Type | Required | Description |
|---|---|---|---|
messageGuid |
string (uuid) | null | no |
message |
string | null | no |
validationErrors |
ValidationError[] | no | Liste der Validierungsfehler |
Einsatzort anlegen
POST /customers/{customerId}/offices/{officeId}/locations
Mit diesem Endpunkt kann man einen Einsatzort anlegen.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
customerId |
path | integer | yes | Identifikation des Kunden |
officeId |
path | integer | yes | Identifikation der Niederlassung |
Request body
Content type: application/json
| Property | Type | Required | Description |
|---|---|---|---|
createdAtUtc |
string (date-time) | null | no |
description |
string | null | no |
directions |
string | null | no |
contactId |
integer (int32) | null | no |
importExternalId |
string | null | no |
location |
AddressCreateDto | no | Adresse des Standorts |
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 |
Einsatzort löschen
DELETE /customers/{customerId}/offices/{officeId}/locations/{locationId}
Neu in V 3.4.0: Löscht einen Einsatzort der Betriebsstätte, etwa um Löschungen aus einem Fremdsystem zu spiegeln oder Testdaten zu entfernen.
Gelöscht wird als Soft-Delete, genau wie in talent.Flow: Der Einsatzort wird deaktiviert; GET /customers/locations/{locationId} liefert anschließend 404. Berufe des Einsatzorts und Anfragen, die auf ihn verweisen, bleiben unverändert bestehen. In der Firmenhistorie entsteht eine Aktivität „Einsatzort … gelöscht".
Die ganze Kette muss stimmen: Die Betriebsstätte gehört zur Firma und der Einsatzort zur Betriebsstätte, sonst 404. Ein bereits gelöschter Einsatzort ergibt ebenfalls 404.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
customerId |
path | integer | yes | Identifikation des Kunden |
locationId |
path | integer | yes | Identifikation des Einsatzorts |
officeId |
path | integer | yes | Identifikation der Betriebsstätte |
Responses
204 — Einsatzort 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, Betriebsstätte oder Einsatzort nicht gefunden — auch dann, wenn die Kette Firma → Betriebsstätte → Einsatzort nicht stimmt oder der Einsatzort bereits gelöscht ist.
| Property | Type | Required | Description |
|---|---|---|---|
messageGuid |
string (uuid) | null | no |
message |
string | null | no |
validationErrors |
ValidationError[] | no | Liste der Validierungsfehler |
