Die Verwaltung von Lieferanschriften zu einem Account wird im dStore über den allgemeinen Mechanismus von Relationships gelöst.
Als erstes wird eine Person des PersonenTyps „Lieferanschrift“ angelegt:
curl -X POST 'http://dbap-demo.dstore.de/default/engine/pm_InsertNewPerson_Pu?UniqueID=<gültige UniqueID>&PersonTypeID=2&CharacteristicIDList1=143¶144¶145¶146¶141¶147¶148¶15&ValueList1=<eindeutiger Schlüssel>¶Timo¶Tester¶Teststr.¶34¶48155¶Münster¶Deutschland&UpdateVisitorPersons=0&CancelOnError=1&PersonCharacCategoryID=&ValueIDsForPredefinedCharacs=0'
Nun kann zwischen dem Account und der eben angelegten Lieferanschrift eine Relation hergestellt werden:
curl -X POST 'http://dbap-demo.dstore.de/default/engine/pm_FormARelationship_Pu?PersonIdentificationValues=peter.meyer@kaputt.de¶Mond&PersonTypeID=1&RelatedPersonID=<PersonID der Lieferanschrift>&RelationshipID=1&UniqueID=<gültige UniqueID>&AccessLevel=31&RelatedIdentificationValues=<eindeutiger Schlüssel der Lieferanschrift>'
Dieser Vorgang kann beliebig oft wiederholt werden. Mittels pm_PrioritizeARelationship_Pu kann die Reihenfolge der Lieferanschriften verändert werden und mittels pm_CloseARelationship_Pu die Lieferanschrift aus der Liste möglicher Lieferanschriften entfernt werden.
Die Lieferanschriften werden mit folgendem Aufruf angezeigt:
curl 'http://dbap-demo.dstore.de/default/engine/pm_GetPersonRelationships_Pu?PersonIdentificationValues=peter.meyer@kaputt.de¶Mond&PersonTypeID=1&UniqueID=<gültige UniqueID>&OutputCharacteristicIDList=144¶145'
Zum festlegen der Standard-Lieferanschrift wird ein anderer Relationstyp (RelationshipID) verwendet. Auch hier wird pm_FormARelationship_Pu verwendet.
curl -X POST 'http://dbap-demo.dstore.de/default/engine/pm_FormARelationship_Pu?PersonIdentificationValues=peter.meyer@kaputt.de¶Mond&PersonTypeID=1&RelatedPersonID=30&RelationshipID=2&UniqueID=<gültige UniqueID>&AccessLevel=31&RelatedIdentificationValues=<eindeutiger Schlüssel der Lieferanschrift>'
Da der Account über entsprechende Zugriffrechte (siehe pm_GetRelationAccessLevels) für die Bearbeitung von Personen des Typs „Lieferanschrift“ verfügt ist eine Bearbeitung über pm_ModifyPersonData_Pu möglich:
curl -X POST 'http://dbap-demo.dstore.de/default/engine/pm_ModifyPersonData_Pu?CharacteristicIDList=144&IdentificationValues=peter.meyer@kaputt.de¶Mond&ValueList=Tim&PersonID=<PersonID der Lieferanschrift>&PersonTypeID=1&PersonCharacCategoryID=&PersonGrantAccessIDs=0'