1
Wat je nodig hebt
eID 2 FMP draait op een iPhone of een iPad met iOS of iPadOS 26.5 of nieuwer. Om een kaart te kunnen lezen heb je twee dingen nodig die niet in de app zitten.
- Een bluetooth-kaartlezer. De Zetes Sipiro M BT 4.0, in de handel ook bekend als de FEITIAN bR301BLE. Dat is het model waarmee de app gebouwd en afgesteld is.
- Een Belgische identiteitskaart. De contactchip, niet de NFC-kant.
En voor de brug naar FileMaker
- FileMaker Go op hetzelfde toestel, versie 19 of nieuwer.
- Een FileMaker-bestand met het uitgebreide voorrecht
fmurlscriptaangevinkt. Zonder dat voorrecht weigert Go elk script dat van buitenaf komt.
Waar koop je zo'n lezer?
- Richtprijs — € 85 excl. btw
- Levering — 1 à 2 werkdagen
- Verzending — gratis vanaf twee toestellen
- Te koop bij — eidshop.be
- In de doos — de lezer en een oplaadkabel USB-A naar USB-C, 24 maanden garantie
2
De kaartlezer koppelen
Je koppelt de lezer niet via de Bluetooth-instellingen van iOS, maar in de app zelf. Dat is geen eigenaardigheid van eID 2 FMP: deze lezers melden zich niet aan als toetsenbord of hoofdtelefoon, en verschijnen daarom niet in die lijst.
- Zet de lezer aanHoud de knop ingedrukt tot het blauwe lampje knippert.
- Open eID 2 FMP en tik op LezerHet zoekscherm gaat open en begint meteen te scannen.
- Wacht tot je toestel in de lijst staatLezers van dit merk staan bovenaan, met een aanduiding hoe dichtbij ze zijn. Andere bluetooth-apparaten in de buurt staan er ook bij — handig om te zien dat het zoeken werkt.
- Tik hem aanMeer is er niet. De keuze wordt onthouden, ook na het afsluiten van de app.
3
Een kaart lezen
- Steek de kaart in de gleufChip naar boven, tot ze niet verder kan.
- Druk op Kaart lezenDe app maakt verbinding met de lezer, zet de kaart onder spanning en leest het identiteitsbestand uit.
- Lees het resultaatNaam, voornamen, geboortedatum, nationaliteit, kaartnummer, vervaldatum, adres en de pasfoto.
De eerste lezing na het opstarten duurt het langst — een seconde of tien. De app moet dan nog de lezer opzoeken in de lucht, koppelen en de kaart onder spanning brengen. Daarna gaat elke volgende lezing snel.
Wissen
De knop Wissen gooit het resultaat weg. Er wordt niets bewaard: sluit je de app, dan is de lezing sowieso verdwenen. Meer daarover in hoofdstuk 10.
Het APDU-verkeer
Linksboven staat APDU-verkeer. Daar zie je elk commando dat naar de kaart ging en elk antwoord dat terugkwam, met de statuswoorden erbij. Dat is waar de naam Lab vandaan komt, en het is de eerste plek om te kijken wanneer een lezing mislukt.
4
Wat er gelezen wordt
eID 2 FMP leest het identiteitsbestand van de kaart. Dat is het deel dat vrij leesbaar is: er is geen pincode voor nodig, geen certificaat en geen toestemming van een overheid. Elke gewone kaartlezer leest hetzelfde.
| Veld | Inhoud |
|---|---|
| achternaam | Naam |
| voornamen | Alle voornamen zoals ze op de kaart staan |
| volledigeNaam | Voornamen en naam samen, klaar om te tonen |
| geboortedatum | Zoals op de kaart, als tekst |
| geboorteplaats | Alleen via de contactchip |
| geslacht | M of V |
| nationaliteit | Doorgaans Belg |
| documentnummer | Het kaartnummer |
| vervaldatum | Geldig tot |
| straat | Straat en huisnummer |
| postcode | Postcode |
| gemeente | Gemeente |
| adres | De drie adresvelden op één regel |
| pasfoto | De foto van de kaart, als JPEG |
Wat er niet gebeurt
- De app gebruikt de authenticatie en de digitale handtekening van de kaart niet, en vraagt dus nooit om een pincode.
- De app gebruikt de certificaten van de kaart niet.
- De app praat met geen enkele overheidsdienst en niet met het rijksregister.
5
eID 2 FMP instellen voor FileMaker
Bovenaan het hoofdscherm staat FileMaker. Daar zeg je waar de gegevens naartoe moeten.
- BestandDe naam van je FileMaker-bestand, zonder
.fmp12. - ScriptHet script dat de gegevens opvangt. Standaard
eIDOntvangen. - HostLeeg laten voor een bestand dat op het toestel zelf staat. Anders het adres of de naam van je FileMaker-server.
- Automatisch versturenStaat aan. Zodra een kaart gelezen is, gaat ze meteen naar FileMaker, zonder tussenstap. Aan een balie is elke extra tik er een te veel.
- PasfotoIn de URL als base64 (de standaard), via het plakbord, of niet meesturen.
Waarom de foto zo omslachtig moet
Het fmp://-schema laat één scriptparameter toe, en alles moet door een URL passen. De pasfoto op een Belgische eID is klein — een paar kilobyte — dus in base64 past ze er ruim in. Wordt de URL toch te lang, dan valt eID 2 FMP automatisch terug op het plakbord en zegt dat erbij. Je vangt dat op met de scriptstap Plak.
6
De FileMaker-kant bouwen
Aan de kant van FileMaker heb je een tabel, een script en één instelling nodig.
1. Het voorrecht
Bestand → Beheren → Beveiliging → Uitgebreide voorrechten → fmurlscript aanvinken voor het toegangsprivilege dat je gebruikt. Vergeet je dit, dan gebeurt er niets en krijg je ook geen foutmelding.
2. De velden
Maak tekstvelden met dezelfde namen als in hoofdstuk 4, een containerveld Pasfoto, en een tekstveld ID met automatische invoer Get ( UUID ).
3. Het script eIDOntvangen
Set Variable [ $json ; Get ( ScriptParameter ) ]
Set Field [ Persoon::Achternaam
; JSONGetElement ( $json ; "achternaam" ) ]
Set Field [ Persoon::Voornamen
; JSONGetElement ( $json ; "voornamen" ) ]
Set Field [ Persoon::Geboortedatum
; JSONGetElement ( $json ; "geboortedatum" ) ]
# ... en zo verder voor elk veld
Set Variable [ $foto ; JSONGetElement ( $json ; "pasfoto" ) ]
If [ not IsEmpty ( $foto ) ]
Set Field [ Persoon::Pasfoto
; Base64Decode ( $foto ; "pasfoto.jpg" ) ]
End If
Commit Records/Requests [ With dialog: Off ]
JSONGetElement op een ontbrekend veld krijg je gewoon een lege tekst — je overschrijft niets met een fout.7
FileMaker laten vragen om een kaart
Tot hier duwde eID 2 FMP de gegevens naar FileMaker. Het kan ook andersom: een knop in je bestand die eID 2 FMP opent, laat lezen, en het antwoord terugkrijgt in hetzelfde record.
New Record/Request
Commit Records/Requests [ With dialog: Off ]
Set Variable [ $terug ; Value:
"fmp://$/" & Get ( FileName ) & "?script=eIDOntvangen" ]
Open URL [ With dialog: Off ;
"eid2fmp://lees" &
"?terug=" & GetAsURLEncoded ( $terug ) &
"&sleutel=" & GetAsURLEncoded ( Persoon::ID ) ]
Wat er dan gebeurt: eID 2 FMP komt naar voren met een gele balk FileMaker wacht op een kaart, leest vanzelf, en springt terug naar FileMaker met de gegevens én de sleutel erin. Je script eIDOntvangen kan met die sleutel het juiste record opzoeken.
fmp://$/ door fmp://jouwserver/.GetAsURLEncoded rond het terug-adres. Zonder dat loopt het mis zodra er een tweede parameter in je terug-URL staat.8
De zelftest
Onder FileMaker → Zelftest loopt de app negen controles af. Elke controle zegt wat er getest is en, als het misloopt, wat je eraan kunt doen.
- of de kaartlezer-SDK effectief ingebouwd is
- of er toestemming is voor Bluetooth
- of er een lezer gekozen is
- of die lezer op dit moment in de lucht hangt
- of FileMaker Go op dit toestel staat
- of bestand en script ingevuld zijn
- of de URL binnen een veilige lengte blijft
- of je FileMaker-server bereikbaar is, wanneer je er een opgaf
- of het bestand openstaat — dat laatste kan de app niet met zekerheid weten, en dat zegt ze ook
Daar staat ook een proef met een verzonnen kaart. Die stuurt voorbeeldgegevens naar je FileMaker-bestand zonder dat er een kaart of lezer aan te pas komt. Springt FileMaker open met een ingevuld record, dan is de hele keten in orde en hoef je alleen nog het lezen zelf te testen.
9
Als het niet lukt
eID 2 FMP komt niet naar voren als ik in FileMaker op de knop druk
Dan is de URL niet vertrokken. iOS start een app nooit onzichtbaar op de achtergrond: ofwel komt ze naar voren, ofwel gebeurt er niets. Typ ter controle eid2fmp://lees in Safari — de app hoort open te gaan met een rode balk De oproep bevatte geen terug-adres. Doet ze dat, dan werkt het schema en zit het probleem in je berekening.
eID 2 FMP opent met een rode balk
De oproep is aangekomen maar mist het terug-adres, of het adres is onbruikbaar. In de balk staat wat er precies binnenkwam.
De lezing mislukt
- geen lezer — de SDK ziet het apparaat niet. Staat hij aan? Is hij opgeladen? Hangt hij nog aan een ander toestel?
- verbinden mislukt — hij wordt gezien maar raakt niet gekoppeld. Zet hem uit en weer aan.
- een SCardConnect-fout — de kaart komt niet onder spanning. Duw ze er helemaal in, chip naar boven.
De gegevens komen aan, de foto niet
Kijk of het containerveld effectief een container is en niet een tekstveld, en of je Base64Decode een bestandsnaam meegeeft — zonder die naam weet FileMaker niet wat voor bestand het is.
Er gebeurt niets in FileMaker
Negen van de tien keer staat fmurlscript niet aan, of klopt de scriptnaam niet exact. Go meldt dat niet: hij doet gewoon niets.
10
Privacy in het kort
- De gegevens blijven op het toestel. Er is geen server van ons en er wordt niets naar ons verstuurd.
- Er wordt niets bewaard. Sluit je de app of druk je op Wissen, dan is de lezing weg.
- De kaart wordt alleen gelezen wanneer jij erom vraagt, of wanneer FileMaker erom vraagt.
- Stuur je door naar FileMaker, dan gaan de gegevens naar jouw bestand — op het toestel of op jouw server. Waar ze daarna staan, bepaal jij.
De volledige tekst staat in de privacyverklaring.