Liebe Datev community,
ich benötige ein wenig Hilfe, um per connect Schnittstelle die Adresse eines Adressaten zu aktualisieren.
Ich möchte z.B. lediglich die Strasse eines Adressaten ändern.
Die einzelnen Adressen erhalte ich ohne Probleme, einen neuen Adressaten kann ich ebenfalls anlegen.
Leider ist es mir jedoch nicht möglich ein Childelement zu ändern:
Mit
.../datev/api/master-data/v1/addressees/" & id
Ist es möglich die JSON Elemente erster Ebene zu aktualisieren.
Ein Änderung eines Kindelements ist entgegen der Anleitung auf diese Art nicht möglich
Weder durch
/datev/api/master-data/v1/addressees/" & id & "/addresses/" & addresses_id
noch durch
/datev/api/master-data/v1/addressees/" & id & "?expand=addresses/" & addresses_id
Anleitung:
1. Ebene
master-data/v1/parent-resource/{parent-resource-id} funktioniert
2. Ebene
master-data/v1/parent-resource/{parent-resource-id}/child-resource/{child-resource-id}
als body z.B.:
{
"type":"street",
"currently_valid":true,
"city":"Augsburg",
"country_code":"DE",
"postal_code":"86150",
"street":"Traumstrasse 1",
"id":"789792f5-6ca0-42cb-b369-....."
}
Vielen lieben Dank
RMartin
Gelöst! Gehe zu Lösung.
Als unangenehme Zwischenlösung:
man muss das gesamte JSON Objekt (den kompletten addressee) mit allen Childelementen senden, auch wenn man nur einen Wert ändern möchte.
1. das komplette JSON Objekt bekommen "GET"
api/master-data/v1/addressees/" & id '& "?expand=addresses"
in diesem Objekt das gewünschte Element ändern
und
2. das komplette geänderte JSON Objekt senden "PUT"
api/master-data/v1/addressees/" & id '& "?expand=addresses"
payload: kompletter addressee
Meines Erachtens sehr umständlich, jedoch funktioniert es.
Über einen einfacheren Weg würde ich mich sehr freuen.
Liebe Grüße
RMartin