Sessão
Uma sessão é uma recarga iniciada para um consumidor externo, numa estação e num conector da VoltBras.
Iniciar
POST /session/start
Campos obrigatórios: consumerId, stationId, connectorId, emspId. O connectorId costuma ser 1, 2 ou 3.
Opcionais:
membershipId— sem esse campo, a sessão usa o preço padrão.externalSessionId— identificador da sessão no eMSP.
Sucesso: 201 com sessionId e os identificadores da recarga.
Erros de negócio voltam como { "reason", "payload" }:
| HTTP | reason |
|---|---|
| 404 | StationDoesNotExist |
| 409 | ConcurrentOperationDetectedError, ExternalConsumerAlreadyHasOngoingSession, ConsumerHasPendingOrder |
| 422 | ConnectorIsNotAvailable, StartSessionConsumerCannotStartSessionDueToReservationPolicy, PaymentFailed |
| 403 | ExternalConsumerCannotStartSession |
| 400 | CentralSystemStartTransactionError e demais |
Consultar
GET /session lista sessões. limit padrão é 10 e offset padrão é 0. Filtros opcionais incluem sessionIds, includesStatus, orgIds, intervalos createdAtTimeRange e updatedAtTimeRange em RFC3339, consumerIds e roamingType (ALL, INTERNAL, REAL).
GET /session/{id} devolve uma sessão. Se o id não existir, a resposta é 404.
O status da sessão é um de: WAITING_PLUG, CHARGING, STOP_REQUESTED, FINISHING, WAITING_UNPLUG, FINISHED, CANCELED, ERROR, TIMED_OUT.
A sessão também traz externalConsumerId, co2Avoided e o operador em cpo (id e rootParentOrganizationId). energyConsumedWh é a energia em watt-hora. timeChargingSeconds é o tempo em carga, em segundos.
order é o pedido da sessão. order.status é o estado do pedido. Os valores em centavos são consumptionInfo, unlockFeeCents, subtotal, idleInfo, totalCostCents e valueToBeCapturedCents. Em idleInfo, exceededIdleTimeSeconds é o tempo ocioso além da tolerância e billedIdleTimeSeconds é o tempo ocioso cobrado, os dois em segundos.
Encerrar
POST /session/stop recebe sessionId e stationId. Sucesso: 204 sem corpo.
| HTTP | reason |
|---|---|
| 404 | SessionNotFound, StationNotFound, TransactionNotFound |
| 403 | AccountNotAuthorized |
| 409 | SessionConcurrentCommandDetected |
| 422 | SessionNotCharging, StationIdIsNotFromSession, RemoteStopTransactionError |
| 400 | UnexpectedError e demais |