Darbvietas administrēšanas API
Darbvietas administrēšanas API ļauj serveru savstarpējām integrācijām administrēt vienu EVCharge darbvietu. Šī dokumentācija paredzēta darbvietu administratoriem un ārējiem API integratoriem. Tā izmanto atsaucamus, darbvietai piesaistītus piekļuves marķierus un detalizētus tvērumus; klientu pieteikšanās marķieri un pārlūku sesijas netiek pieņemti.
Šis direktorijs ir kanoniskā izstrādātāju uzziņa /v2/admin API, ko īsteno app-api. Tas nedokumentē klientu/mobilos maršrutus vai administrēšanas portāla paša HTTP maršrutus.
- Galapunktu pieprasījumi un atbildes uzskaita visus 87 reģistrētos galapunktus, tvērumus, parametrus, pieprasījumu saturu un veiksmīgo atbilžu saturu.
- Shēmas un piemēri definē atkārtoti lietojamos pieprasījumu/atbilžu tipus un raksturīgus JSON satura piemērus.
- Atbilžu un kļūdu līgums definē visu kopīgo un galapunktam specifisko neveiksmīgo atbilžu saturu.
Bāzes URL un resursu robeža
Visi maršruti ir relatīvi pret izvietoto app-api izcelsmi:
https://api.evcharge.mobi/v2/admin/...
Darbvietas ID netiek pieņemts URL, vaicājuma virknē vai pieprasījuma saturā. Katrs piekļuves marķieris ir piesaistīts tieši vienai darbvietai, un API iegūst cpoId no autentificētā marķiera identitātes. Ja ligzdots objekts, lādētājs, lietotājs, tarifs, profils, piešķīrums vai darījums nepieder šai darbvietai, API atgriež to pašu resursu uzskaitīšanu nepieļaujošo 404 RESOURCE_NOT_FOUND atbildi.
Piekļuves marķiera iegūšana
Darbvietas administrators marķierus izveido Darbvietas iestatījumu sadaļā API piekļuve. Marķieru pārvaldība apzināti nav pieejama ar darbvietas marķieriem.
- API piekļuve ir iekļauta katrā plānā, arī Free. Administratoram jābūt darbvietas rediģēšanas atļaujai.
- Darbvietas saimniekam jāieslēdz administrēšanas API ar
adminApiEnabled; pretējā gadījumā derīgs marķieris saņem resursu uzskaitīšanu nepieļaujošu404noapp-api. - Administrators var piešķirt tikai tos tvērumus, kurus atļauj viņa pašreizējās atļaujas un darbvietas tiesības.
- Jauni marķieri var būt beztermiņa (Darbvietas iestatījumu noklusējums) vai ar administratora izvēlētu derīgumu veselās dienās no 1 līdz 365; serveris aprēķina galīgu absolūto beigu laiku. Beztermiņa marķieri paliek derīgi līdz atsaukšanai.
- Darbvietā var būt ne vairāk kā 50 aktīvi marķieri.
- Piekļuves dati atklātā tekstā tiek parādīti vienreiz. Nekavējoties saglabājiet tos noslēpumu pārvaldniekā.
- Nosaukums, tvērumi un derīguma termiņš nav maināmi. Lai veiktu nomaiņu, izveidojiet aizstājēju, izvietojiet to, pārbaudiet un atsauciet veco marķieri.
- Atsaukšana ir tūlītēja; atsauktās rindas paliek redzamas kā nemaināma, aizklāta darbvietas vēsture, un nav bearer marķiera introspekcijas vai neatgriezeniskas dzēšanas galapunkta.
app-api nav galapunkta, kas izsniedz, atsvaidzina, uzskaita vai atsauc šos piekļuves datus. Tādēļ marķiera iegūšana ir priekšnosacījums, ko cilvēks izpilda administrēšanas portālā, nevis cits šīs uzziņas galapunkts.
Nekad neievietojiet marķieri versiju kontrolē, URL, vaicājumu virknēs, sīkdatnēs, žurnālos, analītikā vai kļūdu pārskatos.
Autentifikācija
Katrā pieprasījumā nosūtiet tieši vienu RFC 6750 stila galveni:
Authorization: Bearer evc_ws_<selector>.<secret>
Precīzie necaurspīdīgie piekļuves dati ir evc_ws_, kam seko 16 rakstzīmju kanonisks base64url selektors, . un 43 rakstzīmju kanonisks base64url noslēpums. Sūtiet pilnu piekļuves datu vērtību nemainītu; nekodējiet to base64 vēlreiz.
API noraida dublētas autorizācijas galvenes, ar komatiem apvienotas vērtības, citas shēmas, tukšas bearer vērtības, klientu JWT un piekļuves datus, kas norādīti jebkur citur, nevis šajā galvenē.
Nepareizi formatēti, nezināmi, beigušies, atsaukti vai citādi nederīgi marķieri saņem vienādu atbildi:
HTTP/1.1 401 Unauthorized
WWW-Authenticate: Bearer
Cache-Control: no-store
Content-Type: application/json
{
"error": "Unauthorized",
"code": "INVALID_WORKSPACE_TOKEN"
}
Pakalpojums katrā pieprasījumā pārbauda marķiera statusu un darbvietas pašreizējās tiesības. Tādēļ tiesību noņemšana var atspējot ietekmētos tvērumus pirms marķiera termiņa beigām.
Darbvietu marķieri ir necaurspīdīgi piekļuves dati, nevis JWT. Tiem nav atsvaidzināšanas marķiera un nav atsvaidzināšanas galapunkta. Ierobežots marķieris pārstāj autentificēt absolūtajā expiresAt; beztermiņa marķieris paliek derīgs līdz atsaukšanai. Nomaiņa nozīmē aizstājošu piekļuves datu izveidi portālā, izvietošanu klientā un veco datu atsaukšanu.
Pieprasījumu konvencijas
- Pieprasījumiem ar JSON saturu izmantojiet
Content-Type: application/json. - Neobligāto
X-Request-Idpieprasījumu vērtību sākuma un beigu atstarpes tiek noņemtas, un vērtības pieņem tikai tad, ja tās satur 1–128 rakstzīmes noA-Z,a-z,0-9,.,_,:vai-; citādi serveris ģenerē UUID. Katra atbilde atgriež izvēlēto vērtību kāX-Request-Id. - Neobligāts
X-Error-Format: envelopepārvērš katru JSON kļūdas atbildi strukturētajā ietvarā, kas dokumentēts Atbilžu un kļūdu līgumā. Jebkura cita vērtība saglabā noklusējuma saderības saturu. - Ceļa parametru ID ir pozitīvi veseli skaitļi. Portāla atgrieztie piekļuves marķieru ID ir decimālas virknes, jo tās ir 64 bitu bez zīmes datubāzes vērtības.
- Datuma un laika vērtības ir RFC 3339 virknes ar skaidri norādītu nobīdi, piemēram,
2026-08-13T12:30:00Z. - Veiksmīga dzēšana parasti atgriež
204 No Content. - Izveides darbības parasti atgriež
201 Created. - Tikai rindā ievietots OCPP uzdevums var atgriezt
202 Accepted; neuzskatiet to par lādētāja apstiprinājumu, ja vien atbilde to skaidri nenorāda. - Autentificētas atbildes izmanto
Cache-Control: no-store. QR un pārskatu eksporta galapunkti atgriež bināru saturu ar skaidrām satura galvenēm. - Atļautās pārlūka izcelsmes ar CORS var nolasīt
X-Request-Id,Idempotency-Replayed,Retry-AfterunContent-Disposition. Tas ļauj pārlūka klientiem sasaistīt pieprasījumus, atpazīt idempotentus atkārtojumus, ievērot atkārtoto mēģinājumu laikus un saglabāt servera izvēlētos lejupielādes failu nosaukumus.
Idempotence
Visiem POST, PUT, PATCH un DELETE administrēšanas pieprasījumiem jāsatur viena Idempotency-Key galvene. Atslēgas satur 1–255 redzamas rakstzīmes un ir saistītas ar marķieri, metodi un ceļu.
Idempotency-Key: provisioning-2026-08-13-site-42
Atkārtoti izmantojot pabeigtu atslēgu ar identisku URL un saturu, tiek atkārtota saglabātā atbilde un pievienots:
Idempotency-Replayed: true
Atkārtoti izmantojot atslēgu ar citu pieprasījumu, tiek atgriezts 409 IDEMPOTENCY_CONFLICT. Pieprasījums, kas vēl tiek apstrādāts, atgriež 409 IDEMPOTENT_REQUEST_PROCESSING ar Retry-After: 5.
Pabeigtas atbildes un galīgie rezultāti atkārtošanai vai saskaņošanai tiek saglabāti septiņas dienas pēc pēdējās atjaunināšanas. Pēc šī termiņa tā pati atslēga var tikt uzskatīta par jaunu komandu, tādēļ klientiem jāizmanto globāli unikālas atslēgas un tās nedrīkst apzināti izmantot atkārtoti.
Ja apstrādes rezervācija beidzas, savienojums tiek aizvērts pēc izpildes sākuma vai darbība atgriež servera kļūdu, API nevar droši pierādīt, vai notikusi ārēja ietekme. Septiņu dienu glabāšanas laikā atslēga ir galīgi nenoteiktā stāvoklī un atgriež 409 IDEMPOTENCY_OUTCOME_UNKNOWN; tā netiek atgūta vai automātiski izpildīta vēlreiz. Pirms manuālas atkopšanas pārbaudiet darbības sekas un neiesniedziet to pašu darbību ar jaunu atslēgu, kamēr saskaņošana nav pabeigta.
Visiem administrēšanas galapunktiem, kas maina datus, tostarp POST /reports/send, nepieciešams Idempotency-Key.
Biežuma ierobežojumi
Ierobežojumi tiek piemēroti gan atsevišķam marķierim, gan tā darbvietai. Kodā noteiktās noklusējuma vērtības ir:
| Ierobežojums | Noklusējums |
|---|---|
| Laika logs | 60 sekundes |
| Katram marķierim | 300 pieprasījumu |
| Katrai darbvietai | 1 000 pieprasījumu |
Ierobežots pieprasījums atgriež 429 Too Many Requests un Retry-After galveni. Izvietojumos šīs vērtības var pārrakstīt.
Kļūdas
JSON kļūdas izmanto stabilu code, ja izsaucējam jāatšķir gadījumi:
{
"error": "Insufficient workspace-token scope",
"code": "INSUFFICIENT_SCOPE"
}
Validācijas kļūdas izmanto lauku masīvus:
{
"validationErrors": {
"name": ["String must contain at least 1 character(s)"]
}
}
Bieži statusi ir:
| Statuss | Nozīme |
|---|---|
400 | Nederīgs idempotences/lietotāja kursora/ģeokodētāja līgums; ceļa/satura/vaicājuma shēmas kļūmes parasti ir 422 |
401 | Nederīgs darbvietas marķieris |
403 | Derīgs marķieris bez nepieciešamā faktiskā tvēruma vai tiesībām |
404 | Darbvieta vai ligzdotais resurss nav redzams šim marķierim |
409 | Resursa stāvokļa, atkarības, vienlaicīgas piekļuves vai idempotences konflikts |
422 | Lauka validācijas, ierobežota diapazona vai eksporta apjoma kļūme |
429 | Pārsniegts marķiera vai darbvietas biežuma ierobežojums |
502 | Neizdevās turpmāka darbība, piemēram, pārskata piegāde |
503 | Autorizācijas vai idempotences krātuve īslaicīgi nav pieejama |
Tvērumu katalogs
Tālāk norādītais tvērumu katalogs tiek izmantots, kad administrators izveido marķieri. Rakstīšanas vai augstas ietekmes tvērums var ietvert atbilstošo lasīšanas tvērumu, taču lasīšanas tvērumi nekad nepiešķir rakstīšanu. Pieejamie tvērumi ir atkarīgi no administratora atļaujām un darbvietā ieslēgtajām funkcijām.
| Domēns | Lasīšanas tvērumi | Rakstīšanas un augstas ietekmes tvērumi | Papildu tiesības, ja piemērojamas |
|---|---|---|---|
| Darbvieta | workspaces:read | workspaces:update | — |
| Objekti | sites:read | sites:create, sites:update, sites:delete, sites:power-management | dlmPowerManagement jaudas pārvaldībai |
| Lādētāji | chargers:read | chargers: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-assignments | firmwareOperations, publicCharging, tariffs vai smartCharging atbilstošajai iespējai |
| Lietotāji | users:read | users:create, users:update, users:delete, users:invitations, users:rfid, users:access, users:limits | — |
| Uzlādes profili | chargingProfiles:read | chargingProfiles:create, chargingProfiles:update, chargingProfiles:delete, chargingProfiles:assign | smartCharging |
| Tarifi | tariffs:read | tariffs:create, tariffs:update, tariffs:delete, tariffs:components, tariffs:assign | tariffs |
| Pārskati | reports:read | reports:export, reports:schedules, reports:send | scheduledReports grafikiem un tūlītējai sūtīšanai |
Pati API piekļuve ir iekļauta katrā plānā, un to kontrolē saimnieka adminApiEnabled iestatījums. Iepriekš norādītās papildu funkciju tiesības joprojām ir spēkā; API piekļuve nepiešķir funkcijas ārpus darbvietas plāna.
Galapunktu uzziņa
Tālāk norādītās tabulas uzskaita visus 87 darbvietas administrēšanas maršrutus. Ja šūnā ir vairāki tvērumi, nepieciešami visi.
Darbvieta
| Metode | Ceļš | Nepieciešamais tvērums | Mērķis |
|---|---|---|---|
GET | /v2/admin | workspaces:read | Nolasiet drošus darbvietas metadatus un uzziņu datus. |
PATCH | /v2/admin | workspaces:update | Atjauniniet vienu vai vairākus darbvietas metadatu laukus. |
GET | /v2/admin/dashboard | workspaces:read + reports:read | Nolasiet ierobežotus darbvietas skaitus un 90 dienu darbības kopsavilkumus. |
Darbvietas daļējas atjaunināšanas lauki: name, email, website, addressLine1, addressLine2, postalCode, city, state un countryId. Nepieciešams vismaz viens lauks. Tukšas virknes, kas var būt null, tiek normalizētas uz null.
Objekti un jaudas pārvaldība
| Metode | Ceļš | Nepieciešamais tvērums | Mērķis |
|---|---|---|---|
GET | /v2/admin/sites | sites:read | Uzskaitiet objektus ar ierobežotiem 90 dienu kopsavilkumiem un objektu uzziņu datiem. |
GET | /v2/admin/sites/geocode | sites:read | Meklējiet normalizētus objekta adreses kandidātus ar kopīgo ģeokodētāju, kam ir biežuma ierobežojumi un kešatmiņa. |
POST | /v2/admin/sites | sites:create | Izveidojiet objektu. |
GET | /v2/admin/sites/:siteId | sites:read + reports:read | Nolasiet objekta informāciju, nesenās sesijas, kopsummas un darbības kopsavilkumus. |
PATCH | /v2/admin/sites/:siteId | sites:update | Aizstājiet rediģējamo objekta dokumentu. |
DELETE | /v2/admin/sites/:siteId | sites:delete | Dzēsiet tukšu objektu; atkarības atgriež konfliktu. |
GET | /v2/admin/sites/:siteId/power-management | sites:power-management | Nolasiet objekta dinamiskās slodzes pārvaldības koku. |
PUT | /v2/admin/sites/:siteId/power-management | sites:power-management | Atomāri aizstājiet objekta jaudas pārvaldības konfigurāciju. |
Objekta izveides un daļējas atjaunināšanas saturs izmanto:
{
"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
}
Objektu ģeokodēšana pieņem neobligātus street, city, state, country un divu burtu countryCode vaicājuma laukus, kā arī Accept-Language pieprasījuma galveni. Apvienotajam ielas/pilsētas/reģiona meklējumam jāsatur vismaz divas rakstzīmes. Atbildes satur tikai placeId, displayName, latitude un longitude; pakalpojuma sniedzēja piekļuves dati un tam specifiskie metadati netiek atklāti. Serveris piemēro kopīgo pakalpojuma sniedzēja rindu ar vienu pieprasījumu sekundē, astoņu sekunžu noildzi, ierobežotu 24 stundu kešatmiņu un globālos darbvietu marķieru biežuma ierobežojumus.
Jaudas pārvaldība pieņem { "pools": [...] }. Grupa satur id, name, limit, neobligātu meterSources un rekursīvu children. Lādētāja bērnelements satur chargepointId un priority. API ierobežo koka un skaitītāju apjomu un veic divfāžu OCPP notīrīšanu/atkārtotu validāciju, aizstājot uzstādītu stāvokli. Noraidīta, noildzusi vai ar vienlaicīgu izmaiņu konfliktējoša darbība atgriež 409 POWER_MANAGEMENT_CONFLICT, saglabājot iepriekšējo konfigurāciju.
Lādētāji
| Metode | Ceļš | Nepieciešamais tvērums | Mērķis vai ievaddati |
|---|---|---|---|
GET | /v2/admin/chargers | chargers:read | Uzskaitiet lādētājus ar statusu un ierobežotiem enerģijas/izmaksu kopsavilkumiem. |
POST | /v2/admin/chargers | chargers:create | Izveidojiet no name, identifier un siteId; password ir neobligāts. |
GET | /v2/admin/chargers/:chargerId | chargers:read | Nolasiet lādētāja, EVSE, pieslēgvietas, uzziņu un statusa datus. |
PATCH | /v2/admin/chargers/:chargerId | chargers:update | Atjauniniet name, siteId, invertedRfid, smartMode vai automationDisabled. |
DELETE | /v2/admin/chargers/:chargerId | chargers:delete | Dzēsiet lādētāju atbilstoši atkarību un norēķinu noteikumiem. |
PATCH | /v2/admin/chargers/:chargerId/credentials | chargers:credentials | Aizstājiet lādētāja paroli ar { "password": "..." }. |
PATCH | /v2/admin/chargers/:chargerId/connectors/:portId | chargers:connector-settings | Atjauniniet pieslēgvietas formātu/veidu, jaudas veidu, spriegumu, strāvu un jaudas ierobežojumus. |
PATCH | /v2/admin/chargers/:chargerId/public-listing | chargers:public | Iestatiet `{ "isPublic": true |
GET | /v2/admin/chargers/:chargerId/public-readiness | chargers:read | Nolasiet gatavību publiskai uzlādei un trūkstošās prasības. |
GET | /v2/admin/chargers/:chargerId/logs | chargers:read | Nolasiet ar kursoru lapotus, aizklātus OCPP žurnālus. |
GET | /v2/admin/chargers/:chargerId/sessions | chargers:read + reports:read | Nolasiet lapotas uzlādes sesijas un kopsummas. |
GET | /v2/admin/chargers/:chargerId/qr | chargers:read | Izveidojiet 300 pikseļu PNG QR kodu; neobligāts connector=0..255. |
GET | /v2/admin/chargers/:chargerId/composite-schedules | chargers:read | Nolasiet saglabāto apvienotā grafika vēsturi. |
GET | /v2/admin/chargers/:chargerId/configuration | chargers:read | Nolasiet OCPP konfigurāciju ar aizklātām sensitīvām vērtībām. |
PATCH | /v2/admin/chargers/:chargerId/configuration | chargers:configuration | Nosūtiet konfigurācijas izmaiņu ar key un value. |
POST | /v2/admin/chargers/:chargerId/configuration/reload | chargers:configuration | Pieprasiet svaigu lādētāja konfigurāciju. |
GET | /v2/admin/chargers/:chargerId/firmware | chargers:read | Nolasiet pašreizējo aparātprogrammatūru un atjaunināšanas statusu. |
POST | /v2/admin/chargers/:chargerId/firmware | chargers:firmware | Ievietojiet rindā atjauninājumu no HTTP(S) { "url": "..." }. |
POST | /v2/admin/chargers/:chargerId/commands/reset | chargers:commands | Nosūtiet `{ "resetType": "Soft" |
POST | /v2/admin/chargers/:chargerId/commands/availability | chargers:commands | Nosūtiet `{ "availabilityType": "Operative" |
POST | /v2/admin/chargers/:chargerId/commands/trigger | chargers:commands | Pieprasiet BootNotification, Heartbeat, StatusNotification vai MeterValues. |
POST | /v2/admin/chargers/:chargerId/commands/unlock | chargers:commands | Atbloķējiet pozitīvu connectorId. |
POST | /v2/admin/chargers/:chargerId/commands/composite-schedule | chargers:commands | Pieprasiet apvienoto grafiku connectorId, durationSeconds un chargingRateUnit. |
Lādētāja žurnāla vaicājuma parametri ir cursor, limit (noklusējums 50, maksimums 200), from, to, action, direction un levelId. Sesiju parametri ir page, limit (noklusējums 25, maksimums 100), from, to un customerId (pozitīvs ID vai unknown). Apvienotā grafika vēsture izmanto cursor, limit (noklusējums 20, maksimums 50) un neobligātu connectorId.
Pārskati
| Metode | Ceļš | Nepieciešamais tvērums | Mērķis |
|---|---|---|---|
GET | /v2/admin/reports/data | reports:read | Nolasiet filtrētus, ar kursoru lapotus uzlādes sesiju pārskata datus. |
GET | /v2/admin/reports/measurements | reports:read | Nolasiet ierobežotu skaitītāja vērtību kopu piederošam darījumam. |
GET | /v2/admin/reports/export | reports:export | Lejupielādējiet CSV vai PDF eksportu. |
GET | /v2/admin/reports/schedule | reports:read | Nolasiet darbvietai piederošo eksporta grafiku vai null. |
PUT | /v2/admin/reports/schedule | reports:schedules | Izveidojiet vai aizstājiet darbvietai piederošo eksporta grafiku. |
POST | /v2/admin/reports/send | reports:send | Nosūtiet iepriekšējā UTC kalendārā mēneša saglabāto eksportu pa e-pastu; nepieciešama idempotences atslēga. |
Pārskatu datu un eksporta filtri ir from, to, siteId, chargerId, userId, anonymous un active. from/to noklusējums ir pēdējās 90 dienas, un tie nedrīkst aptvert vairāk par 90 dienām. userId nevar apvienot ar anonymous=true.
- Datu lapošana: necaurspīdīgs
cursor, noklusējumslimit=50, maksimums 100. - Mērījumi: obligāts
transactionLogId, necaurspīdīgscursor, noklusējumslimit=500, maksimums 1 000. - Eksports:
format=csv|pdf, noklusējumscsv, stingrs ierobežojums 2 000 rindu. - Eksporta atbildes izmanto
Content-Disposition: attachment,Cache-Control: private, no-storeunX-Content-Type-Options: nosniff.
Grafika saturs:
{
"enabled": true,
"recipientEmail": "reports@example.com",
"format": "csv",
"sendDay": 5,
"sendTime": "08:30"
}
sendDay ir 1–28, un sendTime tiek interpretēts UTC. Plānotājs atgūst pašreizējā piegādes mēnesī izlaistu ieplānoto minūti. Pirms nodošanas neizdevusies izveide tiek atkārtota pēc 5 un 10 minūtēm, pārtrauktu building rezervāciju var atgūt pēc 30 minūtēm, un automātiskā piegāde beidzas pēc trim mēģinājumiem. Plānotājs saglabā indeterminate tieši pirms nodošanas SMTP; gan indeterminate, gan vecais sending statuss ir galīgi, jo jebkura automātiska atkārtošana varētu nosūtīt dublētu pielikumu. Operatoriem šie rezultāti jāsaskaņo manuāli pirms grafika stāvokļa maiņas. Katrā izpildes reizē tiek izvēlēti ne vairāk kā desmit grafiki, pēc 45 sekunžu budžeta netiek sākts jauns darbs, un tiek izmantotas ierobežotas SMTP noildzes. Uzdevums pēc noklusējuma ir atspējots, un tas skaidri jāieslēdz pēc SMTP un jaudas validācijas. API grafiks pieder darbvietai, nevis aizņemas marķieri izveidojušā cilvēka identitāti.
Tarifi
| Metode | Ceļš | Nepieciešamais tvērums | Mērķis |
|---|---|---|---|
GET | /v2/admin/tariffs | tariffs:read | Uzskaitiet tarifus un uzziņu datus. |
POST | /v2/admin/tariffs | tariffs:create | Izveidojiet tarifu. |
GET | /v2/admin/tariffs/:tariffId | tariffs:read | Nolasiet vienu piederošu tarifu un tā komponentus. |
PATCH | /v2/admin/tariffs/:tariffId | tariffs:update | Atjauniniet tarifa definīciju. |
PUT | /v2/admin/tariffs/:tariffId/components | tariffs:components | Atomāri aizstājiet līdz 256 komponentiem. |
DELETE | /v2/admin/tariffs/:tariffId | tariffs:delete | Dzēsiet neizmantotu tarifu. |
GET | /v2/admin/tariffs/:tariffId/market-prices | tariffs:read | Nolasiet cenas tarifam piederošajai tirdzniecības zonai no skaitliska startsAt. |
GET | /v2/admin/chargers/:chargerId/tariff-assignments | chargers:tariff-assignments + tariffs:read | Uzskaitiet lādētāja tarifu piešķīrumus. |
POST | /v2/admin/chargers/:chargerId/tariff-assignments | chargers:tariff-assignments + tariffs:assign | Piešķiriet tarifu. |
PATCH | /v2/admin/chargers/:chargerId/tariff-assignments/:assignmentId | chargers:tariff-assignments + tariffs:assign | Aizstājiet piešķīruma mērķi. |
DELETE | /v2/admin/chargers/:chargerId/tariff-assignments/:assignmentId | chargers:tariff-assignments + tariffs:assign | Noņemiet piešķīrumu. |
Tarifa saturs ietver name, tieši vienu no currencyId, currencyCode vai currency, neobligātu biddingZoneId un tax. Piešķīruma saturs ir:
{ "tariffId": 17, "connectorId": 0 }
Veidojot piešķīrumu, tarifs tiek piemērots visām fiziskajām pieslēgvietām, ja connectorId ir izlaists vai tā vērtība ir skaidri norādīta kā 0. Piešķīruma atjaunināšana mērķē uz vienu saglabātu piešķīrumu, tādēļ nepieciešams skaidri norādīts pozitīvs fiziskais connectorId; 0 tiek noraidīts.
Komponents satur typeId, seasonId, neobligātu lauku priority, obligātu lauku price un neobligātas derīguma robežas pēc mēneša, nedēļas dienas un stundas.
Uzlādes profili
| Metode | Ceļš | Nepieciešamais tvērums | Mērķis |
|---|---|---|---|
GET | /v2/admin/charging-profiles | chargingProfiles:read | Uzskaitiet profilus un piederošos uzziņu datus. |
POST | /v2/admin/charging-profiles | chargingProfiles:create | Izveidojiet profilu ar neobligātu grafiku. |
GET | /v2/admin/charging-profiles/:profileId | chargingProfiles:read | Nolasiet vienu piederošu profilu. |
PATCH | /v2/admin/charging-profiles/:profileId | chargingProfiles:update | Aizstājiet profila metadatus. |
PUT | /v2/admin/charging-profiles/:profileId/schedule | chargingProfiles:update | Aizstājiet grafiku ar 1–256 periodiem. |
DELETE | /v2/admin/charging-profiles/:profileId | chargingProfiles:delete | Notīriet uzstādītos piešķīrumus un dzēsiet tikai pēc pieņemtiem OCPP rezultātiem un atkārtotas validācijas. |
GET | /v2/admin/chargers/:chargerId/profile-assignments | chargers:profile-assignments + chargingProfiles:read | Uzskaitiet lādētāja profilu piešķīrumus. |
POST | /v2/admin/chargers/:chargerId/profile-assignments | chargers:profile-assignments + chargingProfiles:assign | Piešķiriet un sinhronizējiet profilu. |
PATCH | /v2/admin/chargers/:chargerId/profile-assignments/:assignmentId | chargers:profile-assignments + chargingProfiles:assign | Aizstājiet un sinhronizējiet piešķīrumu. |
DELETE | /v2/admin/chargers/:chargerId/profile-assignments/:assignmentId | chargers:profile-assignments + chargingProfiles:assign | Notīriet un noņemiet piešķīrumu. |
Profila metadatu lauki ir label, locationId, stackLevel, purposeId, kindId, neobligāts recurrencyKindId, validFrom, validTo, startSchedule, rateUnitId un neobligāts minChargingRate. Grafika periods satur startPeriod, limit un neobligātu numberOfPhases. Piešķīruma saturs ietver profileId un connectorId (noklusējums 0).
Profilu dzēšana un jaudas pārvaldības aizstāšana var gaidīt lādētāja apstiprinājumu. Noraidījums, noildze vai vienlaicīga stāvokļa maiņa atgriež konfliktu un saglabā datubāzes konfigurāciju, nevis izliekas, ka lādētājs ir notīrīts.
Lietotāji, uzaicinājumi, RFID, piekļuve un ierobežojumi
| Metode | Ceļš | Nepieciešamais tvērums | Mērķis |
|---|---|---|---|
GET | /v2/admin/users | users:read | Uzskaitiet dalībniekus un uzaicinājumus. |
POST | /v2/admin/users | users:create | Pievienojiet jau reģistrētu klientu pēc email un darbvietas name. |
POST | /v2/admin/users/invitations | users:invitations + users:access; arī users:rfid, ja norādīts RFID | Uzaiciniet nezināmu e-pasta adresi vai piesaistiet esošu klientu. |
POST | /v2/admin/users/invitations/resend | users:invitations | Nosūtiet atkārtoti, izmantojot { "email": "..." }, ievērojot saņēmēja nogaidīšanas periodu. |
DELETE | /v2/admin/users/invitations | users:invitations | Atceliet uzaicinājumu; e-pasta adrese paliek JSON saturā. |
GET | /v2/admin/users/:userId | users:read + reports:read | Nolasiet lietotāja informāciju un ierobežotas sesiju kopsummas. |
PATCH | /v2/admin/users/:userId | users:update | Iestatiet darbvietai specifisko attēlošanas name. |
DELETE | /v2/admin/users/:userId | users:delete | Noņemiet dalībnieku un saistīto darbvietas piekļuvi, ievērojot konfliktus. |
GET | /v2/admin/users/:userId/vehicles | users:read | Uzskaitiet piederošos transportlīdzekļus. |
GET | /v2/admin/users/:userId/rfids | users:read | Uzskaitiet RFID metadatus ar maskētiem UID. |
POST | /v2/admin/users/:userId/rfids | users:rfid | Pievienojiet uid un neobligātu name; atbildes rāda tikai maskēto UID. |
PATCH | /v2/admin/users/:userId/rfids/:rfidId | users:rfid | Atjauniniet RFID etiķeti. |
DELETE | /v2/admin/users/:userId/rfids/:rfidId | users:rfid | Dzēsiet RFID un sinhronizējiet ietekmētos lādētājus. |
GET | /v2/admin/users/:userId/access | users:read | Nolasiet piekļuves piešķīrumus lādētājiem. |
PUT | /v2/admin/users/:userId/access | users:access | Aizstājiet piekļuvi, izmantojot allChargers un unikālu chargerIds. |
DELETE | /v2/admin/users/:userId/access/:accessId | users:access | Atsauciet vienu piekļuves rindu. |
GET | /v2/admin/users/:userId/limits | users:read | Uzskaitiet uzlādes ierobežojumus. |
POST | /v2/admin/users/:userId/limits | users:limits | Izveidojiet limitTypeId, energyValue un/vai timeValue. |
PATCH | /v2/admin/users/:userId/limits/:limitId | users:limits | Atjauniniet vienu vai vairākus ierobežojuma laukus. |
DELETE | /v2/admin/users/:userId/limits/:limitId | users:limits | Dzēsiet ierobežojumu. |
GET | /v2/admin/chargers/:chargerId/local-users | chargers:read + users:read | Uzskaitiet lādētāja vietējos lietotājus un gaidošos uzaicinājumus. |
POST | /v2/admin/chargers/:chargerId/local-users | chargers:local-users + users:access | Pievienojiet esošu customerId ar neobligātu expiresAt. |
POST | /v2/admin/chargers/:chargerId/local-users/invitations | chargers:local-users + users:invitations + users:access | Pievienojiet vai uzaiciniet pēc e-pasta adreses. |
DELETE | /v2/admin/chargers/:chargerId/local-users/invitations | chargers:local-users + users:invitations | Atceliet vietējā lietotāja uzaicinājumu pēc e-pasta adreses. |
PATCH | /v2/admin/chargers/:chargerId/local-users/:localUserId | chargers:local-users + users:access | Iestatiet expiresAt, kas var būt null. |
DELETE | /v2/admin/chargers/:chargerId/local-users/:localUserId | chargers:local-users + users:access | Noņemiet vietējo piekļuvi un sinhronizējiet OCPP stāvokli. |
Transportlīdzekļu lapošana un status=members lietotāju lapošana izmanto pozitīvu skaitlisku cursor. Uzaicinājumu lapas izmanto necaurspīdīgu i2.* kursoru, savukārt status=all pēc pirmās lapas izmanto necaurspīdīgu apvienotu a2.* kursoru (skaitlisks kursors paliek derīgs tikai kā vecās dalībnieku plūsmas turpinājums). Lietotāju meklēšana tiek norādīta X-Admin-User-Search pieprasījuma galvenē, lai e-pasta adreses nenonāktu URL vai piekļuves žurnālos. limit noklusējums ir 50, un tas ir ierobežots līdz 100; lietotāju saraksts atbalsta status=all|members|invitations. Visus atgrieztos kursorus uzskatiet par necaurspīdīgiem un atgrieziet nemainītus.
Tieša lietotāja izveide neizveido paroli, pieteikšanās identitāti vai sesiju. Tā tikai piesaista jau reģistrētu klientu. Nezināmai e-pasta adresei izmantojiet uzaicinājuma galapunktu. Aizsargāto Tagless sistēmas lietotāju šajos maršrutos nevar mainīt.
Piemēri
Iestatiet vērtības komandrindas čaulā, neizdrukājot marķieri:
export ADMIN_API_BASE_URL="https://api.example.com"
export WORKSPACE_TOKEN="<read from secret manager>"
Objektu uzskaitījums:
curl --fail-with-body \
-H "Authorization: Bearer ${WORKSPACE_TOKEN}" \
"${ADMIN_API_BASE_URL}/v2/admin/sites"
Izveidojiet objektu droši:
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"
Lejupielādējiet CSV pārskatu skaidri norādītam UTC diapazonam:
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"
Apzināti izņēmumi
Darbvietas marķieru API neatklāj darbības, kurām nepieciešama cilvēka identitāte vai plašākas pilnvaras. Tās ietver:
- marķieru izveide, atklāšana, nomaiņa vai atsaukšana ar citu marķieri;
- pieteikšanās, paroles atiestatīšana, sesijas, cilvēku lomu vai privilēģiju deleģēšana un darbvietas īpašnieka maiņa;
- darbvietas izveide/dzēšana un dalība norēķinu kontā;
- maksājumu iestatījumi, Stripe reģistrācija, plāni, rēķini un saimnieka norēķini;
- saimnieka mēroga atbalsta darbības un pakalpojumu sniedzēju tīmekļa aizķeres;
- cilvēkiem paredzēti paziņojumi, navigācijas pāradresācijas, zīmola resursi un izstrādes/testa maršruti.