Prehľad administrátorského API

Administrátorské API pracovného priestoru

Administrátorské API pracovného priestoru umožňuje integráciám medzi servermi spravovať jeden pracovný priestor EVCharge. Táto dokumentácia je pre správcov pracovných priestorov a externých integrátorov API. Používa odvolateľné prístupové tokeny viazané na pracovný priestor a podrobné rozsahy oprávnení; prihlasovacie tokeny zákazníkov a relácie prehliadača sa neprijímajú.

Tento adresár je kanonickou vývojárskou referenciou API /v2/admin implementovaného v app-api. Nedokumentuje zákaznícke/mobilné trasy ani vlastné HTTP trasy administrátorského portálu.

Základná URL a hranica zdrojov

Všetky trasy sú relatívne k pôvodu nasadenej služby app-api:

https://api.evcharge.mobi/v2/admin/...

ID pracovného priestoru sa neprijíma v URL, reťazci dopytu ani tele požiadavky. Každý prístupový token je viazaný presne na jeden pracovný priestor a API odvodzuje cpoId z autentifikovanej identity tokenu. Ak vnorená lokalita, nabíjačka, používateľ, tarifa, profil, priradenie alebo transakcia nepatrí do tohto pracovného priestoru, API vráti rovnakú odpoveď 404 RESOURCE_NOT_FOUND, ktorá neodhaľuje existenciu zdrojov.

Získanie prístupového tokenu

Správca pracovného priestoru vytvára tokeny v Nastaveniach pracovného priestoru v časti Prístup k API. Správa tokenov zámerne nie je dostupná tokenom pracovného priestoru.

  • Prístup k API je súčasťou každého programu vrátane Free. Správca musí mať oprávnenie upravovať pracovný priestor.
  • Poskytovateľ pracovného priestoru musí zapnúť administrátorské API cez adminApiEnabled; inak platný token dostane od app-api odpoveď 404, ktorá neodhaľuje existenciu zdrojov.
  • Správca môže prideliť iba rozsahy povolené jeho vlastnými aktuálnymi oprávneniami a nárokmi pracovného priestoru.
  • Nové tokeny môžu byť bez expirácie (predvolené nastavenie v Nastaveniach pracovného priestoru) alebo môžu mať správcom zvolenú životnosť 1 až 365 celých dní; konečný absolútny čas expirácie vypočíta server. Tokeny bez expirácie zostávajú platné až do odvolania.
  • Pracovný priestor môže mať najviac 50 aktívnych tokenov.
  • Prihlasovací údaj v otvorenom texte sa zobrazí iba raz. Okamžite ho uložte do správcu tajomstiev.
  • Názov, rozsahy a expirácia sú nemenné. Pri rotácii vytvorte náhradu, nasaďte ju, overte ju a odvolajte starý token.
  • Odvolanie je okamžité; odvolané záznamy zostávajú viditeľné ako nemenná história pracovného priestoru so skrytými citlivými údajmi. Neexistuje koncový bod na introspekciu tokenu Bearer ani na trvalé odstránenie.

app-api nemá koncový bod, ktorý vydáva, obnovuje, vypisuje alebo odvoláva tieto prihlasovacie údaje. Získanie tokenu je preto predpoklad vykonaný človekom cez administrátorský portál, nie iný koncový bod v tejto referencii.

Nikdy nevkladajte token do správy verzií, URL, reťazcov dopytu, súborov cookie, denníkov, analytiky ani chybových hlásení.

Autentifikácia

V každej požiadavke odošlite presne jednu hlavičku v štýle RFC 6750:

Authorization: Bearer evc_ws_<selector>.<secret>

Presný nepriehľadný prihlasovací údaj tvorí evc_ws_, za ktorým nasleduje 16-znakový kanonický selektor base64url, . a 43-znakové kanonické tajomstvo base64url. Pošlite celý údaj bez zmeny; nekódujte ho znova do base64.

API odmieta duplicitné autorizačné hlavičky, hodnoty spojené čiarkami, iné schémy, prázdne hodnoty Bearer, zákaznícke JWT a prihlasovacie údaje zadané kdekoľvek mimo tejto hlavičky.

Nesprávne formátované, neznáme, expirované, odvolané alebo inak neplatné tokeny dostanú rovnakú odpoveď:

HTTP/1.1 401 Unauthorized
WWW-Authenticate: Bearer
Cache-Control: no-store
Content-Type: application/json

{
  "error": "Unauthorized",
  "code": "INVALID_WORKSPACE_TOKEN"
}

Služba pri každej požiadavke kontroluje stav tokenu a aktuálne nároky pracovného priestoru. Odobratie nároku tak môže vypnúť dotknuté rozsahy ešte pred expiráciou tokenu.

Tokeny pracovného priestoru sú nepriehľadné prihlasovacie údaje, nie JWT. Nemajú obnovovací token ani koncový bod obnovenia. Token s konečnou platnosťou prestane autentifikovať v absolútnom čase expiresAt; token bez expirácie zostáva platný do odvolania. Rotácia znamená vytvorenie náhradného údaja v portáli, jeho nasadenie do klienta a odvolanie starého údaja.

Konvencie požiadaviek

  • Pre požiadavky s telom JSON použite Content-Type: application/json.
  • Z voliteľných hodnôt požiadavky X-Request-Id sa odstránia okrajové medzery a prijmú sa iba vtedy, ak obsahujú 1–128 znakov z A-Z, a-z, 0-9, ., _, : alebo -; inak server vygeneruje UUID. Každá odpoveď vráti zvolenú hodnotu ako X-Request-Id.
  • Voliteľné X-Error-Format: envelope prevedie každú chybovú odpoveď JSON na štruktúrovanú obálku zdokumentovanú v časti Kontrakt odpovedí a chýb. Každá iná hodnota zachová predvolené telo pre kompatibilitu.
  • ID v parametroch cesty sú kladné celé čísla. ID prístupových tokenov vrátené portálom sú desiatkové reťazce, pretože v databáze ide o 64-bitové hodnoty bez znamienka.
  • Hodnoty dátumu a času sú reťazce RFC 3339 s výslovným časovým posunom, napríklad 2026-08-13T12:30:00Z.
  • Úspešné odstránenia zvyčajne vracajú 204 No Content.
  • Operácie vytvorenia zvyčajne vracajú 201 Created.
  • Operácia OCPP, ktorá bola iba zaradená do frontu, môže vrátiť 202 Accepted; nepovažujte to za potvrdenie od nabíjačky, pokiaľ to odpoveď výslovne neuvádza.
  • Autentifikované odpovede používajú Cache-Control: no-store. Koncové body QR a exportu výkazov vracajú binárne telá s výslovnými hlavičkami obsahu.
  • Povolené pôvody prehliadača môžu cez CORS čítať X-Request-Id, Idempotency-Replayed, Retry-After a Content-Disposition. Klienti v prehliadači tak môžu spájať požiadavky, rozpoznávať idempotentné opakovania, dodržiavať čas ďalšieho pokusu a zachovať názvy sťahovaných súborov zvolené serverom.

Idempotencia

Všetky administrátorské požiadavky POST, PUT, PATCH a DELETE musia obsahovať jednu hlavičku Idempotency-Key. Kľúče majú 1–255 viditeľných znakov a ich rozsah je viazaný na token, metódu a cestu.

Idempotency-Key: provisioning-2026-08-13-site-42

Opätovné použitie dokončeného kľúča s rovnakou URL a telom zopakuje uloženú odpoveď a pridá:

Idempotency-Replayed: true

Opätovné použitie kľúča s inou požiadavkou vráti 409 IDEMPOTENCY_CONFLICT. Stále spracúvaná požiadavka vráti 409 IDEMPOTENT_REQUEST_PROCESSING s Retry-After: 5.

Dokončené odpovede a konečné výsledky sa uchovávajú na opakovanie alebo zosúladenie sedem dní od poslednej aktualizácie. Po tejto lehote sa rovnaký kľúč môže považovať za nový príkaz, preto klienti musia používať globálne jedinečné kľúče a nesmú ich zámerne opätovne používať.

Ak vyprší rezervácia spracovania, spojenie sa uzavrie po začatí vykonávania alebo operácia vráti chybu servera, API nedokáže bezpečne dokázať, či nastal externý účinok. Počas sedemdňového uchovávania je kľúč definitívne neurčitý a vracia 409 IDEMPOTENCY_OUTCOME_UNKNOWN; neprevezme sa znova ani sa automaticky znovu nevykoná. Pred ručným obnovením overte účinky operácie a neodosielajte rovnakú operáciu s novým kľúčom, kým sa zosúladenie nedokončí.

Všetky administrátorské koncové body meniace údaje vrátane POST /reports/send vyžadujú Idempotency-Key.

Limity frekvencie požiadaviek

Limity sa uplatňujú na jednotlivý token aj na jeho pracovný priestor. Predvolené hodnoty uložené v repozitári sú:

LimitPredvolene
Časové okno60 sekúnd
Na token300 požiadaviek
Na pracovný priestor1 000 požiadaviek

Požiadavka, ktorá dosiahla limit, vráti 429 Too Many Requests a hlavičku Retry-After. Jednotlivé nasadenia môžu tieto hodnoty zmeniť.

Chyby

Chyby JSON používajú stabilné code, keď sa volajúci musí rozhodnúť o ďalšom postupe:

{
  "error": "Insufficient workspace-token scope",
  "code": "INSUFFICIENT_SCOPE"
}

Validačné chyby používajú polia záznamov:

{
  "validationErrors": {
    "name": ["String must contain at least 1 character(s)"]
  }
}

Bežné stavy:

StavVýznam
400Neplatný kontrakt idempotencie, používateľského kurzora alebo geokodéra; zlyhania schémy cesty/tela/dopytu sú zvyčajne 422
401Neplatný token pracovného priestoru
403Platný token bez požadovaného efektívneho rozsahu alebo nároku
404Pracovný priestor alebo vnorený zdroj nie je viditeľný pre tento token
409Konflikt stavu zdroja, závislostí, súbežnosti alebo idempotencie
422Zlyhanie validácie poľa, ohraničeného rozsahu alebo limitu exportu
429Prekročený limit frekvencie tokenu alebo pracovného priestoru
502Zlyhala nadväzujúca operácia, napríklad doručenie výkazu
503Úložisko autorizácie alebo idempotencie je dočasne nedostupné

Katalóg rozsahov oprávnení

Nasledujúci katalóg rozsahov sa používa pri vytváraní tokenu správcom. Rozsah zápisu alebo operácií s veľkým dosahom môže zahŕňať zodpovedajúci rozsah čítania, ale rozsahy čítania nikdy neudeľujú zápis. Dostupné rozsahy závisia od oprávnení správcu a povolených funkcií pracovného priestoru.

DoménaRozsahy oprávnení na čítanieRozsahy zápisu a operácií s veľkým dosahomDodatočný nárok, ak sa uplatňuje
Pracovný priestorworkspaces:readworkspaces:update—
Lokalitysites:readsites:create, sites:update, sites:delete, sites:power-managementdlmPowerManagement pre riadenie výkonu
Nabíjačkychargers:readchargers:create, chargers:update, chargers:delete, chargers:credentials, chargers:configuration, chargers:firmware, chargers:commands, chargers:public, chargers:connector-settings, chargers:local-users, chargers:tariff-assignments, chargers:profile-assignmentsfirmwareOperations, publicCharging, tariffs alebo smartCharging pre príslušnú schopnosť
Používateliausers:readusers:create, users:update, users:delete, users:invitations, users:rfid, users:access, users:limits—
Nabíjacie profilychargingProfiles:readchargingProfiles:create, chargingProfiles:update, chargingProfiles:delete, chargingProfiles:assignsmartCharging
Tarifytariffs:readtariffs:create, tariffs:update, tariffs:delete, tariffs:components, tariffs:assigntariffs
Výkazyreports:readreports:export, reports:schedules, reports:sendscheduledReports pre harmonogramy a okamžité odoslanie

Samotný prístup k API je súčasťou každého programu a riadi ho nastavenie adminApiEnabled poskytovateľa. Dodatočné nároky na funkcie uvedené vyššie stále platia; prístup k API nesprístupňuje funkcie mimo programu pracovného priestoru.

Referenčný prehľad koncových bodov

Tabuľky nižšie uvádzajú všetkých 87 administrátorských trás pracovného priestoru. Ak bunka obsahuje viac rozsahov, vyžadujú sa všetky.

Pracovný priestor

MetódaCestaPožadovaný rozsah oprávneníÚčel
GET/v2/adminworkspaces:readPrečítajte bezpečné metadáta pracovného priestoru a referenčné údaje.
PATCH/v2/adminworkspaces:updateAktualizujte jedno alebo viac polí metadát pracovného priestoru.
GET/v2/admin/dashboardworkspaces:read + reports:readPrečítajte ohraničené počty pracovného priestoru a 90-dňové prevádzkové súhrny.

Polia čiastočnej aktualizácie pracovného priestoru: name, email, website, addressLine1, addressLine2, postalCode, city, state a countryId. Vyžaduje sa aspoň jedno pole. Prázdne reťazce, ktoré môžu byť null, sa normalizujú na null.

Lokality a riadenie výkonu

MetódaCestaPožadovaný rozsah oprávneníÚčel
GET/v2/admin/sitessites:readZobrazte lokality so súhrnmi obmedzenými na 90 dní a referenčnými údajmi lokalít.
GET/v2/admin/sites/geocodesites:readVyhľadajte normalizovaných kandidátov adresy lokality cez spoločný geokodér s obmedzením frekvencie a vyrovnávacou pamäťou.
POST/v2/admin/sitessites:createVytvorte lokalitu.
GET/v2/admin/sites/:siteIdsites:read + reports:readPrečítajte podrobnosti lokality, nedávne relácie, súhrny a prevádzkové agregáty.
PATCH/v2/admin/sites/:siteIdsites:updateNahraďte upraviteľný dokument lokality.
DELETE/v2/admin/sites/:siteIdsites:deleteOdstráňte prázdnu lokalitu; pri závislostiach sa vráti konflikt.
GET/v2/admin/sites/:siteId/power-managementsites:power-managementPrečítajte strom dynamického riadenia zaťaženia lokality.
PUT/v2/admin/sites/:siteId/power-managementsites:power-managementAtómovo nahraďte konfiguráciu riadenia výkonu lokality.

Telá vytvorenia a čiastočnej aktualizácie lokality používajú:

{
  "name": "Main depot",
  "description": null,
  "addressLine1": "1 Example Street",
  "addressLine2": null,
  "postalCode": "LV-1001",
  "city": "Riga",
  "state": null,
  "countryId": 1,
  "timezoneId": 1,
  "latitude": 56.9496,
  "longitude": 24.1052
}

Geokódovanie lokality prijíma voliteľné polia dopytu street, city, state, country a dvojpísmenové countryCode spolu s hlavičkou požiadavky Accept-Language. Kombinované vyhľadávanie ulice/mesta/regiónu musí obsahovať aspoň dva znaky. Odpovede obsahujú iba placeId, displayName, latitude a longitude; prihlasovacie údaje poskytovateľa ani jeho špecifické metadáta sa nezverejňujú. Server používa spoločný front poskytovateľa s jednou požiadavkou za sekundu, osemsekundový časový limit, ohraničenú 24-hodinovú vyrovnávaciu pamäť a globálne limity frekvencie tokenov pracovného priestoru.

Riadenie výkonu prijíma { "pools": [...] }. Skupina má id, name, limit, voliteľné meterSources a rekurzívne children. Podradená nabíjačka má chargepointId a priority. API obmedzuje veľkosť stromu a počet meradiel a pri nahrádzaní nainštalovaného stavu vykonáva dvojfázové vymazanie OCPP a opätovné overenie. Odmietnutá zmena, uplynutie času alebo súbeh zmien vrátia 409 POWER_MANAGEMENT_CONFLICT, pričom sa zachová predchádzajúca konfigurácia.

Nabíjačky

MetódaCestaPožadovaný rozsah oprávneníÚčel alebo vstup
GET/v2/admin/chargerschargers:readZobrazte nabíjačky so stavom a ohraničenými súhrnmi energie a nákladov.
POST/v2/admin/chargerschargers:createPri vytváraní zadajte povinné polia name, identifier a siteId; password je voliteľné.
GET/v2/admin/chargers/:chargerIdchargers:readPrečítajte údaje nabíjačky, EVSE, konektora, referenčné údaje a stav.
PATCH/v2/admin/chargers/:chargerIdchargers:updateAktualizujte name, siteId, invertedRfid, smartMode alebo automationDisabled.
DELETE/v2/admin/chargers/:chargerIdchargers:deleteOdstráňte nabíjačku podľa pravidiel závislostí a fakturácie.
PATCH/v2/admin/chargers/:chargerId/credentialschargers:credentialsNahraďte heslo nabíjačky hodnotou { "password": "..." }.
PATCH/v2/admin/chargers/:chargerId/connectors/:portIdchargers:connector-settingsAktualizujte formát/typ konektora, typ napájania, napätie, prúd a limity výkonu.
PATCH/v2/admin/chargers/:chargerId/public-listingchargers:publicNastavte `{ "isPublic": true
GET/v2/admin/chargers/:chargerId/public-readinesschargers:readPrečítajte pripravenosť na verejné nabíjanie a chýbajúce požiadavky.
GET/v2/admin/chargers/:chargerId/logschargers:readPrečítajte denníky OCPP so skrytými citlivými údajmi a stránkovaním pomocou kurzora.
GET/v2/admin/chargers/:chargerId/sessionschargers:read + reports:readPrečítajte stránkované nabíjacie relácie a súhrny.
GET/v2/admin/chargers/:chargerId/qrchargers:readVygenerujte QR kód PNG s veľkosťou 300 pixelov; voliteľné connector=0..255.
GET/v2/admin/chargers/:chargerId/composite-scheduleschargers:readPrečítajte uloženú históriu zložených harmonogramov.
GET/v2/admin/chargers/:chargerId/configurationchargers:readPrečítajte konfiguráciu OCPP so skrytými citlivými hodnotami.
PATCH/v2/admin/chargers/:chargerId/configurationchargers:configurationOdošlite zmenu konfigurácie s key a value.
POST/v2/admin/chargers/:chargerId/configuration/reloadchargers:configurationVyžiadajte aktuálnu konfiguráciu nabíjačky.
GET/v2/admin/chargers/:chargerId/firmwarechargers:readPrečítajte aktuálny firmvér a stav aktualizácie.
POST/v2/admin/chargers/:chargerId/firmwarechargers:firmwareZaraďte aktualizáciu z HTTP(S) { "url": "..." } do frontu.
POST/v2/admin/chargers/:chargerId/commands/resetchargers:commandsOdošlite `{ "resetType": "Soft"
POST/v2/admin/chargers/:chargerId/commands/availabilitychargers:commandsOdošlite `{ "availabilityType": "Operative"
POST/v2/admin/chargers/:chargerId/commands/triggerchargers:commandsVyvolajte BootNotification, Heartbeat, StatusNotification alebo MeterValues.
POST/v2/admin/chargers/:chargerId/commands/unlockchargers:commandsOdomknite kladné connectorId.
POST/v2/admin/chargers/:chargerId/commands/composite-schedulechargers:commandsVyžiadajte zložený harmonogram pre connectorId, durationSeconds a chargingRateUnit.

Parametre dopytu pre denníky nabíjačky sú cursor, limit (predvolene 50, najviac 200), from, to, action, direction a levelId. Parametre relácií sú page, limit (predvolene 25, najviac 100), from, to a customerId (kladné ID alebo unknown). História zloženého harmonogramu používa cursor, limit (predvolene 20, najviac 50) a voliteľné connectorId.

Výkazy

MetódaCestaPožadovaný rozsah oprávneníÚčel
GET/v2/admin/reports/datareports:readPrečítajte filtrované údaje výkazu nabíjacích relácií so stránkovaním pomocou kurzora.
GET/v2/admin/reports/measurementsreports:readPrečítajte ohraničený súbor hodnôt meradla pre vlastnenú transakciu.
GET/v2/admin/reports/exportreports:exportStiahnite export CSV alebo PDF.
GET/v2/admin/reports/schedulereports:readPrečítajte harmonogram exportu patriaci pracovnému priestoru alebo null.
PUT/v2/admin/reports/schedulereports:schedulesVytvorte alebo nahraďte harmonogram exportu patriaci pracovnému priestoru.
POST/v2/admin/reports/sendreports:sendOdošlite e-mailom uložený export za predchádzajúci kalendárny mesiac UTC; vyžaduje sa idempotentný kľúč.

Filtre údajov výkazov a exportu sú from, to, siteId, chargerId, userId, anonymous a active. from/to predvolene pokrývajú posledných 90 dní a nesmú presiahnuť 90 dní. userId nemožno kombinovať s anonymous=true.

  • Stránkovanie údajov: nepriehľadný cursor, predvolene limit=50, najviac 100.
  • Merania: povinné transactionLogId, nepriehľadný cursor, predvolene limit=500, najviac 1 000.
  • Export: format=csv|pdf, predvolene csv, pevný limit 2 000 riadkov.
  • Odpovede exportu používajú Content-Disposition: attachment, Cache-Control: private, no-store a X-Content-Type-Options: nosniff.

Telo harmonogramu:

{
  "enabled": true,
  "recipientEmail": "reports@example.com",
  "format": "csv",
  "sendDay": 5,
  "sendTime": "08:30"
}

sendDay je 1–28 a sendTime sa interpretuje v UTC. Plánovač dobieha zmeškanú naplánovanú minútu počas aktuálneho mesiaca doručenia. Neúspešné zostavenia pred odovzdaním sa opakujú po 5 a 10 minútach, prerušenú rezerváciu building možno prevziať po 30 minútach a automatické doručovanie sa zastaví po troch pokusoch. Plánovač uloží indeterminate tesne pred odovzdaním SMTP; indeterminate aj starší stav sending sú konečné, pretože automatické opakovanie ktoréhokoľvek z nich by mohlo odoslať duplicitnú prílohu. Prevádzkovatelia musia tieto výsledky ručne zosúladiť pred zmenou stavu harmonogramu. Každý cyklus vyberie najviac desať harmonogramov, po vyčerpaní 45-sekundového rozpočtu prestane začínať novú prácu a používa ohraničené časové limity SMTP. Úloha je predvolene vypnutá a musí sa výslovne zapnúť po overení SMTP a kapacity. Harmonogram API patrí pracovnému priestoru, nie je naviazaný na identitu človeka, ktorý vytvoril token.

Tarify

MetódaCestaPožadovaný rozsah oprávneníÚčel
GET/v2/admin/tariffstariffs:readZobrazte tarify a referenčné údaje.
POST/v2/admin/tariffstariffs:createVytvorte tarifu.
GET/v2/admin/tariffs/:tariffIdtariffs:readPrečítajte jednu vlastnenú tarifu a jej komponenty.
PATCH/v2/admin/tariffs/:tariffIdtariffs:updateAktualizujte definíciu tarify.
PUT/v2/admin/tariffs/:tariffId/componentstariffs:componentsAtómovo nahraďte najviac 256 komponentov.
DELETE/v2/admin/tariffs/:tariffIdtariffs:deleteOdstráňte nepoužívanú tarifu.
GET/v2/admin/tariffs/:tariffId/market-pricestariffs:readPrečítajte ceny pre obchodnú zónu patriacu tarife od číselného startsAt.
GET/v2/admin/chargers/:chargerId/tariff-assignmentschargers:tariff-assignments + tariffs:readZobrazte priradenia taríf nabíjačky.
POST/v2/admin/chargers/:chargerId/tariff-assignmentschargers:tariff-assignments + tariffs:assignPriraďte tarifu.
PATCH/v2/admin/chargers/:chargerId/tariff-assignments/:assignmentIdchargers:tariff-assignments + tariffs:assignNahraďte cieľ priradenia.
DELETE/v2/admin/chargers/:chargerId/tariff-assignments/:assignmentIdchargers:tariff-assignments + tariffs:assignOdstráňte priradenie.

Telo tarify obsahuje name, presne jedno z currencyId, currencyCode alebo currency, voliteľné biddingZoneId a tax. Telo priradenia:

{ "tariffId": 17, "connectorId": 0 }

Pri vytváraní priradenia sa tarifa použije pre všetky fyzické konektory, ak je connectorId vynechané alebo výslovne nastavené na 0. Aktualizácie priradenia cielia na jedno uložené priradenie, a preto vyžadujú výslovne uvedené kladné fyzické connectorId; 0 sa odmietne.

Komponent obsahuje povinné typeId, seasonId a price; priority a hranice platnosti podľa mesiaca, dňa v týždni a hodiny sú voliteľné.

Nabíjacie profily

MetódaCestaPožadovaný rozsah oprávneníÚčel
GET/v2/admin/charging-profileschargingProfiles:readZobrazte profily a vlastnené referenčné údaje.
POST/v2/admin/charging-profileschargingProfiles:createVytvorte profil s voliteľným harmonogramom.
GET/v2/admin/charging-profiles/:profileIdchargingProfiles:readPrečítajte jeden vlastnený profil.
PATCH/v2/admin/charging-profiles/:profileIdchargingProfiles:updateNahraďte metadáta profilu.
PUT/v2/admin/charging-profiles/:profileId/schedulechargingProfiles:updateNahraďte harmonogram 1–256 obdobiami.
DELETE/v2/admin/charging-profiles/:profileIdchargingProfiles:deleteVymažte nainštalované priradenia a odstráňte ich až po prijatých výsledkoch OCPP a opätovnom overení.
GET/v2/admin/chargers/:chargerId/profile-assignmentschargers:profile-assignments + chargingProfiles:readZobrazte priradenia profilov nabíjačky.
POST/v2/admin/chargers/:chargerId/profile-assignmentschargers:profile-assignments + chargingProfiles:assignPriraďte a synchronizujte profil.
PATCH/v2/admin/chargers/:chargerId/profile-assignments/:assignmentIdchargers:profile-assignments + chargingProfiles:assignNahraďte a synchronizujte priradenie.
DELETE/v2/admin/chargers/:chargerId/profile-assignments/:assignmentIdchargers:profile-assignments + chargingProfiles:assignVymažte a odstráňte priradenie.

Polia metadát profilu sú label, locationId, stackLevel, purposeId, kindId, voliteľné recurrencyKindId, validFrom, validTo, startSchedule, rateUnitId a voliteľné minChargingRate. Obdobie harmonogramu obsahuje startPeriod, limit a voliteľné numberOfPhases. Telo priradenia obsahuje profileId a connectorId (predvolene 0).

Odstraňovanie profilov a nahradenie riadenia výkonu môže čakať na potvrdenie nabíjačky. Odmietnutie, uplynutie času alebo súbežná zmena stavu vráti konflikt a zachová konfiguráciu databázy namiesto predstierania, že nabíjačka bola vyčistená.

Používatelia, pozvánky, RFID, prístup a limity

MetódaCestaPožadovaný rozsah oprávneníÚčel
GET/v2/admin/usersusers:readZobrazte členov a pozvánky.
POST/v2/admin/usersusers:createPripojte už registrovaného zákazníka pomocou email a poľa pracovného priestoru name.
POST/v2/admin/users/invitationsusers:invitations + users:access; aj users:rfid, keď sa zadá RFIDPozvite neznámy e-mail alebo pripojte existujúceho zákazníka.
POST/v2/admin/users/invitations/resendusers:invitationsOdošlite znova pomocou { "email": "..." } s dodržaním odstupu pre príjemcu.
DELETE/v2/admin/users/invitationsusers:invitationsZrušte pozvánku; e-mail zostáva v tele JSON.
GET/v2/admin/users/:userIdusers:read + reports:readPrečítajte podrobnosti používateľa a ohraničené súhrny relácií.
PATCH/v2/admin/users/:userIdusers:updateNastavte zobrazené name špecifické pre pracovný priestor.
DELETE/v2/admin/users/:userIdusers:deleteOdstráňte člena a súvisiaci prístup k pracovnému priestoru s ohľadom na možné konflikty.
GET/v2/admin/users/:userId/vehiclesusers:readZobrazte vlastnené vozidlá.
GET/v2/admin/users/:userId/rfidsusers:readZobrazte metadáta RFID s maskovanými UID.
POST/v2/admin/users/:userId/rfidsusers:rfidPridajte uid a voliteľné name; odpovede zobrazujú iba maskované UID.
PATCH/v2/admin/users/:userId/rfids/:rfidIdusers:rfidAktualizujte označenie RFID.
DELETE/v2/admin/users/:userId/rfids/:rfidIdusers:rfidOdstráňte RFID a synchronizujte dotknuté nabíjačky.
GET/v2/admin/users/:userId/accessusers:readPrečítajte prístupy k nabíjačkám.
PUT/v2/admin/users/:userId/accessusers:accessNahraďte prístup pomocou allChargers a jedinečných chargerIds.
DELETE/v2/admin/users/:userId/access/:accessIdusers:accessOdvolajte jeden záznam prístupu.
GET/v2/admin/users/:userId/limitsusers:readZobrazte limity nabíjania.
POST/v2/admin/users/:userId/limitsusers:limitsVytvorte limitTypeId, energyValue a/alebo timeValue.
PATCH/v2/admin/users/:userId/limits/:limitIdusers:limitsAktualizujte jedno alebo viac polí limitu.
DELETE/v2/admin/users/:userId/limits/:limitIdusers:limitsOdstráňte limit.
GET/v2/admin/chargers/:chargerId/local-userschargers:read + users:readZobrazte lokálnych používateľov nabíjačky a čakajúce pozvánky.
POST/v2/admin/chargers/:chargerId/local-userschargers:local-users + users:accessPridajte existujúce customerId s voliteľným expiresAt.
POST/v2/admin/chargers/:chargerId/local-users/invitationschargers:local-users + users:invitations + users:accessPridajte alebo pozvite e-mailom.
DELETE/v2/admin/chargers/:chargerId/local-users/invitationschargers:local-users + users:invitationsZrušte pozvánku lokálneho používateľa podľa e-mailu.
PATCH/v2/admin/chargers/:chargerId/local-users/:localUserIdchargers:local-users + users:accessNastavte expiresAt, ktoré môže mať hodnotu null.
DELETE/v2/admin/chargers/:chargerId/local-users/:localUserIdchargers:local-users + users:accessOdstráňte lokálny prístup a synchronizujte stav OCPP.

Stránkovanie vozidiel a stránkovanie používateľov status=members používa kladné číselné cursor. Stránky pozvánok používajú nepriehľadný kurzor i2.*, zatiaľ čo status=all po prvej stránke používa nepriehľadný zložený kurzor a2.* (číselný kurzor zostáva platný iba ako pokračovanie staršieho toku členov). Vyhľadávanie používateľov sa posiela v hlavičke požiadavky X-Admin-User-Search, aby sa e-mailové adresy neukladali do URL ani denníkov prístupu. limit je predvolene 50 a najviac 100; zoznam používateľov podporuje status=all|members|invitations. Všetky vrátené kurzory považujte za nepriehľadné a vracajte ich nezmenené.

Priame vytvorenie používateľa nevytvára heslo, prihlasovaciu identitu ani reláciu. Iba pripojí už registrovaného zákazníka. Pre neznámy e-mail použite koncový bod pozvánok. Chráneného systémového používateľa Tagless nemožno cez tieto trasy meniť.

Príklady

Nastavte hodnoty vo svojom shelli bez vypísania tokenu:

export ADMIN_API_BASE_URL="https://api.example.com"
export WORKSPACE_TOKEN="<read from secret manager>"

Zobrazte lokality:

curl --fail-with-body \
  -H "Authorization: Bearer ${WORKSPACE_TOKEN}" \
  "${ADMIN_API_BASE_URL}/v2/admin/sites"

Bezpečne vytvorte lokalitu:

curl --fail-with-body \
  -X POST \
  -H "Authorization: Bearer ${WORKSPACE_TOKEN}" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: site-main-depot-v1" \
  --data '{
    "name":"Main depot",
    "description":null,
    "addressLine1":"1 Example Street",
    "addressLine2":null,
    "postalCode":"LV-1001",
    "city":"Riga",
    "state":null,
    "countryId":1,
    "timezoneId":1,
    "latitude":56.9496,
    "longitude":24.1052
  }' \
  "${ADMIN_API_BASE_URL}/v2/admin/sites"

Stiahnite výkaz CSV pre výslovne určený rozsah UTC:

curl --fail-with-body \
  -H "Authorization: Bearer ${WORKSPACE_TOKEN}" \
  -o report.csv \
  "${ADMIN_API_BASE_URL}/v2/admin/reports/export?format=csv&from=2026-07-01T00%3A00%3A00Z&to=2026-08-01T00%3A00%3A00Z"

Zámerne vylúčené možnosti

API tokenov pracovného priestoru nesprístupňuje operácie vyžadujúce ľudskú identitu alebo širšie oprávnenia. Zahŕňajú:

  • vytváranie, odhalenie, rotáciu alebo odvolanie tokenov iným tokenom;
  • prihlásenie, obnovenie hesla, relácie, delegovanie ľudských rolí alebo oprávnení a zmeny vlastníctva pracovného priestoru;
  • vytváranie/odstraňovanie pracovných priestorov a členstvo vo fakturačnom účte;
  • nastavenia platieb, registráciu v Stripe, programy, faktúry a fakturáciu poskytovateľa;
  • operácie podpory pre celého poskytovateľa a webhooky poskytovateľov;
  • oznámenia ľuďom, navigačné presmerovania, značkové materiály a vývojové/testovacie trasy.