Vanuit een DMS kan een verzoek gedaan worden aan OpenWave om een zaak aan te maken. Hieronder een beschrijving van welke berichten daartoe uitgewisseld moeten worden, welke instellingen aan OpenWave-kant noodzakelijk zijn en welke onderdelen van het antwoord op geefZaakDetails door OpenWave verwerkt worden.
Naast de noodzakelijke instellingen geldt:
Het externe zaaksysteem/dms roept het SOAP-endpoint base-url/api/stuf/ontvangAsynchroonOverdragen van OpenWave aan met het verzoekbericht overdragenZaak_Di01.
Een base-URL is een implementatie van OpenWave zoals bijvoorbeeld https://acceptatie.rommeldam.open-wave.nl.
De wsdl van het endpoint is bereikbaar op base-url/api/stuf/ontvangAsynchroonOverdragen.wsdl
De OpenWave StUF webservice op dat SOAP-endpoint maakt gebruik van 2-way SSL onder het TLS1.2 encryptieprotocol.
De authenticatie gebeurt op endpoint-niveau door controle op IP-adres en aangeleverd client-certificaat: het IP-adres en de fingerprint van het client-certificaat van het externe zaaksysteem/dms wordt door OpenWave gecontroleerd in de tabel tbendpointlist (beheerportaal: zie Endpoints whitelist):
Indien het bericht van het externe zaak/dms systeem NIET door deze firewall heen komt, wordt de HTTP-code 401 geretourneerd.
Indien het bericht van het externe zaak/dms systeem NIET door de firewall heen komt, wordt de HTTP-code 401 geretourneerd.
Indien het bericht van het externe zaak/dms systeem WEL door de firewall heen is, antwoord Openwave ongezien op het overdragenZaak_Di01- bericht met een Bv03 (bevestigings-)bericht.
Beide berichten worden opgeslagen in de messagelog-tabel onder de rubriek: DMS overdragenZaak mits de instellingen sectie Koppeling ZAAK en item: Messagelog EN de instelling Sectie: OWB en Item: MessageLog aangevinkt staan.
voorbeeld overdragenZaak_Di01
<?xml version="1.0" encoding="utf-16"?> <overdragenZaak_Di01 xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.stufstandaarden.nl/koppelvlak/zds0120"> <stuurgegevens xmlns="http://www.egem.nl/StUF/sector/zkn/0310"> <berichtcode xmlns="http://www.egem.nl/StUF/StUF0301">Di01</berichtcode> <zender xmlns="http://www.egem.nl/StUF/StUF0301"> <organisatie>Rommeldam</organisatie> <applicatie>RDApp</applicatie> <gebruiker/> </zender> <ontvanger xmlns="http://www.egem.nl/StUF/StUF0301"> <organisatie>ODRommeldam</organisatie> <applicatie>Openwave</applicatie> </ontvanger> <referentienummer xmlns="http://www.egem.nl/StUF/StUF0301" >93b81f42-f8ca-4221-97a3-7297f77f7544</referentienummer> <tijdstipBericht xmlns="http://www.egem.nl/StUF/StUF0301" >20250725104913460</tijdstipBericht> <functie xmlns="http://www.egem.nl/StUF/StUF0301">overdragenZaak</functie> </stuurgegevens> <object xmlns:d4p1="http://www.egem.nl/StUF/StUF0301" xmlns="http://www.egem.nl/StUF/sector/zkn/0310" d4p1:entiteittype="ZAK" d4p1:functie="entiteit"> <identificatie>ROM123456</identificatie> <isVan d4p1:entiteittype="ZAKZKT"> <gerelateerde d4p1:entiteittype="ZKT"> <omschrijving>Aanvraag straatfeest</omschrijving> <code>24026</code> </gerelateerde> </isVan> </object> </overdragenZaak_Di01>
OpenWave vraagt aan het externe Zaak/DMS systeem de zaakgegevens op. Uit het ontvangen overdragenZaak_diO1 bericht worden twee gegevens gebruikt: de Zender: <stuurgegevens><zender><organisatie> en de Dmszaakidentificatie: <object><identificatie>.
ROM123456 in bovenstaand voorbeeld is de identificatie waaronder de zaak in het externe zaak/dms bekend is.
Rommeldam is daarin de naam van de zender-organisatie.
De Zender wordt opgezocht in de medewerkerstabel in de kolom dvloginnaam. Op grond van bovenstaand voorbeeld zou de zender-organisatie Rommeldam dus moeten voorkomen in de dvloginnaam van de medewerkerstabel (en maar één keer). Deze robot-medewerker:
Indien GEEN robot-medewerker gevonden dan:
Openwave zoekt in de betreffende kaart van tb33gemeente naar de noodzakelijke StUf stuurgegevens-instellingen en certificaat-gegevens om een bericht aan het externe zaak/dms te kunnen sturen.
In het blok StUF zaak/dms endpoint credentials dienen de kolommen
In het blok StUF zaak/dms stuurgegevens dienen de kolommen
En indien het externe zaak/dms dat verlangt kunnen ook de kolommen administratie en gebruiker worden gevuld.
Bovenstaande waarden moeten afgestemd zijn met het externe zaak/dms.
Indien GEEN kaart gevonden in tb33gemeente OF endpointgegevens en/of stuurgegevens en/of certificaat gegevens zijn niet compleet dan
Alles wel OK dan verzendt OpenWave het geefZaakDetails_ZakLv01 naar het beantwoordVraag -endpoint met het verzoek om alle zaakdetails te retourneren voor het betreffende Dmszaakidentificatienummer.
Het externe zaak/dms antwoord synchroon met een geefZaakDetails_ZakLa01.
Beide berichten worden opgeslagen in de messagelog-tabel onder de rubriek: DMS overdragenZaak mits de instellingen sectie Koppeling ZAAK en item: Messagelog EN de instelling Sectie: OWB en Item: MessageLog aangevinkt staan.
Antwoordbericht niet volledig
Het antwoordbericht kan een fault-bericht zijn (zie messagelog). In dat geval gaat iets mis in het transport.
Het antwoordbericht kan wel een geefZaakDetails_ZakLa01 bericht zijn, maar het blok <antwoord> ontbreekt daarin.
In beide gevallen verzendt Openwave het slotbericht overdragenZaak_Du01 naar het ontvangasynchroon endpoint van het externe zaak/dms. In dat bericht in de tag <antwoord> de boodschap: overdracht geweigerd.. Het externe zaak/dms antwoord hierop met een Bv03-bericht.
Beide berichten worden opgeslagen in de messagelog-tabel onder de rubriek: DMS overdragenZaak mits de instellingen sectie Koppeling ZAAK en item: Messagelog EN de instelling Sectie: OWB en Item: MessageLog aangevinkt staan.
Zoek mapping zaaktype
Indien het antwoordbericht geefZaakDetails_ZakLa01 WEL volledig is, dan is in de tag <antwoord><object><IsVan><code> het zaaktype opgenomen, waaronder de zaak in het externe zaak/dms bekend is. OpenWave zoekt deze codering op in de kolom dvdmszaaktypecode van de tabel zaaktypes omgeving (tbsoortomgverg) onder de niet vervallen rijen waarvan de kolom dlnaardms aangevinkt is.
Indien niet gevonden dan wordt dezelfde zoekopracht uitgevoerd maar dan in de tabel zaaktypes apv/overig (tbsoortovverg).
Indien er meerdere gegadigden zijn, dan wordt de eerste de beste gepakt.
Indien echter geen mapping gevonden voor het zaaktype dan:
Bestaat de zaak al?
De <identificatie> van het antwoordbericht wordt opgezocht in tbomgvergunning.dvintzaakcode en/of in tbovvergunningen.dvintzaakcode. Indien gevonden dan bestaat de zaak reeds en
Controle overige noodzakelijke instellingen
Indien aan deze voorwaarden niet is voldaan dan:
Bepaling perceeladres
Indien het blok <heeftBetekkingOp> met entiteittype= VES bestaat dan wordt de waarde van de tag <vestigingsNummer> opgezocht in tbmilinrichtingen op de kolom dvvestigingsnr. Indien meerdere gegadigden dan wordt de eerste de beste genomen. Het perceeladres is dat van de gevonden inrichting.
Indien niet gevonden dan wordt gezocht op de gegevens uit het blok <verblijfsadres>.
Nog geen perceeladres gevonden, dan wordt gekeken naar het blok met <heeftBetekkingOp> met entiteittype= AOA. Indien daarbinnen de tag <identificatie> is gevuld, dan wordt deze opgezocht in de niet vervallen rijen van tbperceeladressen op respectievelijk de kolommen dvidentificatiecode en dvbagidentcode_3 . Indien niet gevonden dan wordt gezocht op adresgegevens. Indien meerdere gegadigden dan wordt de eerste de beste genomen. Indien nog geen perceeladres gevonden dan wordt Getal2 van de instelling van Sectie: Koppeling Zaak Item: DummyLokatiePerceelkey als tbperceeladressen.dnkey genomen.
Bepaling aanvrager
Indien het blok <heeftAlsInitiator> bestaat met daarbinnen het blok <vestiging> met entiteittype= VES dan:
Anders, Indien het blok <heeftAlsInitiator> bestaat met daarbinnen het blok <natuurlijkPersoon> met entiteittype= NPS dan:
Anders, Indien het blok <heeftAlsInitiator> bestaat met daarbinnen het blok <nietNatuurlijkPersoon> met entiteittype= NNP dan:
Anders, indien nog steeds geen contactadres gevonden of aangemaakt voor de aanvrager dan:
Bepaling gemachtigde
Idem als bij aanvrager maar nu bij blok <heeftAlsGemachtigde>. Een gemachtigde hoeft niet opgenomen te zijn in het bericht.
Aanmaken zaak in tbomgvergunning of in tbovvergunningen
Op grond van de gevonden mapping van het zaaktype maakt OpenWave een zaak aan in tbomgvergunning of in tbovvergunningen, gekoopeld aan het gevonden perceeladres, waarbij (in geval van omgevingzaak) :
Behandelaar en aanvrager/gemachtigde toevoegen
Op grond van de gevonden defaultbehandelaar uit de zaaktypes in tbsoortomgverg of tbsoortovverg wordt de behandelaar in tbinbehandelingbij toegveoegd (indien leeg dan valt OpenWave terug op de kolom Tekst van de instelling Sectie: Koppeling OLO en Item: dossierbehandelaar.
De aanvrager wordt toegevoegd aan de zaak (tbomgcontactennn of tbovcontactennn) met de adresrol AVR en de eventuele gemachtigde onder de rol GEM.
Processen, mappen en hyperlinks aanmaken
Zoals bij een handmatig aangemaakte zaak worden nu processen toegevoegd, mappen aangemaakt en hyperlink gevuld. Mits zo is ingesteld.
Verzenden slotbericht overdragenZaak_Du01 met succesmelding
Tot slot wordt het bericht overdragenZaak_Du01 naar het ontvangasynchroon endpoint van het externe zaak/dms gestuurd. In dat bericht in de tag <antwoord> de boodschap: overdracht geaccepteerd en in de tag <melding> de wavezaakcode waaronder de zaak is aangemaakt in OpenWave en in de tag <identificatie> het oorspronkelijke identificatienummer van het externe zaaksysteem.
Het externe zaak/dms antwoord hierop met een Bv03-bericht.
Beide berichten worden gelogd in de messagelog-tabel onder de rubriek: DMS overdragenZaak mits de instellingen sectie Koppeling ZAAK en item: Messagelog EN de instelling Sectie: OWB en Item: MessageLog aangevinkt staan.
Indien overdracht geaccepteerd dan komt in de kolom dvmessage_casid de wavezaakcode van de net aangemaakte zaak.