Station Post

Warning

It is not allowed to change the connectors of an existing station.

Warning

The station’s connectors’ IDs may not be changed once it is created.

You have to send one request for each station. It is not possible to send multiple stations with one request.

Note

To ensure very high data quality, PlugSurfing manually curates all charging station and connector data. This means that data on the PlugSurfing platform may not correspond 100% to the data you push.

Furthermore, PlugSurfing groups stations to simplify access from clients like the PlugSurfing app. As a result, multiple stations you push may show as a single station on the PlugSurfing platform, with all connectors from all individual stations associated to the grouped station.

Request

"station-post" identifies the call as a station-post call.

Fields

Note

PlugSurfing uses the station’s operator’s name to display a name of a charging station in the mobile app or on the web. In case an operator name is missing, PlugSurfing displays the station name instead.

station

An object that holds the station data. Fields of a station are:

id

An identifier that uniquely identifies the station (string).

Important

Every station id must be globally unique.

name

The name is shown to the EV driver (string).

description (optional)

A more detailed description of the station (string).

latitude

Latitude of the station (float).

longitude

Longitude of the station (float).

address

The address helps EV drivers locate the station (object).

street

string

street-number

string

city

string

zip

string

country

string

Format: international two-letter codes in accordance with ISO 3166-1 alpha-2.

contact

object

phone

string

fax (optional)

string

website (optional)

string

email (optional)

string

cpo-id

The EVSE identifier, e.g. DE*8PS, of the CPO of the charging station (string).

is-open-24

Whether or not the station is always accessible (24 hours per day) (boolean).

connectors

array of objects

All the connectors belonging to this station:

id

The EVSE ID of the conncetor (string).

See also EVSE.

Important

The id of every connector must be globally unique.

name

The name of the type of connector (string).

Allowed types are:

  • "Type2"

  • "Combo"

  • "Chademo"

  • "Schuko"

  • "Type3"

  • "CeeBlue"

  • "3PinSquare"

  • "Type1"

  • "CeeRed"

  • "Cee2Poles"

  • "Tesla"

  • "Scame"

  • "Nema5"

  • "CeePlus"

  • "T13"

  • "T15"

  • "T23"

  • "Marechal"

  • "TypeE"

If your type is missing, please do not hesitate to contact PlugSurfing.

speed

Speed in kW (float).

open-hour-notes (optional)

An array of objects containing certain opening periods:

times

Opening and closing time (array of strings).

days

Weekdays when the interval starts and ends (array of two strings).

Both are the same if it is for one specific day only.

Example:

{
    "open-hour-notes": [
        {
            "times": [
                "07:30",
                "19:00"
            ],
            "days": [
                "Mo",
                "Fr"
            ]
        },
        {
            "times": [
                "09:00",
                "15:00"
            ],
            "days": [
                "Sa",
                "Sa"
            ]
        }
    ]
}

This example means the following: For the interval Monday to Friday, the station is open from 07:30 to 19:00. On Saturday, the station is open from 09:00 to 15:00.

notes (optional)

Additional notes, for example how to find the station (string).

is-reservable (optional)

boolean

floor-level (optional)

On which floor the station is located, for example in a parking house (integer).

is-free-charge (optional)

Whether charging can be done without cost (boolean).

total-parking (optional)

The number of parking spots that are available at the station (integer).

is-green-power-available (optional)

boolean

is-plugin-charge (optional)

Whether or not a user can authorize with the proprietary “Plugin-Charge” method (boolean).

is-roofed (optional)

Whether the station is under a roof, for example in a parking garage (boolean).

is-private (optional)

Whether the station is privately owned (boolean).

This has multiple implications depending on the connected partner and the station won’t show up everywhere on their platforms. For details, please contact the connected partner.

deleted

Soft delete the station and its related connectors (boolean).

partner-identifier

The partner identifier of the partner that shall be associated with this station. See also partner identifier

Response

HTTP Status codes

200 OK

The request was processed successfully.

Result codes

0

Success

211

Invalid partner identifier

Examples

Request:

{
    "station-post": {
        "station": {
            "id": "abcdef-12345",
            "name": "test",
            "description": "Nice station!",
            "latitude": 1.123,
            "longitude": 2.345,
            "address": {
                "street": "streetname",
                "street-number": "123a",
                "city": "Berlin",
                "zip": "10243",
                "country": "DE"
            },
            "contact": {
                "phone": "+49 30 8122321",
                "fax": "+49 30 8122322",
                "web": "www.example.com",
                "email": "[email protected]"
            },
            "cpo-id": "DE*8PS",
            "is-open-24": false,
            "connectors": [
                {
                    "id": "DE*8PS*E123456",
                    "name": "Schuko",
                    "speed": 3.7
                },
                {
                    "id": "DE*8PS*E123457",
                    "name": "Type2",
                    "speed": 11.1
                }
            ],
            "open-hour-notes": [
                {
                    "times": [
                        "07:30",
                        "19:00"
                    ],
                    "days": [
                        "Mo",
                        "Fr"
                    ]
                },
                {
                    "times": [
                        "09:00",
                        "15:00"
                    ],
                    "days": [
                        "Sa",
                        "Sa"
                    ]
                }
            ],
            "notes": "Additional info.",
            "is-reservable": false,
            "floor-level": 1,
            "is-free-charge": false,
            "total-parking": 2,
            "is-green-power-available": false,
            "is-plugin-charge": false,
            "is-roofed": false,
            "is-private": false,
            "deleted": true
        },
        "partner-identifier": "1"
    }
}

Response

{
    "result": {
        "code": 0,
        "message": "Success."
    }
}