Conradh freagraí agus earráidí API riaracháin
Comhlánaíonn an comhad seo an conradh freagraí do gach críochphointe in Tagairt críochphointí. Léigh ró an chríochphointe dá chorp ratha agus na táblaí thíos do gach corp neamh-ratha comhroinnte nó sonrach. De réir réamhshocraithe, úsáideann earráidí roinnt struchtúr comhoiriúnachta; is féidir le glaoiteoirí clúdach uilíoch amháin a roghnú.
Clúdach roghnach struchtúrtha earráide
Seol an ceanntásc iarratais seo chuig aon chríochphointe:
X-Error-Format: envelope
Baintear spásanna imeallacha den luach le haghaidh comparáide agus ní dhéantar idirdhealú idir litreacha móra agus beaga. Leis an luach cruinn sin, tiontaítear gach freagra JSON a bhfuil stádas 400 nó níos airde aige go:
ErrorEnvelope = {
error: {
code: string,
message: string,
details: Record<string, unknown>,
requestId: string
}
}
Tiontú samplach ar chorp bailíochtaithe réamhshocraithe:
{
"error": {
"code": "VALIDATION_FAILED",
"message": "Invalid request",
"details": {
"fields": {
"name": ["String must contain at least 1 character(s)"]
}
},
"requestId": "integration-42"
}
}
Tá na rialacha tiontaithe beacht:
- Déantar
details.fieldsdevalidationErrors, agusVALIDATION_FAILEDdecode, fiú nuair a bhí cód fearainn sa chorp réamhshocraithe freisin. - Coinnítear
coderéamhshocraithe barrleibhéil nuair nach bhfuil réimsí bailíochtaithe ann. - Bogtar airíonna barrleibhéil eile seachas
error,message,validationErrorsaguscodeisteach indetails; mar shampla, déantardetails.limitdelimiteaspórtála tuairisce. - Déantar
messagedeerrorbarrleibhéil den chineál teaghráin. Mura bhfuil a leithéid ann, úsáidtear an stádas cúltaca. - Is iad na cóid chúltaca
AUTH_REQUIRED(401),PERMISSION_DENIED(403),RESOURCE_NOT_FOUND(404),CONFLICT(409),VALIDATION_FAILED(422agus4xxneamhaicmithe eile),RATE_LIMITED(429),EXTERNAL_PROVIDER_FAILED(502) agusINTERNAL_ERROR(5xxeile,503san áireamh). - Is é
requestIdan ceanntásc freagra cruinnX-Request-Id. Ní úsáidtear ID iarratais arna sholáthar ag glaoiteoir ach má mheaitseálann sé[A-Za-z0-9._:-]{1,128}tar éis spásanna imeallacha a bhaint; murach sin gineann an freastalaí UUID.
Ní athraíonn an tiontú seo an stádas ná ceanntásca nach mbaineann leis an gcorp. Baineann sé freisin le hathsheinmneacha idempotent de réir cheanntásc X-Error-Format an iarratais athsheinm. Fanann freagraí ratha dénártha ina ndénártha; cuirtear a n-earráidí JSON i gclúdach. Taispeánann na táblaí eile na coirp réamhshocraithe; tugann cur i bhfeidhm na rialacha thuas an corp freagra eile atá indéanta do gach ró.
Nodaireacht freagraí
ValidationError = {
validationErrors: Record<string, string[]>,
code?: string
}
CodedError = {
error: string,
code: string,
// a route may add fields explicitly listed below
}
PlainError = { error: string }
Is tuairisciúil iad error agus téacs teachtaireachtaí bailíochtaithe, seachas idirdhealaitheoir cobhsaí ríomhchláraithe. Brainseáil ar code nuair atá sé ann. Tugann bailíochtú iarratais 422 ValidationError ar ais; féadfaidh bailíochtú réada iomláin { "validationErrors": {} } a tháirgeadh nuair nach n-aithnítear réimse aonair. Tugann JSON neamhbhailí agus teipeanna gan choinne an 500 PlainError domhanda a thaispeántar thíos ar ais.
Léiríonn gach sampla JSON struchtúr beacht an choirp. Is í an teachtaireacht bhailíochtaithe nó oibríochta a thugtar ar ais an téacs a thaispeántar mar <message>; is teaghrán JSON í, seachas luach litriúil idir lúibíní uilleacha.
Ord próiseála iarratas
Próiseáiltear iarratais san ord seo:
- cumraíocht agus fíordheimhniú comharthaí spáis oibre;
- beartas óstaigh agus teorainneacha ráta comhartha/spáis oibre;
- scagadh teidlíochta reatha;
- do gach athrú, bailíochtú/éileamh idempotency;
- seiceálacha scóipe críochphointe, bailíochtú iarratais agus an oibríocht iarrtha.
Dá bhrí sin, tá Idempotency-Key de dhíth fós ar athrú le comhartha bailí nach bhfuil dóthain scóipe aige. Is féidir freagra athraithe críochnaithe 403, 404, 409 nó 422 a athsheinm don eochair/iarratas céanna.
Freagraí fíordheimhnithe, beartais agus teorannaithe ráta
Féadfaidh na freagraí seo tarlú ar gach críochphointe cláraithe /v2/admin roimh phróiseáil shonrach an chríochphointe.
| Stádas | Cathain | Corp cruinn | Ceanntásca ábhartha |
|---|---|---|---|
401 | Comhartha spáis oibre ar iarraidh, dúblach, ceangailte le camóga, neamh-Bearer, míchumtha, anaithnid, imithe in éag, cúlghairthe nó neamhbhailí ar shlí eile | { "error": "Unauthorized", "code": "INVALID_WORKSPACE_TOKEN" } | WWW-Authenticate: Bearer, Cache-Control: no-store |
404 | Tá an comhartha bailí ach níl adminApiEnabled ag óstach a spáis oibre | { "error": "Not Found" } | Cache-Control: no-store |
429 | Tá an cuóta iarratas in aghaidh an chomhartha nó an spáis oibre ídithe | { "error": "Too many attempts. Please try again later." } | Retry-After: <seconds> |
503 | Níl fíordheimhniú comhartha spáis oibre ar fáil go sealadach | { "error": "Admin API workspace-token configuration is unavailable", "code": "WORKSPACE_API_CONFIG_UNAVAILABLE" } | — |
503 | Teipeann ar chuardach beartais óstaigh nó ar údarú teidlíochta reatha | { "error": "Workspace authorization is temporarily unavailable", "code": "WORKSPACE_AUTHORIZATION_UNAVAILABLE" } | — |
Tá rochtain API i ngach plean. Má dhíchumasaítear socrú adminApiEnabled óstach an spáis oibre, tugtar 404 ar ais; má chailltear teidlíocht ghné bhreise, ní bhaintear ach na scóip lena mbaineann. Úsáideann an diúltú scóipe sin an freagra thíos, seachas sreabhadh athnuachana comhartha.
Teipeanna scóipe, idempotency, parsála, úinéireachta agus gan choinne
| Baineann le | Stádas | Corp cruinn | Ceanntásca/nótaí |
|---|---|---|---|
| Gach bealach tar éis fíordheimhnithe | 403 | { "error": "Insufficient workspace-token scope", "code": "INSUFFICIENT_SCOPE" } | Tugtar ar ais nuair atá aon scóip riachtanach ar iarraidh. |
| Gach athrú | 400 | { "error": "Idempotency-Key is required for this operation", "code": "IDEMPOTENCY_KEY_REQUIRED" } | Níor soláthraíodh eochair. |
| Gach athrú | 400 | { "error": "Exactly one Idempotency-Key is required", "code": "INVALID_IDEMPOTENCY_KEY" } | Ceanntásc dúblach nó ceangailte le camóga. |
| Gach athrú | 400 | { "error": "Idempotency-Key must contain 1 to 255 visible characters", "code": "INVALID_IDEMPOTENCY_KEY" } | Folamh, rófhada nó tá carachtar rialaithe ann. |
| Gach athrú | 409 | { "error": "Idempotency-Key was already used with a different request", "code": "IDEMPOTENCY_CONFLICT" } | An comhartha/modh/cosán/eochair céanna, URL nó corp difriúil. |
| Gach athrú | 409 | { "error": "Request is already processing", "code": "IDEMPOTENT_REQUEST_PROCESSING" } | Retry-After: 5. |
| Gach athrú | 409 | { "error": "Previous request outcome is unknown; verify its effects before attempting the operation again", "code": "IDEMPOTENCY_OUTCOME_UNKNOWN" } | Chuaigh léas próiseála roimhe seo in éag, dúnadh an nasc nó chríochnaigh an t-iarratas le 5xx. |
| Gach athrú | 503 | { "error": "Idempotency storage unavailable", "code": "IDEMPOTENCY_UNAVAILABLE" } | Ní féidir leis an API an taifead idempotency a sheiceáil ná a shábháil. |
| Aon chríochphointe le scéim cheiste/choirp/chosáin neamhbhailí | 422 | { "validationErrors": { "<field>": ["<message>"] } } | Féadfaidh roinnt réimsí/teachtaireachtaí a bheith ann. Ní féidir le glaoiteoirí cpoId a sholáthar; tagann an spás oibre ón gcomhartha i gcónaí. |
| Aon acmhainn neadaithe spáis oibre ar iarraidh nó aitheantóir ó spás oibre eile | 404 | { "error": "Workspace resource not found", "code": "RESOURCE_NOT_FOUND" } | Úsáidtear go comhsheasmhach mura ndeir tábla thíos a mhalairt. |
| Aon chríochphointe le teip gan choinne | 500 | { "error": "Something went wrong" } | I gcás athruithe, tugann athiarracht leis an eochair chéanna níos déanaí 409 IDEMPOTENCY_OUTCOME_UNKNOWN. |
Ní mór d'IDanna cosáin acmhainne a bheith ina n-uimhreacha dearfacha. Tugann :siteId, :chargerId, :portId, :tariffId, :profileId, :assignmentId, :userId, :rfidId, :accessId, :limitId nó :localUserId neamh-dhearfach nó neamhuimhriúil 422 ValidationError ar ais, seachas 400.
Earráidí láithreáin agus bainistithe cumhachta
| Críochphointí | Stádas | Corp cruinn |
|---|---|---|
| Cruthú/nuashonrú láithreáin; bailíochtú réimse spáis oibre | 422 | { "validationErrors": { "<field>": ["<message>"] } } |
DELETE /v2/admin/sites/:siteId nuair atá spleáchais ag an láithreán | 409 | { "error": "<message>", "code": "SITE_NOT_EMPTY" } |
GET /v2/admin/sites/geocode cuardach normalaithe neamhbhailí | 400 | { "error": "<message>", "code": "INVALID_GEOCODE_QUERY" } |
| Mar an gcéanna, scuaine theoranta soláthraí lán | 429 | { "error": "<message>", "code": "GEOCODING_BUSY" }; cuimsíonn Retry-After nuair a sholáthraíonn an geochódóir é |
| Mar an gcéanna, teorainn ama/teip soláthraí nó earráid geochódóra gan choinne | 502 | { "error": "<message>", "code": "GEOCODING_UNAVAILABLE" }; úsáideann earráid gan choinne Address search is temporarily unavailable |
PUT /v2/admin/sites/:siteId/power-management cumraíocht toipeolaíochta/fearainn neamhbhailí | 422 | { "error": "<message>", "code": "INVALID_POWER_MANAGEMENT_CONFIGURATION" } |
| Mar an gcéanna, diúltú/teorainn ama OCPP, coinbhleacht chomhthráthach nó coinbhleacht réitigh | 409 | { "error": "<message>", "code": "POWER_MANAGEMENT_CONFLICT" } |
Earráidí luchtairí
Úsáidtear mapChargerErrors() do chruthú/nuashonrú luchtairí, dintiúir, socruithe nascóra, liostú poiblí, réiteach ábhair QR, athrú/athlódáil cumraíochta, tosú dochtearraí, na ceithre ordú bhunúsacha agus iarratas sceidil ilchodaigh.
| Críochphointí | Stádas | Corp cruinn |
|---|---|---|
| Aon oibríocht thuas le teip bhailíochtaithe fearainn | 422 | { "validationErrors": { "<field>": ["<message>"] } } |
| Aon oibríocht thuas le coinbhleacht staide, uathúlachta, as líne/OCPP, billeála, Tagless, nascóra nó ullmhachta | 409 | { "error": "<message>", "code": "CHARGER_CONFLICT" } |
GET /chargers/:chargerId/sessions, raon ama réamhshocraithe/sonraithe neamhbhailí | 422 | { "validationErrors": { "from": ["from must be before or equal to to"] } } nó { "validationErrors": { "from": ["Session range cannot exceed 90 days"] } } |
Ní thugann oibríochtaí simplí léite ach na freagraí comhroinnte 401/403/404/429/500/503 agus bailíochtú ceiste/cosáin 422 ar ais. Féadfaidh scriosadh luchtaire an 500 PlainError comhroinnte a thabhairt ar ais má theipeann ar an scriosadh gan freagra earráide níos sonraí.
Earráidí tuairiscí
| Críochphointí | Stádas | Corp cruinn |
|---|---|---|
Raon sonraí/easpórtála ina bhfuil from >= to | 422 | { "validationErrors": { "range": ["from must be earlier than to"] } } |
| Raon sonraí/easpórtála os cionn 90 lá | 422 | { "validationErrors": { "range": ["Report ranges cannot exceed 90 days"] } } |
| Cúrsóir teimhneach neamhbhailí sonraí/tomhas | 422 | { "validationErrors": { "cursor": ["<message>"] } } |
GET /reports/export, sáraíonn an toradh 2,000 ró | 422 | { "error": "<message>", "code": "REPORT_EXPORT_ROW_LIMIT", "limit": 2000 } |
POST /reports/send, gan sceideal sábháilte | 409 | { "error": "A workspace report schedule must be saved before sending", "code": "REPORT_SCHEDULE_REQUIRED" } |
| Mar an gcéanna, diúltaíonn/teipeann ar an seoltóir ríomhphoist | 502 | { "error": "Report delivery failed", "code": "REPORT_DELIVERY_FAILED" } |
| Acmhainn sceidil/tomhas faoi úinéireacht ar iarraidh | 404 | corp comhroinnte RESOURCE_NOT_FOUND |
Is dénártha an t-easpórtáil rathúil; fanann gach earráid easpórtála ina JSON.
Earráidí taraifí
| Críochphointí | Stádas | Corp cruinn |
|---|---|---|
| Bailíochtú fearainn cruthaithe/nuashonraithe/comhpháirteanna/praghsanna margaidh/sannacháin | 422 | { "validationErrors": { "<field>": ["<message>"] } } |
| Coinbhleacht staide/spleáchais/uathúlachta scriosta taraife nó sannacháin | 409 | { "error": "<message>", "code": "TARIFF_CONFLICT" } |
| Taraif, crios tairisceana, luchtaire, nascóir, sannachán taraife nó acmhainn neadaithe eile nach bhfuil faoi úinéireacht | 404 | corp comhroinnte RESOURCE_NOT_FOUND |
Earráidí próifílí luchtaithe
| Críochphointí | Stádas | Corp cruinn |
|---|---|---|
| Bailíochtú fearainn cruthaithe/nuashonraithe/sceidil/sannacháin | 422 | { "validationErrors": { "<field>": ["<message>"] } } |
| Tá tagairt don phróifíl in úsáid chosanta | 409 | { "error": "<message>", "code": "CHARGING_PROFILE_IN_USE" } |
| Coinbhleacht sioncronaithe OCPP, sannacháin, comhthráthachta nó próifíle eile | 409 | { "error": "<message>", "code": "CHARGING_PROFILE_CONFLICT" } |
| Próifíl, luchtaire, nascóir, sannachán nó acmhainn neadaithe eile nach bhfuil faoi úinéireacht | 404 | corp comhroinnte RESOURCE_NOT_FOUND |
Earráidí fearainn úsáideora
Úsáideann earráidí bailíochtaithe úsáideora a aithníonn réimse ValidationError agus code; úsáideann earráidí eile úsáideora CodedError. Úsáideann gach cás acmhainne ar iarraidh an freagra comhroinnte RESOURCE_NOT_FOUND nach nochtann acmhainní.
| Stádas | Cód/Cóid | Corp |
|---|---|---|
400 | INVALID_USER_CURSOR | { "validationErrors": { "cursor": ["The user-list cursor is invalid for the selected status"] }, "code": "INVALID_USER_CURSOR" } |
409 | USER_ALREADY_EXISTS, CUSTOMER_CONTRACT_MISSING, INVITATION_EMAIL_IN_USE, RFID_ALREADY_EXISTS, ACCESS_ALREADY_EXISTS, ACCESS_ALL_ALREADY_EXISTS, LIMIT_ALREADY_EXISTS, LOCAL_USER_ALREADY_EXISTS, PROTECTED_WORKSPACE_USER, TAGLESS_USER_PROTECTED, USER_RELATED_DATA | { "error": "<message>", "code": "<listed code>" } |
422 | INVALID_EMAIL, INVALID_RFID, INVALID_LIMIT_TYPE, INVALID_LIMIT_VALUE | { "validationErrors": { "<field>": ["<message>"] }, "code": "<listed code>" } |
422 | NO_CHARGERS_AVAILABLE | { "error": "No chargers are available", "code": "NO_CHARGERS_AVAILABLE" } |
429 | INVITATION_RESEND_THROTTLED | { "error": "Invitation resend is temporarily unavailable", "code": "INVITATION_RESEND_THROTTLED" }; cuimsíonn Retry-After |
503 | USER_CURSOR_UNAVAILABLE | { "error": "User pagination is temporarily unavailable", "code": "USER_CURSOR_UNAVAILABLE" } |
404 | RESOURCE_NOT_FOUND | { "error": "Workspace resource not found", "code": "RESOURCE_NOT_FOUND" } |
Féadfaidh POST /users/invitations an 403 INSUFFICIENT_SCOPE comhroinnte a thabhairt ar ais freisin tar éis parsáil coirp má tá users:access ar iarraidh, nó má soláthraíodh RFID agus má tá users:rfid ar iarraidh. Liostaíonn críochphointí úsáideora áitiúil gach scóip riachtanach in Tagairt críochphointí.
Baineann cóid earráide úsáideora mar seo a leanas:
| Grúpa críochphointí | Cóid fearainn úsáideora nach 404 iad, sa bhreis ar fhreagraí comhroinnte |
|---|---|
GET /users | INVALID_USER_CURSOR (400), USER_CURSOR_UNAVAILABLE (503) |
POST /users | USER_ALREADY_EXISTS, TAGLESS_USER_PROTECTED (409) |
PATCH /users/:userId | TAGLESS_USER_PROTECTED (409) |
DELETE /users/:userId | TAGLESS_USER_PROTECTED, PROTECTED_WORKSPACE_USER, USER_RELATED_DATA (409) |
| Sonraí úsáideora, feithiclí, léamh RFID/rochtana/teorann | gan cód fearainn nach 404 é |
| Cruthú RFID | CUSTOMER_CONTRACT_MISSING, RFID_ALREADY_EXISTS, TAGLESS_USER_PROTECTED (409); INVALID_RFID (422) |
| Nuashonrú/scriosadh RFID | TAGLESS_USER_PROTECTED (409) |
| Athsholáthar rochtana | TAGLESS_USER_PROTECTED (409); NO_CHARGERS_AVAILABLE (422) |
| Cúlghairm rochtana | TAGLESS_USER_PROTECTED (409) |
| Cruthú/nuashonrú teorann | TAGLESS_USER_PROTECTED, LIMIT_ALREADY_EXISTS (409); INVALID_LIMIT_TYPE, INVALID_LIMIT_VALUE (422) |
| Scriosadh teorann | TAGLESS_USER_PROTECTED (409) |
| Cruthú cuireadh spáis oibre | CUSTOMER_CONTRACT_MISSING, INVITATION_EMAIL_IN_USE, RFID_ALREADY_EXISTS, TAGLESS_USER_PROTECTED (409); INVALID_EMAIL/INVALID_RFID (422); INVITATION_RESEND_THROTTLED (429) nuair atá tréimhse feithimh seachadta i bhfeidhm |
| Athsheoladh cuireadh spáis oibre | INVALID_EMAIL (422), INVITATION_RESEND_THROTTLED (429) |
| Cealú cuireadh spáis oibre | INVALID_EMAIL (422) |
| Cruthú úsáideora áitiúil luchtaire do chustaiméir atá ann cheana | LOCAL_USER_ALREADY_EXISTS, TAGLESS_USER_PROTECTED (409) |
| Cuireadh úsáideora áitiúil luchtaire | LOCAL_USER_ALREADY_EXISTS, INVITATION_EMAIL_IN_USE, TAGLESS_USER_PROTECTED (409); INVALID_EMAIL (422); INVITATION_RESEND_THROTTLED (429) nuair atá tréimhse feithimh seachadta i bhfeidhm |
| Cealú cuireadh úsáideora áitiúil | INVALID_EMAIL (422) |
| Nuashonrú/scriosadh úsáideora áitiúil | TAGLESS_USER_PROTECTED (409) |
Úsáideann gach toradh úinéireachta agus acmhainne ar iarraidh sna grúpaí sin, lena n-áirítear ríomhphost neamhchláraithe ar POST /users, an corp comhroinnte 404 RESOURCE_NOT_FOUND.
Freagraí gan chorp agus athsheinm
Níl corp i bhfreagra rathúil 204. Baineann sé seo le gach scriosadh doiciméadaithe a liostaíonn 204 empty. Socraíonn athsheinm idempotent críochnaithe Idempotency-Replayed: true agus úsáideann sé an stádas/chorp stóráilte; i gcás 204, fanann an freagra HTTP gan chorp. Ní thugann an API réad ratha JSON ar ais riamh d'oibríocht dhoiciméadaithe 204.