Fleet Card Orders
Discover card products and create one-card charging key orders for fleet organizations through EMP mode.
Fleet card orders let you create physical charging card orders for fleet organizations through EMP mode. Use this flow when Plugsurfing handles card order fulfilment and the card should belong to a fleet organization instead of an individual Drive API user.
Each request creates one card order. For multiple cards, submit one request per card.
Before you start
Before creating an order:
- Create the fleet with
POST /emp/v1/fleets. - Keep the customer-provided
fleetId; you will use the same value when placing card orders. - Discover available products with
GET /emp/v1/products. - If the selected product includes
printing.schema, use that schema to understand the supported printing payload.
Flow
1. Create or identify the fleet
The order request uses the fleetId you provided when creating the fleet.
POST /emp/v1/fleets{
"fleetId": "fleet-123",
"fleetName": "Example Fleet"
}The fleet must already exist before you create an order. The order endpoint does not create fleets.
2. Discover available products
Use product discovery to see which cards can be ordered.
GET /emp/v1/productsProducts may include a printing.schema object. This schema describes the printing payload expected for that product.
{
"products": [
{
"id": "Nk375yz7Gw",
"name": "Personal card",
"description": "Physical charging card for fleet drivers.",
"printing": {
"schema": {
"type": "object",
"required": ["driverName", "licensePlate"],
"properties": {
"driverName": {
"type": "string",
"description": "Full name printed on the card."
},
"licensePlate": {
"type": "string",
"description": "Vehicle license plate printed on the card."
}
}
}
}
}
]
}If a product has no printing field, create the order without a printing payload.
3. Create the order
Create one order for one card.
POST /emp/v1/orders{
"fleetId": "fleet-123",
"productId": "Nk375yz7Gw",
"address": {
"firstName": "Jane",
"lastName": "Doe",
"addressLine1": "Example Street 1",
"addressLine2": "Floor 2",
"postalCode": "00100",
"city": "Helsinki",
"country": "FI",
"companyName": "Example Ltd"
},
"printing": {
"driverName": "Jane Doe",
"licensePlate": "FI000AA"
}
}Do not include quantity. One request always represents one card order.
printing is optional at the Drive API level because requirements depend on the selected product. The fulfilment system validates the submitted payload against the product configuration.
4. Track and fulfil the order
Use the EMP order list to track created orders.
GET /emp/v1/ordersWhen the physical card has been produced and assigned, the assignment flow creates the charging key disabled. The card must be enabled before it can be used for charging.
Error handling
Common client-facing errors:
400 Bad Request: required fields are missing, the body is malformed JSON, or the printing payload does not match product requirements.404 Not Found: thefleetIddoes not exist, the fleet is not available to the calling EMP, or the decodedproductIddoes not exist.500 Internal Server Error: an unexpected server-side error occurred.