1 GB
Nederland multi-netwerk
€ 2,49per maand per actieve simkaart, excl. btw
1 GB bestellenMet de verbruikswebhooks van ThingSIM hoor je wanneer een simkaart 80% van zijn bundel passeert, zodat je een ontsporend apparaat ziet voor het pauzeert.
Een apparaat dat ineens veel meer data gebruikt dan normaal, vertelt je iets: een camera waarvan de bewegingszone nu een drukke weg bestrijkt, een router die naar mobiel is overgeschakeld en daar is gebleven, een firmware-update die in een lus zit, of een enkele keer een apparaat dat is gehackt. De webhooks voor dataverbruik van ThingSIM melden het direct aan je eigen systemen, zodat je kunt ingrijpen voordat de simkaart zijn bundel bereikt en pauzeert.
| Gebeurtenis | Wanneer hij wordt verstuurd |
|---|---|
iot.sim.usage_threshold |
Een simkaart passeert 80% van zijn bundel voor de periode, en 100% |
iot.sim.allowance_reached |
Een simkaart heeft zijn hele bundel gebruikt en is gepauzeerd |
iot.sim.allowance_reset |
Een nieuwe periode is begonnen; simkaarten die bij hun bundel waren gepauzeerd, gaan weer verder |
iot.sim.plan_changed |
Een simkaart is naar een andere bundel gegaan |
De melding bij 80% is de nuttige vroege waarschuwing: er is nog tijd om naar het apparaat te kijken, of de simkaart naar een grotere bundel te zetten, voordat hij pauzeert. De lijst met notificaties noemt elke gebeurtenis en de inhoud ervan.
Je maakt webhooks aan in het portaal of via de API. Geef een HTTPS-URL op een publiek adres op en de soorten gebeurtenissen die je wilt ontvangen:
curl -X POST "https://partners.netavo.com/api/v1/platform/webhooks" \
-H "Authorization: Bearer $THINGSIM_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"url": "https://example.com/thingsim/events",
"description": "Usage alerts",
"types": ["iot.sim.usage_threshold", "iot.sim.allowance_reached"]
}'Met POST /v1/platform/webhooks/{webhookId}/test stuur je jezelf een testgebeurtenis, zodat je het endpoint controleert voordat je erop rekent.
Elke gebeurtenis is een HTTPS-POST met JSON naar je URL. Antwoord binnen 10 seconden met een willekeurige 2xx en doe het werk daarna; al het andere wordt opnieuw geprobeerd. Elk verzoek heeft een header Webhook-Signature met een tijdstempel t en een handtekening v1: de HMAC-SHA256 van de tijdstempel, een punt en de ruwe body van het verzoek, met je signing secret als sleutel. Verifieer hem tegen de body precies zoals ontvangen, voordat je hem verwerkt:
import hmac, hashlib, time
def verify(raw_body: bytes, header: str, secret: str, tolerance: int = 300) -> bool:
parts = dict(p.strip().split("=", 1) for p in header.split(",") if "=" in p)
t, sig = parts.get("t"), parts.get("v1")
if not t or not sig or abs(time.time() - int(t)) > tolerance:
return False
signed = t.encode() + b"." + raw_body
expected = hmac.new(secret.encode(), signed, hashlib.sha256).hexdigest()
return hmac.compare_digest(expected, sig)Het ontwikkelaarsoverzicht (in het Engels) heeft dezelfde controle in JavaScript en C#, en beschrijft het vervangen van de signing secret.
Een eenvoudige, effectieve reactie op een melding bij 80%:
POST /v1/iot/sims/{iccid}/plan. Een upgrade gaat meteen in.POST /v1/iot/sims/{iccid}/pause, en zoek het daarna uit. Zie een apparaat op een publiek IP-adres beveiligen.Heb je maar een paar simkaarten, dan doen de verbruiksmeldingen in het portaal hetzelfde zonder code; zie een kleine vloot simkaarten beheren.
Als een simkaart 80% van zijn databundel voor de periode passeert, en opnieuw bij 100%.
Mislukte leveringen worden opnieuw geprobeerd, met steeds langere tussenpozen. Blijft een webhook ongeveer een dag mislukken, dan wordt hij uitgezet en ontvangen je andere webhooks een gebeurtenis platform.webhook.disabled.
Nee. Verbruiksmeldingen stel je in het portaal in; webhooks zijn er om dezelfde gebeurtenissen naar je eigen systemen te sturen.
Roamt over KPN en Vodafone en gebruikt het sterkste netwerk waar het apparaat staat. Odido is het reservenetwerk als geen van beide beschikbaar is.
Over dit abonnementNederland multi-netwerk
€ 2,49per maand per actieve simkaart, excl. btw
1 GB bestellen