diff --git a/docs/configuration/registration/_assets/objects_api_modal.png b/docs/configuration/registration/_assets/objects_api_modal.png deleted file mode 100644 index 62b8da888b..0000000000 Binary files a/docs/configuration/registration/_assets/objects_api_modal.png and /dev/null differ diff --git a/docs/configuration/registration/_assets/variables_tab.png b/docs/configuration/registration/_assets/variables_tab.png deleted file mode 100644 index a22f6dcd76..0000000000 Binary files a/docs/configuration/registration/_assets/variables_tab.png and /dev/null differ diff --git a/docs/configuration/registration/objects.rst b/docs/configuration/registration/objects.rst index 40141d7ddf..fc0f3f85ab 100644 --- a/docs/configuration/registration/objects.rst +++ b/docs/configuration/registration/objects.rst @@ -4,40 +4,46 @@ Objects API =========== -The `Objects API`_ allows us to easily store and expose various objects -according to the related objecttype resource in the Objecttypes API. Open Forms -supports creating objects in the Objects API, such as the `ProductAanvraag objecttype`_. +The `Objects API`_ is a standard for generic storage of objects/records according to +your own, process-specific, data description, such as the `ProductAanvraag objecttype`_. -Open Forms can be configured to create an object (of type ``ProductAanvraag``) to -register form submissions. +Open Forms supports registering form submisisons in the Objects API. The +:ref:`manual (Dutch) ` describes how to configure a form +for usage with the Objects API. -Since Open Forms ``2.6.0``, a new way of configuring the form registration is available. -Hereafter, we will refer to this new configuration as the *Variables mapping (v2)* configuration. -The old configuration will be refered as the *Legacy (v1)* configuration. +What does the Open Forms administrator need? +============================================ -What does the Open Forms administator need? -=========================================== +* An instance of the `Objecttypes API`_ with: -* API resource URL of object type(s) to use for registration. If using the *Variables mapping (v2)* - configuration, access to the Objecttypes API where the object type(s) leave is required. -* Access the Objects API, with write permissions for the relevant Objecttypes. Open - Forms creates and updates records. -* API resource URLs of document types (informatieobjecttype) in the Catalogi API - - attachments are created using these document types: + - an API token to access the API from Open Forms + - one or more objecttypes (legacy configuration requires the API resource URL for + these too) - - PDF summary of submitted form data - - CSV export of submitted form data (optional) - - Attachments from uploads done by the end-user through ``file`` components. +* An instance of the `Objects API`_ (v2.2+) with: -* Write access to the Documenten API, some attachments/files are created there and then - related to the record in the Objects API. + - (API) access to the above Objecttypes API + - an API token to access the Objects API from Open Forms + - write permissions for the relevant Objecttypes - Open Forms creates and updates + records. -.. warning:: +* An instance of the Catalogi API (e.g. via Open Zaak) with: - When using the *Legacy (v1)* configuration, a PATCH request is made to the - Objects API to update the payment status (for forms with a payment requirement). - This requires a version of the Objects API newer than 2.1.1. When using the - *Variables mapping (v2)* configuration, a PUT request is made instead. + - API credentials (client ID + secret) to read the available document types ( + informatieobjecttypen) + - API resource URLs of the document type to use for the PDF summary of submitted + form data + - API resource URLs of the document type to use for the CSV of submitted form data + (optional) + - API resource URLs of the document type to use for the user uploaded attachments + (optional, works as fallback). The document type can also be selected on each + individual ``file`` component + +* An instance of the Documenten API (e.g. via Open Zaak) with: + + - (API) access to the above Catalogi API + - API credentials (client ID + secret) with write access to create documents of the + document types mentioned above Configuration ============= @@ -61,12 +67,10 @@ To configure the Objects API follow these steps: *for example:* ``https://example.com/objecten/api/v1/schema/openapi.yaml`` * **NLX**: Support for NLX can be selected here if enabled in the installation - * **User ID**: Audit trail user ID, usually same as the Client ID - * **User representation**: *For example:* ``Open Forms`` c. Click **Opslaan** and repeat to create configuration for the other component. -#. If using the *Variables mapping (v2)* configuration, create a service for the Objecttypes API (ORC). +#. Create a service for the Objecttypes API (ORC). a. Click **Service toevoegen**. b. Fill out the form: @@ -82,12 +86,10 @@ To configure the Objects API follow these steps: *for example:* ``https://example.com/objecttypen/api/v1/schema/openapi.yaml`` * **NLX**: Support for NLX can be selected here if enabled in the installation - * **User ID**: Audit trail user ID, usually same as the Client ID - * **User representation**: *For example:* ``Open Forms`` c. Click **Opslaan** and repeat to create configuration for the other component. -#. Create a service for the Documentregistratiecomponent (DRC) where the PDF summary and form attachment documents will be stored. +#. Create a service for the Documenten API (DRC) where the PDF summary and form attachment documents will be stored. a. Click **Service toevoegen**. b. Fill out the form: @@ -106,7 +108,7 @@ To configure the Objects API follow these steps: * **User ID**: Audit trail user ID, usually same as the Client ID * **User representation**: *For example:* ``Open Forms`` -#. Create a service for the Zaaktypecatalogus (ZTC). This is needed to retrieve Informatieobjecttypen. +#. Create a service for the Catalogi API (ZTC). This is needed to retrieve Informatieobjecttypen. a. Click **Service toevoegen**. b. Fill out the form: @@ -125,26 +127,41 @@ To configure the Objects API follow these steps: * **User ID**: Audit trail user ID, usually same as the Client ID * **User representation**: *For example:* ``Open Forms`` -#. Navigate to **Configuration** > **Overview**. In the **Registration plugin** group, click on **Configuration** for the **Objects API registratie** line. +#. Navigate to **Configuration** > **Overview**. In the **Registration plugin** group, + click on **Configuration** for the **Objects API registratie** line. + #. Enter the following details: * **Objects API**: Select the Objects API (ORC) service created above - * **Objecttypes API**: Only if using the *Variables mapping (v2)*, select the Objecttypes API (ORC) service created above - * **Documenten API**: Select the Documentregistratiecomponent (DRC) service created above + * **Objecttypes API**: Select the Objecttypes API (ORC) service created above + * **Documenten API**: Select the Documenten API (DRC) service created above * **Catalogi API**: Select the Zaaktypecatalogus (ZTC) service created above - * **Productaanvraag type**: Fill in the type of ProductAanvraag *For example:* ``terugbelnotitie`` - * **Submission report informatieobjecttype**: Fill in the default URL of the INFORMATIEOBJECTTYPE for the submission report in the Catalogi API *For example* ``https://example.com/api/v1/informatieobjecttypen/1/`` - * **Upload submission CSV**: Indicate whether or not the submission CSV should be uploaded to the Documenten API by default (can be overridden per form) - * **Submission report CSV informatieobjecttype**: Fill in the default URL of the INFORMATIEOBJECTTYPE for the submission report CSV in the Catalogi API *For example* ``https://example.com/api/v1/informatieobjecttypen/2/`` - * **Attachment informatieobjecttype**: Fill in the default URL of the INFORMATIEOBJECTTYPE for the submission attachments in the Catalogi API *For example* ``https://example.com/api/v1/informatieobjecttypen/3/`` - * **Organisatie RSIN**: Fill the RSIN to be referred to in the created objects. *For example:* ``123456789`` - - If using the *Legacy (v1)* configuration, the default JSON templates can be configured as well: - - * **JSON content template**: This is a template for the JSON that will be sent to the Object API nested in the - ``record.data`` field. - * **Payment status update JSON template**: This is a template for the JSON that will be sent with a PATCH request to - the Object API to update the payment status of a submission. This JSON will be nested in the ``record.data.payment`` field. + * **Submission report informatieobjecttype**: Fill in the default URL of the + INFORMATIEOBJECTTYPE for the submission report in the Catalogi API *For example* + ``https://example.com/api/v1/informatieobjecttypen/1/``. You an override this on a + per-form basis. + * **Upload submission CSV**: Indicate whether or not the submission CSV should be + uploaded to the Documenten API by default. You an override this on a per-form basis. + * **Submission report CSV informatieobjecttype**: Fill in the default URL of the + INFORMATIEOBJECTTYPE for the submission report CSV in the Catalogi API *For example* + ``https://example.com/api/v1/informatieobjecttypen/2/``. You an override this on a + per-form basis. + * **Attachment informatieobjecttype**: Fill in the default URL of the + INFORMATIEOBJECTTYPE for the submission attachments in the Catalogi API *For example* + ``https://example.com/api/v1/informatieobjecttypen/3/``. You an override this on a + per-form and per-file component basis. + * **Organisatie RSIN**: Fill the RSIN to use as "bronorganisatie" in Document uploads. + *For example:* ``123456789``. You an override this on a per-form basis. + + For the legacy configuration format, additional fields are available: + + * **Productaanvraag type**: Optionally fill in the default type of ProductAanvraag + *For example:* ``terugbelnotitie``. You an override this on a per-form basis. + * **JSON content template**: This is a template for the JSON that will be sent to the + Objects API nested in the ``record.data`` field. + * **Payment status update JSON template**: This is a template for the JSON that will + be sent with a PATCH request to the Object API to update the payment status of a + submission. This JSON will be merge-patched in the ``record.data`` field. #. Click **Opslaan** @@ -153,242 +170,54 @@ When doing so, the corresponding objecttype and objecttype version will have to .. versionchanged:: 2.6.0 - The objecttype URL and version should be configured at the form level, and can't be configured globally. - -Using the *Legacy (v1)* configuration -===================================== - -When using a the legacy configuration, the JSON template (either the global default configured above or -the one specified at the form level) will be rendered a fixed input (e.g. the submission variables, the payment status). - -Using this legacy format is discouraged due to the limited customization it offers. - -Below is an example of the contents in the ``record.data`` attribute in the -Objects API. The top-level has meta-data about the form submission, and the -``data`` element holds the submitted form values, nested within each step (using the step-slug as key): - -.. tabs:: - - .. group-tab:: Example - - .. code-block:: json - - { - "data": { - "uw-gegevens": { - "naam": "Jan Jansen", - "omschrijving": "Ik heb een vraag over mijn paspoort", - "telefoonnummer": "0612345678" - } - }, - "type": "terugbelnotitie", - "bsn": "111222333", - "pdf_url": "https://example.com/documenten/api/v1/enkelvoudiginformatieobjecten/230bab4a-4b51-40c6-91b2-f2022008a7f8", - "attachments": [], - "submission_id": "a43e84ac-e08b-4d5f-8d5c-5874c6dddf56" - } - - .. group-tab:: JSON-schema for Objecttype - - .. code-block:: json - - { - "title": "ProductAanvraag", - "default": {}, - "required": [ - "submission_id", - "type", - "data" - ], - "properties": { - "data": { - "$id": "#/properties/data", - "type": "object", - "title": "Object met de ingezonden formulierdata", - "default": {}, - "examples": [ - { - "field1": "value1" - } - ] - }, - "type": { - "$id": "#/properties/type", - "type": "string", - "title": "Type productaanvraag", - "default": "", - "examples": [ - "terugbelnotitie" - ] - }, - "bsn": { - "$id": "#/properties/bsn", - "type": "string", - "title": "Burgerservicenummer", - "default": "", - "examples": [ - "111222333" - ] - }, - "kvk": { - "$id": "#/properties/kvk", - "type": "string", - "title": "KVK-nummer van het bedrijf in het Handelsregister", - "default": "", - "examples": [ - "12345678" - ] - }, - "pdf_url": { - "$id": "#/properties/pdf_url", - "type": "string", - "title": "URL van een document (in een Documenten API) dat de bevestigings PDF van Open Forms bevat", - "format": "uri", - "default": "", - "examples": [ - "https://example.com/documenten/api/v1/enkelvoudiginformatieobjecten/230bab4a-4b51-40c6-91b2-f2022008a7f8" - ] - }, - "csv_url": { - "$id": "#/properties/csv_url", - "type": "string", - "title": "URL van een document (in een Documenten API) dat de CSV met ingezonden formulierdata bevat", - "format": "uri", - "default": "", - "examples": [ - "https://example.com/documenten/api/v1/enkelvoudiginformatieobjecten/aeaba696-4968-46a6-8b1e-016f503ed88d" - ] - }, - "attachments": { - "$id": "#/properties/attachments", - "type": "array", - "items": { - "type": "string", - "format": "uri" - }, - "title": "Lijst met URLs van de bijlagen van het ingezonden formulier in een Documenten API", - "default": [], - "examples": [ - [ - "https://example.com/documenten/api/v1/enkelvoudiginformatieobjecten/94ff43d6-0ee5-4b5c-8ed7-b86eaa908718" - ] - ] - }, - "submission_id": { - "$id": "#/properties/submission_id", - "type": "string", - "title": "ID van de submission in Open Forms", - "default": "", - "examples": [ - "a43e84ac-e08b-4d5f-8d5c-5874c6dddf56" - ] - }, - "additionalProperties": true - } - } - -Using the *Variables mapping (v2)* configuration -================================================ - -When using the variables mapping configuration, each variable can be mapped to a specific location in the object type -JSON Schema. This configuration takes place in the **Variables** tab. To demonstrate how variables can be configured, -we will assume the following JSON Schema defines the object type being used: - -.. code-block:: json - - { - "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", - "properties": { - "payment_completed": {"type": "boolean"}, - "data": { - "type": "object", - "properties": { - "firstName": {"type": "string"}, - "age": {"type": "integer"} - } - } - } - } - -.. note:: + The objecttype URL and version must be configured at the form level, and can no + longer be configured globally. - The JSON Schema is parsed internally by Open Forms. For best results, your schema should - follow these guidelines: +.. _configuration_registration_objects_objecttype_tips: - - If possible, define a ``"$schema"`` URI pointing to the specification you are using. If not specified, - Open Forms will assume the latest specification (*2020-12*) applies, which might not be compatible. - - Do not omit the ``"type"`` key (in our case, ``"object"``). Only defining ``"properties"`` is not enough, - as having ``"type"`` unspecified means any type of data can be set. - - Using references is supported, but shouldn't point to an external entity. Be sure to use the ``$ref`` - keyword to point to a specific reference. - -We will also assume the form has one step with two components defined: - -- A text field with a key of ``userName``. -- A number field with a key of ``userAge``. - -The **Variables** tab should look like the following: - -.. image:: _assets/variables_tab.png - -Mapping variables ------------------ - -Each variable needs to be mapped to a target individually. To do so, click the edit icon in the -registration column. A modal should open with the following content: - -.. image:: _assets/objects_api_modal.png - -For each variable, only the compatible JSON Schema targets (in our case, *data > firstName*) will be presented. -Once selected, click **Save** and do the same for the ``userAge`` variable. +Recommendations for the Objecttype JSON Schemas +================================================ -To be able to map register "meta" information about the submission (such as the payment completion), -the Objects API registration provides *registration variables*. These are only available during registration, -and behaves the same way other variables do. To configure a mapping for the ``"payment_completed"`` JSON Schema target, -go to the **Registration** tab (next to **Static**) and configure the *Payment completed* variable by mapping it to -``payment_completed`` (this should be the only option available). +The objecttype definition uses `JSON Schema `_, and this schema +is processed by Open Forms. -Registration result -------------------- +There are some pitfalls with JSON Schema that can lead to unexpected results, so we have +some guidelines for schema authors: -With the mapping configuration provided above, the payload sent to the Objects API will look like the following: -.. code-block:: json +* Preferably, define the ``$schema`` property pointing to the version of the + specification you are using. If not specified, Open Forms will assume the latest + specification (*2020-12*) applies, which may not be compatible. - { - "type": "https://example.com/objecttypen/api/v2/objecttypes/7e6a98c3-bf02-41a6-8835-5367f6099780", - "record": { - "typeVersion": 1, - "data": { - "payment_completed": true, - "data": { - "firstName": "Filled first name", - "age": 20 - } - }, - "startAt": "2024-01-01" - } - } +* Do not omit the ``type`` property for the top-level object. In practice, this should + probably always be set to the value ``"object"``. If unspecified, technically any + data type is allowed which is probably not what you intended. -Mapping a variable to the ``"geometry"`` component --------------------------------------------------- +* Include ``additionalProperties: false`` for objects - the default is that any + unspecified, additional properties are allowed and those cannot be input-validated. -As shown in the image above, it is possible to map a specific variable (usually a Map component) -to the ``"record.geometry"`` target. When this option is selected, the variable will appear as the -geometry component in the Objects API. +* Using references (``$ref: #/foo``) is supported, but they should not (yet) point to an + external entity (resolving this will likely be added in the future in a way that does + not create security issues). Technical ========= -Open Forms requires Objects API v2 or newer. +Open Forms requires Objects API v2.2 or newer. ================ ========================================== Objects API Test status ================ ========================================== -2.0.x Manually verified -2.1.x Manually verified, integration tests in CI +2.2.x Manually verified +2.3.x Manually verified, integration tests in CI ================ ========================================== +.. versionchanged:: 2.6.0 + + Objects API versions older than 2.2.0 are no longer officially supported. You need + at least version 2.2.0. + + .. _`Objects API`: https://objects-and-objecttypes-api.readthedocs.io/ +.. _`Objecttypes API`: https://objects-and-objecttypes-api.readthedocs.io/en/latest/#objecttypes-api .. _`ProductAanvraag objecttype`: https://github.com/open-objecten/objecttypes/tree/main/community-concepts/productaanvraag/ diff --git a/docs/manual/registration/_assets/objects_api_modal.png b/docs/manual/registration/_assets/objects_api_modal.png new file mode 100644 index 0000000000..0eb72ce733 Binary files /dev/null and b/docs/manual/registration/_assets/objects_api_modal.png differ diff --git a/docs/manual/registration/_assets/objects_api_registration_variables.png b/docs/manual/registration/_assets/objects_api_registration_variables.png new file mode 100644 index 0000000000..031b3e35a4 Binary files /dev/null and b/docs/manual/registration/_assets/objects_api_registration_variables.png differ diff --git a/docs/manual/registration/_assets/objects_plugin_variables.png b/docs/manual/registration/_assets/objects_plugin_variables.png new file mode 100644 index 0000000000..b745b23928 Binary files /dev/null and b/docs/manual/registration/_assets/objects_plugin_variables.png differ diff --git a/docs/manual/registration/_assets/variables_tab.png b/docs/manual/registration/_assets/variables_tab.png new file mode 100644 index 0000000000..1a19c0a2e1 Binary files /dev/null and b/docs/manual/registration/_assets/variables_tab.png differ diff --git a/docs/manual/registration/objects-api.rst b/docs/manual/registration/objects-api.rst new file mode 100644 index 0000000000..e8e99b090f --- /dev/null +++ b/docs/manual/registration/objects-api.rst @@ -0,0 +1,174 @@ +.. _manual_registration_objects_api: + +============ +Objecten API +============ + +Met de Objecten API-plugin kunnen inzendingen als "object" in een externe datalaag +duurzaam geregistreerd worden. Deze data is vervolgens beschikbaar in het +behandelproces. + +.. note:: De functioneel beheerder dient een aantal + :ref:`koppelingen ` in te stellen om deze plugin + te kunnen gebruiken. Let ook op de + :ref:`adviezen (Engels) ` voor + objecttypedefinities. + +Er zijn twee mogelijke manieren om de Objecten API in te zetten: + +* :ref:`manual_registration_objects_api_variables` (aangeraden) +* :ref:`manual_registration_objects_api_templates` (verouderd) + +Deze worden hieronder toegelicht. + +.. _manual_registration_objects_api_variables: + +Variabelekoppelingen +==================== + +.. versionadded:: 2.6.0 + + Deze methode is nieuw sinds Open Formulieren 2.6 en biedt een robuustere manier van + werken. We raden sterk aan om enkel deze methode te gebruiken. + +De variabelekoppelingenconfiguratie laat toe om aan strikte objecttypedefinities te +voldoen. Deze worden typisch ingericht als "contract" tussen het formulier en de +afhandelapplicatie. Hiermee is de integratie een stuk robuuster en kan je makkelijker +het formulier aanpassen/herorganiseren zonder dat de afhandelapplicatie hierdoor +aanpassingen moet maken. + +**Mechanisme** + +* Elk formulierveld leidt tot een formuliervariabele +* Na selectie van het relevante objecttype "kent" Open Formulieren het contract +* Formuliervariabelen koppel je vervolgens aan bestemmingen die beschreven staan in het + contract +* Tijdens het registeren voldoen de gegevens automatisch aan het beschreven contract + en heeft de afhandelapplicatie inhoudelijk begrip van de gegevens + +Voorbeeld +--------- + +**Objecttype** + +Voor dit voorbeeld gaan we uit van een objecttype waarin drie gegevens vastgelegd worden: + +* betaling voltooid (ja/nee) +* groep "data" + + * voornaam (tekst) + * leeftijd (getal, aantal jaren) + +.. note:: Technisch worden deze gegevens met JSON Schema gemodelleerd, en dat ziet er + dan zo uit: + + .. code-block:: json + + { + "$schema": "http://json-schema.org/draft-07/schema#", + "type": "object", + "properties": { + "payment_completed": {"type": "boolean"}, + "data": { + "type": "object", + "properties": { + "firstName": {"type": "string"}, + "age": {"type": "integer"} + } + } + } + } + +**Formulier** + +We gaan uit van een formulier met één stap. In deze stap zijn twee velden gedefinieerd: + +* Een tekstveld met de sleutel ``voornaam`` +* Een nummerveld met de sleutel ``leeftijd`` + +Merk op dat de velden Nederlandse sleutels hebben en het objecttype Engelse sleutels +gebruikt (voornaam vs. firstName, leeftijd vs. age). + +**Registratiemethode selecteren** + +Op de **Registratie** tab selecteer je als registratiemethode "Objecten API registratie". + +Vervolgens kies je de tab **Variabelekoppelingen**, waar je het objecttype kan selecteren +in het keuzemenu. Na selectie van de het objecttype kan je de gewenste versie van het +objecttype selecteren. + +De overige velden gebruiken de globale instellingen (indien deze beschikbaar zijn). + +.. image:: _assets/objects_plugin_variables.png + +**Variabelen koppelen** + +Navigeer in het formulier naar de **Variabelen** tab. Deze ziet er dan ongeveer uit als: + +.. image:: _assets/variables_tab.png + +(de screenshot toont enkel de relevante informatie, in de applicatie zijn extra kolommen +zichtbaar). + +Elke variabele koppel je apart aan een bestemming uit het objecttype. Klik hiervoor het +potloodicoon aan. Er opent een pop-up: + +.. image:: _assets/objects_api_modal.png + +In het keuzemenu voor de bestemmingspaden worden enkel opties getoond die compatibel +zijn met de variabele - omdat de "voornaam" een tekstveld is, krijg je dus de optie +``data > age`` niet te zien, want dit is een numerieke waarde. + +Klik na het selecteren van een bestemmingspad op **Opslaan**, en voer deze stap uit +voor elke formuliervariabele. + +**Extra variabelen** + +Naast formuliervariabelen afkomstig uit formuliervelden zijn er nog drie andere soorten +variabelen: + +* Gebruikersvariabelen, deze kan je zelf definiëren +* Vaste variabelen, die altijd beschikbaar zijn voor elk formulier +* Registratievariabelen die enkel gedurendende de registratiefase (ná het inzenden) + beschikbaar zijn. Registratievariabelen zijn specifiek voor de geselecteerde + registratiemethode(n). + +Om de "betaling voltooid" (``payment_completed``) waarde weg te schrijven bij registratie +navigeer je dus naar de tab **Registratie** binnen de **Variabelen**, en daar stel je +vervolgens de variabele "Betaling voltooid" in op dezelfde manier als andere +formuliervariabelen. + +.. image:: _assets/objects_api_registration_variables.png + +**Productaanvraag** + +In de sjabloon-configuratie is er een veld om het productaanvraagtype in te stellen. Dit +veld bestaat in de variabelekoppelingen niet meer. + +Je kan wel eenvoudig hetzelfde gedrag bereiken: + +#. Navigeer naar de **Variabelen** tab +#. Binnen de variabelen tab, selecteer de **Gebruikersvariabelen** tab +#. Voeg een variabele toe met de naam ``Productaanvraagtype``, datatype "Tekst (string)" + en beginwaarde de naam van het productaanvraagtype (bijvoorbeeld "terugbelnotitie") + +Je kan dan de registratie instellen, en als bestemmingspad kies je dan ``data > type``. + +**Geometrie** + +De Objecten API ondersteunt ook het vastleggen van een geometrie. Dit is een speciaal +attribuut dat niet beschikbaar is in de keuzelijst met bestemmingspaden. + +Je kan echter een variabele koppelen via het selectievakje "Koppel aan geometrieveld". + +.. warning:: Merk op dat je slechts één variabele aan het geometrieveld kan koppelen. + +.. _manual_registration_objects_api_templates: + +Op basis van sjablonen +====================== + +.. warning:: Deze methode is verouderd en foutgevoelig. + +Zie de rubriek in de :ref:`sjabloondocumentatie `. + diff --git a/docs/manual/submissions.rst b/docs/manual/submissions.rst index 25d1ca2afb..889c72bd5b 100644 --- a/docs/manual/submissions.rst +++ b/docs/manual/submissions.rst @@ -40,6 +40,12 @@ raadplegen via de Open Formulieren een registratiesysteem blijft de inzending ook in Open Formulieren beschikbaar tot het moment van schoning. +**Handleidingen per plugin** + +.. toctree:: + :maxdepth: 3 + + registration/objects-api Opschonen ========= diff --git a/docs/manual/templates.rst b/docs/manual/templates.rst index 304feb74bf..b332fa2de6 100644 --- a/docs/manual/templates.rst +++ b/docs/manual/templates.rst @@ -496,6 +496,8 @@ Voorbeeld Objecten API registratie ======================== +.. note:: We adviseren om gebruik te maken van de :ref:`manual_registration_objects_api_variables` in plaats van sjablonen. + De Objecten API-registratiebackend maakt een object aan in de geconfigureerde Objecten API met de gegevens van een inzending. Een voorbeeld van de JSON die naar de Objecten API wordt gestuurd: