Introduction
This document provides the necessary information for integrating with the ICMA Professional Services API for notifying vehicle Proof of Ownership Certificate (POC) details. The API uses HTTP POST requests with application/json content type and expects a specific set of parameters in the request. The response will indicate the success or failure of the request, along with a relevant status message.
NOTE: Base URL will be provided by ICMA.
Post Endpoint:
BaseUrl/PDMS/api/v1/RevenueDataManagement/create-vehicle-ownership-record
Sample Post Request (JSON)
POST /api/vehicle/service HTTP/1.1
Host: staging
Content-Type: application/json
Authorization: Bearer (your access token)
[
{
"CustomerName": "John Doe",
"CustomerPhoneNumber": "0801234567890",
"Amount": 150.75,
"Reference": "REF123456",
"ServiceName": "Vehicle Registration",
"PlateNumber": "ABC1234",
"VehicleMake": "Toyota",
"VehicleModel": "Camry",
"VehicleCategory": "Sedan",
"VehicleType": "Private",
"ServiceDate": "2023-05-24T10:30:00Z",
"CustomerAddress": "123 Elm Street, Springfield",
"Center": "Downtown Service Center"
}
]
[
{
"CustomerName": "Jane Smith",
"CustomerPhoneNumber": "09087654321",
"Amount": 200.00,
"Reference": "REF654321",
"ServiceName": "Vehicle Inspection",
"PlateNumber": "XYZ9876",
"VehicleMake": "Honda",
"VehicleModel": "Civic",
"VehicleCategory": "Hatchback",
"VehicleType": "Commercial",
"ServiceDate": "2023-05-25T14:00:00Z",
"CustomerAddress": "456 Oak Avenue, Metropolis",
"Center": "Uptown Service Center"
}
]
Sample Post Response
{
"succeeded": true,
"message": "Transaction Successful.",
"errors": null,
"data": [
{
"Reference": "REF123456",
"PlateNumber": "ABC1234",
"Status": true,
"StatusMessage": "Records received successfully."
},
{
"Reference": "REF654321",
"PlateNumber": "XYZ9876",
"Status": true,
"StatusMessage": "Records received successfully."
}
]
}
Request Limitation and Interval
Maximum of 100 records per request, in not less than 10 minutes interval.
Request Parameters
| Field | Type | Description | Required |
|---|---|---|---|
| Customer Name | String | The full name of the customer | YES |
| CustomerPhoneNumber | String | The customer's phone number, including country code | Optional |
| Amount | Float | The amount paid for the service | YES |
| Reference | String | A unique reference number for the transaction | YES |
| ServiceName | String | The name if the service provided (e.g., “Vehicle Registration”). | YES |
| PlateNumber | String | The vehicle’s plate number | YES |
| VehicleMake | String | The model of the vehicle (e.g., “Camry”). | YES |
| VehicleCategory | String | The category of the vehicle (e.g., “Sedan”). | YES |
| VehicleType | String | The type of vehicle (e.g., “Private”, “Commercial”). | YES |
| ServiceDate | String | The date and time the service was provided in ISO 8601 format. | YES |
| CustomerAddress | String | The address of the customer. | YES |
| Center | String | The name of the service center where the service was provided | YES |
Response Parameters: JSON
| Field | Type | Description |
|---|---|---|
| Refernce | String | The unique reference number for the transaction. |
| PlateNumber | String | The vehicle’s plate number. |
| Succeeded | Boolean | True if the request was successful, false otherwise. |
| Message | String | A message describing the status of the request. |
Possible Status Response Messages
| Field | Description |
|---|---|
| Duplicated record detected | The record already exists in the system. |
| Failed to process records | There was an error processing the records. |
| Records received successfully | The records were processed successfully. |
| Access Denied: Unrecognized Client. | The request was from an unauthorized device. |
| You are not Authorized | Invalid credentials supplied. |