Betriebsstätten
4 endpoints
Betriebsstätten einer Firma lesen, anlegen und ändern.
Jede Betriebsstätte trägt eigene Kontaktdaten, Kostenstelle und USt-IdNr. sowie eine eigene importExternalId für die Zuordnung zu Ihrem System. Die zugeordneten Einsatzorte hängen darunter und kommen beim Lesen der Firma bereits mit.
Betriebsstätte lesen
GET /customers/offices/{officeId}
Liest die Detaildaten einer Betriebsstätte anhand ihrer Id, einschließlich Adresse, Zuständigkeit, zugeordneter Ansprechpartner und Einsatzorte. Die Betriebsstätte wird direkt adressiert, die Firma muss nicht mit angegeben werden. Zum Ändern dient PUT /customers/{customerId}/offices/{officeId}, zum Anlegen POST /customers/{customerId}/offices.
Neu in V 3.4.0:
contacts[].assignedOfficeIdsist nie mehrnullund enthält alle Betriebsstätten-Zuordnungen des Ansprechpartners, nicht nur die der abgefragten Betriebsstätte. Damit liefert das Feld dasselbe wie anGET /customers/{id}undGET /customers/contacts/{contactId}. Bisher war die Liste an diesem Endpunkt immernull.contacts[].linkedInUrlundcontacts[].xingUrlwerden vollständig mit Host geliefert (https://www.linkedin.com/…,https://www.xing.com/…), ohne Wertnull. Bisher stand hier nur der gespeicherte Profilpfad.- Die Einsatzorte in
locations[]führenimportExternalIdundimportedAtUtc. - 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 |
|---|---|---|---|---|
officeId |
path | integer | yes | Identifikation der Niederlassung |
Responses
200 — OK
| Property | Type | Required | Description |
|---|---|---|---|
customerId |
integer (int32) | no | Identifikation des Kunden |
customerName |
string | null | no |
contacts |
ContactReadDto[] | no | Liste der Ansprechpartner |
id |
integer (int32) | no | Eindeutige Identifikation der Niederlassung |
companyTypeId |
CompanyType | no | Kennung des Firmentyps |
companyType |
string | null | no |
description |
string | null | no |
email |
string | null | no |
telephone |
string | null | no |
telefax |
string | null | no |
costCenter |
string | null | no |
vatId |
string | null | no |
importExternalId |
string | null | no |
importedAtUtc |
string (date-time) | null | no |
locations |
LocationReadDto[] | no | Liste der Standorte |
address |
AddressReadDto | no | Adresse der Niederlassung |
responsibility |
ResponsibilityReadDto | no | Zuständigkeit der Niederlassung |
404 — Betriebsstätte nicht gefunden
| Property | Type | Required | Description |
|---|---|---|---|
messageGuid |
string (uuid) | null | no |
message |
string | null | no |
validationErrors |
ValidationError[] | no | Liste der Validierungsfehler |
Betriebsstätte anlegen
POST /customers/{customerId}/offices
Mit diesem Endpunkt kann man eine Betriebsstätte anlegen.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
customerId |
path | integer | yes | Identifikation des Kunden |
Request body
Content type: application/json
| Property | Type | Required | Description |
|---|---|---|---|
createdAtUtc |
string (date-time) | null | no |
addressLine1 |
string | null | no |
addressLine2 |
string | null | no |
email |
string | null | no |
telephone |
string | null | no |
phoneNumberForCommunication |
string | null | no |
telefax |
string | null | no |
vatId |
string | null | no |
costCenter |
string | null | no |
description |
string | null | no |
companyTypeId |
integer (int32) | null | no |
importExternalId |
string | null | no |
location |
AddressCreateDto | no | Adresse der Betriebsstätte. Die Adresszeilen gehören beim Anlegen auf die oberste Ebene. |
responsibility |
ResponsibilityCreateDto | no | Zuständigkeit der Betriebsstätte |
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 |
Betriebsstätte ändern
PUT /customers/{customerId}/offices/{officeId}
Ändert die Daten einer Betriebsstätte einer Firma: Adresse, Kontaktdaten, Firmentyp, Kostenstelle, USt-IdNr. und Zuständigkeit. 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). Angelegt wird eine Betriebsstätte über POST /customers/{customerId}/offices, gelesen über GET /customers/offices/{officeId}.
Eine Adressänderung berechnet die Koordinaten neu; geoLat/geoLon sind nicht schreibbar.
Neu in V 3.4.0:
responsibility(userId,officeId) wird ausgewertet und geändert; eine unbekannte Id ergibt 400. Bisher wurde das Objekt stillschweigend verworfen.- Schlägt die Geokodierung fehl, bleiben vorhandene Koordinaten erhalten, statt auf
nullzurückzufallen. - Länderwechsel: Wird
location.countryIdauf ein anderes Land geändert undlocation.federalStateIdnicht mitgeschickt, leert die API das gespeicherte Bundesland, so wie talent.Flow beim Länderwechsel. Bisher wurde der Aufruf mit 400 abgelehnt. Ein mitgeschicktesfederalStateIdmuss zum neuen Land gehören, sonst 400NotMatchCountryaufFederalStateId. BleibtcountryIdunverändert, bleibt auch das Bundesland stehen. addressLine1undaddressLine2werden sowohl auf oberster Ebene als auch inlocationakzeptiert. Kommt der Wert in beiden, gewinnt der auslocation. Bisher gingen die Adresszeilen auf oberster Ebene beim Ändern verloren.- Enthält
location.streetStraße und Hausnummer und fehltstreetNumber, zerlegt die API den Wert selbst: Das letzte Wort wird zur Hausnummer, wenn es mit einer Ziffer beginnt. createdAtUtcwird auch beim Ändern übernommen, gedacht für Importe, die das Erstelldatum des Quellsystems nachtragen. Der Änderungszeitpunkt bleibt der Zeitpunkt des Aufrufs.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
customerId |
path | integer | yes | Identifikation des Kunden |
officeId |
path | integer | yes | Identifikation der Niederlassung |
Request body
Required.
Zu ändernde Daten der Betriebsstätte. Nur die übermittelten Felder werden geändert.
Content type: application/json
| Property | Type | Required | Description |
|---|---|---|---|
createdAtUtc |
string (date-time) | null | no |
addressLine1 |
string | null | no |
addressLine2 |
string | null | no |
email |
string | null | no |
telephone |
string | null | no |
phoneNumberForCommunication |
string | null | no |
telefax |
string | null | no |
vatId |
string | null | no |
costCenter |
string | null | no |
description |
string | null | no |
companyTypeId |
integer (int32) | null | no |
importExternalId |
string | null | no |
location |
AddressChangeDto | no | Adresse der Betriebsstätte, inklusive addressLine1 und addressLine2. Eine Adressänderung berechnet die Koordinaten neu; geoLat und geoLon sind nicht schreibbar. |
responsibility |
ResponsibilityCreateDto | no | Zuständigkeit der Betriebsstätte. Neu in V 3.4.0: Wird beim Ändern ausgewertet; bisher still verworfen. |
Responses
204 — Betriebsstätte 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 oder Betriebsstätte nicht gefunden
| Property | Type | Required | Description |
|---|---|---|---|
messageGuid |
string (uuid) | null | no |
message |
string | null | no |
validationErrors |
ValidationError[] | no | Liste der Validierungsfehler |
Betriebsstätte löschen
DELETE /customers/{customerId}/offices/{officeId}
Neu in V 3.4.0: Löscht eine Betriebsstätte 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 Betriebsstätte wird deaktiviert und erscheint nicht mehr in GET /customers/{id}; GET /customers/offices/{officeId} liefert anschließend 404. Einsatzorte, Ansprechpartner-Zuordnungen und Anfragen dieser Betriebsstätte bleiben unverändert bestehen. Wer sie ebenfalls entfernen will, löscht sie vorher über die jeweiligen Endpunkte. In der Firmenhistorie entsteht eine Aktivität „Betriebsstätte … gelöscht".
Eine Betriebsstätte, 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 |
officeId |
path | integer | yes | Identifikation der Betriebsstätte |
Responses
204 — Betriebsstätte 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 Betriebsstätte nicht gefunden — auch dann, wenn die Betriebsstätte 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 |
