Allocyn-helpcentrum

API-toegang

Lees vanuit een vertrouwde service de projecten, werkitems, personen en metadata van gegenereerde rapporten van uw organisatie via de openbare API van Allocyn.

Stapsgewijze begeleiding

Wie kan dit doen: Voor het bekijken van API-clients is integrations.view vereist; voor het maken of intrekken ervan ook integrations.manage. De regels voor organisatie, module, abonnement en API-rechten zijn van toepassing.

Voordat u begint

  • Een organisatie met ingeschakelde API-toegang en een service die haar gegevens mag ontvangen.
  • Een beveiligde opslag op de server voor de volledige API-sleutel. Plaats aanmeldgegevens nooit in browsercode, URL’s, versiebeheer of logboeken.

Stappen

  1. Selecteer de juiste organisatie en open Integraties → API-toegang op /administration/integrations.
  2. Kies Nieuwe API-client en voer een beschrijvende naam in. Namen moeten uniek zijn, ook ten opzichte van ingetrokken clients.
  3. Stel Verzoeken per minuut in op 1 tot 10.000; het formulier begint met 120. Kies een toekomstige vervaldatum of laat het veld leeg voor geen geplande vervaldatum.
  4. Selecteer alleen de gegevensmachtigingen die uw service nodig heeft. Er is minstens één machtiging vereist.
  5. Maak de client en kopieer de volledige sleutel onmiddellijk naar de beveiligde opslag van uw service. De sleutel wordt slechts één keer getoond.

Verwacht resultaat

Uw service kan alleen-lezenverzoeken uitvoeren voor de geselecteerde gegevenscategorieën in die organisatie.

Volgende actie

Voer één toegestaan leesverzoek uit en implementeer vervolgens paginering, een beperkt aantal nieuwe pogingen en een procedure voor sleutelvervanging.

Een verzoek authenticeren

Gebruik https://allocyn.com/api/public/v1 voor de gehoste service. Gebruik voor een andere installatie het HTTPS-domein en het eventuele basispad, zoals https://example.com/allocyn/api/public/v1.

Stuur de volledige sleutel mee in X-Allocyn-Key. Een Bearer-token, geheime webhooksleutel of aanmeldcookie van de browser is geen vervanging. Stel ALLOCYN_API_KEY veilig in voordat u het PowerShell-voorbeeld uitvoert; dit doet één leesverzoek.

Geauthenticeerd HTTP-verzoekhttp
GET /api/public/v1/projects?page=1&pageSize=100 HTTP/1.1
Host: allocyn.com
Accept: application/json
X-Allocyn-Key: <your-api-key>
Projecten lezen met PowerShellpowershell
$apiBase = 'https://allocyn.com/api/public/v1'
if ([string]::IsNullOrWhiteSpace($env:ALLOCYN_API_KEY)) {
    throw 'Set ALLOCYN_API_KEY securely before running this example.'
}
$apiHeaders = @{ 'X-Allocyn-Key' = $env:ALLOCYN_API_KEY; Accept = 'application/json' }
$page = Invoke-RestMethod -Method Get -Uri "$apiBase/projects?page=1&pageSize=100" -Headers $apiHeaders
$page.data | Select-Object code, name, status, health

Ondersteunde resources en scopes

Deze routes zijn relatief aan de basis-URL van de openbare API en accepteren GET. Er zijn geen openbare eindpunten voor het wijzigen van deze resources, tijdregistratie, het genereren of downloaden van rapporten, of het beheren van clients en webhooks met een API-sleutel.

Collecties van de openbare API
RouteToegangsrecht van de sleutelGeretourneerde gegevens
/projectsprojects.read Projectsamenvattingen
/work-itemswork.read Samenvattingen van werkitems
/peoplepeople.read Persoonsrecords, inclusief e-mailadres indien aanwezig
/reportsreports.read Metadata van gegenereerde rapporten, niet de rapportinhoud

Paginering

Elke resource retourneert data en meta. Verhoog page zolang meta.hasMore true is. De waarde returned telt alleen deze pagina; een pagina voorbij de beschikbare gegevens heeft een lege data-array.

Projecten worden oplopend op code gesorteerd, werkitems op titel en personen op weergavenaam; rapporten worden aflopend op generatietijd gesorteerd. Paginering is geen momentopname: wijzigingen en gelijke sorteerwaarden kunnen paginagrenzen verschuiven. Verwijder duplicaten op basis van id en stem de gegevens periodiek af. Filteren, aangepaste sortering en modified-since-parameters worden niet ondersteund.

Pagineringsparameters
ParameterStandaardGeldig bereik
page11–100000
pageSize1001–200
Voorbeeld van een projectresponsjson
{
  "data": [{
    "id": "11111111-1111-7111-8111-111111111111",
    "code": "CLIENT-PORTAL",
    "name": "Client portal",
    "status": "Active",
    "health": "OnTrack",
    "startsOn": "2026-09-01",
    "currentTargetEndDate": "2026-11-30"
  }],
  "meta": { "page": 1, "pageSize": 100, "returned": 1, "hasMore": false }
}

Referentie voor responsvelden

Deze velden staan in elk data-object. Identificatoren zijn ondoorzichtige tekenreeksen, status- en health-waarden zijn enumnamen van de server, datumwaarden gebruiken YYYY-MM-DD en UTC-tijdstempels gebruiken ISO 8601. Optionele velden kunnen null zijn. Identificatoren van gerelateerde records zijn geen download-URL’s.

Velden per collectie
ResourceVelden
Projecten id, code, name, status, health, startsOn, currentTargetEndDate
Werkitems id, projectId, title, type, status, priority, progressPercent, dueDate
Personen id, employeeCode, displayName, email, type, status, location
Rapporten id, reportTemplateId, templateVersion, entityType, entityId, generatedAtUtc

Limieten en fouten

De clientlimiet geldt gezamenlijk voor de openbare API-verzoeken van die client in vaste UTC-minuutvensters. Een aparte algemene limiet staat 300 verzoeken per minuut per extern IP-adres toe, gedeeld met andere verzoeken vanaf dat IP-adres. Een hogere clientinstelling omzeilt die limiet niet; de hostinginfrastructuur kan extra limieten opleggen.

Een overschrijding van de clientlimiet retourneert 401 zonder specifieke reden of resetheader. Controleer de aanmeldgegevens en scopes en probeer een verzoek dat op de clientlimiet vastliep opnieuw na het begin van de volgende UTC-minuut. Blijf niet proberen bij aanhoudende 401-responsen. Foutteksten kunnen vertaald zijn en proxy’s kunnen andere responsinhoud retourneren.

HTTP-responsen afhandelen
StatusBetekenis en actie
200 Lezen geslaagd; controleer data en meta.
400 Ongeldige invoer, zoals een pagina buiten het bereik. Corrigeer deze voordat u opnieuw probeert.
401 Controleer de volledige sleutel, vervaldatum, intrekking, scope, clientverzoeklimiet en organisatie- of abonnementstoegang.
429 De serverbrede verzoekbegrenzer heeft het verzoek geweigerd. Verlaag het tempo en probeer opnieuw met oplopende wachttijden.
5xx Server- of infrastructuurfout. Probeer leesverzoeken opnieuw met begrensde oplopende wachttijden en neem contact op met ondersteuning als de fouten aanhouden.
Voorbeeld van geweigerde API-toegangjson
{
  "status": 401,
  "title": "API access denied",
  "detail": "The API key is invalid, expired, revoked, outside its rate limit, or missing the required scope."
}

Organisatiescope en beschikbaarheid

Een API-sleutel behoort tot één organisatie. Binnen de geselecteerde scopes leest de sleutel organisatiebrede gegevens, niet alleen de projecttoewijzingen van de maker. Er is geen header of queryparameter waarmee de aanroeper een organisatie kan kiezen. Geef de sleutel alleen aan services die deze informatie mogen ontvangen.

Aanroepen vereisen een actieve organisatie, een ingeschakelde module Integraties, een geschikt abonnement en ingeschakelde API-rechten. Een niet-verlopen proefperiode of geldige betaalde periode kan toegang geven; een beëindigde proefperiode of herstelperiode van een abonnement niet. Het maken van clients is ook onderworpen aan de ingestelde API-clientlimiet.

Een sleutel vervangen of intrekken

Bij bestaande clients kunt u de sleutel niet opnieuw tonen of roteren en de scopes of vervaldatum niet wijzigen. Houd rekening met de limiet voor actieve clients wanneer oude en nieuwe clients tegelijk bestaan. Stem een onderbreking af of neem contact op met uw beheerder als er geen ruimte beschikbaar is.

  • Maak een vervanger met een andere naam en de vereiste scopes, verzoeklimiet en vervaldatum; sla de nieuw getoonde sleutel op.
  • Werk uw service bij en controleer of een toegestaan leesverzoek slaagt. Trek daarna de oude client in via API-toegang.
  • Trek bij een vermoedelijk gecompromitteerde sleutel eerst de client in. Intrekking stopt toekomstige authenticatie, maar kan al gelezen gegevens niet terughalen of een al toegestaan verzoek annuleren. Ingetrokken clients blijven in de lijst staan en kunnen niet via deze interface opnieuw worden geactiveerd.

Referentie voor API-clientbeheer

Deze routes gebruiken normale geauthenticeerde organisatietoegang, niet X-Allocyn-Key. Plaats /api/organization/integration-operations en het eventuele basispad van de installatie ervoor. Voor bekijken is integrations.view vereist; voor maken en intrekken ook integrations.manage.

Een clientsamenvatting bevat id, name, requestsPerMinute, expiresAtUtc, isActive, keyPrefix, lastUsedAtUtc, permissions en version. Stuur bij intrekking de nieuwste niet-interpreteerbare Base64-versie mee; laad opnieuw na een 409-conflict. Validatiefouten retourneren 400 en authenticatie- of autorisatiefouten kunnen 401 of 403 retourneren.

Bewerkingen voor API-clientbeheer
Methode en routeAanvraagRespons
GET /api-clients—200: ApiClientSummary[]
POST /api-clients{name, requestsPerMinute, expiresAtUtc, permissions}200: {client, apiKey}
DELETE /api-clients/{id}{version}204

Vervaldatum en probleemoplossing

Geef in beheerverzoeken voor expiresAtUtc een toekomstig UTC-tijdstip op, zoals 2027-01-01T00:00:00Z, of null. Het vervaldatumveld van het portaal zet de lokale datum en tijd niet expliciet om naar UTC vóór verzending. Controleer de opgeslagen vervaldatum en ga niet uit van tijdzoneconversie. Verlopen maar niet ingetrokken clients tellen nog mee voor de limiet van actieve clients.

Als de pagina of de knop voor het maken ontbreekt, controleer dan de geselecteerde organisatie, integrations.view, integrations.manage, abonnementstoegang en limieten. Geef ondersteuning de route, het UTC-tijdstip, de status en indien beschikbaar de responsheader X-Correlation-ID. Stuur nooit uw API-sleutel.

Veelvoorkomende problemen

  • Met het opgeslagen sleutelvoorvoegsel kunt u zich niet authenticeren. Maak een vervangende client als de volledige sleutel verloren is.
  • Een actieve client kan toch verlopen zijn, de verzoeklimiet bereikt hebben, een scope missen of niet beschikbaar zijn door organisatie- of abonnementsinstellingen.
  • Het rapporteneindpunt retourneert alleen metadata; gebruik een toegestaan rapportvoorbeeld om een rapportbestand te downloaden.