Inleiding
De Associations-connector legt een verbinding tussen een Skryv-app en de egovflow verenigingstool, om gegevens op te halen voor de vereniging waarvoor de ingelogde gebruiker aangeduid is als mandataris. De opgehaalde gegevens worden vervolgens opgeslaan in een formulier.
Use case
Authentieke verenigingsgegevens ophalen uit het verenigingsregister en automatisch in een dossierformulier plaatsen, zodat een configurator deze gegevens verder kan gebruiken in het proces (bv. als basis voor een aanvraagformulier of als controle-informatie).
Setup
Onboarding
Voor SkryGov-apps wordt de onboarding automatisch uitgevoerd via het sync-tenant-settings-script, dat de juiste omgevingsproperties instelt op basis van de omgeving van de app.
Voor DIY-apps voeg je deze properties zelf toe via de zarnstate (zie "Applicatie eigenschappen" hieronder).
Dependency toevoegen in het pom.xml bestand
Voeg onderstaande dependency toe aan het pom.xml bestand van je applicatie. Dit zorgt ervoor dat de connector code ingeladen wordt bij de build van de applicatie.
<dependency>
<groupId>com.skryv.connectors</groupId>
<artifactId>associations</artifactId>
</dependency>
Applicatie eigenschappen
De verenigingstool draait op 4 omgevingen: integration, uat, staging en production. Gebruik bij het opzetten van je app de properties die overeenkomen met de omgeving die je gebruikt:
-
Voor SkryGov-apps: dezelfde omgeving als die van de app zelf.
-
Voor DIY-apps: preview-apps komen overeen met staging, productie-apps met production.
Omgevingsvariabele:
"SKRYV_CONNECTORS_ASSOCIATIONS_ORGANISATIONID": "{egovflow-organisation-id}"
Secrets (dezelfde voor alle apps binnen dezelfde omgeving van de verenigingstool, dus maar één keer toe te voegen aan AWS):
"SKRYV_CONNECTORS_ASSOCIATIONS_CLIENTID": "/skryv/connectors/associations/{environment}/client-id"
"SKRYV_CONNECTORS_ASSOCIATIONS_CLIENTSECRET": "/skryv/connectors/associations/{environment}/client-secret"
"SKRYV_CONNECTORS_ASSOCIATIONS_TOKENURL": "/skryv/connectors/associations/{environment}/token-url"
"SKRYV_CONNECTORS_ASSOCIATIONS_HOST": "/skryv/connectors/associations/{environment}/host"
Formulierdefinitie toevoegen in root directory
De connector schrijft zijn resultaat weg naar een formulier in de app. Voeg daarom een nieuwe root-formulierdefinitie toe met de naam verenigingsgegevens.
Services en functies
Overzicht
|
Functie |
Retourtype |
Info |
|---|---|---|
|
|
Haalt basisgegevens op over de vereniging waarvoor de ingelogde gebruiker als mandaathouder geregistreerd is. |
Onderstaande functie is, naast de workflow expressie, ook rechtstreeks aanroepbaar vanuit Java-code door AssociationsCamundaConnector (bean associationsCamundaConnector) te injecteren in je klasse.
@RequiredArgsConstructor
public class MyOwnService {
private final AssociationsCamundaConnector associationsCamundaConnector;
}
createAssociationDataDocument
Workflow expression
${associationsCamundaConnector.createAssociationDataDocument(execution.processBusinessKey, vCode, ipdcCode)}
Java-code
associationsCamundaConnector.createAssociationDataDocument(dossierId, vCode, ipdcCode);
Input
|
Inputparameters |
Data type |
Voorbeeld |
Uitleg |
|---|---|---|---|
|
|
String (GUID) |
|
Unieke id van het dossier. |
|
|
String |
'V1080706' |
Uniek identificatienummer van de vereniging binnen het verenigingsregister. |
|
|
String |
'1808' |
IPDC-toegangscode die de aansluitingsrechten identificeert (analoog aan |
Output
Deze functie retourneert niets aan het proces (void).
Het resultaat wordt rechtstreeks opgeslagen in het dossierformulier verenigingsgegevens. Hierin komen onder meer volgende gegevens terecht.
|
Element naam |
Element type |
Uitleg |
|---|---|---|
|
Naam |
|
Officiële naam van de vereniging |
|
Korte naam |
|
|
|
Roepnaam |
|
|
|
Omschrijving |
|
|
|
Oprichtingsdatum |
|
|
|
Einddatum |
|
|
|
Doelgroep |
|
Minimale en maximale leeftijd |
|
Status |
|
|
|
Hoofdactiviteiten |
|
|
|
Contactgegevens |
|
|
|
Locaties |
|
|
|
Vertegenwoordigers |
|
|
|
Erkenningen |
|
|
|
Rekeningnummers |
|
|
Ontbrekende gegevens in het antwoord van de verenigingstool worden als lege lijst of leeg object weergegeven in plaats van null. Je hoeft in je eigen logica dus geen extra null-checks te voorzien op deze velden.
Error-handling
Deze REST-connector werkt niet met foutcodes of een klassieke Uitzonderingen-lijst. Elke fout, waaronder zowel een technische exceptie (bv. tokenophaling mislukt, netwerkfout, HTTP-foutstatus) als een technisch geldig maar leeg antwoord (geen verenigingsgegevens gevonden voor de opgegeven vCode), wordt omgezet naar dezelfde BPMN-error (get-association-data-failed). Vang deze op via een error boundary event op de service task.