Simbase-webhooks

Een webhook is een bericht dat je app ontvangt op het moment dat er iets gebeurt, in plaats van dat je erom moet vragen "Al iets nieuws?"" in een lus. Wanneer er iets gebeurt in je Simbase-account, Simbase stuurt die gebeurtenis door naar een URL die je in realtime kunt bedienen.

Zo integreer je Simbase in de rest van je stack. Er komt een sms binnen op een simkaart en je Slack-kanaal geeft een melding. Een apparaat wisselt van IMEI en je ticketsysteem opent een incident. Het maandelijkse dataverbruik overschrijdt een drempelwaarde en je gebruiksdashboard wordt bijgewerkt. Dit alles zonder code te schrijven die onze API opvraagt.

Webhooks hebben betrekking op gebeurtenissen die plaatsvinden aan de kant van Simbase: inkomende sms-berichten, wijzigingen in de IMEI, wijzigingen in de SIM-status en gebruikslimieten.

Klaar om live te gaan? Registreer je webhook-eindpunt op het Dashboard, zodat Simbase weet waar de gebeurtenissen moeten worden weergegeven.

Hoe Simbase webhooks gebruikt

Wanneer er iets gebeurt op je account, verstuurt Simbase een HTTPS POST-verzoek naar de door jou opgegeven URL, met een JSON-body waarin de gebeurtenis wordt beschreven. Je app leest de body, verwerkt deze naar eigen inzicht en stuurt een antwoord terug met een 2xx-statuscode om te bevestigen dat het bericht is ontvangen.

Je hoeft aan de ontvangende kant niets ingewikkelds te bouwen. De „door jou opgegeven URL“ kan een van de volgende zijn:

  • Een automatiseringsplatform zonder programmeerkennis, zoals Zapier of Make.com

  • Een tool voor teamchats zoals Slack of Microsoft Teams, waarbij gebruik wordt gemaakt van de ingebouwde URL’s voor inkomende webhooks (rechtstreeks of via Zapier of Make.com)

  • Een functie in je eigen backend, in welke programmeertaal dan ook

  • Een externe sms-provider zoals Twilio of MessageBird, als je sms-berichten wilt versturen naar openbare telefoonnummers

  • Een serverloze functie op AWS Lambda, Vercel, Cloudflare Workers, Google Cloud Functions, enz.

Als u ons een HTTPS-URL kunt geven, kunnen wij daar evenementen naartoe sturen.

Webhook-gebeurtenissen

Simbase ondersteunt de volgende soorten gebeurtenissen:

Ontvangen sms-berichten

Zwarte, rode en groene simkaarten bevinden zich binnen wat we een gesloten SMS-circuit noemen. Simpel gezegd: de simkaart kan SMS-berichten versturen naar onze server via het korte nummer +55555 en SMS-berichten ontvangen van onze server, maar kan geen SMS-berichten uitwisselen met enig ander telefoonnummer ter wereld. Dit is bewust zo ontworpen. Het is een beveiligingsmaatregel die ervoor zorgt dat uw apparaten niet bereikbaar zijn via het openbare SMS-netwerk, zodat niemand uw apparaten kan sms’en, er geen oplichting via betaaldiensten uw saldo kan leeghalen en SMS niet kan worden gebruikt als aanvalsvlak tegen uw hardware.

Blauw, geel en cyaan SIM-kaarten worden geleverd met een MSISDN, zodat externe nummers er sms’jes naar kunnen sturen. Berichten die deze apparaten versturen, blijven binnen Simbase en worden nooit naar een externe telefoon verzonden, dus de webhook werkt op elk profiel op dezelfde manier. Zie SMS voor de details per profiel.

Wanneer je toestel een sms naar +55555 verstuurt, gebeuren er twee dingen:

  1. Het bericht wordt weergegeven op het Simbase-dashboard.

  2. Als je een SMS-webhook hebt geregistreerd, stuurt Simbase het volledige bericht via HTTPS door naar je eindpunt.

Die tweede stap is het onderdeel dat de meeste klanten onderschatten. De payload bevat de berichttekst, het ICCID van de simkaart, de apparaatnaam en een tijdstempel. Zodra die bij je eindpunt binnenkomt, kun je ermee doen wat je wilt.

Een paar concrete voorbeelden van wat mensen met deze webhook bouwen:

  • Stuur de tekst van het sms-bericht door naar een Slack- of Microsoft Teams-kanaal, zodat het team de berichten van het apparaat in realtime kan zien. Handig voor asset-trackers, automaten, sensoren op afstand of elk ander apparaat dat via sms rapporteert.

  • Stuur de gegevens door naar Zapier of Make.com en activeer alle functies die deze platforms ondersteunen: een logboek bijhouden in Google Sheets, een e-mail versturen, een CRM bijwerken, een Zendesk- of Intercom-ticket aanmaken, een bericht plaatsen in Notion, enz. Je hebt geen code nodig.

  • Stuur het sms-bericht door naar een extern telefoonnummer via Twilio, MessageBird of een andere sms-provider. Uw apparaat verstuurt een sms via Simbase, uw webhook ontvangt deze, uw code stuurt de inhoud door naar Twilio en Twilio bezorgt deze aan een gewone mobiele telefoon. Zo bouwen klanten een eenrichtingsverbinding tussen een afgesloten IoT-vloot en een normaal telefoonnummer, zonder de veiligheid van het gesloten circuit op te geven.

  • Analyseer de inhoud van de sms op sensorwaarden of commando’s en sla deze op in je eigen database of in een tijdreeksdatabase zoals InfluxDB of TimescaleDB.

  • Activeer een actie op de simkaart. Je eindpunt ontvangt het sms-bericht, concludeert dat „dit apparaat zich vreemd gedraagt” en roept de Simbase-API aan om de simkaart uit te schakelen.

Voor lezers die geen code schrijven, komt het er kort gezegd op neer dat de SMS-webhook ervoor zorgt dat „een SMS die op een simkaart binnenkomt“ wordt omgezet in „een melding in Slack“, „een bijgewerkte spreadsheet“, „een e-mail voor het team“ of „een aangemaakt ticket“. Je hoeft niet te leren hoe SMS-routing werkt. Je hoeft alleen maar Simbase naar de juiste URL te verwijzen. Zie SMS.

JSON-webhook-body

{
"event": "sms",
"iccid": "8900000000001234567",
"timestamp": "2026-08-06 12:00:00",
"message": "test SMS message",
"deviceName": "Demo device"
}

Wijziging van het IMEI-nummer

Elk apparaat heeft een IMEI (International Mobile Equipment Identity), een unieke 15-cijferige identificatiecode die in de hardware is ingebouwd. Wanneer uw simkaart in een ander apparaat wordt geplaatst, detecteert het mobiele netwerk de nieuwe IMEI en meldt dit. Simbase kan uw eindpunt hiervan op de hoogte stellen zodra dit gebeurt.

Waarom dit van belang is, hangt af van uw bedrijf. Voor het volgen van bedrijfsmiddelen, logistiek of wagenparkbeheer is een onverwachte wijziging van het IMEI-nummer een van de sterkste aanwijzingen dat een simkaart uit het daarvoor bestemde apparaat is verwijderd, hetzij door diefstal, manipulatie of onderhoud dat uit de hand is gelopen. Voor OEM’s die vooraf geconfigureerde apparaten verzenden, zijn IMEI-wijzigingen de manier om te controleren of elke simkaart in het juiste apparaat terecht is gekomen.

Wat mensen doorgaans met deze webhook doen:

  • Plaats het voorval op Slack of stuur een e-mail, zodat je operationele team het kan onderzoeken.

  • Maak automatisch een ticket aan in je supporttool wanneer het nieuwe IMEI-nummer niet overeenkomt met een verwacht apparaat.

  • Schakel de simkaart uit via de Simbase API als uw beveiligingsbeleid onverwachte IMEI-wijzigingen als een teken van fraude beschouwt.

  • Registreer de wijziging in je activadatabase, zodat je altijd weet welke simkaart in welk apparaat zit, zonder dat je dit handmatig hoeft te controleren.

  • Stuur de gebeurtenis door naar een SIEM of auditlogboek voor nalevingsdoeleinden en forensisch onderzoek.

JSON-webhook-body

{
"event": "imei",
"timestamp": "2026-08-06 12:00:00",
"iccid": "8900000000001234567",
"oldIMEI": "None",
"newIMEI": "355234090012345",
"action": "disabled",
"deviceName": "Demo device"
}

Wijzigingen in de SIM-status

Een simkaart heeft een status die aangeeft of deze momenteel is ingeschakeld of uitgeschakeld. Deze status kan om verschillende redenen veranderen:

  • Handmatig in- of uitschakelen via het dashboard of de API

  • Automatische activering bij het eerste gebruik van de simkaart

  • Negatief saldo

  • Voorvallen zoals diefstal of vermoedelijke fraude

  • Ongeautoriseerde wijzigingen van het IMEI-nummer

Wanneer de status verandert, stuurt Simbase de nieuwe status naar je webhook, zodat de rest van je stack hierop kan reageren. Zie SIM-status.

Wat klanten doorgaans doen bij deze gelegenheid:

  • Zorg ervoor dat een interne CRM-, ERP- of activadatabase altijd synchroon blijft met de werkelijke status van elke simkaart, zonder de Simbase-API te hoeven raadplegen.

  • Ontvang een melding via Slack of e-mail zodra een simkaart wordt geblokkeerd, zodat de helpdesk hiervan op de hoogte is nog voordat de klant belt.

  • Start de automatisering van de facturering zodra een simkaart voor het eerst wordt geactiveerd, door de gebeurtenis via Zapier of je eigen backend door te sturen naar Stripe, Chargebee of een aangepaste factureringsdienst.

  • Signaleer onverwachte situaties in een vroeg stadium. Als een simkaart is geblokkeerd en niemand in je team dit had verwacht, beschouw dat dan automatisch als een incident.

JSON-webhook-body

{
"event": "sim_state",
"timestamp": "2026-08-06 12:00:00",
"iccid": "8900000000001234567",
"old_state": "enabled",
"new_state": "disabled",
"deviceName": "Demo device"
}

Gebruikslimieten bereikt

Je kunt voor elke simkaart een maandelijkse limiet voor data of sms instellen. Zodra het verbruik die limiet overschrijdt, schakelt Simbase de simkaart automatisch uit, en deze webhook brengt de rest van je systeem op de hoogte zodra dit gebeurt.

De limieten worden gecontroleerd zodra de gebruiksgegevens van de provider binnenkomen, en niet in realtime. Daardoor kan een simkaart de limiet iets overschrijden voordat deze wordt geblokkeerd. Zie Gebruiksbeperkingen waarom die overschrijding ontstaat en hoe je daar rekening mee kunt houden in je begroting.

Dit is een eenvoudige manier om een apparaat dat zich vreemd gedraagt in een vroeg stadium op te sporen. Een simkaart die normaal gesproken 10 MB per maand verbruikt en plotseling zijn limiet bereikt, probeert je meestal iets te vertellen: een firmwarefout, een mislukte wifi-fallback, een apparaat dat in de debugmodus is blijven staan, een uit de hand gelopen OTA-update of, in het ergste geval, een gestolen simkaart die wordt gebruikt voor tethering.

Wat klanten meestal doen bij deze gelegenheid:

  • Stuur een melding naar Slack of via e-mail, zodat het team weet dat een simkaart offline is gegaan voordat de klant belt

  • Maak een incident aan in PagerDuty of Opsgenie voor implementaties met hoge prioriteit

  • Controleer het apparaat en schakel de simkaart vervolgens opnieuw in of verhoog de limiet ervan via de Simbase API

  • Activeer een Zapier- of Make.com-workflow die de eigenaar van het apparaat op de hoogte stelt

  • Registreer de gebeurtenis in een dashboard voor afwijkingen in het gebruik, zodat u trends binnen het gehele wagenpark in de loop van de tijd kunt signaleren

JSON-webhook-body

{
"event": "usage_limits",
"timestamp": "2026-08-06 12:00:00",
"iccid": "8900000000001234567",
"usage_mb": 102,
"threshold_mb": 100,
"usage_sms": 0,
"threshold_sms": null
}

Stappen om webhooks te ontvangen

In een paar stappen kun je evenementmeldingen in je app ontvangen:

  1. Bepaal naar welke gebeurtenissen je wilt luisteren en welke velden in de payload voor jou echt van belang zijn.

  2. Maak een HTTP(S)-eindpunt aan om de gebeurtenissen te ontvangen. Dit kan een route op je backend zijn, een serverloze functie, een Zapier-webhook-URL, een Make.com-webhook-URL, een inkomende Slack-webhook (met een kleine aanpassing vooraf), of een andere URL die POST-verzoeken accepteert.

  3. Parseer de JSON-body aan jouw kant en retourneer een 2xx-statuscode. Voor Simbase is alleen de statuscode van belang, niet de inhoud van het antwoord.

  4. Test het eindpunt met een tool zoals Postbode of curl. Als je tijdens het ontwikkelen op je laptop echte Simbase-gebeurtenissen wilt ontvangen, kun je het beste een tunneling-tool zoals ngrok of Cloudflare Tunnel gebruiken.

  5. Plaats uw eindpunt achter een openbaar bereikbare HTTPS-URL.

  6. Registreer die URL in de Simbase-dashboard onder Integraties → Webhooks.

  7. Simbase stuurt een testgebeurtenis naar je URL. Als je eindpunt met een 2xx-code reageert, wordt de webhook opgeslagen en begint deze live gebeurtenissen te ontvangen.

Technische gegevens

Methode

Alle verzoeken van Simbase naar je webhook zijn HTTP POST-verzoeken met een JSON-body.

Beveiliging

  • Gebruik IP-filtering niet als beveiligingsmaatregel. Onze servers staan verspreid over de hele wereld en de openbare IP-adressen waarmee ze gegevens verzenden, veranderen in de loop van de tijd, waardoor een lijst met toegestane IP-adressen op het slechtst mogelijke moment niet meer werkt.

HerhalingsschemaAls uw eindpunt niet met een 2xx-statuscode reageert, wordt de aanroep in de wachtrij geplaatst voor een nieuwe poging. Na 15 minuten proberen onze servers het opnieuw. Als ook die poging mislukt, wordt een derde poging ingepland. Als er na drie pogingen nog steeds geen 2xx-statuscode is ontvangen, wordt de gebeurtenis genegeerd en ontvangt u een e-mail hierover, zodat u het eindpunt kunt onderzoeken en indien nodig de verbinding opnieuw kunt tot stand brengen.

Veelgestelde vragen

Simbase probeert het na 15 minuten opnieuw, en nog een keer als dat niet lukt. Als er na drie pogingen geen 2xx-statuscode is ontvangen, wordt de gebeurtenis geannuleerd en ontvang je een e-mail, zodat je het eindpunt kunt repareren en opnieuw verbinding kunt maken.

Nee. Eén webhook per gebeurtenistype. Om een gebeurtenis naar meerdere systemen door te sturen, kun je Simbase koppelen aan een automatiseringsplatform zoals Zapier of Make.com, of aan je eigen eindpunt, en de gebeurtenis van daaruit verspreiden.

Ja. De API beschikt over eindpunten voor het weergeven, bijwerken of toevoegen (upsert) en verwijderen van webhooks, met de mogelijkheid om vóór het opslaan een testverzoek te versturen. Zie de API-documentatie.

Gerelateerd

  • SMS, de berichten die de webhook voor ontvangen sms-berichten doorstuurt, en hoe deze per profiel verschillen

  • Diefstalbeveiliging, een simkaart aan één IMEI-nummer koppelen, zodat een wijziging wordt geblokkeerd en niet alleen wordt gemeld

  • SIM-status, wat ‘Ingeschakeld’ en ‘Uitgeschakeld’ betekenen en waardoor deze statussen veranderen

  • Gebruiksbeperkingen, stel de limiet in die de webhook voor het verbruik activeert

  • API, webhooks programmatisch weergeven, aanmaken en verwijderen