Status

Klanten & licenties ophalen: nu ook automatisch (dagelijks), nog niet getest tegen jouw account

Op 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.

Haal klanten + licenties op bij GravityZone:
Onthouden resultaat van de laatste keer ophalen wissen (zonder opnieuw op te halen):

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:

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:

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.

Bronnen