Externe documenten opzoeken bij Officele Bekendmakingen

Officiele bekendmakingen kunnen gepaard gaan met begeleidende documenten die ook ter inzage gelegd zijn. Op deze wijze ondersteunt de Nederlandse overheid de overgang naar modern digitale terinzagelegging, onder andere via de invoering van de Wet elektronische publicaties.

Enkele voorbeelden van begeleidende documenten met verschillende doelen zijn:

Tot op heden (juni 2025) is er geen bekende manier om direct via de Koop API-driver voor Officiele Publicaties deze documenten op te halen.

In dit topic leer je hoe je de documenten met een meer uitgebreide query toch snel en eenvoudig massaal kunt opvragen. De gekozen aanpak is het uitlezen van de HTML-publicatie via HTML-scraping en daarna de documenten opvragen.

Externe Bijlagen

De volgende query verzamelt PDF’s die als externe bijlage toegevoegd zijn:

--
-- Ophalen externe bijlagen (indien aanwezig en PDF).
--
select eet.EntryIdentifier
,      eet.EntryExternalAttachment
,      xte.Content
,      htp2.CONTENTS_BLOB
from   EntryEnrichments eet
left
outer
join   HTTPDownload@DataDictionary
       ( url => eet.Url
       , diskCache => true
       , diskCacheMaxAgeSec => 24 * 3600 * 30
       , ignoreWebError => true
       ) htp
left
outer
join   xmltable
       ( '/metadata_gegevens/metadata'
         passing htp.contents_char
         columns name varchar2 path '@name'
         ,       content varchar2 path '@content'
       ) xte
on     xte.name = 'OVERHEIDop.externeBijlage'
left
outer
join   HTTPDownload@DataDictionary
       ( url => 'https://repository.officiele-overheidspublicaties.nl/externebijlagen/'
         || xte.content 
         || '/1/Bijlage/'
         || xte.content 
         || '.pdf'
       , diskCache => true
       , diskCacheMaxAgeSec => 24 * 3600 * 30
       , ignoreWebError => true
       ) htp2
where  true
and    eet.EntryIdentifier = 'prb-2014-1564'
and    eet.EntryExternalAttachment is not null
--and    eet.EntryExternalAttachment like 'exb-%'
--and    eet.EntryDate >= trunc(sysdateutc) - 60
--
-- The HTML contains additional information.
--
and    eet.Manifestation = 'metadata'

Het lijkt er op dat externe bijlagen recent weinig gebruikt worden. In de twee maanden voorafgaand aan deze analyse zijn er twee gevonden zijnde gmb-2025-191236 en gmb-2025-191224.

Begeleidende documenten

Documenten die een officiele bekendmaking begeleiden zijn niet opvraagbaar voor zover bekend via XML of de Koop NL API’s. De bepaling of er begeleidende documenten zijn, en zo ja welke, kan door de website zoek.officielebekendmakingen.nl te bezoeken met een vaste URL en deze te scrapen:

--
-- Ophalen documenten (indien aanwezig en PDF).
--
select ety.Identifier
,      ety.Date
,      hte.href
from   Entries ety
join   HTTPDownload@DataDictionary
       ( url => 'https://zoek.officielebekendmakingen.nl/' 
         || ety.Identifier 
         || '/terinzagelegging'
       , diskCache => true
       , diskCacheMaxAgeSec => 24 * 3600 * 30
       , ignoreWebError => true
       ) htp
join   htmltable
       ( '/html/body//a'
         passing htp.contents_char
         columns href varchar2 path '@href'
       ) hte
on     true
and    lower(hte.href) like '%.pdf'
where  true
and    ety.Identifier like 'prb-2025-%'
--and    ety.Identifier = 'prb-2025-8841'
limit 50