API en integraties
Integreer Xcellerate RMM met PSA-tools, documentatieplatformen en eigen workflows via de REST API.
Overzicht
Xcellerate RMM biedt een uitgebreide REST API waarmee je bijna elke resource in het platform programmatisch kunt lezen en schrijven — endpoints, groepen, patches, scripts, alerts, gebruikers en meer. De API gebruikt JSON over HTTPS en volgt de gangbare REST-conventies.
Naast de API zelf bevat Xcellerate ingebouwde integratieconnectoren voor populaire PSA-tools (Professional Services Automation) en documentatietools. Deze connectoren synchroniseren gegevens in beide richtingen, zodat je voor veelvoorkomende workflows geen eigen integraties hoeft te bouwen.
Kernbegrippen
- API key — een token om API-verzoeken te authenticeren. Wordt per gebruiker aangemaakt op de pagina Administration. Neem het op in de header
Authorization: Bearer <key>. - REST endpoint — een URL-pad dat naar een resource verwijst (bv.
GET /api/v1/endpointsgeeft alle endpoints terug,POST /api/v1/scripts/{id}/runvoert een script uit). - Webhook — een callback-URL die Xcellerate aanroept wanneer een bepaalde gebeurtenis plaatsvindt (bv. alert gegeven, patch geïnstalleerd, endpoint ingeschreven). Gebruik webhooks om externe workflows in realtime te starten.
- Integration connector — een kant-en-klare koppeling met een tool van derden (ConnectWise, Autotask, HaloPSA, IT Glue, Hudu). Wordt ingesteld met inloggegevens en synchronisatieregels.
- Rate limit — de API hanteert een limiet van 60 verzoeken per minuut per API-sleutel. Wie die overschrijdt, krijgt een
429 Too Many Requests-antwoord.
Stap voor stap
Maak een API-sleutel aan
Ga naar Administration → API keys → New key. Geef de sleutel een naam (bv. "PSA-sync"), kies de gebruiker waartoe hij behoort en kies het bereik van de rechten (volledige toegang of alleen-lezen). Klik op Generate. Kopieer de sleutel meteen — hij wordt maar één keer getoond.
Verken de API-documentatie
Ga naar Administration → API → Documentation (of surf naar https://your-server/api/docs). De interactieve documentatie toont elk endpoint met voorbeelden van verzoeken en antwoorden en een knop Try it.
Doe je eerste API-aanroep
Gebruik een willekeurige HTTP-client (curl, Postman, je favoriete programmeertaal). Voorbeeld: curl -H "Authorization: Bearer YOUR_KEY" https://your-server/api/v1/endpoints geeft een JSON-array van alle endpoints terug.
Stel een webhook in
Ga naar Administration → Webhooks → New webhook. Vul de bestemmings-URL in, kies de gebeurtenissen waarop je je abonneert (bv. alert.created, endpoint.enrolled) en voeg eventueel een geheim toe voor handtekeningverificatie. Sla op.
Stel een PSA-connector in
Ga naar Administration → Integrations. Klik op de connector voor je PSA-tool (bv. ConnectWise Manage). Vul de API-URL, de inloggegevens en de mappingregels in (welke Xcellerate-velden overeenkomen met welke PSA-velden). Klik op Test connection en daarna op Enable sync.
Voorbeeld: een endpoint aanmaken via de API
curl -X POST https://your-server/api/v1/endpoints \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"hostname": "WS-LONDON-042",
"group_id": "grp_abc123",
"os": "Windows 11",
"tags": ["london", "sales"]
}'Tips en goede praktijken
- Maak aparte API-sleutels aan voor elke integratie of elk script — als er één uitlekt, kun je die intrekken zonder de andere te raken.
- Gebruik het bereik read-only voor sleutels die alleen gegevens moeten ophalen (rapportering, dashboards).
- Voorzie aan de ontvangende kant verificatie van webhookhandtekeningen om vervalste gebeurtenissen tegen te houden.
- Respecteer de limiet (60 verzoeken/min). Gebruik voor bulkbewerkingen de batch-endpoints of las een pauze in tussen verzoeken.
- Test de mappings van PSA-connectoren in een sandbox- of testomgeving voordat je de synchronisatie in productie inschakelt, om dubbele tickets te vermijden.
- Houd het webhook delivery log in de gaten voor mislukte afleveringen — die kunnen erop wijzen dat de ontvangende server niet bereikbaar is of payloads weigert.
?page=1&per_page=50. Pagineer altijd wanneer je grote datasets ophaalt, om time-outs te vermijden.