RAPP.Mercedes.VanCustomerAccount.Api

<back to all web services

VehicleOwnership

The following routes are available for this service:
POST/vehicleownership/
import datetime
import decimal
from marshmallow.fields import *
from servicestack import *
from typing import *
from dataclasses import dataclass, field
from dataclasses_json import dataclass_json, LetterCase, Undefined, config
from enum import Enum, IntEnum


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class ReturnStatus:
    return_code: Optional[str] = None
    message: Optional[str] = None


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class Vehicle:
    chassis_number: Optional[str] = None
    registration_number: Optional[str] = None
    commission_number: Optional[str] = None
    make: Optional[str] = None
    model: Optional[str] = None
    next_m_o_t_date: Optional[datetime.datetime] = None
    next_service_date: Optional[datetime.datetime] = None


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class VehicleOwnershipResponse:
    status: Optional[ReturnStatus] = None
    number_of_pages: int = 0
    total_number_of_vehicles: int = 0
    vehicles: Optional[List[Vehicle]] = None


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class VehicleOwnership:
    ciam_id: Optional[str] = None
    items_per_page: int = 0
    page_number: int = 0
    search_string: Optional[str] = None
    sort_column: Optional[str] = None
    sort_direction: Optional[str] = None

Python VehicleOwnership DTOs

To override the Content-type in your clients, use the HTTP Accept Header, append the .jsv suffix or ?format=jsv

HTTP + JSV

The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.

POST /vehicleownership/ HTTP/1.1 
Host: webservices.mbukdatabase.co.uk 
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length

{
	CiamId: String,
	ItemsPerPage: 0,
	PageNumber: 0,
	SearchString: String,
	SortColumn: String,
	SortDirection: String
}
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length

{
	Status: 
	{
		ReturnCode: String,
		Message: String
	},
	NumberOfPages: 0,
	TotalNumberOfVehicles: 0,
	Vehicles: 
	[
		{
			ChassisNumber: String,
			RegistrationNumber: String,
			CommissionNumber: String,
			Make: String,
			Model: String,
			NextMOTDate: 0001-01-01,
			NextServiceDate: 0001-01-01
		}
	]
}