The Ocean system integrates numerous charging points across various locations. To gather information about the current statuses of each asset, user, session, or any other data in the system, the external system can employ several approaches.
One of the approaches is to request data using Ocean’s Message Queue. These messages are asynchronous and are sent at any important change. The messages are created on the fly during the execution of some logical process, without an additional database search. Therefore, they have only a light impact on the system’s performance.
Each API user can be set to listen to several messages that Ocean creates and publishes onto the Message Queue. A new and independent queue is created for each message and each API user.
When an important event occurs, the Ocean system creates a message, for example, “ChargePointConnectorStatusChanged,” and copies it to all relevant queues. This means that each API user gets its own copy and is responsible for it. The messages stay in the queue until the API user subscribes to the queue, reads messages, and acknowledges them. If the messages are just read and not acknowledged, they stay in the queue and are resent later upon the re-established subscription. If the API user is not subscribed to the queue at the time of the event, the message is still put into the queue and waits for the API user to subscribe to the queue.
There are some limitations (number and time) when the messages are in any case removed from the queue. API user is responsible to maintain the connection and the subscription to the Message queue to avoid losing messages.
When system receives from charger that sessions has started
API Access key. This can be configured in the Ocean's operator portal.
Location ID. Every location has a unique ID.
Accepts the following message:
{
"ChargingSessionId": 660427,
"ChargingSessionNumber": "S-2023/2673",
"ChargingSessionSourceId": 1,
"ParkingFrom": null,
"ParkingTo": null,
"ConnectedFrom": "2023-10-30T07: 53: 03.557Z",
"ConnectedTo": null,
"ChargingFrom": "2023-10-30T07: 53: 03.557Z",
"ChargingTo": null,
"MeterStart": 6804.3,
"MeterEnd": null,
"ActiveEnergyConsumption": null,
"MaxActivePower": null,
"RoamingTypeId": 0,
"RoamingSessionId": null,
"InstanceRoamingPlatformId": null,
"ChargingSessionStopReasonId": null,
"Evse": {
"Id": 75691,
"EvseFriendlyCode": "1",
"ChargingTypeId": 1,
"OutMaxPower": 22.08,
"NumberOfPhases": 3,
"ExternalCode": null,
"PaymentRequired": 0,
"Connector": {
"Id": 90513,
"FriendlyCode": "1",
"ConnectorTypeId": 1
},
"ChargePoint": {
"Id": 7303,
"FriendlyCode": "09",
"ExternalCode": null,
"SerialNumber": "SI*HW0007-02"
},
"Owner": {
"Id": 1,
"Name": "Etrel d.o.o.",
"AccountingSystemCode": "EXt"
},
"Location": {
"LocationId": 40,
"FriendlyName": "Davorin development",
"FriendlyCode": "SI06-00092",
"LocationTypeId": 11,
"LocationAccessTypeId": 1
},
"Address": {
"StreetName": "Pod jelšami",
"HouseNumber": "6",
"CityName": "Grosuplje",
"PostNumber": "1290",
"CountryCode": "SI"
},
"Roaming": {
"RoamingPlatform": {
"Id": null,
"Title": null,
"RoamingActor": {
"Id": null,
"Code": null,
"Title": null
}
}
}
},
"ChargingAuthorization": {
"Id": 837519,
"Number": "A-2023/4726",
"AuthorizationSourceId": 1,
"ServerReceivedTimestamp": "2023-10-30T07: 53: 03.950Z",
"Payable": 0,
"Identification": {
"Id": 20504,
"IdentificationType": {
"Id": 14,
"Title": "PIN code"
},
"CardTypeId": 14,
"Number": "#2",
"Code": "#1111",
"User": {
"Id": 7361,
"FirstName": "Jasmin",
"LastName": "Tester",
"IsCompany": 0,
"CompanyName": "",
"Email": "jasmin.botonjic.driver.test@int.etrel.com",
"GSMNumber": "",
"ExternalCode": null,
"TaxNumber": null,
"UICulture": "en-GB"
},
"UserPayer": {
"Id": 6861,
"FirstName": "Jasmin",
"LastName": "Tester",
"IsCompany": 0,
"CompanyName": "",
"Email": "jasmin.botonjic.driver.test@int.etrel.com",
"GSMNumberr": "",
"ExternalCode": null,
"TaxNumber": null,
"UICulture": "en-GB"
},
"UserContract": {
"Id": 4374,
"Number": "C-2021/126",
"ExternalNumber": null,
"Type": {
"Id": 48,
"Code": "TEST_SUBSCRIBER",
"Title": "Test Subscriber",
"PaymentType": {
"Id": 4,
"Title": ""
}
}
}
},
"Roaming": {
"RoamingAuthorizationId": null,
"RoamingPlatform": {
"Id": null,
"Title": null,
"RoamingActor": {
"Id": null,
"Code": null,
"Title": null
}
}
},
"PurchasePreauthorization": {
"Id": null,
"PayInMethod": {
"Id": null,
"Alias": null,
"MethodTypeId": null
}
}
}
}
{
"Type": "operationId",
"VersionMajor": 1,
"VersionMinor": 0,
"Route": "route.key",
"Sent (UTC)": "12.09.2023 08:36:06.45800",
"Sent AMQP 1.0 (UTC)": "12.09.2023 08:36:06.45800"
}
When system receives from charger that sessions has started. In this case smaller object is send.
API Access key. This can be configured in the Ocean's operator portal.
Location ID. Every location has a unique ID.
Accepts the following message:
{
"ChargingSessionId": 0,
"LocationId": 0,
"InstanceId": 0,
"UserId": 0,
"RoamingTypeId": 0,
"ChargingFrom": "2019-08-24T14:15:22Z",
"ChargingTo": "2019-08-24T14:15:22Z",
"MeterStart": "2019-08-24T14:15:22Z",
"MeterEnd": "2019-08-24T14:15:22Z",
"ActiveEnergyConsumption": 0.1,
"MaxActivePower": 0.1,
"ChargingSessionStopReasonId": 0
}
{
"Type": "operationId",
"VersionMajor": 1,
"VersionMinor": 0,
"Route": "route.key",
"Sent (UTC)": "12.09.2023 08:36:06.45800",
"Sent AMQP 1.0 (UTC)": "12.09.2023 08:36:06.45800"
}
When system receives from charger that sessions has ended.
API Access key. This can be configured in the Ocean's operator portal.
Location ID. Every location has a unique ID.
Accepts the following message:
{
"ChargingSessionId": 660427,
"ChargingSessionNumber": "S-2023/2673",
"ChargingSessionSourceId": 1,
"ParkingFrom": null,
"ParkingTo": null,
"ConnectedFrom": "2023-10-30T07: 53: 03.557Z",
"ConnectedTo": null,
"ChargingFrom": "2023-10-30T07: 53: 03.557Z",
"ChargingTo": null,
"MeterStart": 6804.3,
"MeterEnd": null,
"ActiveEnergyConsumption": null,
"MaxActivePower": null,
"RoamingTypeId": 0,
"RoamingSessionId": null,
"InstanceRoamingPlatformId": null,
"ChargingSessionStopReasonId": null,
"Evse": {
"Id": 75691,
"EvseFriendlyCode": "1",
"ChargingTypeId": 1,
"OutMaxPower": 22.08,
"NumberOfPhases": 3,
"ExternalCode": null,
"PaymentRequired": 0,
"Connector": {
"Id": 90513,
"FriendlyCode": "1",
"ConnectorTypeId": 1
},
"ChargePoint": {
"Id": 7303,
"FriendlyCode": "09",
"ExternalCode": null,
"SerialNumber": "SI*HW0007-02"
},
"Owner": {
"Id": 1,
"Name": "Etrel d.o.o.",
"AccountingSystemCode": "EXt"
},
"Location": {
"LocationId": 40,
"FriendlyName": "Davorin development",
"FriendlyCode": "SI06-00092",
"LocationTypeId": 11,
"LocationAccessTypeId": 1
},
"Address": {
"StreetName": "Pod jelšami",
"HouseNumber": "6",
"CityName": "Grosuplje",
"PostNumber": "1290",
"CountryCode": "SI"
},
"Roaming": {
"RoamingPlatform": {
"Id": null,
"Title": null,
"RoamingActor": {
"Id": null,
"Code": null,
"Title": null
}
}
}
},
"ChargingAuthorization": {
"Id": 837519,
"Number": "A-2023/4726",
"AuthorizationSourceId": 1,
"ServerReceivedTimestamp": "2023-10-30T07: 53: 03.950Z",
"Payable": 0,
"Identification": {
"Id": 20504,
"IdentificationType": {
"Id": 14,
"Title": "PIN code"
},
"CardTypeId": 14,
"Number": "#2",
"Code": "#1111",
"User": {
"Id": 7361,
"FirstName": "Jasmin",
"LastName": "Tester",
"IsCompany": 0,
"CompanyName": "",
"Email": "jasmin.botonjic.driver.test@int.etrel.com",
"GSMNumber": "",
"ExternalCode": null,
"TaxNumber": null,
"UICulture": "en-GB"
},
"UserPayer": {
"Id": 6861,
"FirstName": "Jasmin",
"LastName": "Tester",
"IsCompany": 0,
"CompanyName": "",
"Email": "jasmin.botonjic.driver.test@int.etrel.com",
"GSMNumberr": "",
"ExternalCode": null,
"TaxNumber": null,
"UICulture": "en-GB"
},
"UserContract": {
"Id": 4374,
"Number": "C-2021/126",
"ExternalNumber": null,
"Type": {
"Id": 48,
"Code": "TEST_SUBSCRIBER",
"Title": "Test Subscriber",
"PaymentType": {
"Id": 4,
"Title": ""
}
}
}
},
"Roaming": {
"RoamingAuthorizationId": null,
"RoamingPlatform": {
"Id": null,
"Title": null,
"RoamingActor": {
"Id": null,
"Code": null,
"Title": null
}
}
},
"PurchasePreauthorization": {
"Id": null,
"PayInMethod": {
"Id": null,
"Alias": null,
"MethodTypeId": null
}
}
}
}
{
"Type": "operationId",
"VersionMajor": 1,
"VersionMinor": 0,
"Route": "route.key",
"Sent (UTC)": "12.09.2023 08:36:06.45800",
"Sent AMQP 1.0 (UTC)": "12.09.2023 08:36:06.45800"
}
After session user billing is successfully executed.
API Access key. This can be configured in the Ocean's operator portal.
Location ID. Every location has a unique ID.
Accepts the following message:
{
"ChargingSessionId": 0,
"ChargingSessionNumber": "string",
"InstanceRoamingPlatformId": 0,
"EvseId": 0,
"BillingStatusId": 0,
"BillingRetries": 0,
"BillingNextRetry": "2019-08-24T14:15:22Z",
"RunnedManuallyByOperatorId": 0,
"TotalCost": 0.1,
"TotalCostWithoutTax": 0.1,
"TotalCostTax": 0.1,
"TotalDiscount": 0.1,
"TotalCouponDiscount": 0.1,
"MoneyTransactions": [
{
"PaymentTypeId": 0,
"Timestamp": "2019-08-24T14:15:22Z",
"Direction": "string",
"Tariff": {
"Id": 0,
"Title": "string"
},
"TransactionType": {
"Id": 0,
"Title": "string",
"Unit": "string"
},
"TariffTransactionTypePrice": {
"Id": 0,
"ChargingDurationLimit": 0,
"RepeatingAtEveryChargingMinutes": 0,
"ValidAfterChargingMinutes": 0,
"PricePerUnit": 0.1
},
"Quantity": 0.1,
"Amount": 0.1,
"AmountWithoutTax": 0.1,
"CurrencyCode": "string"
}
]
}
{
"Type": "operationId",
"VersionMajor": 1,
"VersionMinor": 0,
"Route": "route.key",
"Sent (UTC)": "12.09.2023 08:36:06.45800",
"Sent AMQP 1.0 (UTC)": "12.09.2023 08:36:06.45800"
}
After session B2B billing is successfully executed.
API Access key. This can be configured in the Ocean's operator portal.
Location ID. Every location has a unique ID.
Accepts the following message:
{
"ChargingSessionId": 0,
"ChargingSessionNumber": "string",
"InstanceRoamingPlatformId": 0,
"EvseId": 0,
"BillingStatusId": 0,
"BillingRetries": 0,
"BillingNextRetry": "2019-08-24T14:15:22Z",
"RunnedManuallyByOperatorId": 0,
"TotalCost": 0.1,
"TotalCostWithoutTax": 0.1,
"TotalCostTax": 0.1,
"TotalDiscount": 0.1,
"TotalCouponDiscount": 0.1,
"MoneyTransactions": [
{
"PaymentTypeId": 0,
"Timestamp": "2019-08-24T14:15:22Z",
"Direction": "string",
"Tariff": {
"Id": 0,
"Title": "string"
},
"TransactionType": {
"Id": 0,
"Title": "string",
"Unit": "string"
},
"TariffTransactionTypePrice": {
"Id": 0,
"ChargingDurationLimit": 0,
"RepeatingAtEveryChargingMinutes": 0,
"ValidAfterChargingMinutes": 0,
"PricePerUnit": 0.1
},
"Quantity": 0.1,
"Amount": 0.1,
"AmountWithoutTax": 0.1,
"CurrencyCode": "string"
}
]
}
{
"Type": "operationId",
"VersionMajor": 1,
"VersionMinor": 0,
"Route": "route.key",
"Sent (UTC)": "12.09.2023 08:36:06.45800",
"Sent AMQP 1.0 (UTC)": "12.09.2023 08:36:06.45800"
}
After operator manually changes charging session data.
API Access key. This can be configured in the Ocean's operator portal.
Location ID. Every location has a unique ID.
Accepts the following message:
{
"ChargingSessionId": 0,
"ChargingSessionStatusId": 0,
"ConnectedFrom": "2019-08-24T14:15:22Z",
"ConnectedTo": "2019-08-24T14:15:22Z",
"ChargingFrom": "2019-08-24T14:15:22Z",
"ChargingTo": "2019-08-24T14:15:22Z",
"TimeSpentCharging": 0.1,
"MeterStart": 0.1,
"MeterEnd": 0.1,
"ActiveEnergyConsumption": 0.1,
"ChargingSessionStopReasonId": 0,
"ChangeReason": "string",
"UpdatedByOperatorId": 0,
"RerunBilling": true,
"DisputeInvoice": true,
"CreateNewInvoice": true,
"TransferDisputeTransactionsToNextBillingPeriod": true
}
{
"Type": "operationId",
"VersionMajor": 1,
"VersionMinor": 0,
"Route": "route.key",
"Sent (UTC)": "12.09.2023 08:36:06.45800",
"Sent AMQP 1.0 (UTC)": "12.09.2023 08:36:06.45800"
}
When operator or API disputes charging session. This usually happens when costs are too high, customer was not satisfied with service or there is a mistake in data. At session dispute system deletes old session and creates a new one, referenced to the old one.
API Access key. This can be configured in the Ocean's operator portal.
Accepts the following message:
{
"ChargingSessionId": 0,
"DisputeType": 0,
"DisputeInvoice": 0,
"Timestamp": "2019-08-24T14:15:22Z",
"DisputeDescription": "string",
"DisputedByOperatorId": 0
}
{
"Type": "operationId",
"VersionMajor": 1,
"VersionMinor": 0,
"Route": "route.key",
"Sent (UTC)": "12.09.2023 08:36:06.45800",
"Sent AMQP 1.0 (UTC)": "12.09.2023 08:36:06.45800"
}
When measurements are stored into the Ocean.
API Access key. This can be configured in the Ocean's operator portal.
Location ID. Every location has a unique ID.
Accepts the following message:
{
"InstanceId": 0,
"ChargePointId": 0,
"ConnectorId": 0,
"ChargingSessionId": 0,
"Measurements": [
{
"Type": "string",
"Value": 0.1,
"Timestamp": "2019-08-24T14:15:22Z"
}
]
}
{
"Type": "operationId",
"VersionMajor": 1,
"VersionMinor": 0,
"Route": "route.key",
"Sent (UTC)": "12.09.2023 08:36:06.45800",
"Sent AMQP 1.0 (UTC)": "12.09.2023 08:36:06.45800"
}
When EV battery is 80% full. This message is triggered only on connector reporting SOC.
API Access key. This can be configured in the Ocean's operator portal.
Location ID. Every location has a unique ID.
Accepts the following message:
{
"InstanceId": 0,
"UserId": 0,
"ChargingSession": {
"Id": 0,
"ActiveEnergyConsumed": 0.1,
"StateOfCharge": 0.1
},
"Evse": {
"Id": 0,
"Connector": {
"Id": 0
},
"ChargePoint": {
"Id": 0
},
"Location": {
"Id": 0
}
}
}
{
"Type": "operationId",
"VersionMajor": 1,
"VersionMinor": 0,
"Route": "route.key",
"Sent (UTC)": "12.09.2023 08:36:06.45800",
"Sent AMQP 1.0 (UTC)": "12.09.2023 08:36:06.45800"
}
When detected that user vehicle is full (SOC 100% or Power almost 0 for a longer time).
API Access key. This can be configured in the Ocean's operator portal.
Location ID. Every location has a unique ID.
Accepts the following message:
{
"InstanceId": 0,
"UserId": 0,
"ChargingSession": {
"Id": 0,
"ActiveEnergyConsumed": 0.1,
"StateOfCharge": 0.1
},
"Evse": {
"Id": 0,
"Connector": {
"Id": 0
},
"ChargePoint": {
"Id": 0
},
"Location": {
"Id": 0
}
}
}
{
"Type": "operationId",
"VersionMajor": 1,
"VersionMinor": 0,
"Route": "route.key",
"Sent (UTC)": "12.09.2023 08:36:06.45800",
"Sent AMQP 1.0 (UTC)": "12.09.2023 08:36:06.45800"
}
When connector status changes from one of the charging status (Charging, PausedByEV, PausedByEVSE) to Available or Finishing and local EMSP user is charging.
API Access key. This can be configured in the Ocean's operator portal.
Location ID. Every location has a unique ID.
Accepts the following message:
{
"InstanceId": 0,
"UserId": 0,
"ChargingSessionId": 0,
"ChargingSessionActiveEnergyConsumed": 0.1
}
{
"Type": "operationId",
"VersionMajor": 1,
"VersionMinor": 0,
"Route": "route.key",
"Sent (UTC)": "12.09.2023 08:36:06.45800",
"Sent AMQP 1.0 (UTC)": "12.09.2023 08:36:06.45800"
}
When connector status changes from one of the charging status (Charging, PausedByEV, PausedByEVSE) to Fault and local EMSP user is charging.
API Access key. This can be configured in the Ocean's operator portal.
Location ID. Every location has a unique ID.
Accepts the following message:
{
"InstanceId": 0,
"UserId": 0,
"ChargingSessionId": 0,
"ChargingSessionActiveEnergyConsumed": 0.1
}
{
"Type": "operationId",
"VersionMajor": 1,
"VersionMinor": 0,
"Route": "route.key",
"Sent (UTC)": "12.09.2023 08:36:06.45800",
"Sent AMQP 1.0 (UTC)": "12.09.2023 08:36:06.45800"
}
When EV user successfully posts new reservation.
API Access key. This can be configured in the Ocean's operator portal.
Location ID. Every location has a unique ID.
Accepts the following message:
{
"ReervationId": 0,
"Number": "string",
"User": {
"Id": 0,
"Email": "string",
"ExternalCode": "string"
},
"PlannedFrom": "2019-08-24T14:15:22Z",
"PlannedTo": "2019-08-24T14:15:22Z",
"ReservationSource": {
"Id": 0,
"Title": "string"
},
"Roaming": {
"Type": {
"Id": 0,
"Title": "string"
},
"RoamingActor": {
"Id": 0,
"Code": "string"
}
},
"Location": {
"Id": 0,
"FriendlyCode": "string",
"CityName": "string",
"PostNumber": "string",
"StreetName": "string",
"HouseNumber": "string",
"ChargePoint": {
"Id": 0,
"FriendlyCode": "string",
"SerialNumber": "string",
"ExternalCode": "string",
"Evse": {
"Id": 0,
"FriendlyCode": "string",
"ExternalCode": "string",
"Connector": {
"Id": 0,
"FriendlyCode": "string"
}
}
}
}
}
{
"Type": "operationId",
"VersionMajor": 1,
"VersionMinor": 0,
"Route": "route.key",
"Sent (UTC)": "12.09.2023 08:36:06.45800",
"Sent AMQP 1.0 (UTC)": "12.09.2023 08:36:06.45800"
}
When EV user successfully cancels upcoming reservation.
API Access key. This can be configured in the Ocean's operator portal.
Location ID. Every location has a unique ID.
Accepts the following message:
{
"ReervationId": 0,
"Number": "string",
"User": {
"Id": 0,
"Email": "string",
"ExternalCode": "string"
},
"PlannedFrom": "2019-08-24T14:15:22Z",
"PlannedTo": "2019-08-24T14:15:22Z",
"ReservationSource": {
"Id": 0,
"Title": "string"
},
"Roaming": {
"Type": {
"Id": 0,
"Title": "string"
},
"RoamingActor": {
"Id": 0,
"Code": "string"
}
},
"Location": {
"Id": 0,
"FriendlyCode": "string",
"CityName": "string",
"PostNumber": "string",
"StreetName": "string",
"HouseNumber": "string",
"ChargePoint": {
"Id": 0,
"FriendlyCode": "string",
"SerialNumber": "string",
"ExternalCode": "string",
"Evse": {
"Id": 0,
"FriendlyCode": "string",
"ExternalCode": "string",
"Connector": {
"Id": 0,
"FriendlyCode": "string"
}
}
}
}
}
{
"Type": "operationId",
"VersionMajor": 1,
"VersionMinor": 0,
"Route": "route.key",
"Sent (UTC)": "12.09.2023 08:36:06.45800",
"Sent AMQP 1.0 (UTC)": "12.09.2023 08:36:06.45800"
}
When customer or operator changes reservation time.
API Access key. This can be configured in the Ocean's operator portal.
Location ID. Every location has a unique ID.
Accepts the following message:
{
"ReervationId": 0,
"Number": "string",
"User": {
"Id": 0,
"Email": "string",
"ExternalCode": "string"
},
"PlannedFrom": "2019-08-24T14:15:22Z",
"PlannedTo": "2019-08-24T14:15:22Z",
"ReservationSource": {
"Id": 0,
"Title": "string"
},
"Roaming": {
"Type": {
"Id": 0,
"Title": "string"
},
"RoamingActor": {
"Id": 0,
"Code": "string"
}
},
"Location": {
"Id": 0,
"FriendlyCode": "string",
"CityName": "string",
"PostNumber": "string",
"StreetName": "string",
"HouseNumber": "string",
"ChargePoint": {
"Id": 0,
"FriendlyCode": "string",
"SerialNumber": "string",
"ExternalCode": "string",
"Evse": {
"Id": 0,
"FriendlyCode": "string",
"ExternalCode": "string",
"Connector": {
"Id": 0,
"FriendlyCode": "string"
}
}
}
}
}
{
"Type": "operationId",
"VersionMajor": 1,
"VersionMinor": 0,
"Route": "route.key",
"Sent (UTC)": "12.09.2023 08:36:06.45800",
"Sent AMQP 1.0 (UTC)": "12.09.2023 08:36:06.45800"
}
When customer or operator changes charging session preferences.
API Access key. This can be configured in the Ocean's operator portal.
Location ID. Every location has a unique ID.
Accepts the following message:
{
"InstanceId": 0,
"ChargePointId": 0,
"EvseId": 0,
"ConnectorId": 0,
"ConnectorProtocolCode": "string",
"ChargingSessionId": 0,
"Timestamp": "2019-08-24T14:15:22Z",
"PlannedDepartureTime": "2019-08-24T14:15:22Z",
"SelectedChargingMode": "string",
"NumberOfPhases": 0,
"MinCurrent": 0.1,
"MaxCurrent": 0.1,
"RequestedEnergy": 0.1,
"BatteryCapacity": 0.1,
"StateOfCharge": 0.1,
"AllowPowerManagement": 0,
"AllowDischarging": 0,
"PreferenceSource": "string",
"PreferenceRequestedEnergySource": "string",
"UserId": 0,
"IdentificationId": 0,
"UserChargingDurationLimit": 0.1,
"UserChargingEnergyLimit": 0.1
}
{
"Type": "operationId",
"VersionMajor": 1,
"VersionMinor": 0,
"Route": "route.key",
"Sent (UTC)": "12.09.2023 08:36:06.45800",
"Sent AMQP 1.0 (UTC)": "12.09.2023 08:36:06.45800"
}
When Ocean generates invoice documents or when they are uploaded to Ocean.
API Access key. This can be configured in the Ocean's operator portal.
Accepts the following message:
{
"InstanceId": 0,
"UserId": 0,
"InvoiceId": 0,
"OceanInvoiceId": "string",
"ExternalInvoiceId": "string",
"InvoiceTypeId": 0,
"InvoicePeriodFrom": "2019-08-24T14:15:22Z",
"InvoicePeriodTo": "2019-08-24T14:15:22Z",
"ChargingSession": {
"Id": 0,
"ChargingFrom": "2019-08-24T14:15:22Z"
}
}
{
"Type": "operationId",
"VersionMajor": 1,
"VersionMinor": 0,
"Route": "route.key",
"Sent (UTC)": "12.09.2023 08:36:06.45800",
"Sent AMQP 1.0 (UTC)": "12.09.2023 08:36:06.45800"
}
API Access key. This can be configured in the Ocean's operator portal.
Invoice type ID. Every invoice type has a unique ID.
Invoice template ID. Every invoice template has a unique ID.
Accepts the following message:
{
"InvoiceId": 0
}
{
"Type": "operationId",
"VersionMajor": 1,
"VersionMinor": 0,
"Route": "route.key",
"Sent (UTC)": "12.09.2023 08:36:06.45800",
"Sent AMQP 1.0 (UTC)": "12.09.2023 08:36:06.45800"
}
When operator triggers publishing monthly subscriptions or generation of post-payment invoices.
API Access key. This can be configured in the Ocean's operator portal.
Accepts the following message:
{
"InvoiceId": 0,
"BillingPeriodId": 0,
"BillingPeriodFrom": "2019-08-24T14:15:22Z",
"BillingPeriodTo": "2019-08-24T14:15:22Z",
"PaymentTypeId": 0,
"InvoiceTypeId": 0
}
{
"Type": "operationId",
"VersionMajor": 1,
"VersionMinor": 0,
"Route": "route.key",
"Sent (UTC)": "12.09.2023 08:36:06.45800",
"Sent AMQP 1.0 (UTC)": "12.09.2023 08:36:06.45800"
}
When connector status changes.
API Access key. This can be configured in the Ocean's operator portal.
Accepts the following message:
{
"UserRequestId": 0,
"Number": "string",
"UserRequestMessage": "string",
"ReportedBy": {
"User": {
"Id": 0,
"Email": "string",
"ExternalCode": "string"
},
"UserPayer": {
"Id": 0,
"Email": "string",
"ExternalCode": "string"
},
"BusinessPartner": {
"Id": 0,
"CompanyName": "string",
"ExternalCode": "string"
},
"InsertedByOperator": {
"Id": 0,
"Email": "string"
},
"OtherContactName": "string",
"OtherContactEmail": "string",
"OtherContactPhone": "string"
},
"RequestCategory": {
"Id": 0,
"Title": "string"
},
"RequestCategoryType": {
"Id": 0,
"Title": "string"
},
"RequestInsertChannel": {
"Id": 0,
"Title": "string"
},
"TicketRelatedTo": {
"ChargingReservation": {
"Id": 0,
"Number": "string",
"PlannedFrom": "2019-08-24T14:15:22Z",
"PlannedTo": "2019-08-24T14:15:22Z"
},
"ChargingSession": {
"Id": 0,
"Number": "string",
"ChargingFrom": "2019-08-24T14:15:22Z",
"ChargingTo": "2019-08-24T14:15:22Z"
},
"Invoice": {
"Id": 0,
"Number": "string"
},
"UserIdentification": {
"Id": 0,
"Type": {
"Id": 0,
"Title": "string"
},
"Number": "string",
"Code": "string"
},
"UserContract": {
"Id": 0,
"Type": {
"Id": 0,
"Title": "string"
},
"Code": "string"
},
"Location": {
"Id": 0,
"FriendlyCode": "string",
"CityName": "string",
"PostNumber": "string",
"StreetName": "string",
"HouseNumber": "string",
"ChargePoint": {
"Id": 0,
"FriendlyCode": "string",
"SerialNumber": "string",
"ExternalCode": "string",
"ChargePointOwnerId": 0,
"Evse": {
"Id": 0,
"FriendlyCode": "string",
"ExternalCode": "string",
"Connector": {
"Id": 0,
"FriendlyCode": "string"
}
}
}
}
}
}
{
"Type": "operationId",
"VersionMajor": 1,
"VersionMinor": 0,
"Route": "route.key",
"Sent (UTC)": "12.09.2023 08:36:06.45800",
"Sent AMQP 1.0 (UTC)": "12.09.2023 08:36:06.45800"
}
When ticket status changes.
API Access key. This can be configured in the Ocean's operator portal.
Accepts the following message:
{
"InstanceId": 0,
"UserRequestId": 0,
"PreviousUserRequestStatusId": 0,
"NewUserRequestStatusId": 0,
"ChangedByOperator": {
"Id": 0,
"Email": "string"
},
"Message": "string"
}
{
"Type": "operationId",
"VersionMajor": 1,
"VersionMinor": 0,
"Route": "route.key",
"Sent (UTC)": "12.09.2023 08:36:06.45800",
"Sent AMQP 1.0 (UTC)": "12.09.2023 08:36:06.45800"
}
When operator responds to the ticket.
API Access key. This can be configured in the Ocean's operator portal.
Accepts the following message:
{
"InstanceId": 0,
"UserId": 0,
"UserRequestId": 0,
"UserRequestStatusId": 0,
"Message": "string"
}
{
"Type": "operationId",
"VersionMajor": 1,
"VersionMinor": 0,
"Route": "route.key",
"Sent (UTC)": "12.09.2023 08:36:06.45800",
"Sent AMQP 1.0 (UTC)": "12.09.2023 08:36:06.45800"
}
When new maintenance task is created (2nd level support).
API Access key. This can be configured in the Ocean's operator portal.
Accepts the following message:
{
"InstanceId": 0
}
{
"Type": "operationId",
"VersionMajor": 1,
"VersionMinor": 0,
"Route": "route.key",
"Sent (UTC)": "12.09.2023 08:36:06.45800",
"Sent AMQP 1.0 (UTC)": "12.09.2023 08:36:06.45800"
}
When maintenance task status changes.
API Access key. This can be configured in the Ocean's operator portal.
Accepts the following message:
{
"InstanceId": 0,
"TaskId": 0,
"Number": "string",
"Title": "string",
"PreviousTaskStatus": {
"Id": 0,
"Title": "string"
},
"NewTaskStatus": {
"Id": 0,
"Title": "string"
},
"ResponsibleOperator": {
"Id": 0,
"Email": "string"
},
"AssignedOperator": {
"Id": 0,
"Email": "string"
},
"Watchers": "string",
"MessagingRecepients": "string"
}
{
"Type": "operationId",
"VersionMajor": 1,
"VersionMinor": 0,
"Route": "route.key",
"Sent (UTC)": "12.09.2023 08:36:06.45800",
"Sent AMQP 1.0 (UTC)": "12.09.2023 08:36:06.45800"
}
When operator responses with new comment to the maintenance task. Comments are used for communication between team members or store process steps.
API Access key. This can be configured in the Ocean's operator portal.
Accepts the following message:
{
"InstanceId": 0,
"TaskId": 0,
"Number": "string",
"Title": "string",
"PreviousTaskStatus": {
"Id": 0,
"Title": "string"
},
"NewTaskStatus": {
"Id": 0,
"Title": "string"
},
"ResponsibleOperator": {
"Id": 0,
"Email": "string"
},
"AssignedOperator": {
"Id": 0,
"Email": "string"
},
"Watchers": "string",
"MessagingRecepients": "string"
}
{
"Type": "operationId",
"VersionMajor": 1,
"VersionMinor": 0,
"Route": "route.key",
"Sent (UTC)": "12.09.2023 08:36:06.45800",
"Sent AMQP 1.0 (UTC)": "12.09.2023 08:36:06.45800"
}
API Access key. This can be configured in the Ocean's operator portal.
Location ID. Every location has a unique ID.
Charge point ID. Every Charge point has a unique ID.
Accepts the following message:
{
"InstanceId": 0,
"Location": {
"Id": 0,
"FriendlyCode": "string",
"FriendlyName": "string"
},
"ChargePoint": {
"Id": 0,
"FriendlyFullCode": "string"
},
"NoCommunicationStatus": true,
"LastCommunicationTime": "2019-08-24T14:15:22Z",
"OfflineFrom": "2019-08-24T14:15:22Z",
"OfflineTo": "2019-08-24T14:15:22Z",
"TotalIntervalSeconds": 0,
"ServerTimestamp": "2019-08-24T14:15:22Z"
}
{
"Type": "operationId",
"VersionMajor": 1,
"VersionMinor": 0,
"Route": "route.key",
"Sent (UTC)": "12.09.2023 08:36:06.45800",
"Sent AMQP 1.0 (UTC)": "12.09.2023 08:36:06.45800"
}
When connector status changes
API Access key. This can be configured in the Ocean's operator portal.
Location ID. Every location has a unique ID.
Accepts the following message:
{
"Timestamp": "2019-08-24T14:15:22Z",
"InstanceId": 0,
"UserId": 0,
"ChargingSession": {
"Id": 0
},
"Evse": {
"Id": 0,
"FriendlyCode": "string",
"ExternalCode": "string",
"Connector": {
"Id": 0,
"Code": "string",
"CurrentStatusId": 0,
"PreviousStatusId": 0
},
"ChargePoint": {
"Id": 0,
"ExternalCode": "string",
"SerialNumber": "string"
},
"Location": {
"LocationId": 0
}
}
}
{
"Type": "operationId",
"VersionMajor": 1,
"VersionMinor": 0,
"Route": "route.key",
"Sent (UTC)": "12.09.2023 08:36:06.45800",
"Sent AMQP 1.0 (UTC)": "12.09.2023 08:36:06.45800"
}
When roaming connector status changes
API Access key. This can be configured in the Ocean's operator portal.
Accepts the following message:
[
{
"ConnectorId": 0,
"StatusId": 0,
"Timestamp": "2019-08-24T14:15:22Z"
}
]
{
"Type": "operationId",
"VersionMajor": 1,
"VersionMinor": 0,
"Route": "route.key",
"Sent (UTC)": "12.09.2023 08:36:06.45800",
"Sent AMQP 1.0 (UTC)": "12.09.2023 08:36:06.45800"
}
Informational messages - notifications, warnings, errors
API Access key. This can be configured in the Ocean's operator portal.
Location ID. Every location has a unique ID.
Event type priority ID. Every event type priority has a unique ID.
Event source ID. Every event source has a unique ID.
Accepts the following message:
{
"InstanceId": 0,
"LocationId": 0,
"Location": {
"Id": 0,
"FriendlyCode": "string",
"FriendlyName": "string"
},
"ChargePointId": 0,
"ChargePoint": {
"Id": 0,
"FriendlyCode": "string"
},
"Connector": {
"Id": 0,
"FriendlyCode": "string"
},
"EvseId": 0,
"ConnectorId": 0,
"ChargingSessionId": 0,
"ManipulationOperatorId": 0,
"Description": "string",
"ServerTimestamp": "2019-08-24T14:15:22Z",
"ChargerTimestamp": "2019-08-24T14:15:22Z",
"ChargerSpecific": {
"VendorErrorCode": "string",
"EventInfo": "string"
},
"Type": {
"Id": 0,
"Title": "string",
"Source": {
"Id": 0,
"Title": "string"
},
"Priority": {
"Id": 0,
"Title": "string"
},
"Category": {
"Id": 0,
"Title": "string"
}
}
}
{
"Type": "operationId",
"VersionMajor": 1,
"VersionMinor": 0,
"Route": "route.key",
"Sent (UTC)": "12.09.2023 08:36:06.45800",
"Sent AMQP 1.0 (UTC)": "12.09.2023 08:36:06.45800"
}
When system detects security event
API Access key. This can be configured in the Ocean's operator portal.
Accepts the following message:
{
"InstanceId": 0,
"OceanInterfaceId": 0,
"EventTypeId": 0,
"ipAddress": "string",
"Agent": "string",
"Description": "string",
"IpAddressBlockTypeId": 0,
"IpAddressBlockReasonId": 0,
"Timestamp": "2019-08-24T14:15:22Z",
"User": {
"Id": 0
},
"UserPayer": {
"Id": 0
},
"Operator": {
"Id": 0
}
}
{
"Type": "operationId",
"VersionMajor": 1,
"VersionMinor": 0,
"Route": "route.key",
"Sent (UTC)": "12.09.2023 08:36:06.45800",
"Sent AMQP 1.0 (UTC)": "12.09.2023 08:36:06.45800"
}
When user is blocked.
API Access key. This can be configured in the Ocean's operator portal.
Accepts the following message:
{
"InstanceId": 1,
"UserId": 48710,
"Email": "john.doe@etrel.si",
"ExternalCode": "ETR",
"ExecutedTime": "2023-10-30T07: 53: 03.557Z",
"ExecutedByOperatorId": 5476
}
{
"Type": "operationId",
"VersionMajor": 1,
"VersionMinor": 0,
"Route": "route.key",
"Sent (UTC)": "12.09.2023 08:36:06.45800",
"Sent AMQP 1.0 (UTC)": "12.09.2023 08:36:06.45800"
}
When user is unblocked.
API Access key. This can be configured in the Ocean's operator portal.
Accepts the following message:
{
"InstanceId": 1,
"UserId": 48710,
"Email": "john.doe@etrel.si",
"ExternalCode": "ETR",
"ExecutedTime": "2023-10-30T07: 53: 03.557Z",
"ExecutedByOperatorId": 5476
}
{
"Type": "operationId",
"VersionMajor": 1,
"VersionMinor": 0,
"Route": "route.key",
"Sent (UTC)": "12.09.2023 08:36:06.45800",
"Sent AMQP 1.0 (UTC)": "12.09.2023 08:36:06.45800"
}
When user is created.
API Access key. This can be configured in the Ocean's operator portal.
User ID. Every user has a unique ID.
Accepts the following message:
{
"UserId": 0,
"Email": "string",
"UserPayerId": 0,
"Blocked": true,
"ExecutedTime": "2019-08-24T14:15:22Z",
"ExecutedByOperatorId": 0
}
{
"Type": "operationId",
"VersionMajor": 1,
"VersionMinor": 0,
"Route": "route.key",
"Sent (UTC)": "12.09.2023 08:36:06.45800",
"Sent AMQP 1.0 (UTC)": "12.09.2023 08:36:06.45800"
}
When user is updated.
API Access key. This can be configured in the Ocean's operator portal.
User ID. Every user has a unique ID.
Accepts the following message:
{
"UserId": 0,
"Email": "string",
"UserPayerId": 0,
"Blocked": true,
"ExecutedTime": "2019-08-24T14:15:22Z",
"ExecutedByOperatorId": 0
}
{
"Type": "operationId",
"VersionMajor": 1,
"VersionMinor": 0,
"Route": "route.key",
"Sent (UTC)": "12.09.2023 08:36:06.45800",
"Sent AMQP 1.0 (UTC)": "12.09.2023 08:36:06.45800"
}
When user is updated.
API Access key. This can be configured in the Ocean's operator portal.
User ID. Every user has a unique ID.
Accepts the following message:
{
"UserId": 0,
"Email": "string",
"UserPayerId": 0,
"Blocked": true,
"ExecutedTime": "2019-08-24T14:15:22Z",
"ExecutedByOperatorId": 0
}
{
"Type": "operationId",
"VersionMajor": 1,
"VersionMinor": 0,
"Route": "route.key",
"Sent (UTC)": "12.09.2023 08:36:06.45800",
"Sent AMQP 1.0 (UTC)": "12.09.2023 08:36:06.45800"
}
When user payer is blocked.
API Access key. This can be configured in the Ocean's operator portal.
Accepts the following message:
{
"InstanceId": 0,
"UserPayerId": 0,
"Email": "string",
"ExternalCode": "string",
"ExecutedTime": "2019-08-24T14:15:22Z",
"ExecutedByOperatorId": 0
}
{
"Type": "operationId",
"VersionMajor": 1,
"VersionMinor": 0,
"Route": "route.key",
"Sent (UTC)": "12.09.2023 08:36:06.45800",
"Sent AMQP 1.0 (UTC)": "12.09.2023 08:36:06.45800"
}
When user payer is unblocked.
API Access key. This can be configured in the Ocean's operator portal.
Accepts the following message:
{
"InstanceId": 0,
"UserPayerId": 0,
"Email": "string",
"ExternalCode": "string",
"ExecutedTime": "2019-08-24T14:15:22Z",
"ExecutedByOperatorId": 0
}
{
"Type": "operationId",
"VersionMajor": 1,
"VersionMinor": 0,
"Route": "route.key",
"Sent (UTC)": "12.09.2023 08:36:06.45800",
"Sent AMQP 1.0 (UTC)": "12.09.2023 08:36:06.45800"
}
When user payer payment is blocked.
API Access key. This can be configured in the Ocean's operator portal.
Accepts the following message:
{
"InstanceId": 0,
"UserPayerId": 0,
"Email": "string",
"ExternalCode": "string",
"ExecutedTime": "2019-08-24T14:15:22Z",
"ExecutedByOperatorId": 0
}
{
"Type": "operationId",
"VersionMajor": 1,
"VersionMinor": 0,
"Route": "route.key",
"Sent (UTC)": "12.09.2023 08:36:06.45800",
"Sent AMQP 1.0 (UTC)": "12.09.2023 08:36:06.45800"
}
When user payer payment is unblocked.
API Access key. This can be configured in the Ocean's operator portal.
Accepts the following message:
{
"InstanceId": 0,
"UserPayerId": 0,
"Email": "string",
"ExternalCode": "string",
"ExecutedTime": "2019-08-24T14:15:22Z",
"ExecutedByOperatorId": 0
}
{
"Type": "operationId",
"VersionMajor": 1,
"VersionMinor": 0,
"Route": "route.key",
"Sent (UTC)": "12.09.2023 08:36:06.45800",
"Sent AMQP 1.0 (UTC)": "12.09.2023 08:36:06.45800"
}
When user payer is created.
API Access key. This can be configured in the Ocean's operator portal.
User payer ID. Every payer has a unique ID.
Accepts the following message:
{
"UserPayerId": 0,
"Email": "string",
"Blocked": true,
"ExecutedTime": "2019-08-24T14:15:22Z",
"ExecutedByOperatorId": 0
}
{
"Type": "operationId",
"VersionMajor": 1,
"VersionMinor": 0,
"Route": "route.key",
"Sent (UTC)": "12.09.2023 08:36:06.45800",
"Sent AMQP 1.0 (UTC)": "12.09.2023 08:36:06.45800"
}
When user payer is updated.
API Access key. This can be configured in the Ocean's operator portal.
User payer ID. Every payer has a unique ID.
Accepts the following message:
{
"UserPayerId": 0,
"Email": "string",
"Blocked": true,
"ExecutedTime": "2019-08-24T14:15:22Z",
"ExecutedByOperatorId": 0
}
{
"Type": "operationId",
"VersionMajor": 1,
"VersionMinor": 0,
"Route": "route.key",
"Sent (UTC)": "12.09.2023 08:36:06.45800",
"Sent AMQP 1.0 (UTC)": "12.09.2023 08:36:06.45800"
}
When user payer is updated.
API Access key. This can be configured in the Ocean's operator portal.
User payer ID. Every payer has a unique ID.
Accepts the following message:
{
"UserPayerId": 0,
"Email": "string",
"Blocked": true,
"ExecutedTime": "2019-08-24T14:15:22Z",
"ExecutedByOperatorId": 0
}
{
"Type": "operationId",
"VersionMajor": 1,
"VersionMinor": 0,
"Route": "route.key",
"Sent (UTC)": "12.09.2023 08:36:06.45800",
"Sent AMQP 1.0 (UTC)": "12.09.2023 08:36:06.45800"
}
Once customer triggered registration which requres further confirmation by operator. This will be send only in the case of subscribers.
API Access key. This can be configured in the Ocean's operator portal.
Accepts the following message:
{
"InstanceId": 0,
"UserRegistrationTypeId": 0,
"UserFirstName": "string",
"UserLastName": "string",
"UserEmail": "string",
"UserPayerCompanyName": "string",
"UserPayerFirstName": "string",
"UserPayerLastName": "string",
"ContractTypeId": 0,
"RegistrationTime": "2019-08-24T14:15:22Z"
}
{
"Type": "operationId",
"VersionMajor": 1,
"VersionMinor": 0,
"Route": "route.key",
"Sent (UTC)": "12.09.2023 08:36:06.45800",
"Sent AMQP 1.0 (UTC)": "12.09.2023 08:36:06.45800"
}
When user logins into the system for the first time.
API Access key. This can be configured in the Ocean's operator portal.
Accepts the following message:
{
"UserId": 0
}
{
"Type": "operationId",
"VersionMajor": 1,
"VersionMinor": 0,
"Route": "route.key",
"Sent (UTC)": "12.09.2023 08:36:06.45800",
"Sent AMQP 1.0 (UTC)": "12.09.2023 08:36:06.45800"
}
When customer from Driver app or API executes on user or payer prepayment account.
API Access key. This can be configured in the Ocean's operator portal.
Accepts the following message:
{
"TransactionId": 0,
"TransactionNumber": "string",
"ExternalMoneyUploadCode": "string",
"ExternalMoneyUploadDescription": "string",
"User": {
"Id": 0,
"FirstName": "string",
"LastName": "string",
"IsCompany": 0,
"CompanyName": "string",
"Email": "string",
"GSMNumber": "string",
"ExternalCode": "string",
"TaxNumber": "string",
"UICulture": "string"
},
"UserPayer": {
"Id": 0,
"FirstName": "string",
"LastName": "string",
"IsCompany": 0,
"CompanyName": "string",
"Email": "string",
"ExternalCode": "string",
"TaxNumber": "string",
"UICulture": "string"
},
"Purchase": {
"PaymentProviderReference": "string"
},
"PaymentTypeId": 0,
"Timestamp": "2019-08-24T14:15:22Z",
"Direction": "string",
"TransactionType": {
"Id": 0,
"Title": "string",
"Unit": "string"
},
"Quantity": 0.1,
"Amount": 0.1,
"AmountWithoutTax": 0.1,
"CurrencyCode": "string",
"BalanceMoneyBeforeTransaction": 0.1,
"BalanceMoneyWithoutTaxBeforeTransaction": 0.1,
"BalanceMoneyAfterTransaction": 0.1,
"BalanceMoneyWithoutTaxAfterTransaction": 0.1
}
{
"Type": "operationId",
"VersionMajor": 1,
"VersionMinor": 0,
"Route": "route.key",
"Sent (UTC)": "12.09.2023 08:36:06.45800",
"Sent AMQP 1.0 (UTC)": "12.09.2023 08:36:06.45800"
}
When operator executes manual balance on user account. Normally executed as a part of dispute process for postpayers or prepayers.
API Access key. This can be configured in the Ocean's operator portal.
Accepts the following message:
{
"TransactionId": 0,
"TransactionNumber": "string",
"ExternalMoneyUploadCode": "string",
"ExternalMoneyUploadDescription": "string",
"OperatorDescription": "string",
"ManuallyInsertedByOperator": "string",
"User": {
"Id": 0,
"FirstName": "string",
"LastName": "string",
"IsCompany": 0,
"CompanyName": "string",
"Email": "string",
"GSMNumber": "string",
"ExternalCode": "string",
"TaxNumber": "string",
"UICulture": "string"
},
"UserPayer": {
"Id": 0,
"FirstName": "string",
"LastName": "string",
"IsCompany": 0,
"CompanyName": "string",
"Email": "string",
"ExternalCode": "string",
"TaxNumber": "string",
"UICulture": "string"
},
"PaymentTypeId": 0,
"Timestamp": "2019-08-24T14:15:22Z",
"Direction": "string",
"TransactionType": {
"Id": 0,
"Title": "string",
"Unit": "string"
},
"Quantity": 0.1,
"Amount": 0.1,
"AmountWithoutTax": 0.1,
"CurrencyCode": "string",
"BalanceMoneyBeforeTransaction": 0.1,
"BalanceMoneyWithoutTaxBeforeTransaction": 0.1,
"BalanceMoneyAfterTransaction": 0.1,
"BalanceMoneyWithoutTaxAfterTransaction": 0.1
}
{
"Type": "operationId",
"VersionMajor": 1,
"VersionMinor": 0,
"Route": "route.key",
"Sent (UTC)": "12.09.2023 08:36:06.45800",
"Sent AMQP 1.0 (UTC)": "12.09.2023 08:36:06.45800"
}
After session user billing is successfully executed and system detects that user's account is almost empty.
API Access key. This can be configured in the Ocean's operator portal.
Location ID. Every location has a unique ID.
Accepts the following message:
{
"InstanceId": 0,
"UserId": 0,
"CurrentAccountStatus": 0.1,
"MinAccountAmountToStartCharging": 0.1
}
{
"Type": "operationId",
"VersionMajor": 1,
"VersionMinor": 0,
"Route": "route.key",
"Sent (UTC)": "12.09.2023 08:36:06.45800",
"Sent AMQP 1.0 (UTC)": "12.09.2023 08:36:06.45800"
}
When Ocean payment system discovers that payment card which is used in MIT (merchant initiated payment) needs revalidation. Customer gets notified about it.
API Access key. This can be configured in the Ocean's operator portal.
Accepts the following message:
{
"InstanceId": 0,
"UserId": 0,
"UserPayerId": 0,
"Issuer": "string",
"CardNumber": "string",
"ExpirationDate": "string",
"PayInMethodId": 0
}
{
"Type": "operationId",
"VersionMajor": 1,
"VersionMinor": 0,
"Route": "route.key",
"Sent (UTC)": "12.09.2023 08:36:06.45800",
"Sent AMQP 1.0 (UTC)": "12.09.2023 08:36:06.45800"
}
When payment card is validated.
API Access key. This can be configured in the Ocean's operator portal.
Accepts the following message:
{
"InstanceId": 0,
"UserPayerId": 0,
"PayInMethodId": 0
}
{
"Type": "operationId",
"VersionMajor": 1,
"VersionMinor": 0,
"Route": "route.key",
"Sent (UTC)": "12.09.2023 08:36:06.45800",
"Sent AMQP 1.0 (UTC)": "12.09.2023 08:36:06.45800"
}
When operator or API inserts new charger.
API Access key. This can be configured in the Ocean's operator portal.
Location ID. Every location has a unique ID.
Charge point ID. Every Charge point has a unique ID.
Accepts the following message:
{
"Location": {
"Id": 0,
"FriendlyCode": "string",
"ExternalCode": "string"
},
"LocationCluster": {
"Id": 0
},
"ChargePoint": {
"Id": 0,
"FriendlyCode": "string",
"ExternalCode": "string",
"IsSimulator": 0,
"SerialNumber": "string",
"Model": {
"Id": 0
}
},
"LoadArea": {
"Id": 0,
"Code": "string"
}
}
{
"Type": "operationId",
"VersionMajor": 1,
"VersionMinor": 0,
"Route": "route.key",
"Sent (UTC)": "12.09.2023 08:36:06.45800",
"Sent AMQP 1.0 (UTC)": "12.09.2023 08:36:06.45800"
}
When operator or API inserts new charger.
API Access key. This can be configured in the Ocean's operator portal.
Location ID. Every location has a unique ID.
Charge point ID. Every Charge point has a unique ID.
Accepts the following message:
{
"Location": {
"Id": 0,
"FriendlyCode": "string",
"ExternalCode": "string"
},
"LocationCluster": {
"Id": 0
},
"ChargePoint": {
"Id": 0,
"FriendlyCode": "string",
"ExternalCode": "string",
"IsSimulator": 0,
"SerialNumber": "string",
"Model": {
"Id": 0
}
},
"LoadArea": {
"Id": 0,
"Code": "string"
}
}
{
"Type": "operationId",
"VersionMajor": 1,
"VersionMinor": 0,
"Route": "route.key",
"Sent (UTC)": "12.09.2023 08:36:06.45800",
"Sent AMQP 1.0 (UTC)": "12.09.2023 08:36:06.45800"
}
When operator or API inserts new charger.
API Access key. This can be configured in the Ocean's operator portal.
Location ID. Every location has a unique ID.
Charge point ID. Every Charge point has a unique ID.
Accepts the following message:
{
"Location": {
"Id": 0,
"FriendlyCode": "string",
"ExternalCode": "string"
},
"LocationCluster": {
"Id": 0
},
"ChargePoint": {
"Id": 0,
"FriendlyCode": "string",
"ExternalCode": "string",
"IsSimulator": 0,
"SerialNumber": "string",
"Model": {
"Id": 0
}
},
"LoadArea": {
"Id": 0,
"Code": "string"
}
}
{
"Type": "operationId",
"VersionMajor": 1,
"VersionMinor": 0,
"Route": "route.key",
"Sent (UTC)": "12.09.2023 08:36:06.45800",
"Sent AMQP 1.0 (UTC)": "12.09.2023 08:36:06.45800"
}
When operator or API inserts new location.
API Access key. This can be configured in the Ocean's operator portal.
Location ID. Every location has a unique ID.
Accepts the following message:
{
"Location": {
"Id": 0,
"FriendlyCode": "string",
"Address": "string"
},
"LoadArea": {
"Id": 0,
"Code": "string"
}
}
{
"Type": "operationId",
"VersionMajor": 1,
"VersionMinor": 0,
"Route": "route.key",
"Sent (UTC)": "12.09.2023 08:36:06.45800",
"Sent AMQP 1.0 (UTC)": "12.09.2023 08:36:06.45800"
}
When operator or API updates data of the existing location.
API Access key. This can be configured in the Ocean's operator portal.
Location ID. Every location has a unique ID.
Accepts the following message:
{
"Location": {
"Id": 0,
"FriendlyCode": "string",
"Address": "string"
},
"LoadArea": {
"Id": 0,
"Code": "string"
}
}
{
"Type": "operationId",
"VersionMajor": 1,
"VersionMinor": 0,
"Route": "route.key",
"Sent (UTC)": "12.09.2023 08:36:06.45800",
"Sent AMQP 1.0 (UTC)": "12.09.2023 08:36:06.45800"
}
When operator or API deletes existing location.
API Access key. This can be configured in the Ocean's operator portal.
Location ID. Every location has a unique ID.
Accepts the following message:
{
"Location": {
"Id": 0,
"FriendlyCode": "string",
"Address": "string"
},
"LoadArea": {
"Id": 0,
"Code": "string"
}
}
{
"Type": "operationId",
"VersionMajor": 1,
"VersionMinor": 0,
"Route": "route.key",
"Sent (UTC)": "12.09.2023 08:36:06.45800",
"Sent AMQP 1.0 (UTC)": "12.09.2023 08:36:06.45800"
}
When operator or API inserts new location cluster.
API Access key. This can be configured in the Ocean's operator portal.
Location ID. Every location has a unique ID.
Location cluster ID. Every location cluster has a unique ID.
Accepts the following message:
{
"Location": {
"Id": 0,
"FriendlyCode": "string",
"ExternalCode": "string"
},
"LocationCluster": {
"Id": 0,
"ExternalCode": "string"
}
}
{
"Type": "operationId",
"VersionMajor": 1,
"VersionMinor": 0,
"Route": "route.key",
"Sent (UTC)": "12.09.2023 08:36:06.45800",
"Sent AMQP 1.0 (UTC)": "12.09.2023 08:36:06.45800"
}
When operator or API updates data of the existing location cluster.
API Access key. This can be configured in the Ocean's operator portal.
Location ID. Every location has a unique ID.
Location cluster ID. Every location cluster has a unique ID.
Accepts the following message:
{
"Location": {
"Id": 0,
"FriendlyCode": "string",
"ExternalCode": "string"
},
"LocationCluster": {
"Id": 0,
"ExternalCode": "string"
}
}
{
"Type": "operationId",
"VersionMajor": 1,
"VersionMinor": 0,
"Route": "route.key",
"Sent (UTC)": "12.09.2023 08:36:06.45800",
"Sent AMQP 1.0 (UTC)": "12.09.2023 08:36:06.45800"
}
When operator or API deletes existing location cluster.
API Access key. This can be configured in the Ocean's operator portal.
Location ID. Every location has a unique ID.
Location cluster ID. Every location cluster has a unique ID.
Accepts the following message:
{
"Location": {
"Id": 0,
"FriendlyCode": "string",
"ExternalCode": "string"
},
"LocationCluster": {
"Id": 0,
"ExternalCode": "string"
}
}
{
"Type": "operationId",
"VersionMajor": 1,
"VersionMinor": 0,
"Route": "route.key",
"Sent (UTC)": "12.09.2023 08:36:06.45800",
"Sent AMQP 1.0 (UTC)": "12.09.2023 08:36:06.45800"
}
When operator or API inserts new load area.
API Access key. This can be configured in the Ocean's operator portal.
Load area ID. Every load area has a unique ID.
Accepts the following message:
{
"LoadArea": {
"Id": 0,
"Code": "string"
}
}
{
"Type": "operationId",
"VersionMajor": 1,
"VersionMinor": 0,
"Route": "route.key",
"Sent (UTC)": "12.09.2023 08:36:06.45800",
"Sent AMQP 1.0 (UTC)": "12.09.2023 08:36:06.45800"
}
When operator or API updates data of the existing load area.
API Access key. This can be configured in the Ocean's operator portal.
Load area ID. Every load area has a unique ID.
Accepts the following message:
{
"LoadArea": {
"Id": 0,
"Code": "string"
}
}
{
"Type": "operationId",
"VersionMajor": 1,
"VersionMinor": 0,
"Route": "route.key",
"Sent (UTC)": "12.09.2023 08:36:06.45800",
"Sent AMQP 1.0 (UTC)": "12.09.2023 08:36:06.45800"
}
When operator or API deletes data of the existing load area.
API Access key. This can be configured in the Ocean's operator portal.
Load area ID. Every load area has a unique ID.
Accepts the following message:
{
"LoadArea": {
"Id": 0,
"Code": "string"
}
}
{
"Type": "operationId",
"VersionMajor": 1,
"VersionMinor": 0,
"Route": "route.key",
"Sent (UTC)": "12.09.2023 08:36:06.45800",
"Sent AMQP 1.0 (UTC)": "12.09.2023 08:36:06.45800"
}
When Sub CPO operator requests anew charge point.
API Access key. This can be configured in the Ocean's operator portal.
Location ID. Every location has a unique ID.
Accepts the following message:
{
"Location": {
"Id": 0,
"FriendlyCode": "string",
"FriendlyName": "string",
"Address": "string"
},
"LocationCluster": {
"Id": 0
},
"ChargePoint": {
"Id": 0,
"FriendlyCode": "string",
"ModelName": "string"
},
"SubCPO": {
"Name": "string",
"OperatorEmail": "string"
},
"InstanceId": 0
}
{
"Type": "operationId",
"VersionMajor": 1,
"VersionMinor": 0,
"Route": "route.key",
"Sent (UTC)": "12.09.2023 08:36:06.45800",
"Sent AMQP 1.0 (UTC)": "12.09.2023 08:36:06.45800"
}
When Sub CPO operator inserts a new location.
API Access key. This can be configured in the Ocean's operator portal.
Location ID. Every location has a unique ID.
Accepts the following message:
{
"Location": {
"Id": 0,
"FriendlyCode": "string",
"Address": "string"
},
"SubCPO": {
"Name": "string",
"OperatorEmail": "string"
}
}
{
"Type": "operationId",
"VersionMajor": 1,
"VersionMinor": 0,
"Route": "route.key",
"Sent (UTC)": "12.09.2023 08:36:06.45800",
"Sent AMQP 1.0 (UTC)": "12.09.2023 08:36:06.45800"
}
When operator checks/edit and accepts proposed tariff from Sub CPO.
API Access key. This can be configured in the Ocean's operator portal.
Location ID. Every location has a unique ID.
Accepts the following message:
{
"MessagingRecepients": "string",
"Tariff": {
"Id": 0,
"Title": "string"
},
"SubCPO": {
"Id": 0,
"Title": "string",
"Operator": {
"Id": 0,
"FirstName": "string",
"LastName": "string",
"Email": "string"
}
},
"Location": {
"Id": 0,
"FriendlyName": "string",
"FriendlyCode": "string"
},
"Description": "string"
}
{
"Type": "operationId",
"VersionMajor": 1,
"VersionMinor": 0,
"Route": "route.key",
"Sent (UTC)": "12.09.2023 08:36:06.45800",
"Sent AMQP 1.0 (UTC)": "12.09.2023 08:36:06.45800"
}
When operator checks/edit and denies proposed tariff from Sub CPO.
API Access key. This can be configured in the Ocean's operator portal.
Location ID. Every location has a unique ID.
Accepts the following message:
{
"MessagingRecepients": "string",
"Tariff": {
"Id": 0,
"Title": "string"
},
"SubCPO": {
"Id": 0,
"Title": "string",
"Operator": {
"Id": 0,
"FirstName": "string",
"LastName": "string",
"Email": "string"
}
},
"Location": {
"Id": 0,
"FriendlyName": "string",
"FriendlyCode": "string"
},
"Description": "string"
}
{
"Type": "operationId",
"VersionMajor": 1,
"VersionMinor": 0,
"Route": "route.key",
"Sent (UTC)": "12.09.2023 08:36:06.45800",
"Sent AMQP 1.0 (UTC)": "12.09.2023 08:36:06.45800"
}
When Sub CPO operator posts new tariff that needs to be reviewed by CPO price administrator.
API Access key. This can be configured in the Ocean's operator portal.
Location ID. Every location has a unique ID.
Accepts the following message:
{
"Tariff": {
"Id": 0,
"Title": "string"
},
"SubCPO": {
"Id": 0,
"Title": "string",
"Operator": {
"Id": 0,
"FirstName": "string",
"LastName": "string",
"Email": "string"
}
},
"Location": {
"Id": 0,
"FriendlyName": "string",
"FriendlyCode": "string"
},
"Description": "string",
"PriceType": "string"
}
{
"Type": "operationId",
"VersionMajor": 1,
"VersionMinor": 0,
"Route": "route.key",
"Sent (UTC)": "12.09.2023 08:36:06.45800",
"Sent AMQP 1.0 (UTC)": "12.09.2023 08:36:06.45800"
}