Adressen
Zuletzt geändert: 18.07.2026 21:14

Ressource: addresses #

Kunden- und Interessenten-Adressen der EULANDA-Tabelle Adresse. Die Neuanlage läuft serverseitig über die EULANDA-Prozedur cn_AdNew und übernimmt damit die Vorlagen-Adresse .MUSTER (Anrede, Vorbelegungen, Merkmale), bevor die übergebenen Felder gesetzt werden.

Endpunkte #

MethodePfadScopeZweck
GET/api/v1/addressesaddresses:readListe mit Paging, Filtern, changedSince, categoryAnd/Or/Not
GET/api/v1/addresses/categoriesaddresses:readMerkmalbaum für den Merkmal-Filter, siehe Merkmale
GET/api/v1/addresses/{id}/categoriesaddresses:readMerkmale einer Adresse
GET/api/v1/addresses/{id}/service-articlesservice-articles:readGeräte des Kunden, siehe Serviceartikel
PUT/PATCH/api/v1/addresses/{id}/categoriesaddresses:writeMerkmal-Zuordnung ersetzen bzw. ändern
GET/api/v1/addresses/idsaddresses:readSchlüsselliste für den Lösch-Abgleich
GET/api/v1/addresses/{id}addresses:readEinzelne Adresse über die Id
GET/api/v1/addresses/by-match/{match}addresses:readEinzelne Adresse über den Matchcode
POST/api/v1/addressesaddresses:writeAdresse anlegen (cn_AdNew + Felder)
PATCH/api/v1/addresses/{id}addresses:writeFelder ändern (partiell)
DELETE/api/v1/addresses/{id}addresses:writeLöschen, nur wenn unbenutzt (cnf_AdCanDelete)

Belege werden nie über DELETE entfernt; bei Adressen ist DELETE erlaubt, solange keine Belege oder Bewegungsdaten auf die Adresse verweisen - sonst antwortet die API mit 409 ADDRESS_IN_USE. Die Vorlage .MUSTER ist geschützt (409 ADDRESS_TEMPLATE_PROTECTED).

Felder (Glossar Entwurf) #

API-FeldDB-SpalteTypSchreibbar
idIDintnein
uiduidguidnein
matchMatchstringja (wird über cnf_AdUniqueMatch eindeutig gemacht); nur Großbuchstaben, Ziffern und dateinamen-sichere Zeichen, Umlaute transliteriert (Ö -> OE) - als pattern/maxLength auch in openapi.json
nameName1stringja
name2 .. name4Name2 .. Name4stringja
streetStrassestringja
poBoxPostfachstringja
zipPLZstringja
cityOrtstringja
countryLandstringja (Format je nach Mandanten-Einstellung KFZ oder ISO)
stateProvinzstringja
phoneTelstringja
faxFaxstringja
mobileAutostringja
emailEMailstringja
websiteHomepagestringja
vatIdUstIdstringja
taxNumberSteuerNrstringja
glnILNstringja
salutationAnredestringja
groupAdresseGrstringja
languageSprachestringja
iban / bic / accountHolderBankIBAN / BankBIC / BankKontoinhaberstringja
peppolIdPeppolIdstringja
isCustomer / isSupplierDebitorFlg / KreditorFlgboolnein
createdAt / changedAtCreateDate / ChangeDatedatetimenein

Beispiele #

Liste mit Feld-Auswahl:

$h = @{ Authorization = "Bearer $key" }
Invoke-RestMethod 'http://localhost:8100/api/v1/addresses?limit=3&fields=id,match,city' -Headers $h
curl.exe -H "Authorization: Bearer %KEY%" "http://localhost:8100/api/v1/addresses?limit=3&fields=id,match,city"
{
  "items": [
    { "id": 2, "match": "EISENHANDLUNG", "city": "Wiesbaden" },
    { "id": 3, "match": "MUSTERMANN", "city": "Steinhausen" }
  ],
  "total": 9, "limit": 3, "offset": 0
}

Anlegen:

$headers = @{ Authorization = "Bearer $key" }
$body = @{
    name    = 'REST Testkunde GmbH'
    match   = 'REST-TEST'
    street  = 'Musterweg 1'
    zip     = '63741'
    city    = 'Aschaffenburg'
    country = 'DE'
    email   = 'test@example.com'
} | ConvertTo-Json

$created = Invoke-RestMethod -Uri 'http://localhost:8100/api/v1/addresses' `
    -Method Post -Headers $headers -ContentType 'application/json' -Body $body
$created.id   # neue Adress-Id
curl.exe -X POST -H "Authorization: Bearer %KEY%" -H "Content-Type: application/json" -d "{ \"name\": \"REST Testkunde GmbH\", \"match\": \"REST-TEST\", \"city\": \"Aschaffenburg\" }" "http://localhost:8100/api/v1/addresses"

Ändern:

$patch = @{ city = 'Mainz'; phone = '06131 123456' } | ConvertTo-Json
Invoke-RestMethod 'http://localhost:8100/api/v1/addresses/287' `
    -Method Patch -Headers $headers -ContentType 'application/json' -Body $patch
curl.exe -X PATCH -H "Authorization: Bearer %KEY%" -H "Content-Type: application/json" -d "{ \"city\": \"Mainz\", \"phone\": \"06131 123456\" }" "http://localhost:8100/api/v1/addresses/287"

Delta-Sync:

$delta = Invoke-RestMethod -Headers $headers -Uri `
    'http://localhost:8100/api/v1/addresses?changedSince=2026-07-18T06:00:00&fields=id,match,changedAt'
# danach: GET /api/v1/addresses/ids und lokal abgleichen, was entfernt wurde
curl.exe -H "Authorization: Bearer %KEY%" "http://localhost:8100/api/v1/addresses?changedSince=2026-07-18T06:00:00&fields=id,match,changedAt"
curl.exe -H "Authorization: Bearer %KEY%" "http://localhost:8100/api/v1/addresses/ids"

Fehlercodes dieser Ressource #

HTTPCodeBedeutung
404NOT_FOUNDKeine Adresse zum Schlüssel
409ADDRESS_IN_USELöschen abgelehnt, Adresse wird referenziert
409ADDRESS_TEMPLATE_PROTECTED.MUSTER darf nicht geändert oder gelöscht werden
422VALIDATION_FIELD_UNKNOWNUnbekanntes Feld im Body
422VALIDATION_FIELD_READONLYSchreibgeschütztes Feld im Body
422VALIDATION_NO_FIELDSBody ohne schreibbare Felder