Proof of Ownership Certificate(POC) Notification

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.