@vng-api/openvtb-berichten 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md ADDED
@@ -0,0 +1,11 @@
1
+ # @vng-api/openvtb-berichten
2
+
3
+ Gebundelde OpenAPI-specificatie voor **Berichten API** (versie 0.1.0), uit [VNG-Realisatie/Interactie-APIs](https://github.com/VNG-Realisatie/Interactie-APIs).
4
+
5
+ ```js
6
+ const spec = require("@vng-api/openvtb-berichten"); // geparste openapi.json
7
+ ```
8
+
9
+ Ook beschikbaar als YAML: `@vng-api/openvtb-berichten/openapi.yaml`.
10
+
11
+ Bron: `apis/rest/openvtb-berichten/v0.1.0.yaml` — externe `$ref`s naar `schemas/` en `patterns/` zijn ge-inlined.
package/openapi.json ADDED
@@ -0,0 +1,421 @@
1
+ {
2
+ "openapi": "3.0.3",
3
+ "info": {
4
+ "title": "Berichten API",
5
+ "version": "0.1.0",
6
+ "description": "De berichten-service bestaat uit een beschrijving van afspraken, standaarden en referentiecomponenten aangevuld met interactiepatronen, ontwerpbesluiten en aanbevelingen. Het Berichten-patroon biedt een gestandaardiseerde, flexibele oplossing voor de communicatie tussen inwoners, ondernemers en gemeenten via digitale kanalen. Met dit patroon kunnen berichten eenvoudig geregistreerd worden en door verschillende applicaties worden opgehaald, weergegeven en verwerkt. In tegenstelling tot traditionele berichtgevingen (zoals e-mail), zijn berichten centraal geregistreerd en kunnen ze eenvoudig getoond en gerelateerd worden naast zaken, taken of producten binnen het gemeentelijke landschap. \n\n**URN Pattern**\n\nOpen VTB uses URNs (Uniform Resource Names) to link to other resources, below is a description of the pattern that should be used.\n\n**Syntax:**\n\n`urn:<NID>:<NSS>[#<f-component>]`\n\n**Parts:**\n\n- `urn:` (required): fixed prefix for all URNs, every URN must start with this prefix.\n- `NID` (required): Namespace Identifier: alphanumeric characters, e.g. `nld`.\n- `NSS` (required): Namespace Specific String identifying the object, e.g. `brp:bsn:111222333`.\n- `f-component` (optional): Optional component preceded by `#`, e.g. `#section1`.\n\n**Examples:**\n\n`urn:namespace:component:resource:uuid`, `urn:example:foo#bar`\n\nFor more information, see the official specification: https://datatracker.ietf.org/doc/html/rfc8141\n",
7
+ "contact": {
8
+ "email": "standaarden.ondersteuning@vng.nl",
9
+ "name": "VNG",
10
+ "url": "https://zaakgerichtwerken.vng.cloud"
11
+ },
12
+ "license": {
13
+ "name": "EUPL 1.2",
14
+ "url": "https://opensource.org/licenses/EUPL-1.2"
15
+ }
16
+ },
17
+ "paths": {
18
+ "/berichten": {
19
+ "get": {
20
+ "operationId": "berichtenList",
21
+ "description": "Vraag alle berichten aan.",
22
+ "summary": "Vraag alle berichten aan.",
23
+ "parameters": [
24
+ {
25
+ "name": "page",
26
+ "required": false,
27
+ "in": "query",
28
+ "description": "Een pagina binnen de gepagineerde set resultaten.",
29
+ "schema": {
30
+ "type": "integer"
31
+ }
32
+ },
33
+ {
34
+ "name": "pageSize",
35
+ "required": false,
36
+ "in": "query",
37
+ "description": "Het aantal resultaten terug te geven per pagina. (default: 100, maximum: 500).",
38
+ "schema": {
39
+ "type": "integer"
40
+ }
41
+ }
42
+ ],
43
+ "tags": [
44
+ "berichten"
45
+ ],
46
+ "security": [
47
+ {
48
+ "OpenID": []
49
+ },
50
+ {
51
+ "tokenAuth": []
52
+ }
53
+ ],
54
+ "responses": {
55
+ "200": {
56
+ "headers": {
57
+ "API-version": {
58
+ "schema": {
59
+ "type": "string"
60
+ },
61
+ "description": "Geeft een specifieke API-versie aan in de context van een specifieke aanroep. Voorbeeld: 1.2.1."
62
+ }
63
+ },
64
+ "content": {
65
+ "application/json": {
66
+ "schema": {
67
+ "$ref": "#/components/schemas/PaginatedBerichtList"
68
+ }
69
+ }
70
+ },
71
+ "description": ""
72
+ }
73
+ }
74
+ },
75
+ "post": {
76
+ "operationId": "berichtenCreate",
77
+ "description": "Maak een bericht aan.",
78
+ "summary": "Maak een bericht aan.",
79
+ "tags": [
80
+ "berichten"
81
+ ],
82
+ "requestBody": {
83
+ "content": {
84
+ "application/json": {
85
+ "schema": {
86
+ "$ref": "#/components/schemas/Bericht"
87
+ }
88
+ }
89
+ },
90
+ "required": true
91
+ },
92
+ "security": [
93
+ {
94
+ "OpenID": []
95
+ },
96
+ {
97
+ "tokenAuth": []
98
+ }
99
+ ],
100
+ "responses": {
101
+ "201": {
102
+ "headers": {
103
+ "API-version": {
104
+ "schema": {
105
+ "type": "string"
106
+ },
107
+ "description": "Geeft een specifieke API-versie aan in de context van een specifieke aanroep. Voorbeeld: 1.2.1."
108
+ }
109
+ },
110
+ "content": {
111
+ "application/json": {
112
+ "schema": {
113
+ "$ref": "#/components/schemas/Bericht"
114
+ }
115
+ }
116
+ },
117
+ "description": ""
118
+ }
119
+ }
120
+ }
121
+ },
122
+ "/berichten/{uuid}": {
123
+ "get": {
124
+ "operationId": "berichtenRetrieve",
125
+ "description": "Een specifiek bericht opvragen.",
126
+ "summary": "Een specifiek bericht opvragen.",
127
+ "parameters": [
128
+ {
129
+ "in": "path",
130
+ "name": "uuid",
131
+ "schema": {
132
+ "type": "string",
133
+ "format": "uuid",
134
+ "description": "Unieke identificatiecode (UUID4) voor het Bericht."
135
+ },
136
+ "required": true
137
+ }
138
+ ],
139
+ "tags": [
140
+ "berichten"
141
+ ],
142
+ "security": [
143
+ {
144
+ "OpenID": []
145
+ },
146
+ {
147
+ "tokenAuth": []
148
+ }
149
+ ],
150
+ "responses": {
151
+ "200": {
152
+ "headers": {
153
+ "API-version": {
154
+ "schema": {
155
+ "type": "string"
156
+ },
157
+ "description": "Geeft een specifieke API-versie aan in de context van een specifieke aanroep. Voorbeeld: 1.2.1."
158
+ }
159
+ },
160
+ "content": {
161
+ "application/json": {
162
+ "schema": {
163
+ "$ref": "#/components/schemas/Bericht"
164
+ }
165
+ }
166
+ },
167
+ "description": ""
168
+ }
169
+ }
170
+ },
171
+ "patch": {
172
+ "operationId": "berichtenPartialUpdate",
173
+ "description": "Werk het veld 'geopendOp' van een bericht bij.",
174
+ "summary": "Werk het veld 'geopendOp' van een bericht bij.",
175
+ "parameters": [
176
+ {
177
+ "in": "path",
178
+ "name": "uuid",
179
+ "schema": {
180
+ "type": "string",
181
+ "format": "uuid",
182
+ "description": "Unieke identificatiecode (UUID4) voor het Bericht."
183
+ },
184
+ "required": true
185
+ }
186
+ ],
187
+ "tags": [
188
+ "berichten"
189
+ ],
190
+ "requestBody": {
191
+ "content": {
192
+ "application/json": {
193
+ "schema": {
194
+ "$ref": "#/components/schemas/PatchedBerichtGeopendOp"
195
+ }
196
+ }
197
+ }
198
+ },
199
+ "security": [
200
+ {
201
+ "OpenID": []
202
+ },
203
+ {
204
+ "tokenAuth": []
205
+ }
206
+ ],
207
+ "responses": {
208
+ "200": {
209
+ "headers": {
210
+ "API-version": {
211
+ "schema": {
212
+ "type": "string"
213
+ },
214
+ "description": "Geeft een specifieke API-versie aan in de context van een specifieke aanroep. Voorbeeld: 1.2.1."
215
+ }
216
+ },
217
+ "content": {
218
+ "application/json": {
219
+ "schema": {
220
+ "$ref": "#/components/schemas/Bericht"
221
+ }
222
+ }
223
+ },
224
+ "description": ""
225
+ }
226
+ }
227
+ }
228
+ }
229
+ },
230
+ "components": {
231
+ "schemas": {
232
+ "Bericht": {
233
+ "type": "object",
234
+ "properties": {
235
+ "url": {
236
+ "type": "string",
237
+ "format": "uri",
238
+ "readOnly": true,
239
+ "description": "De unieke URL van het Bericht binnen deze API.",
240
+ "minLength": 1,
241
+ "maxLength": 1000
242
+ },
243
+ "urn": {
244
+ "type": "string",
245
+ "format": "urn",
246
+ "example": "urn:namespace:component:resource:uuid",
247
+ "readOnly": true,
248
+ "description": "De Uniform Resource Name van het Bericht."
249
+ },
250
+ "uuid": {
251
+ "type": "string",
252
+ "format": "uuid",
253
+ "readOnly": true,
254
+ "description": "Unieke identificatiecode (UUID4) voor het Bericht."
255
+ },
256
+ "onderwerp": {
257
+ "type": "string",
258
+ "description": "Onderwerp van het bericht.",
259
+ "maxLength": 50
260
+ },
261
+ "berichtTekst": {
262
+ "type": "string",
263
+ "description": "Tekst van het bericht. URLs worden altijd weergegeven als klikbare URLs op alle portalen. Voor portalen van lokale overheden is de basic syntax van Markdown toegestaan, voor de Mijn Overheid berichtenbox enkel newlines (\\r\\n).",
264
+ "maxLength": 4000
265
+ },
266
+ "publicatiedatum": {
267
+ "type": "string",
268
+ "format": "date-time",
269
+ "nullable": true,
270
+ "description": "Datum/tijd waarop bericht zichtbaar moet worden voor de ontvanger. Dit geldt voor zowel de Mijn Overheid berichtenbox als het portaal van de lokale overheid. De standaardwaarde is de huidige datum/tijd."
271
+ },
272
+ "referentie": {
273
+ "type": "string",
274
+ "description": "Zenderreferentie / interne referentie.",
275
+ "maxLength": 25
276
+ },
277
+ "ontvanger": {
278
+ "type": "string",
279
+ "format": "urn",
280
+ "example": "urn:namespace:component:resource:uuid",
281
+ "description": "URN van een NATUURLIJK PERSOON of NIET-NATUURLIJK PERSOON. Bijvoorbeeld: `urn:nld:brp:bsn:111222333`, `urn:nld:hr:kvknummer:444555666` of `urn:nld:hr:kvknummer:444555666:vestigingsnummer:777888999`",
282
+ "pattern": "^urn:[A-Za-z0-9](?:[A-Za-z0-9]|-){0,30}[A-Za-z0-9]:(?:[A-Za-z0-9]|[-._~]|%[0-9A-Fa-f][0-9A-Fa-f]|[!$&'()*+,;=]|[:@])(?:(?:[A-Za-z0-9]|[-._~]|%[0-9A-Fa-f][0-9A-Fa-f]|[!$&'()*+,;=]|[:@])|/)*(?:\\?\\+(?:[A-Za-z0-9]|[-._~]|%[0-9A-Fa-f][0-9A-Fa-f]|[!$&'()*+,;=]|[:@])(?:(?:[A-Za-z0-9]|[-._~]|%[0-9A-Fa-f][0-9A-Fa-f]|[!$&'()*+,;=]|[:@])|/|\\?)*)?(?:\\?=(?:[A-Za-z0-9]|[-._~]|%[0-9A-Fa-f][0-9A-Fa-f]|[!$&'()*+,;=]|[:@])(?:(?:[A-Za-z0-9]|[-._~]|%[0-9A-Fa-f][0-9A-Fa-f]|[!$&'()*+,;=]|[:@])|/|\\?)*)?(?:#(?:[A-Za-z0-9]|[-._~]|%[0-9A-Fa-f][0-9A-Fa-f]|[!$&'()*+,;=]|[:@])(?:(?:[A-Za-z0-9]|[-._~]|%[0-9A-Fa-f][0-9A-Fa-f]|[!$&'()*+,;=]|[:@])|/|\\?)*)?$",
283
+ "maxLength": 255
284
+ },
285
+ "geopendOp": {
286
+ "type": "string",
287
+ "format": "date-time",
288
+ "nullable": true,
289
+ "description": "Het bericht is door de geadresseerde geopend op dit tijdstip in het portaal van de lokale overheid. Deze waarde is onafhankelijk Mijn Overheid."
290
+ },
291
+ "berichtType": {
292
+ "type": "string",
293
+ "description": "Een code voor het technisch identificeren van een bericht soort & origine. Wordt ook gebruikt in de Mijn Overheid berichtenbox.",
294
+ "maxLength": 8
295
+ },
296
+ "handelingsPerspectief": {
297
+ "type": "string",
298
+ "description": "De door de toegewezen persoon of bedrijf uit te voeren handeling. Bijvoorbeeld: `lezen`, `naleveren`, `invullen`.",
299
+ "maxLength": 50
300
+ },
301
+ "einddatumHandelingsTermijn": {
302
+ "type": "string",
303
+ "format": "date-time",
304
+ "nullable": true,
305
+ "description": "Datum/tijd waarop handeling afgerond moet zijn."
306
+ },
307
+ "mijnOverheidBerichtenbox": {
308
+ "type": "boolean",
309
+ "description": "Geeft aan of dit bericht geschikt is voor publicatie in de MijnOverheid Berichtenbox. Als dit op ``False`` staat, is het bericht niet bedoeld voor publicatie in de Berichtenbox."
310
+ },
311
+ "bijlagen": {
312
+ "type": "array",
313
+ "items": {
314
+ "$ref": "#/components/schemas/Bijlage"
315
+ },
316
+ "description": "Lijst van bijlagen bij het bericht. Let op; In het geval dat dit bericht naar de Mijn Overheid Berichtenbox moet, moet rekening gehouden worden met de requirements van Logius in haar technische aansluithandleiding."
317
+ }
318
+ },
319
+ "required": [
320
+ "berichtTekst",
321
+ "mijnOverheidBerichtenbox",
322
+ "onderwerp",
323
+ "ontvanger",
324
+ "url",
325
+ "urn",
326
+ "uuid"
327
+ ]
328
+ },
329
+ "Bijlage": {
330
+ "type": "object",
331
+ "properties": {
332
+ "informatieObject": {
333
+ "type": "string",
334
+ "format": "urn",
335
+ "example": "urn:namespace:component:resource:uuid",
336
+ "description": "URN naar het ENKELVOUDIGINFORMATIEOBJECT. Bijvoorbeeld: `urn:nld:gemeenteutrecht:informatieobject:uuid:717815f6-1939-4fd2-93f0-83d25bad154e`",
337
+ "pattern": "^urn:[A-Za-z0-9](?:[A-Za-z0-9]|-){0,30}[A-Za-z0-9]:(?:[A-Za-z0-9]|[-._~]|%[0-9A-Fa-f][0-9A-Fa-f]|[!$&'()*+,;=]|[:@])(?:(?:[A-Za-z0-9]|[-._~]|%[0-9A-Fa-f][0-9A-Fa-f]|[!$&'()*+,;=]|[:@])|/)*(?:\\?\\+(?:[A-Za-z0-9]|[-._~]|%[0-9A-Fa-f][0-9A-Fa-f]|[!$&'()*+,;=]|[:@])(?:(?:[A-Za-z0-9]|[-._~]|%[0-9A-Fa-f][0-9A-Fa-f]|[!$&'()*+,;=]|[:@])|/|\\?)*)?(?:\\?=(?:[A-Za-z0-9]|[-._~]|%[0-9A-Fa-f][0-9A-Fa-f]|[!$&'()*+,;=]|[:@])(?:(?:[A-Za-z0-9]|[-._~]|%[0-9A-Fa-f][0-9A-Fa-f]|[!$&'()*+,;=]|[:@])|/|\\?)*)?(?:#(?:[A-Za-z0-9]|[-._~]|%[0-9A-Fa-f][0-9A-Fa-f]|[!$&'()*+,;=]|[:@])(?:(?:[A-Za-z0-9]|[-._~]|%[0-9A-Fa-f][0-9A-Fa-f]|[!$&'()*+,;=]|[:@])|/|\\?)*)?$",
338
+ "maxLength": 255
339
+ },
340
+ "omschrijving": {
341
+ "type": "string",
342
+ "description": "Een korte omschrijving of de titel van de bijlage. Deze wordt typisch getoond in een portaal.",
343
+ "maxLength": 40
344
+ },
345
+ "isBerichtTypeBijlage": {
346
+ "type": "boolean",
347
+ "default": false,
348
+ "description": "Geeft aan of dit document een standaardbijlage is die vooraf geüpload is in het Berichtenbox Leveranciersportaal. Standaard `false`. Indien `true` moet deze bijlage door het outputmanagementcomponent genegeerd worden - als de Berichtenbox het doelkanaal is."
349
+ }
350
+ },
351
+ "required": [
352
+ "informatieObject"
353
+ ]
354
+ },
355
+ "PaginatedBerichtList": {
356
+ "type": "object",
357
+ "required": [
358
+ "count",
359
+ "results"
360
+ ],
361
+ "properties": {
362
+ "count": {
363
+ "type": "integer",
364
+ "example": 123
365
+ },
366
+ "next": {
367
+ "type": "string",
368
+ "nullable": true,
369
+ "format": "uri",
370
+ "example": "http://api.example.org/accounts/?page=4"
371
+ },
372
+ "previous": {
373
+ "type": "string",
374
+ "nullable": true,
375
+ "format": "uri",
376
+ "example": "http://api.example.org/accounts/?page=2"
377
+ },
378
+ "results": {
379
+ "type": "array",
380
+ "items": {
381
+ "$ref": "#/components/schemas/Bericht"
382
+ }
383
+ }
384
+ }
385
+ },
386
+ "PatchedBerichtGeopendOp": {
387
+ "type": "object",
388
+ "properties": {
389
+ "geopendOp": {
390
+ "type": "string",
391
+ "format": "date-time",
392
+ "nullable": true,
393
+ "description": "Het bericht is door de geadresseerde geopend op dit tijdstip in het portaal van de lokale overheid. Deze waarde is onafhankelijk Mijn Overheid."
394
+ }
395
+ }
396
+ }
397
+ },
398
+ "securitySchemes": {
399
+ "OpenID": {
400
+ "type": "openIdConnect",
401
+ "openIdConnectUrl": "https://example.com/.well-known/openid-configuration"
402
+ },
403
+ "tokenAuth": {
404
+ "type": "apiKey",
405
+ "in": "header",
406
+ "name": "Authorization",
407
+ "description": "Token-based authentication with required prefix \"Token\""
408
+ }
409
+ }
410
+ },
411
+ "servers": [
412
+ {
413
+ "url": "/berichten/api/v1"
414
+ }
415
+ ],
416
+ "tags": [
417
+ {
418
+ "name": "berichten"
419
+ }
420
+ ]
421
+ }
package/openapi.yaml ADDED
@@ -0,0 +1,306 @@
1
+ openapi: 3.0.3
2
+ info:
3
+ title: Berichten API
4
+ version: 0.1.0
5
+ description: |
6
+ De berichten-service bestaat uit een beschrijving van afspraken, standaarden en referentiecomponenten aangevuld met interactiepatronen, ontwerpbesluiten en aanbevelingen. Het Berichten-patroon biedt een gestandaardiseerde, flexibele oplossing voor de communicatie tussen inwoners, ondernemers en gemeenten via digitale kanalen. Met dit patroon kunnen berichten eenvoudig geregistreerd worden en door verschillende applicaties worden opgehaald, weergegeven en verwerkt. In tegenstelling tot traditionele berichtgevingen (zoals e-mail), zijn berichten centraal geregistreerd en kunnen ze eenvoudig getoond en gerelateerd worden naast zaken, taken of producten binnen het gemeentelijke landschap.
7
+
8
+ **URN Pattern**
9
+
10
+ Open VTB uses URNs (Uniform Resource Names) to link to other resources, below is a description of the pattern that should be used.
11
+
12
+ **Syntax:**
13
+
14
+ `urn:<NID>:<NSS>[#<f-component>]`
15
+
16
+ **Parts:**
17
+
18
+ - `urn:` (required): fixed prefix for all URNs, every URN must start with this prefix.
19
+ - `NID` (required): Namespace Identifier: alphanumeric characters, e.g. `nld`.
20
+ - `NSS` (required): Namespace Specific String identifying the object, e.g. `brp:bsn:111222333`.
21
+ - `f-component` (optional): Optional component preceded by `#`, e.g. `#section1`.
22
+
23
+ **Examples:**
24
+
25
+ `urn:namespace:component:resource:uuid`, `urn:example:foo#bar`
26
+
27
+ For more information, see the official specification: https://datatracker.ietf.org/doc/html/rfc8141
28
+ contact:
29
+ email: standaarden.ondersteuning@vng.nl
30
+ name: VNG
31
+ url: https://zaakgerichtwerken.vng.cloud
32
+ license:
33
+ name: EUPL 1.2
34
+ url: https://opensource.org/licenses/EUPL-1.2
35
+ paths:
36
+ /berichten:
37
+ get:
38
+ operationId: berichtenList
39
+ description: Vraag alle berichten aan.
40
+ summary: Vraag alle berichten aan.
41
+ parameters:
42
+ - name: page
43
+ required: false
44
+ in: query
45
+ description: Een pagina binnen de gepagineerde set resultaten.
46
+ schema:
47
+ type: integer
48
+ - name: pageSize
49
+ required: false
50
+ in: query
51
+ description: 'Het aantal resultaten terug te geven per pagina. (default: 100, maximum: 500).'
52
+ schema:
53
+ type: integer
54
+ tags:
55
+ - berichten
56
+ security:
57
+ - OpenID: []
58
+ - tokenAuth: []
59
+ responses:
60
+ '200':
61
+ headers:
62
+ API-version:
63
+ schema:
64
+ type: string
65
+ description: 'Geeft een specifieke API-versie aan in de context van een specifieke aanroep. Voorbeeld: 1.2.1.'
66
+ content:
67
+ application/json:
68
+ schema:
69
+ $ref: '#/components/schemas/PaginatedBerichtList'
70
+ description: ''
71
+ post:
72
+ operationId: berichtenCreate
73
+ description: Maak een bericht aan.
74
+ summary: Maak een bericht aan.
75
+ tags:
76
+ - berichten
77
+ requestBody:
78
+ content:
79
+ application/json:
80
+ schema:
81
+ $ref: '#/components/schemas/Bericht'
82
+ required: true
83
+ security:
84
+ - OpenID: []
85
+ - tokenAuth: []
86
+ responses:
87
+ '201':
88
+ headers:
89
+ API-version:
90
+ schema:
91
+ type: string
92
+ description: 'Geeft een specifieke API-versie aan in de context van een specifieke aanroep. Voorbeeld: 1.2.1.'
93
+ content:
94
+ application/json:
95
+ schema:
96
+ $ref: '#/components/schemas/Bericht'
97
+ description: ''
98
+ /berichten/{uuid}:
99
+ get:
100
+ operationId: berichtenRetrieve
101
+ description: Een specifiek bericht opvragen.
102
+ summary: Een specifiek bericht opvragen.
103
+ parameters:
104
+ - in: path
105
+ name: uuid
106
+ schema:
107
+ type: string
108
+ format: uuid
109
+ description: Unieke identificatiecode (UUID4) voor het Bericht.
110
+ required: true
111
+ tags:
112
+ - berichten
113
+ security:
114
+ - OpenID: []
115
+ - tokenAuth: []
116
+ responses:
117
+ '200':
118
+ headers:
119
+ API-version:
120
+ schema:
121
+ type: string
122
+ description: 'Geeft een specifieke API-versie aan in de context van een specifieke aanroep. Voorbeeld: 1.2.1.'
123
+ content:
124
+ application/json:
125
+ schema:
126
+ $ref: '#/components/schemas/Bericht'
127
+ description: ''
128
+ patch:
129
+ operationId: berichtenPartialUpdate
130
+ description: Werk het veld 'geopendOp' van een bericht bij.
131
+ summary: Werk het veld 'geopendOp' van een bericht bij.
132
+ parameters:
133
+ - in: path
134
+ name: uuid
135
+ schema:
136
+ type: string
137
+ format: uuid
138
+ description: Unieke identificatiecode (UUID4) voor het Bericht.
139
+ required: true
140
+ tags:
141
+ - berichten
142
+ requestBody:
143
+ content:
144
+ application/json:
145
+ schema:
146
+ $ref: '#/components/schemas/PatchedBerichtGeopendOp'
147
+ security:
148
+ - OpenID: []
149
+ - tokenAuth: []
150
+ responses:
151
+ '200':
152
+ headers:
153
+ API-version:
154
+ schema:
155
+ type: string
156
+ description: 'Geeft een specifieke API-versie aan in de context van een specifieke aanroep. Voorbeeld: 1.2.1.'
157
+ content:
158
+ application/json:
159
+ schema:
160
+ $ref: '#/components/schemas/Bericht'
161
+ description: ''
162
+ components:
163
+ schemas:
164
+ Bericht:
165
+ type: object
166
+ properties:
167
+ url:
168
+ type: string
169
+ format: uri
170
+ readOnly: true
171
+ description: De unieke URL van het Bericht binnen deze API.
172
+ minLength: 1
173
+ maxLength: 1000
174
+ urn:
175
+ type: string
176
+ format: urn
177
+ example: urn:namespace:component:resource:uuid
178
+ readOnly: true
179
+ description: De Uniform Resource Name van het Bericht.
180
+ uuid:
181
+ type: string
182
+ format: uuid
183
+ readOnly: true
184
+ description: Unieke identificatiecode (UUID4) voor het Bericht.
185
+ onderwerp:
186
+ type: string
187
+ description: Onderwerp van het bericht.
188
+ maxLength: 50
189
+ berichtTekst:
190
+ type: string
191
+ description: Tekst van het bericht. URLs worden altijd weergegeven als klikbare URLs op alle portalen. Voor portalen van lokale overheden is de basic syntax van Markdown toegestaan, voor de Mijn Overheid berichtenbox enkel newlines (\r\n).
192
+ maxLength: 4000
193
+ publicatiedatum:
194
+ type: string
195
+ format: date-time
196
+ nullable: true
197
+ description: Datum/tijd waarop bericht zichtbaar moet worden voor de ontvanger. Dit geldt voor zowel de Mijn Overheid berichtenbox als het portaal van de lokale overheid. De standaardwaarde is de huidige datum/tijd.
198
+ referentie:
199
+ type: string
200
+ description: Zenderreferentie / interne referentie.
201
+ maxLength: 25
202
+ ontvanger:
203
+ type: string
204
+ format: urn
205
+ example: urn:namespace:component:resource:uuid
206
+ description: 'URN van een NATUURLIJK PERSOON of NIET-NATUURLIJK PERSOON. Bijvoorbeeld: `urn:nld:brp:bsn:111222333`, `urn:nld:hr:kvknummer:444555666` of `urn:nld:hr:kvknummer:444555666:vestigingsnummer:777888999`'
207
+ pattern: ^urn:[A-Za-z0-9](?:[A-Za-z0-9]|-){0,30}[A-Za-z0-9]:(?:[A-Za-z0-9]|[-._~]|%[0-9A-Fa-f][0-9A-Fa-f]|[!$&'()*+,;=]|[:@])(?:(?:[A-Za-z0-9]|[-._~]|%[0-9A-Fa-f][0-9A-Fa-f]|[!$&'()*+,;=]|[:@])|/)*(?:\?\+(?:[A-Za-z0-9]|[-._~]|%[0-9A-Fa-f][0-9A-Fa-f]|[!$&'()*+,;=]|[:@])(?:(?:[A-Za-z0-9]|[-._~]|%[0-9A-Fa-f][0-9A-Fa-f]|[!$&'()*+,;=]|[:@])|/|\?)*)?(?:\?=(?:[A-Za-z0-9]|[-._~]|%[0-9A-Fa-f][0-9A-Fa-f]|[!$&'()*+,;=]|[:@])(?:(?:[A-Za-z0-9]|[-._~]|%[0-9A-Fa-f][0-9A-Fa-f]|[!$&'()*+,;=]|[:@])|/|\?)*)?(?:#(?:[A-Za-z0-9]|[-._~]|%[0-9A-Fa-f][0-9A-Fa-f]|[!$&'()*+,;=]|[:@])(?:(?:[A-Za-z0-9]|[-._~]|%[0-9A-Fa-f][0-9A-Fa-f]|[!$&'()*+,;=]|[:@])|/|\?)*)?$
208
+ maxLength: 255
209
+ geopendOp:
210
+ type: string
211
+ format: date-time
212
+ nullable: true
213
+ description: Het bericht is door de geadresseerde geopend op dit tijdstip in het portaal van de lokale overheid. Deze waarde is onafhankelijk Mijn Overheid.
214
+ berichtType:
215
+ type: string
216
+ description: Een code voor het technisch identificeren van een bericht soort & origine. Wordt ook gebruikt in de Mijn Overheid berichtenbox.
217
+ maxLength: 8
218
+ handelingsPerspectief:
219
+ type: string
220
+ description: 'De door de toegewezen persoon of bedrijf uit te voeren handeling. Bijvoorbeeld: `lezen`, `naleveren`, `invullen`.'
221
+ maxLength: 50
222
+ einddatumHandelingsTermijn:
223
+ type: string
224
+ format: date-time
225
+ nullable: true
226
+ description: Datum/tijd waarop handeling afgerond moet zijn.
227
+ mijnOverheidBerichtenbox:
228
+ type: boolean
229
+ description: Geeft aan of dit bericht geschikt is voor publicatie in de MijnOverheid Berichtenbox. Als dit op ``False`` staat, is het bericht niet bedoeld voor publicatie in de Berichtenbox.
230
+ bijlagen:
231
+ type: array
232
+ items:
233
+ $ref: '#/components/schemas/Bijlage'
234
+ description: Lijst van bijlagen bij het bericht. Let op; In het geval dat dit bericht naar de Mijn Overheid Berichtenbox moet, moet rekening gehouden worden met de requirements van Logius in haar technische aansluithandleiding.
235
+ required:
236
+ - berichtTekst
237
+ - mijnOverheidBerichtenbox
238
+ - onderwerp
239
+ - ontvanger
240
+ - url
241
+ - urn
242
+ - uuid
243
+ Bijlage:
244
+ type: object
245
+ properties:
246
+ informatieObject:
247
+ type: string
248
+ format: urn
249
+ example: urn:namespace:component:resource:uuid
250
+ description: 'URN naar het ENKELVOUDIGINFORMATIEOBJECT. Bijvoorbeeld: `urn:nld:gemeenteutrecht:informatieobject:uuid:717815f6-1939-4fd2-93f0-83d25bad154e`'
251
+ pattern: ^urn:[A-Za-z0-9](?:[A-Za-z0-9]|-){0,30}[A-Za-z0-9]:(?:[A-Za-z0-9]|[-._~]|%[0-9A-Fa-f][0-9A-Fa-f]|[!$&'()*+,;=]|[:@])(?:(?:[A-Za-z0-9]|[-._~]|%[0-9A-Fa-f][0-9A-Fa-f]|[!$&'()*+,;=]|[:@])|/)*(?:\?\+(?:[A-Za-z0-9]|[-._~]|%[0-9A-Fa-f][0-9A-Fa-f]|[!$&'()*+,;=]|[:@])(?:(?:[A-Za-z0-9]|[-._~]|%[0-9A-Fa-f][0-9A-Fa-f]|[!$&'()*+,;=]|[:@])|/|\?)*)?(?:\?=(?:[A-Za-z0-9]|[-._~]|%[0-9A-Fa-f][0-9A-Fa-f]|[!$&'()*+,;=]|[:@])(?:(?:[A-Za-z0-9]|[-._~]|%[0-9A-Fa-f][0-9A-Fa-f]|[!$&'()*+,;=]|[:@])|/|\?)*)?(?:#(?:[A-Za-z0-9]|[-._~]|%[0-9A-Fa-f][0-9A-Fa-f]|[!$&'()*+,;=]|[:@])(?:(?:[A-Za-z0-9]|[-._~]|%[0-9A-Fa-f][0-9A-Fa-f]|[!$&'()*+,;=]|[:@])|/|\?)*)?$
252
+ maxLength: 255
253
+ omschrijving:
254
+ type: string
255
+ description: Een korte omschrijving of de titel van de bijlage. Deze wordt typisch getoond in een portaal.
256
+ maxLength: 40
257
+ isBerichtTypeBijlage:
258
+ type: boolean
259
+ default: false
260
+ description: Geeft aan of dit document een standaardbijlage is die vooraf geüpload is in het Berichtenbox Leveranciersportaal. Standaard `false`. Indien `true` moet deze bijlage door het outputmanagementcomponent genegeerd worden - als de Berichtenbox het doelkanaal is.
261
+ required:
262
+ - informatieObject
263
+ PaginatedBerichtList:
264
+ type: object
265
+ required:
266
+ - count
267
+ - results
268
+ properties:
269
+ count:
270
+ type: integer
271
+ example: 123
272
+ next:
273
+ type: string
274
+ nullable: true
275
+ format: uri
276
+ example: http://api.example.org/accounts/?page=4
277
+ previous:
278
+ type: string
279
+ nullable: true
280
+ format: uri
281
+ example: http://api.example.org/accounts/?page=2
282
+ results:
283
+ type: array
284
+ items:
285
+ $ref: '#/components/schemas/Bericht'
286
+ PatchedBerichtGeopendOp:
287
+ type: object
288
+ properties:
289
+ geopendOp:
290
+ type: string
291
+ format: date-time
292
+ nullable: true
293
+ description: Het bericht is door de geadresseerde geopend op dit tijdstip in het portaal van de lokale overheid. Deze waarde is onafhankelijk Mijn Overheid.
294
+ securitySchemes:
295
+ OpenID:
296
+ type: openIdConnect
297
+ openIdConnectUrl: https://example.com/.well-known/openid-configuration
298
+ tokenAuth:
299
+ type: apiKey
300
+ in: header
301
+ name: Authorization
302
+ description: Token-based authentication with required prefix "Token"
303
+ servers:
304
+ - url: /berichten/api/v1
305
+ tags:
306
+ - name: berichten
package/package.json ADDED
@@ -0,0 +1,31 @@
1
+ {
2
+ "name": "@vng-api/openvtb-berichten",
3
+ "version": "0.1.0",
4
+ "description": "OpenAPI-specificatie voor Berichten API — De berichten-service bestaat uit een beschrijving van afspraken, standaarden en referentiecomponenten aangevuld met interactiepatronen, ontwerpbesluiten en aanbevelingen. Het Berichten-patroon biedt een gesta",
5
+ "main": "openapi.json",
6
+ "exports": {
7
+ ".": "./openapi.json",
8
+ "./openapi.json": "./openapi.json",
9
+ "./openapi.yaml": "./openapi.yaml"
10
+ },
11
+ "files": [
12
+ "openapi.yaml",
13
+ "openapi.json",
14
+ "README.md"
15
+ ],
16
+ "keywords": [
17
+ "openapi",
18
+ "vng",
19
+ "api",
20
+ "openvtb-berichten"
21
+ ],
22
+ "repository": {
23
+ "type": "git",
24
+ "url": "git+https://github.com/VNG-Realisatie/Interactie-APIs.git",
25
+ "directory": "apis/rest/openvtb-berichten"
26
+ },
27
+ "homepage": "https://github.com/VNG-Realisatie/Interactie-APIs",
28
+ "publishConfig": {
29
+ "access": "public"
30
+ }
31
+ }