Naar de hoofdinhoud

Een object gedeeltelijk bijwerken

Geschreven door Jetmir Abdija

Dit artikel is vertaald met behulp van AI en kan kleine onnauwkeurigheden bevatten. Raadpleeg de Engelse versie voor volledige nauwkeurigheid.

Je kunt een actief object gedeeltelijk bijwerken door de gewenste waarden voor objecteigenschappen in te stellen en deze door te geven aan de endpoint PATCH /objects/{id}. De body hoeft alleen de elementen te bevatten waarvan de waarden gewijzigd moeten worden. Als je er toch voor kiest om ook elementen mee te sturen die niet gewijzigd hoeven te worden, zorg er dan voor dat de waarden exact overeenkomen met de bestaande. Anders worden er ongewenste wijzigingen op een object toegepast.

LET OP: Het versturen van waarden die overeenkomen met wat al is opgeslagen, telt niet als een wijziging. Dit geldt alleen voor deze Public API-endpoint, niet voor updates via Surveys, Vragenlijsten of Data Collector-imports.

HTTP-responses

HTTP response status code

Interpretatie

200 OK

Object succesvol bijgewerkt

206 Partial Content

Object gedeeltelijk bijgewerkt; sommige eigenschappen zijn niet bijgewerkt vanwege onvoldoende rechten

400 Bad Request

Object kan niet worden bijgewerkt omdat één of meer parameters ontbreken of onjuist zijn

401 Unauthorized

Ongeldige of ontbrekende API key secret en/of tenant

403 Forbidden

De gebruiker mag geen objecten van dit type bijwerken

Voorwaarden

  • Om een object van een specifiek objecttype bij te werken, moet je rechten hebben voor die objectdefinitie

  • De request body mag de eigenschap object_title alleen bevatten als deze gewijzigd moet worden

  • De request body mag alleen de bestaande velden bevatten. Er kunnen geen nieuwe objecteigenschappen of boem worden toegevoegd met dit verzoek.

  • Het verzoek wordt afgewezen met 400 Bad Request als objecteigenschappen[].naam dubbele waarden bevat binnen hetzelfde verzoek.

  • De request body moet een geldige boem-id en boem-item-id bevatten om updates op vragenlijstantwoorden succesvol te maken

  • Updates op vragenlijstantwoorden worden genegeerd als de boem-id of boem-item-id onjuist is

  • De maximale lengte van een objecteigenschappen waarde is 255 tekens

  • De minimale lengte van een object_title waarde is 1 teken.

  • Als de opgegeven waarde overeenkomt met de reeds opgeslagen waarde, wordt er geen wijziging geregistreerd: "Gewijzigd op", de laatste bewerker en de objectgeschiedenis blijven ongewijzigd. De call geeft wel 200 OK terug

  • Het versturen van een waarde die alleen uit spaties bestaat naar een veld dat al leeg is, wordt gezien als geen wijziging: er wordt niets geregistreerd

Om een bestaand object gedeeltelijk bij te werken, gebruik je de PATCH /objects/{id} endpoint en geef je het volgende op in je verzoek:

  • Bedrijfsmiddel/endpoint-bestemmings-URL. Vervang de padparameter {id} door de ID van het object dat je wilt bijwerken.

  • De header voor je API-verzoek

  • De request body, die alleen de waarden moet bevatten die je wilt bijwerken:

Eigenschap

Type

Mutabel

Beschrijving

object_title

string

De naam van het object

objecteigenschappen

array

Een lijst van objecteigenschappen

object_lifecycle_state

string

De lifecycle kan Huidig of Toekomstig zijn.

objecteigenschappen[].naam

string

X

De naam van de objecteigenschap

objecteigenschappen[].name_internal

string

X

De interne naam van de objecteigenschap

objecteigenschappen[].waarde

string

De waarde van de objecteigenschap

boem

array

Een lijst van de vragenlijsten van het object

boem[].id

string

X

Unieke identificatie voor de vragenlijst

boem[].naam

string

X

De naam van de vragenlijst

boem[].items

array

X

Een lijst van vragenlijstvelden

boem[].items[].id

string

X

Unieke identificatie voor het vragenlijstveld

boem[].items[].naam

string

X

De naam van het vragenlijstveld

boem[].items[].waarde

string

De waarde van het vragenlijstveld (zie de tabel Validatie van vragenlijstveldwaarden)

boem[].items[].field_type

string

X

Het type van het vragenlijstveld

Let op: alle waarden die je opgeeft voor niet-mutabele eigenschappen worden genegeerd. Als er niet-mutabele eigenschappen in je verzoek zitten, worden er geen wijzigingen doorgevoerd, ook al geeft de response de statuscode 200 OK terug.

Validatie van vragenlijstveldwaarden

Veldtype

Regels

Datum

De opgegeven waarde moet in het formaat dd-MM-jjjj zijn

Tekst

De opgegeven waarde wordt beperkt tot de ingestelde MaxLength

RichText

De opgegeven waarde wordt "geschoond" om mogelijke HTML-code-injectie te voorkomen

Multi

Opgegeven waarden staan in de lijst met mogelijke waarden. Waarden worden gescheiden door een pipe |

Dropdown

Opgegeven waarden staan in de lijst met mogelijke waarden

Multiselect dropdown

Opgegeven waarden staan in de lijst met mogelijke waarden. Waarden worden gescheiden door een pipe |

Checkbox

De opgegeven waarde is "yes" of "no".

Nummer

Waarden worden aangepast naar het ingestelde aantal decimalen

Valuta

Waarden worden aangepast naar het ingestelde aantal decimalen

Relatie

Niet ondersteund

Let op: als een opgegeven waarde niet voldoet aan de gespecificeerde regels, wordt deze gewist of wordt er een type-specifieke standaardwaarde toegevoegd.

Hieronder vind je een voorbeeld van een API-verzoek om een actief object in de repository bij te werken. Stuur een verzoek met een body waarin de nieuwe waarden staan voor de objecteigenschappen die je wilt aanpassen.

Om antwoorden op vragenlijsten te wijzigen, zijn de enige verplichte velden voor elk boem-item id en value.

curl -L -X PATCH 'https://public-api.eu.bluedolphin.app/nl/objects/643e9020d97c6a7e28775377' \-H 'x-api-key: YOURAPIKEYSECRET' \-H 'tenant: yourtenantname' \-H 'Content-Type: application/json' \-d '{    "object_title": "Nieuwe Applicatie Naam",    "object_properties": [        {            "name": "Naam",            "value": "Applicatie Update"        }    ],    "boem": [           {            "id": "58edcaf2829327621dfff9e5",            "name": "Applicatie Info",            "items": [                {                    "id": "dfbf6463-c17d-4107-8903-51cf0968267c",                    "value": ""                },                {                    "id": "e59a6e32-bef9-430c-86dc-9dbc31e49b46",                    "value": ""                },                {                    "id": "6cb46f87-b1a6-4fbd-9043-1f32b4a8f9d2",                    "value": "532fff94b41281c17ce263b7|58a0378a63bab70ae83525d9"                },                {                    "id": "c29271a2-7634-4abc-962a-bb2af522c547",                    "value": ""                }            ]        }    ]	}'

Response-eigenschappen

Eigenschap

Type

Beschrijving

id

string

Unieke identificatie voor het object

object_title

string

De naam van het object

type

object

Objectdefinitie waarop het object is gebaseerd

workspace

object

Informatie over de workspace waarin het object zich bevindt (Zie de tabel Workspace)

modified_information

object

Informatie over het wijzigen van het object (Zie de tabel Gebruikersinformatie). Wordt alleen bijgewerkt als het verzoek daadwerkelijk iets aanpast aan het object.

status

number

De status-id van het object

object_properties

array

Een lijst met objecteigenschappen

object_properties[].name

string

De naam van de objecteigenschap

object_properties[].value

string

De waarde van de objecteigenschap

boem

array

Een lijst met de vragenlijsten van het object

boem[].id

string

Unieke identificatie voor de vragenlijst

boem[].name

string

De naam van de vragenlijst

boem[].items

array

Een lijst met velden van de vragenlijst

boem[].items[].id

string

Unieke identificatie voor het veld van de vragenlijst

boem[].items[].name

string

De naam van het veld van de vragenlijst

boem[].items[].value

string

De waarde van het veld van de vragenlijst

boem[].items[].field_type

string

Het type van het veld van de vragenlijst

related_objects

array

Een lijst met geaccepteerde/actieve gerelateerde objecten

related_objects[].relationship_id

string

De identificatie van de relatie

related_objects[].object_id

string

De identificatie van het gerelateerde object

related_objects[].object_title

string

De naam van het gerelateerde object

related_objects[].type

object

Objectdefinitie waarop het gerelateerde object is gebaseerd

related_objects[].relationship

object

Relatietype waarop de relatie is gebaseerd

Workspace

Eigenschap

Type

Beschrijving

id

string

Unieke identificatie voor de workspace

name

string

De naam van de workspace

Gebruikersinformatie

Eigenschap

Type

Beschrijving

date

string

De stringversie van de ISO datum en tijd

user_id

string

Unieke identificatie voor de gebruiker

first_name

string

De voornaam van de gebruiker

last_name

string

De achternaam van de gebruiker

Een geslaagde aanvraag geeft een antwoord met een 200 OK HTTP-statuscode en de volgende body:

{    "id": "643e9020d97c6a7e28775377",    "object_title": "Nieuwe Applicatie Naam",
"object_lifecycle_state": "Toekomstig", "type": { "id": "640b3d7d4a28b925fcf8b9b4", "name": "Applicatie", "name_internal": "application_component" }, "workspace": { "id": "63f621863279a10a8eefa7a9", "name": "mainworkspace" }, "created_information": { "user_id": "63f6322c275ab8fea702f9b7", "first_name": "Hannah", "last_name": "Blake", "date": "2023-04-18T12:42:08.075Z" }, "modified_information": { "user_id": "000000000000000000000000", "first_name": "BlueDolphin", "last_name": "", "date": "2023-06-22T19:25:23.021Z" }, "status": 2, "object_properties": [ { "name": "Naam", "value": "Aplication Update" } ], "boem": [ { "id": "58edcaf2829327621dfff9e5", "name": "Applicatie Info", "items": [ { "field_type": "dropdown", "id": "dfbf6463-c17d-4107-8903-51cf0968267c", "name": "Is deze applicatie een Single Point of Failure (SPOF)?", "value": "" }, { "field_type": "currency", "id": "e59a6e32-bef9-430c-86dc-9dbc31e49b46", "name": "Schatting van jaarlijkse applicatiekosten", "value": "" }, { "field_type": "relation", "id": "6cb46f87-b1a6-4fbd-9043-1f32b4a8f9d2", "name": "Wat zijn de functies van deze applicatie?", "value": "532fff94b41281c17ce263b7|58a0378a63bab70ae83525d9" }, { "field_type": "dropdown", "id": "c29271a2-7634-4abc-962a-bb2af522c547", "name": "Welke fase geldt voor deze applicatie?", "value": "" } ] } ], "related_objects": [ { "relationship_id": "21435a647f12172fc4cc72f0", "object_id": "64369407346524508417d7b2", "object_title": "Acquisitie en ontwikkeling van bouwkavels", "type": { "id": "5d25c4bc0c0ba6e79c23d123", "name": "Bedrijfsproces", "name_internal": "business_process" }, "relationship": { "template_id": "5123e9d68ccee096c838fe93", "name": "gebruikt door", "type": "usedby" } } ]}
Was dit een antwoord op uw vraag?