Status
Klanten & licenties ophalen: nu ook automatisch (dagelijks), nog niet getest tegen jouw accountOp je verzoek uitgezocht of de GravityZone Public API gebruikt kan worden om abonnementen/licenties per klant op te halen, zoals nu ook met Also gebeurt. Hieronder de bevindingen op basis van Bitdefender's eigen supportdocumentatie en een concreet, publiek voorbeeldproject dat dezelfde koppeling al bouwt (zie Bronnen onderaan). Let op: Bitdefender's documentatiesite laadt de echte API-specificaties (parameters, precieze veldnamen) via JavaScript, waardoor ik de exacte request/response-velden niet 1-op-1 heb kunnen overnemen -- de hoofdlijn hieronder is wel met meerdere bronnen bevestigd.
Je API-key en base-URL zijn ingesteld en de testverbinding op de
instellingenpagina werkt al. Hieronder kun je nu ook
daadwerkelijk je volledige klantenlijst + licentiegegevens ophalen -- zie "Klanten
& licenties ophalen" verderop. Belangrijke kanttekening: de officiële
Bitdefender-documentatie die ik kon inzien beschrijft getLicenseInfo
ZONDER de mogelijkheid om per klant te scopen (alleen voor één enkel account), terwijl
jouw account meerdere klanten teruggeeft via getCompaniesList -- dat wijst
op een reseller/MSP-variant van de API die ik niet officieel gedocumenteerd heb kunnen
vinden. De knop hieronder probeert het per klant en valt automatisch terug op één
totaal voor je hele account als dat niet lukt, met de exacte foutmelding erbij. Jouw
eerste klik is dus meteen de eerste echte test -- laat het weten wat je te zien
krijgt.
Sinds deze ronde haalt de dagelijkse automatische taak (instellingenpagina, "E-mail"-sectie) dit ook zelf elke dag op, gelogd in de Sync log -- dus dezelfde onzekerheid hierboven geldt dan ook voor die automatische run. Mocht per-klant-scopen toch niet blijken te werken, dan valt die automatische run net zo netjes terug op een accounttotaal, zonder de rest van de dagelijkse taak te verstoren.
Klanten & licenties ophalen
Haalt eerst je klantenlijst op (Netwerk-service, getCompaniesList) en
probeert daarna per klant de licentiegegevens op te halen (Licensing-service,
getLicenseInfo). Lukt dat per-klant-scopen niet, dan valt de tool terug
op één totaal voor je hele account (zie de kanttekening hierboven) en zie je precies
welke foutmelding GravityZone daarbij gaf.
| Klant | Type abonnement | Gebruikte licenties | Totaal licenties | Verloopdatum |
|---|
Geen klanten gevonden.
Wat de API kan
GravityZone heeft een Public API die per functiegebied is opgedeeld in "services" en werkt volgens JSON-RPC (vergelijkbaar met hoe de Also-koppeling in deze tool werkt, al gebruikt Also geen JSON-RPC maar losse REST-achtige endpoints). Voor jouw doel zijn twee services relevant:
-
Netwerk-service --
getCompaniesList: de lijst klanten/bedrijven die onder jouw MSP-account hangen (vergelijkbaar met Also'sGetCompanies, die de Contracten-pagina nu al gebruikt). -
Licensing-service --
getLicenseInfo: toegewezen/ beschikbare licenties;getMonthlyUsageengetMonthlyUsagePerProductType: daadwerkelijk verbruik per maand, ook uitgesplitst per product (bijv. los voor endpoint-beveiliging, EDR, patch-management). Dat laatste is precies het soort informatie dat je nu handmatig zou moeten opzoeken om te controleren of een Moneybird-factuur nog klopt met het werkelijke licentiegebruik.
Authenticatie: via een API-key die je zelf aanmaakt in de GravityZone Control Center onder Mijn account → API-sleutels. Daarbij kun je de key beperken tot alleen de services die je nodig hebt (in dit geval "Network" en "Licensing") -- dat is aan te raden, ook als je hem alleen hier lokaal gebruikt.
Hoe dit past in deze tool
Technisch is dit hetzelfde patroon als de bestaande Also-koppeling: een
instellingenblokje met de API-key (bij Also/Moneybird/Bitdefender op de
instellingenpagina), een eigen fetch()-aanroep naar de GravityZone-API
(geen nieuwe library nodig) en een handmatige ophaal-knop hierboven, met het resultaat
gelogd in de bestaande Sync log (onderdeel "bitdefender", met dezelfde
wijzigingsdetectie als bij Contracten en Prijsvergelijking). Dit onderdeel loopt
inmiddels ook mee in de dagelijkse automatische taak (samen met de nieuwe
"Bitdefender-regels"-zoekactie op de
Moneybird abonnementen-pagina, die dezelfde
periodieke facturen doorzoekt op Bitdefender-gerelateerde regels). Nog NIET gedaan:
een directe, automatische koppeling/vergelijking tussen die twee (bijv. "het aantal
Bitdefender-licenties moet gelijk zijn aan het aantal Moneybird-regels voor product
X", zoals de Prijsvergelijking dat voor Also/Microsoft al doet) -- voorlopig kun je
ze alleen naast elkaar bekijken.
Wat er verder nog handig in zit
Bij het uitzoeken zijn nog twee andere GravityZone-mogelijkheden tegengekomen die nuttig kunnen zijn, maar nog niet gebouwd zijn:
-
Verbruik per product (
getMonthlyUsagePerProductType, Licensing-service) -- een uitsplitsing van het licentieverbruik per productsoort (bijv. los voor endpoint-beveiliging, EDR, patch-management) in plaats van één totaal per klant. Dat sluit beter aan op hoe Moneybird-facturen vaak per productregel zijn opgebouwd, dus dit zou een logische vervolgstap zijn als de huidige, eenvoudigeregetLicenseInfo-aanpak eenmaal bevestigd werkt. -
Geïnstalleerde endpoints tellen (
getEndpointsList/getManagedEndpointDetails, Netwerk-service) -- het daadwerkelijk aantal geïnstalleerde/actieve apparaten per klant, om te controleren of dat overeenkomt met het aantal gebruikte licenties. Nuttig als extra controle ("betaal ik voor licenties die niet meer gebruikt worden?"), maar vereist eerst uitzoeken hoe endpoints exact aan een klant/bedrijf gekoppeld zijn in de API-respons -- dat is nog niet uitgezocht.
Laat weten of een van deze twee interessant genoeg is om als vervolgstap te bouwen, het liefst nadat je de huidige "Klanten & licenties ophalen"-knop hierboven een keer met je echte account hebt geprobeerd.