NAV
shell javascript

Introduction

McEasy menyediakan solusi digital berbasis Internet dan GPS Tracker untuk menjawab kebutuhan operasional logistik dan pelacakan lokasi kendaraan.

Perusahaan kami berdiri sejak tahun 2017 dan terus bertransformasi menjadi terdepan dalam memberikan solusi terintegrasi di bidang transportasi logistik.

Untuk itu kami memberikan fasilitas Open API yang tentunya akan mempermudah dalam proses integrasi dengan McEasy.

Authentication

Setiap melakukan request API ke McEasy, pengguna diwajibkan untuk membuat token terlebih dahulu.

Token ini nantinya akan di taruh di bagian Header dengan format Authorization: Bearer <token>.

Create TMS Token

Setiap request ke (Transportation Management System) TMS API wajib membuat token terlebih dahulu, berikut petunjuk untuk membuat API TMS Token.

HTTP Request

POST https://cloudservice.vsms.co.id/tms_public_api/auth/token/create

Request Form

Form Field Data Type Required Description Example
domain_name string true Sub-domain dari company yang terdaftar <SUBDOMAIN>.vsms.co.id test
username string true Identitas (email) untuk login test@mceasy.co.id
password string true Password test-password
curl --request POST \
  --url https://cloudservice.vsms.co.id/tms_public_api/auth/token/create \
  --header 'Content-Type: multipart/form-data' \
  --form domain_name=test \
  --form username=test@mceasy.co.id \
  --form password=test-password
const form = new FormData();
form.append("domain_name", "test");
form.append("username", "test@mceasy.co.id");
form.append("password", "test-password");

const options = {
  method: 'POST',
  headers: {'Content-Type': 'multipart/form-data; boundary=---011000010111000001101001'}
};

options.body = form;

fetch('https://cloudservice.vsms.co.id/tms_public_api/auth/token/create', options)
  .then(response => response.json())
  .then(response => console.log(response))
  .catch(err => console.error(err));

Success Response

Field Data Type Description
data ResponseCreateToken Object dari ResponseCreateToken
message string Pesan keterangan dari response

Success Response example:

{
    "data": {
        "token": "<YOUR TOKEN HERE>"
    },
    "message": "Success"
}

Invalid Response

Field Data Type Description
data string Keterangan yang sesuai
message string Pesan dari sistem

Invalid response example:

{
  "data": "",
  "message": "Invalid username or password!"
}

Create VSMS Token

Setiap request ke (Vehicle Smart Management System) VSMS API wajib membuat token terlebih dahulu, berikut petunjuk untuk membuat API VSMS Token.

HTTP Request

POST https://serv.vsms.co.id/api/login

Request JSON

Field Data Type Required Description Example
domain_name string true Sub-domain dari company yang terdaftar <SUBDOMAIN>.vsms.co.id test
username string true Identitas (email) untuk login test@vsms.co.id
password string true Password test-password

Request Example

{
    "domain_name": "test",
    "username": "test@vsms.co.id",
    "password": "test"
}
curl --request POST \
  --url https://serv.vsms.co.id/api/login \
  --header 'Content-Type: application/json' \
  --data '{
    "domain_name": "test",
    "username": "test@vsms.co.id",
    "password": "test"
}'
const options = {
  method: 'POST',
  headers: {'Content-Type': 'application/json'},
  body: '{"domain_name":"test","username":"test@vsms.co.id","password":"test"}'
};

fetch('https://serv.vsms.co.id/api/login', options)
  .then(response => response.json())
  .then(response => console.log(response))
  .catch(err => console.error(err));

Success Response

Field Data Type Description
data ResponseCreateToken Object dari ResponseCreateToken
message string Pesan keterangan dari response

Success response example:

{
    "data": {
        "token": "<YOUR TOKEN HERE>"
    },
    "message": "Success"
}

Invalid response example:

{
    "data": "User and Password invalid",
    "message": "Failed"
}

Transportation Management System

Sistem manajemen logistik untuk penanganan order, alokasi armada dan pengemudi, pemantauan proses pengiriman hingga pengelolaan data dan kontrak pelanggan.

Untuk memulai berikut gambaran awal untuk proses integrasi dengan McEasy:

overview

  1. Onboarding

    Digunakan untuk singkroniasai data ERP dengan data McEasy.

  2. Create Order

    Ketika data antara ERP dan McEasy sudah sama maka dapat dibuat order yang merepresentasikan Surat Perintah Jalan (SPJ).

  3. Create Fleet Order

    Saat Surat Perintah Jalan (SPJ) sudah terbuat maka dapat dialokasikan armada / kendaraan yang akan memproses pengiriman.

Dari Integration Flow kemudian kita bisa memulai untuk Onboarding dengan diagram sebagai berikut:

onboarding

Berikut API yang memungkinkan untuk digunakan untuk Onboarding:

  1. Create Driver
  2. Create Fleet
  3. Create Address / Pool
  4. Create Customer
  5. Create Product

Setelah selesai Onboarding / singkronisasi data kemudian dapat dilanjutkan proses berikut:

  1. Create Order dan
  2. Create Fleet Order

Apabila ada yang masih belum bisa mendukung sistem ERP Anda ataupun ada yang ditanyakan bisa menghubungi kami lebih lanjut.

Hubungi Kami.

Order

Order merupakan fitur TMS yang merepresentasikan Surat Jalan yang dapat digunakan untuk penggunaan internal maupun dikirimkan ke customer

Berikut proses yang diperlukan untuk membuat sebuah Order:

create-delivery-order

API yang memungkinkan untuk digunakan untuk Pembuatan Order adalah sebagai berikut:

  1. Create Order
  2. List Order
  3. Detail Order

Create Order

Membuat data Delivery Order yang untuk customer yang berisikan tempat muat, bongkar, tanggal keberangkatan, dan produk-produk (opsional) apa saja yang akan dibawa.

HTTP Request

POST https://cloudservice.vsms.co.id/tms_public_api/order

Request Body

Field Data Type Required Description Example
customer_name string true Nama Pelanggan PT. Terang
shipment_number string false Nomor Pengiriman Test-PublicAPI-002
departure_time date(YYYY-MM-DDTHH-mm-ss) true Waktu Keberangkatan 2022-05-11T08:30:00
fleet_category string true Kategori Kendaraan Trailer
fleet_type string true Tipe Kendaraan 40ft
origin []Origin true Object Origin
destination []Destination true Object Destination
item []Item true Object Item
note string false Catatan Pengiriman Test-FromPublicAPI-Note2
batch_number string false Kelompok Pengiriman GFZ-0012
cod integer false Nominal COD null
status string true Status Order Draft, Confirmed

Request Example

{
    "customer_name": "PT. Terang",
    "shipment_number": "Test-PublicAPI-002",
    "departure_time": "2022-05-11T08:30:00",
    "fleet_category": "Trailer",
    "fleet_type": "40ft",
    "origin": [
        {
            "name": "SBY WH"
        },
        {
            "name": "Malang Pool"
        },
        {
            "name": "SBY Warehouse 01"
        }
    ],
    "destination": [
        {
            "name": "SBY Warehouse 02"
        },
        {
            "name": "Gubeng"
        }
    ],
    "item": [
        {
            "name": "Barang 1",
            "qty": "1",
            "volume": "2",
            "weight": "3"
        }
    ],
    "note": "Test-FromPublicAPI-Note2",
    "batch_number": "GFZ-0012",
    "cod": null,
    "status": "DRAFT"
}
curl --location --request POST 'https://cloudservice.vsms.co.id/tms_public_api/order' \
--header 'Authorization: Bearer <YOUR API TOKEN>' \
--header 'Content-Type: application/json' \
--data-raw '{
    "customer_name": "PT. Terang",
    "shipment_number": "Test-PublicAPI-002",
    "departure_time": "2022-05-11T08:30:00",
    "fleet_category": "Trailer",
    "fleet_type": "40ft",
    "origin": [
        {
            "name": "SBY WH"
        },
        {
            "name": "Malang Pool"
        },
        {
            "name": "SBY Warehouse 01"
        }
    ],
    "destination": [
        {
            "name": "SBY Warehouse 02"
        },
        {
            "name": "Gubeng"
        }
    ],
    "item": [
        {
            "name": "Barang 1",
            "qty": "1",
            "volume": "2",
            "weight": "3"
        }
    ],
    "note": "Test-FromPublicAPI-Note2",
    "batch_number": "GFZ-0012",
    "cod": null,
    "status": "DRAFT"
}'
var myHeaders = new Headers();
myHeaders.append("Authorization", "Bearer <YOUR API TOKEN>");
myHeaders.append("Content-Type", "application/json");

var raw = JSON.stringify({
  "customer_name": "PT. Terang",
  "shipment_number": "Test-PublicAPI-002",
  "departure_time": "2022-05-11T08:30:00",
  "fleet_category": "Trailer",
  "fleet_type": "40ft",
  "origin": [
    {
      "name": "SBY WH"
    },
    {
      "name": "Malang Pool"
    },
    {
      "name": "SBY Warehouse 01"
    }
  ],
  "destination": [
    {
      "name": "SBY Warehouse 02"
    },
    {
      "name": "Gubeng"
    }
  ],
  "item": [
    {
      "name": "Barang 1",
      "qty": "1",
      "volume": "2",
      "weight": "3"
    }
  ],
  "note": "Test-FromPublicAPI-Note2",
  "batch_number": "GFZ-0012",
  "cod": null,
  "status": "DRAFT"
});

var requestOptions = {
  method: 'POST',
  headers: myHeaders,
  body: raw,
  redirect: 'follow'
};

fetch("https://cloudservice.vsms.co.id/tms_public_api/order", requestOptions)
  .then(response => response.text())
  .then(result => console.log(result))
  .catch(error => console.log('error', error));

Success Response

Field         Data Type                                   Description
data         ResponseCreateOrder ResponseCreateOrder
message       string                                       Keterangan response

Success Response Example

{
    "data": {
        "order_delivery_number": "DO_Number",
        "status": "Draft"
    },
    "message": "Success"
}

Invalid Response

Field         Data Type                                               Description
errors         Error                                       Object dari Error
message       string                                                   Keterangan response

List Order

Menampilkan daftar Delivery Order yang telah dibuat dengan filter tanggal maupun status

HTTP Request

GET https://cloudservice.vsms.co.id/tms_public_api/order

Request Query

Parameter Data Type Required Description Example
start_date date(YYYY-MM-DD) true Filter Tanggal Awal Create Order 2022-04-01
end_date date(YYYY-MM-DD) true Filter Tanggal Akhir Create Order 2022-04-07
filter_statuses[] []StatusOrder true Filter Status Order Draft, Confirmed, Scheduled, Started, Delivered, Canceled

Request Example

curl --location -g --request GET 'https://cloudservice.vsms.co.id/tms_public_api/order?start_date=2022-04-01&end_date=2022-04-07&=&filter_statuses[]=Started&filter_statuses[]=Confirmed'
var requestOptions = {
  method: 'GET',
  redirect: 'follow'
};

fetch("https://cloudservice.vsms.co.id/tms_public_api/order?start_date=2022-04-01&end_date=2022-04-07&=&filter_statuses[]=Started&filter_statuses[]=Confirmed", requestOptions)
  .then(response => response.text())
  .then(result => console.log(result))
  .catch(error => console.log('error', error));

Success Response

Field         Data Type                               Description
data         ResponseListOrder ResponseListOrder
message       string                                   Keterangan response

Success Response Example

{
    "data": [
        {
            "order_number": "DO-00071",
            "customer_name": "PT Nescoffee",
            "departure_date": "2022-01-03",
            "fleet_category": "Super WIng",
            "fleet_type": "Hino Wing Box Lohan FL235JW",
            "license_plate": "L 7777 AD",
            "driver_name": "mcdriver",
            "origins": [
                "Sby Kodam 5"
            ],
            "destinations": [
                "sby pagesangan"
            ],
            "note": "",
            "shipment_number": "",
            "marketing_name": "Administrator",
            "status": "Started"
        }
    ],
    "message": "Success"
}

Invalid Response

Field         Data Type                                               Description
errors         Error                                       Object dari Error
message       string                                                   Keterangan response

Detail Order

Menampilkan detail Delivery Order yang telah dibuat serta melihat riwayat perubahan status Order

HTTP Request

GET https://cloudservice.vsms.co.id/tms_public_api/order/<YOUR DO-ID>

Request Key

Key Data Type Required Description Example
<YOUR DO-ID> string true Nomor Delivery Order DO-00958

Request Example

curl --location --request GET 'https://cloudservice.vsms.co.id/tms_public_api/order/DO-00958'
var requestOptions = {
  method: 'GET',
  redirect: 'follow'
};

fetch("https://cloudservice.vsms.co.id/tms_public_api/order/DO-00958", requestOptions)
  .then(response => response.text())
  .then(result => console.log(result))
  .catch(error => console.log('error', error));

Success Response

Field         Data Type                               Description
data         ResponseDetailOrder ResponseDetailOrder
message       string                                   Keterangan response

Success Response Example

{
    "data": {
        "customer_name": "PT Nescoffee",
        "departure_date": "2022-01-03",
        "destinations": [
            "sby pagesangan"
        ],
        "driver_name": "mcdriver",
        "fleet_category": "Super WIng",
        "fleet_type": "Hino Wing Box Lohan FL235JW",
        "goods_type": "",
        "items": [],
        "license_plate": "L 7777 AD",
        "marketing_name": "Administrator",
        "note": "",
        "order_number": "DO-00071",
        "origins": [
            "Sby Kodam 5"
        ],
        "service_time": "",
        "shipment_number": "",
        "status": "Started",
        "status_history": [
            {
                "datetime": "2022-01-03 10:43:05",
                "status": "Scheduled"
            },
            {
                "datetime": "2022-01-03 10:43:24",
                "status": "Started"
            }
        ],
        "temperature_max": "",
        "temperature_min": "",
        "window_end_time": "",
        "window_start_time": ""
    },
    "message": "Success"
}

Invalid Response

Field         Data Type                                               Description
errors         Error                                       Object dari Error
message       string                                                   Keterangan response

Fleet Order

Fleet Order merupakan fitur TMS yang merepresentasikan Surat Perintah Kerja kepada driver

Perikut untuk gambaran proses yang dapat diimplementasikan:

create-fleet-order

API yang memungkinkan untuk digunakan untuk pembuatan Fleet Order adalah sebagai berikut:

  1. List Order
  2. Detail Order
  3. List Fleet
  4. Create Fleet Order
  5. List Fleet Order
  6. Detail Fleet Order

Create Fleet Order

Membuat Fleet Order untuk mengalokasikan armada yang ada dalam pengiriman Delivery Order yang statusnya sudah confirmed

HTTP Request

POST https://cloudservice.vsms.co.id/tms_public_api/order-fleet

Request Body

Field Data Type Required Description Example
order_freight []OrderFreight true Array dari OrderFreight OrderFreight

Request Example

{
    "orders_freight": [
        {
            "start_order": "2022-08-12 15:30:00",
            "fleet": "L 7060 KKV",
            "driver": "Didi",
            "ship_from": "Lacuna Cafe",
            "round_trip": true,
            "fleet_reference": "Public API",
            "weight": 100,
            "total_distance": 18.54,
            "eta": "2022-09-08 17:00:00",
            "destination_units": [
                {
                    "order_delivery": "DO-02404",
                    "unit_type": "Pickup",
                    "address": "Exit Sinarmas",
                    "distance": 6.49,
                    "eta": "2022-09-08 16:09:00"
                },
                {
                    "order_delivery": "DO-02404",
                    "unit_type": "Destination",
                    "address": "D Karang Pilang",
                    "distance": 12.15,
                    "eta": "2022-09-08 16:57:00"
                }
            ]
        }
    ]
}
curl --location --request POST 'https://cloudservice.vsms.co.id/tms_public_api/order-fleet' \
--header 'Authorization: Bearer <YOUR API TOKEN>' \
--header 'Content-Type: application/json' \
--data-raw '{
    "orders_freight": [
        {
            "start_order": "2022-08-12 15:30:00",
            "fleet": "L 7060 KKV",
            "driver": "Didi",
            "ship_from": "Lacuna Cafe",
            "round_trip": true,
            "fleet_reference": "Public API",
            "weight": 100,
            "total_distance": 18.54,
            "eta": "2022-09-08 17:00:00",
            "destination_units": [
                {
                    "order_delivery": "DO-02404",
                    "unit_type": "Pickup",
                    "address": "Exit Sinarmas",
                    "distance": 6.49,
                    "eta": "2022-09-08 16:09:00"
                },
                {
                    "order_delivery": "DO-02404",
                    "unit_type": "Destination",
                    "address": "D Karang Pilang",
                    "distance": 12.15,
                    "eta": "2022-09-08 16:57:00"
                }
            ]
        }
    ]
}'
var myHeaders = new Headers();
myHeaders.append("Authorization", "Bearer <YOUR API TOKEN>");
myHeaders.append("Content-Type", "application/json");

var raw = JSON.stringify({
  "orders_freight": [
    {
      "start_order": "2022-08-12 15:30:00",
      "fleet": "L 7060 KKV",
      "driver": "Didi",
      "ship_from": "Lacuna Cafe",
      "round_trip": true,
      "fleet_reference": "Public API",
      "weight": 100,
      "total_distance": 18.54,
      "eta": "2022-09-08 17:00:00",
      "destination_units": [
        {
          "order_delivery": "DO-02404",
          "unit_type": "Pickup",
          "address": "Exit Sinarmas",
          "distance": 6.49,
          "eta": "2022-09-08 16:09:00"
        },
        {
          "order_delivery": "DO-02404",
          "unit_type": "Destination",
          "address": "D Karang Pilang",
          "distance": 12.15,
          "eta": "2022-09-08 16:57:00"
        }
      ]
    }
  ]
});

var requestOptions = {
  method: 'POST',
  headers: myHeaders,
  body: raw,
  redirect: 'follow'
};

fetch("https://cloudservice.vsms.co.id/tms_public_api/order-fleet", requestOptions)
  .then(response => response.text())
  .then(result => console.log(result))
  .catch(error => console.log('error', error));

Success Response

Field         Data Type                                   Description
created       []ResponseCreateFleetOrder ResponseCreateFleetOrder
failed         []string Keterangan error dari hasil Create Order
message       string                                       Keterangan response

Success Response Example

{
    "created": [
        {
            "fo_number": "FO-00000",
            "id_fo": 1
        }
    ],
    "failed": [],
    "message": "success"
}

Invalid Response

Field         Data Type                                               Description
errors         Error                                       Object dari Error
message       string                                                   Keterangan response

Detail Fleet Order

Menampilkan detail Fleet Order yang telah berhasil terbuat maupun yang telah terselesaikan

HTTP Request

GET https://cloudservice.vsms.co.id/tms_public_api/order-fleet/<FO-NUMBER>

Request Key

Parameter Data Type Required Description Example
<YOUR FO-NUMBER> string true Nomor Fleet Order FO-00053

Request Example

curl --location --request GET 'https://cloudservice.vsms.co.id/tms_public_api/order-fleet/FO-00001' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer <YOUR API TOKEN>'
var myHeaders = new Headers();
myHeaders.append("Content-Type", "application/json");
myHeaders.append("Authorization", "Bearer <YOUR API TOKEN>");

var requestOptions = {
  method: 'GET',
  headers: myHeaders,
  redirect: 'follow'
};

fetch("https://cloudservice.vsms.co.id/tms_public_api/order-fleet/FO-00001", requestOptions)
  .then(response => response.text())
  .then(result => console.log(result))
  .catch(error => console.log('error', error));

Success Response

Field         Data Type                                   Description
data         ResponseDetailFleetOrder ResponseDetailFleetOrder
message       string                                   Keterangan response

Success Response Example

{
    "data": {
        "driver_name": "Driver 001",
        "end_time": "2022-02-03 17:17:02",
        "fleet_category": "TRUK",
        "fleet_order_number": "FO-00053",
        "fleet_type": "CDD - 4000",
        "license_plate": "L 9956 DF",
        "order_deliveries": [
            {
                "customer": "PT. ABC",
                "items": [
                    {
                        "item_name": "beras",
                        "quantity": 1.0,
                        "volume": 2.0,
                        "weight": 1000.0
                    },
                    {
                        "item_name": "beras",
                        "quantity": 1.0,
                        "volume": 2.0,
                        "weight": 1000.0
                    },
                    {
                        "item_name": "beras",
                        "quantity": 1.0,
                        "volume": 2.0,
                        "weight": 1000.0
                    }
                ],
                "order_number": "DO-00117"
            }
        ],
        "seq_order_list": [
            {
                "address": "Location One",
                "app_status": "Ended",
                "arrived_time": "",
                "departed_time": "",
                "eta": "2022-02-02 13:34:00",
                "mileage": 78.17,
                "order_number": "DO-00117",
                "receiver_name": "oke",
                "rejection_reason": "",
                "seq": 1,
                "status": "Picked",
                "time_app_update": "2022-02-03 17:14:50",
                "type": "P"
            },
            {
                "address": "Location Two",
                "app_status": "Ended",
                "arrived_time": "",
                "departed_time": "",
                "eta": "2022-02-02 14:35:00",
                "mileage": 0.85,
                "order_number": "DO-00117",
                "receiver_name": "oke2",
                "rejection_reason": "",
                "seq": 2,
                "status": "Delivered",
                "time_app_update": "2022-02-03 17:15:55",
                "type": "D"
            }
        ],
        "ship_from": "Matos",
        "start_time": "2022-02-03 17:08:41",
        "status": "Ended",
        "total_volume": 6.0,
        "total_weight": 3000.0
    },
    "message": "Success"
}

Invalid Response

Field         Data Type                                               Description
errors         Error                                       Object dari Error
message       string                                                   Keterangan response

List Fleet Order

Melihat data-data Fleet Order dengan filter tanggal

HTTP Request

GET https://cloudservice.vsms.co.id/tms_public_api/order-fleet

Request Query

Parameter Data Type Required Description Example
start_date date(YYYY-MM-DD) true Filter Tanggal Awal Create Order 2022-02-02
end_date date(YYYY-MM-DD) true Filter Tanggal Akhir Create Order 2022-03-03

Request Example

curl --location --request GET 'https://cloudservice.vsms.co.id/tms_public_api/order-fleet?start_date=2020-02-02&end_date=2022-03-03' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer <YOUR API TOKEN>'
var myHeaders = new Headers();
myHeaders.append("Content-Type", "application/json");
myHeaders.append("Authorization", "Bearer <YOUR API TOKEN>");

var requestOptions = {
  method: 'GET',
  headers: myHeaders,
  redirect: 'follow'
};

fetch("https://cloudservice.vsms.co.id/tms_public_api/order-fleet?start_date=2022-02-02&end_date=2023-03-03", requestOptions)
  .then(response => response.text())
  .then(result => console.log(result))
  .catch(error => console.log('error', error));

Success Response

Field         Data Type                                   Description
data         []ResponseListFleetOrder ResponseListFleetOrder
message       string                                   Keterangan response

Success Response Example

{
    "data": [
        {
            "driver_name": "Budi",
            "end_time": "",
            "fleet_order_number": "FO-00001",
            "license_plate": "L 1234 LL",
            "start_time": "2022-02-03 13:13:00",
            "status": "Canceled"
        },
    ],
    "message": "success"
}

Invalid Response

Field         Data Type                                               Description
errors         Error                                       Object dari Error
message       string                                                   Keterangan response

Fleet

Managemen Master Data Armada / Kendaraan yang akan digunakan untuk proses pengiriman

Create Fleet

Menambahkan armada / kendaraan yang aktif dipakai untuk proses pengiriman / pengangkutan

HTTP Request

POST https://cloudservice.vsms.co.id/tms_public_api/fleet

Request Body

Field Data Type Required Description Example
fleet []RequestFleet true Data-data Armada yang dapat diinputkan secara banyak RequestFleet

Request Example

{
    "fleet": [
        {
            "plate_number": "L 1111 YY",
            "fleet_brand": "Daihatsu",
            "chassis_number": "XXXX324e",
            "engine_number": "XXX34236",
            "fleet_category": "L300",
            "fleet_type": "L300",
            "box_type": "",
            "thermo_type": "",
            "pool": "",
            "unit_year": "2016",
            "fleet_age_years": "7",
            "last_odometer": "15000",
            "karoseri": "",
            "volume_cbm": "1000",
            "start_time": "",
            "end_time": "",
            "driver_1st": "",
            "driver_2nd": "",
            "gps_vendor": "",
            "gps_tracker": "",
            "temperature_min": -10,
            "temperature_max": 3
        }
    ]
}
curl --location --request POST 'https://cloudservice.vsms.co.id/tms_public_api/fleet' \
--header 'Authorization: Bearer <YOUT API TOKEN>' \
--header 'Content-Type: application/json' \
--data-raw '{
    "fleet": [
        {
            "plate_number": "L 1111 YY",
            "fleet_brand": "Daihatsu",
            "chassis_number": "XXXX324e",
            "engine_number": "XXX34236",
            "fleet_category": "L300",
            "fleet_type": "L300",
            "box_type": "",
            "thermo_type": "",
            "pool": "",
            "unit_year": "2016",
            "fleet_age_years": "7",
            "last_odometer": "15000",
            "karoseri": "",
            "volume_cbm": "1000",
            "start_time": "",
            "end_time": "",
            "driver_1st": "",
            "driver_2nd": "",
            "gps_vendor": "",
            "gps_tracker": "",
            "temperature_min": -10,
            "temperature_max": 3
        }
    ]
}'
var myHeaders = new Headers();
myHeaders.append("Authorization", "Bearer <YOUR API TOKEN>");
myHeaders.append("Content-Type", "application/json");

var raw = JSON.stringify({
  "fleet": [
    {
      "plate_number": "L 1111 YY",
      "fleet_brand": "Daihatsu",
      "chassis_number": "XXXX324e",
      "engine_number": "XXX34236",
      "fleet_category": "L300",
      "fleet_type": "L300",
      "box_type": "",
      "thermo_type": "",
      "pool": "",
      "unit_year": "2016",
      "fleet_age_years": "7",
      "last_odometer": "15000",
      "karoseri": "",
      "volume_cbm": "1000",
      "start_time": "",
      "end_time": "",
      "driver_1st": "",
      "driver_2nd": "",
      "gps_vendor": "",
      "gps_tracker": "",
      "temperature_min": -10,
      "temperature_max": 3
    }
  ]
});

var requestOptions = {
  method: 'POST',
  headers: myHeaders,
  body: raw,
  redirect: 'follow'
};

fetch("https://cloudservice.vsms.co.id/tms_public_api/fleet", requestOptions)
  .then(response => response.text())
  .then(result => console.log(result))
  .catch(error => console.log('error', error));

Success Response

Field         Data Type                                   Description
Data       string                                       Keterangan response

Success Response Example

{
    "Data": "Success"
}

Invalid Response

Field         Data Type                                               Description
errors         Error                                       Object dari Error
message       string                                                   Keterangan response

List Fleet

Melihat kendaraan - kendaraan yang sudah terdaftar

HTTP Request

GET https://cloudservice.vsms.co.id/tms_public_api/fleet

Request Example

curl --location --request GET 'https://cloudservice.vsms.co.id/tms_public_api/fleet' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer <YOUR API TOKEN>'
var myHeaders = new Headers();
myHeaders.append("Content-Type", "application/json");
myHeaders.append("Authorization", "Bearer <YOUR API TOKEN>");

var raw = "";

var requestOptions = {
  method: 'GET',
  headers: myHeaders,
  body: raw,
  redirect: 'follow'
};

fetch("https://cloudservice.vsms.co.id/tms_public_api/fleet", requestOptions)
  .then(response => response.text())
  .then(result => console.log(result))
  .catch(error => console.log('error', error));

Success Response

Field         Data Type                                   Description
data       []FleetList                   Data-data Kendaraan / Armada
message       string                                   Keterangan response

Success Response Example

{
    "data": [
        {
            "fleet_active": null,
            "fleet_category": "CDD Bak Terbuka",
            "fleet_id": 1,
            "fleet_name": "L 1345 BV"
        }
    ]
}

Invalid Response

Field         Data Type                                               Description
errors         Error                                       Object dari Error
message       string                                                   Keterangan response

Update Fleet

Mengubah data kendaraan sesuai nomor polisi yang didaftarkan

HTTP Request

PATCH https://cloudservice.vsms.co.id/tms_public_api/fleet/<PLATE_NUMBER>

Request Key

Field Data Type Required Description Example
<PLATE_NUMBER> string (urlencoded) true Plate number / Fleet Name L%201324%20P, Mitsubishi%2FL%201111%2043

Request Body

Field Data Type Required Description Example
fleet []RequestFleet true Data-data Armada yang dapat diinputkan secara banyak RequestFleet

Request Example

{
    "fleet": [
        {
            "plate_number": "L 1111 YY",
            "fleet_brand": "Daihatsu",
            "chassis_number": "XXXX324e",
            "engine_number": "XXX34236",
            "fleet_category": "L300",
            "fleet_type": "L300",
            "box_type": "Wet",
            "thermo_type": "",
            "pool": "",
            "unit_year": "2022",
            "fleet_age_years": "0",
            "last_odometer": "50",
            "karoseri": "Tentrem",
            "volume_cbm": "3000",
            "start_time": "05:00:00",
            "end_time": "17:00:00",
            "driver_1st": "",
            "driver_2nd": null,
            "gps_vendor": "McEasy",
            "gps_tracker": "",
            "temperature_min": null,
            "temperature_max": null
        }
    ]
}
curl --location --request PATCH 'https://cloudservice.vsms.co.id/tms_public_api/fleet/Daihatsu%2FL%201112%20YY' \
--header 'Authorization: Bearer <YOUR API TOKEN>' \
--header 'Content-Type: application/json' \
--data-raw '{
    "fleet": [
        {
            "plate_number": "L 1111 YY",
            "fleet_brand": "Daihatsu",
            "chassis_number": "XXXX324e",
            "engine_number": "XXX34236",
            "fleet_category": "L300",
            "fleet_type": "L300",
            "box_type": "Wet",
            "thermo_type": "",
            "pool": "",
            "unit_year": "2022",
            "fleet_age_years": "0",
            "last_odometer": "50",
            "karoseri": "Tentrem",
            "volume_cbm": "3000",
            "start_time": "05:00:00",
            "end_time": "17:00:00",
            "driver_1st": "",
            "driver_2nd": null,
            "gps_vendor": "McEasy",
            "gps_tracker": "",
            "temperature_min": null,
            "temperature_max": null
        }
    ]
}'
var myHeaders = new Headers();
myHeaders.append("Authorization", "Bearer <YOUR API TOKEN>");
myHeaders.append("Content-Type", "application/json");

var raw = JSON.stringify({
  "fleet": [
    {
      "plate_number": "L 1111 YY",
      "fleet_brand": "Daihatsu",
      "chassis_number": "XXXX324e",
      "engine_number": "XXX34236",
      "fleet_category": "L300",
      "fleet_type": "L300",
      "box_type": "Wet",
      "thermo_type": "",
      "pool": "",
      "unit_year": "2022",
      "fleet_age_years": "0",
      "last_odometer": "50",
      "karoseri": "Tentrem",
      "volume_cbm": "3000",
      "start_time": "05:00:00",
      "end_time": "17:00:00",
      "driver_1st": "",
      "driver_2nd": null,
      "gps_vendor": "McEasy",
      "gps_tracker": "",
      "temperature_min": null,
      "temperature_max": null
    }
  ]
});

var requestOptions = {
  method: 'PATCH',
  headers: myHeaders,
  body: raw,
  redirect: 'follow'
};

fetch("https://cloudservice.vsms.co.id/tms_public_api/fleet/Daihatsu%2FL%201112%20YY", requestOptions)
  .then(response => response.text())
  .then(result => console.log(result))
  .catch(error => console.log('error', error));

Success Response

Field         Data Type                                   Description
data       ResponseUpdateFleet   Keterangan response fleet yang berhasil terupdate
message       string                                   Keterangan response

Success Response Example

{
    "data": {
        "fleet": "L 1113 YY updated successfully"
    },
    "message": "Success"
}

Invalid Response

Field         Data Type                                               Description
errors         Error                                       Object dari Error
message       string                                                   Keterangan response

Driver

Managemen Master Data Pengemudi yang akan bertugas dalam proses pengiriman

Create Driver

Menambahkan pengemudi yang akan menjalankan proses pengiriman / pengangkutan

HTTP Request

POST https://cloudservice.vsms.co.id/tms_public_api/master/driver

Request Body

Field Data Type Required Description Example
driver []RequestDriver true Kumpulan driver yang ingin ditambahkan RequestDriver

Request Example

{
    "driver": [
        {
            "name": "Driver Test 4",
            "address": "Jl. Sawojajar II",
            "place_of_birth": "Malang",
            "date_of_birth": "1997-02-02",
            "phone_number": "0853813513",
            "joined_date": "2022-08-31",
            "place_of_recruitment": "Surabaya",
            "ktp_number": "61341351313",
            "marital_status": "Lajang",
            "bank_acc_number": "15378513",
            "bpjs_kes_number": "917359816395",
            "bpjs_jht_number": "35196871513",
            "jaminan": "Harta",
            "family_phone_1": "",
            "family_phone_2": null,
            "reference": null,
            "driver_status": [
                {
                    "fleet_category": "Truck",
                    "status": "Active"
                }
            ],
            "license_type": [
                {
                    "license_type": "sim c",
                    "license_number": "",
                    "expired": null
                }
            ],
            "job_experience": [
                {
                    "experience": "Driver Patas"
                }
            ]
        }
    ]
}
curl --location --request POST 'https://cloudservice.vsms.co.id/tms_public_api/master/driver' \
--header 'Authorization: Bearer <YOUR API TOKEN>' \
--header 'Content-Type: application/json' \
--data-raw '{
    "driver": [
        {
            "name": "Driver Test 4",
            "address": "Jl. Sawojajar II",
            "place_of_birth": "Malang",
            "date_of_birth": "1997-02-02",
            "phone_number": "0853813513",
            "joined_date": "2022-08-31",
            "place_of_recruitment": "Surabaya",
            "ktp_number": "61341351313",
            "marital_status": "Lajang",
            "bank_acc_number": "15378513",
            "bpjs_kes_number": "917359816395",
            "bpjs_jht_number": "35196871513",
            "jaminan": "Harta",
            "family_phone_1": "",
            "family_phone_2": null,
            "reference": null,
            "driver_status": [
                {
                    "fleet_category": "Truck",
                    "status": "Active"
                }
            ],
            "license_type": [
                {
                    "license_type": "sim c",
                    "license_number": "",
                    "expired": null
                }
            ],
            "job_experience": [
                {
                    "experience": "Driver Patas"
                }
            ]
        }
    ]
}'
var myHeaders = new Headers();
myHeaders.append("Authorization", "Bearer <YOUR API TOKEN>");
myHeaders.append("Content-Type", "application/json");

var raw = JSON.stringify({
  "driver": [
    {
      "name": "Driver Test 4",
      "address": "Jl. Sawojajar II",
      "place_of_birth": "Malang",
      "date_of_birth": "1997-02-02",
      "phone_number": "0853813513",
      "joined_date": "2022-08-31",
      "place_of_recruitment": "Surabaya",
      "ktp_number": "61341351313",
      "marital_status": "Lajang",
      "bank_acc_number": "15378513",
      "bpjs_kes_number": "917359816395",
      "bpjs_jht_number": "35196871513",
      "jaminan": "Harta",
      "family_phone_1": "",
      "family_phone_2": null,
      "reference": null,
      "driver_status": [
        {
          "fleet_category": "Truck",
          "status": "Active"
        }
      ],
      "license_type": [
        {
          "license_type": "sim c",
          "license_number": "",
          "expired": null
        }
      ],
      "job_experience": [
        {
          "experience": "Driver Patas"
        }
      ]
    }
  ]
});

var requestOptions = {
  method: 'POST',
  headers: myHeaders,
  body: raw,
  redirect: 'follow'
};

fetch("https://cloudservice.vsms.co.id/tms_public_api/master/driver", requestOptions)
  .then(response => response.text())
  .then(result => console.log(result))
  .catch(error => console.log('error', error));

Success Response

Field         Data Type                                   Description
created []ResponseCreateDriver Data Driver yang berhasil terbuat
failed [] Deprecated
message       string                                       Keterangan response

Success Response Example

{
    "created": [
        {
            "id": 1279,
            "name": "Driver Test 5"
        }
    ],
    "failed": [],
    "message": "success"
}

Invalid Response

Field         Data Type                                               Description
errors         Error                                       Object dari Error
message       string                                                   Keterangan response

Customer

Managemen Master Data Pelanggan yang digunakan sebagai pemesan Order sesuai alamat-alamat yang akan dituju untuk proses bongkar(Drop) muat (Pick)

Create Customer

Menambahkan data customer / business partner yang memesan produk / armada dan juga dapat berperan sebagai tempat muat (Pick) maupun tempat bongkar (Drop)

HTTP Request

POST https://cloudservice.vsms.co.id/tms_public_api/master/customer

Request Body

Field Data Type Required Description Example
customer []RequestCustomer true Kumpulan customer yang ingin ditambahkan RequestCustomer

Request Example

{
    "customer": [
        {
            "name": "Cust_Test 001",
            "alias": "CP1",
            "tax_number": "513831",
            "industry_category": "",
            "marketing_name": "",
            "contact_person": [
                {
                    "contact_name": "public",
                    "phone_number": "08368154613",
                    "position": "Admin",
                    "email": ""
                }
            ],
            "special_note": [
                {
                    "note": "Pahit"
                },
                {
                    "note": "Manis"
                }
            ],
            "address": [
                {
                    "location_name": "Brew.la",
                    "sector": null,
                    "address": "BREW.LA, Sawojajar, Malang City, East Java, Indonesia",
                    "province": "Jawa Timur",
                    "city": "Surabaya",
                    "postal_code": "65139",
                    "category": "",
                    "contact_person": "",
                    "phone_number": "",
                    "type_poi": "Circle",
                    "radius": 100.0,
                    "latitude": "-7.96907150",
                    "longitude": "112.66126220",
                    "start_window_time": "08:00",
                    "end_window_time": "12:00",
                    "service_time": 60
                }
            ]
        }
    ]
}
curl --location --request POST 'https://cloudservice.vsms.co.id/tms_public_api/master/customer' \
--header 'Authorization: Bearer <YOUR API TOKEN>' \
--header 'Content-Type: application/json' \
--data-raw '{
    "customer": [
        {
            "name": "Cust_Test 001",
            "alias": "CP1",
            "tax_number": "513831",
            "industry_category": "",
            "marketing_name": "",
            "contact_person": [
                {
                    "contact_name": "public",
                    "phone_number": "08368154613",
                    "position": "Admin",
                    "email": ""
                }
            ],
            "special_note": [
                {
                    "note": "Pahit"
                },
                {
                    "note": "Manis"
                }
            ],
            "address": [
                {
                    "location_name": "Brew.la",
                    "sector": null,
                    "address": "BREW.LA, Sawojajar, Malang City, East Java, Indonesia",
                    "province": "Jawa Timur",
                    "city": "Surabaya",
                    "postal_code": "65139",
                    "category": "",
                    "contact_person": "",
                    "phone_number": "",
                    "type_poi": "Circle",
                    "radius": 100.0,
                    "latitude": "-7.96907150",
                    "longitude": "112.66126220",
                    "start_window_time": "08:00",
                    "end_window_time": "12:00",
                    "service_time": 60
                }
            ]
        }
    ]
}'
var myHeaders = new Headers();
myHeaders.append("Authorization", "Bearer <YOUR API TOKEN>");
myHeaders.append("Content-Type", "application/json");

var raw = JSON.stringify({
  "customer": [
    {
      "name": "Cust_Test 001",
      "alias": "CP1",
      "tax_number": "513831",
      "industry_category": "",
      "marketing_name": "",
      "contact_person": [
        {
          "contact_name": "public",
          "phone_number": "08368154613",
          "position": "Admin",
          "email": ""
        }
      ],
      "special_note": [
        {
          "note": "Pahit"
        },
        {
          "note": "Manis"
        }
      ],
      "address": [
        {
          "location_name": "Brew.la",
          "sector": null,
          "address": "BREW.LA, Sawojajar, Malang City, East Java, Indonesia",
          "province": "Jawa Timur",
          "city": "Surabaya",
          "postal_code": "65139",
          "category": "",
          "contact_person": "",
          "phone_number": "",
          "type_poi": "Circle",
          "radius": 100,
          "latitude": "-7.96907150",
          "longitude": "112.66126220",
          "start_window_time": "08:00",
          "end_window_time": "12:00",
          "service_time": 60
        }
      ]
    }
  ]
});

var requestOptions = {
  method: 'POST',
  headers: myHeaders,
  body: raw,
  redirect: 'follow'
};

fetch("https://cloudservice.vsms.co.id/tms_public_api/master/customer", requestOptions)
  .then(response => response.text())
  .then(result => console.log(result))
  .catch(error => console.log('error', error));

Success Response

Field         Data Type                                   Description
created []ResponseCreateCustomer Data Pelanggan yang berhasil terbuat
failed [] Deprecated
message       string                                       Keterangan response

Success Response Example

{
    "created": [
        {
            "id": 848,
            "name": "Cust_Test 001"
        }
    ],
    "failed": [],
    "message": "success"
}

Invalid Response

Field         Data Type                                               Description
errors         Error                                       Object dari Error
message       string                                                   Keterangan response

Address

Managemen Master Data Alamat owner / perusahaan yang bisa berupa pool, warehouse, kantor cabang, checkpoint dan lain-lain

Create Address

Menambahkan data alamat customer yang dapat digunakan untuk tempat bongkar (Drop) dan muat (Pick)

Batasan:

Untuk menambahkan pool / kantor cabang / warehouse dari owner harus melalui website TMS

HTTP Request

POST https://cloudservice.vsms.co.id/tms_public_api/master/address

Request Body

Field Data Type Required Description Example
address []RequestAddress true Kumpulan alamat yang akan digunakan untuk Muat(Pick) dan Bongkar (Drop) RequestAddress

Request Example

{
    "address": [
        {
            "customer_name": "Coffe District Malang",
            "location_name": "Coffe Logic8 Malang",
            "sector": "Sector 3",
            "address": "CoffeeLogic, Jalan Sudimoro, Tunjungsekar, Malang City, East Java, Indonesia",
            "province": "Jawa Timur",
            "city": "Surabaya",
            "postal_code": "65142",
            "category": "pool",
            "contact_person": "Soleha",
            "phone_number": "0583174685",
            "type_poi": "Polygon",
            "radius": null,
            "latitude": "-7.93394569,-7.93355252,-7.93239198,-7.93289407,-7.93282234",
            "longitude": "112.62931852,112.62854160,112.62935163,112.62955233,112.63010709",
            "start_window_time": null,
            "end_window_time": null,
            "service_time": null
        }
    ]
}
curl --location --request POST 'https://cloudservice.vsms.co.id/tms_public_api/master/address' \
--header 'Authorization: Bearer <YOUR API TOKEN>' \
--header 'Content-Type: application/json' \
--data-raw '{
    "address": [
        {
            "customer_name": "Cust_Test 002",
            "location_name": "Coffe Logic8 Malang",
            "sector": "",
            "address": "CoffeeLogic, Jalan Sudimoro, Tunjungsekar, Malang City, East Java, Indonesia",
            "province": "Jawa Timur",
            "city": "Surabaya",
            "postal_code": "65142",
            "category": "pool",
            "contact_person": "Soleha",
            "phone_number": "0583174685",
            "type_poi": "Polygon",
            "radius": null,
            "latitude": "-7.93394569,-7.93355252,-7.93239198,-7.93289407,-7.93282234",
            "longitude": "112.62931852,112.62854160,112.62935163,112.62955233,112.63010709",
            "start_window_time": null,
            "end_window_time": null,
            "service_time": null
        }
    ]
}'
var myHeaders = new Headers();
myHeaders.append("Authorization", "Bearer <YOUR API TOKEN>");
myHeaders.append("Content-Type", "application/json");

var raw = JSON.stringify({
  "address": [
    {
      "customer_name": "Cust_Test 002",
      "location_name": "Coffe Logic8 Malang",
      "sector": "",
      "address": "CoffeeLogic, Jalan Sudimoro, Tunjungsekar, Malang City, East Java, Indonesia",
      "province": "Jawa Timur",
      "city": "Surabaya",
      "postal_code": "65142",
      "category": "pool",
      "contact_person": "Soleha",
      "phone_number": "0583174685",
      "type_poi": "Polygon",
      "radius": null,
      "latitude": "-7.93394569,-7.93355252,-7.93239198,-7.93289407,-7.93282234",
      "longitude": "112.62931852,112.62854160,112.62935163,112.62955233,112.63010709",
      "start_window_time": null,
      "end_window_time": null,
      "service_time": null
    }
  ]
});

var requestOptions = {
  method: 'POST',
  headers: myHeaders,
  body: raw,
  redirect: 'follow'
};

fetch("https://cloudservice.vsms.co.id/tms_public_api/master/address", requestOptions)
  .then(response => response.text())
  .then(result => console.log(result))
  .catch(error => console.log('error', error));

Success Response

Field         Data Type                                   Description
created []ResponseCreateAddress Data Alamat yang berhasil terbuat
failed [] Deprecated
message       string                                       Keterangan response

Success Response Example

{
    "created": [
        {
            "id": 3030,
            "name": "Coffe Logic8 Malang"
        }
    ],
    "failed": [],
    "message": "success"
}

Invalid Response

Field         Data Type                                               Description
errors         Error                                       Object dari Error
message       string                                                   Keterangan response

Update Address

Mengubah data alamat yang sudah tersimpan dalam sistem sebelumnya

HTTP Request

PATCH https://cloudservice.vsms.co.id/tms_public_api/master/address/<ADDRESS_NAME>

Request Key

Field Data Type Required Description Example
<ADDRESS_NAME> RequestAddress.location_name true Alamat yang ingin diupdate PT Otto Menara Globalindo

Request Body

Field Data Type Required Description Example
address []RequestAddressUpdate true Kumpulan alamat yang akan digunakan untuk Muat(Pick) dan Bongkar (Drop) RequestAddressUpdate

Request Example

{
    "address": [
        {
            "customer_name": "Cust_Test 002",
            "location_name": "Coffe Logic8 Malang",
            "sector": "",
            "address": "CoffeeLogic, Jalan Sudimoro, Tunjungsekar, Malang City, East Java, Indonesia",
            "province": "Jawa Timur",
            "city": "Surabaya",
            "postal_code": "65142",
            "category": "pool",
            "contact_person": "Soleha",
            "phone_number": "0583174685",
            "type_poi": "Polygon",
            "radius": 10,
            "latitude": "-7.93394569,-7.93355252,-7.93239198,-7.93289407,-7.93282234",
            "longitude": "112.62931852,112.62854160,112.62935163,112.62955233,112.63010709",
            "start_window_time": "08:00",
            "end_window_time": "17:00",
            "service_time": 10
        }
    ]
}
curl --location --request PATCH 'https://cloudservice.vsms.co.id/tms_public_api/master/address/Coffe%20Logic8%20Malang' \
--header 'Authorization: Bearer <YOUR API TOKEN>' \
--header 'Content-Type: application/json' \
--data-raw '{
    "address": [
        {
            "customer_name": "Cust_Test 002",
            "location_name": "Coffe Logic8 Malang",
            "sector": "",
            "address": "CoffeeLogic, Jalan Sudimoro, Tunjungsekar, Malang City, East Java, Indonesia",
            "province": "Jawa Timur",
            "city": "Surabaya",
            "postal_code": "65142",
            "category": "",
            "contact_person": "",
            "phone_number": "",
            "type_poi": "Polygon",
            "radius": 2,
            "latitude": "-7.93394569,-7.93355252,-7.93239198,-7.93289407,-7.93282234",
            "longitude": "112.62931852,112.62854160,112.62935163,112.62955233,112.63010709",
            "start_window_time": "08:00",
            "end_window_time": "17:00",
            "service_time": 10
        }
    ]
}'
var myHeaders = new Headers();
myHeaders.append("Authorization", "Bearer <YOUR API TOKEN>");
myHeaders.append("Content-Type", "application/json");

var raw = JSON.stringify({
  "address": [
    {
      "customer_name": "Cust_Test 002",
      "location_name": "Coffe Logic8 Malang",
      "sector": "",
      "address": "CoffeeLogic, Jalan Sudimoro, Tunjungsekar, Malang City, East Java, Indonesia",
      "province": "Jawa Timur",
      "city": "Surabaya",
      "postal_code": "65142",
      "category": "",
      "contact_person": "",
      "phone_number": "",
      "type_poi": "Polygon",
      "radius": 2,
      "latitude": "-7.93394569,-7.93355252,-7.93239198,-7.93289407,-7.93282234",
      "longitude": "112.62931852,112.62854160,112.62935163,112.62955233,112.63010709",
      "start_window_time": "08:00",
      "end_window_time": "17:00",
      "service_time": 10
    }
  ]
});

var requestOptions = {
  method: 'PATCH',
  headers: myHeaders,
  body: raw,
  redirect: 'follow'
};

fetch("https://cloudservice.vsms.co.id/tms_public_api/master/address/Coffe%20Logic8%20Malang", requestOptions)
  .then(response => response.text())
  .then(result => console.log(result))
  .catch(error => console.log('error', error));

Success Response

Field         Data Type                                   Description
message       string                                       Keterangan response

Success Response Example

{
    "message": "success"
}

Invalid Response

Field         Data Type                                               Description
errors         Error                                       Object dari Error
message       string                                                   Keterangan response

Product

Managemen Master Data Produk yang dimiliki oleh owner sehingga ketika ada customer / pelanggan yang memesan Order dapat diisikan produk-produk aja dalam pesanan tersebut.

Create Product

Menambahkan data produk-produk yang berkaitan dalam pengiriman

HTTP Request

POST https://cloudservice.vsms.co.id/tms_public_api/master/product

Request Body

Field Data Type Required Description Example
product []RequestProduct true Kumpulan product yang ingin ditambahkan RequestProduct

Request Example

{
    "product": [
        {
            "name": "Lays Tunaa",
            "description": "Lays barbeque isi 12pcs",
            "price": 10,
            "weight": 10,
            "volume": 8,
            "high": 0,
            "width": 0,
            "length": 0
        }
    ]
}
curl --location --request POST 'https://cloudservice.vsms.co.id/tms_public_api/master/product' \
--header 'Authorization: Bearer <YOUR API TOKEN>' \
--header 'Content-Type: application/json' \
--data-raw '{
    "product": [
        {
            "name": "Lays Tunaa",
            "description": "Lays barbeque isi 12pcs",
            "price": 10,
            "weight": 10,
            "volume": 8,
            "high": 0,
            "width": 0,
            "length": 0
        }
    ]
}'
var myHeaders = new Headers();
myHeaders.append("Authorization", "Bearer <YOUR API TOKEN>");
myHeaders.append("Content-Type", "application/json");

var raw = JSON.stringify({
  "product": [
    {
      "name": "Lay Tunaa",
      "description": "Lays barbeque isi 12pcs",
      "price": 10,
      "weight": 10,
      "volume": 8,
      "high": 0,
      "width": 0,
      "length": 0
    }
  ]
});

var requestOptions = {
  method: 'POST',
  headers: myHeaders,
  body: raw,
  redirect: 'follow'
};

fetch("https://cloudservice.vsms.co.id/tms_public_api/master/product", requestOptions)
  .then(response => response.text())
  .then(result => console.log(result))
  .catch(error => console.log('error', error));

Success Response

Field         Data Type                                   Description
message       string                                       Keterangan response
created []ResponseCreateProduct Data Produk yang berhasil terbuat
failed [] Deprecated
message       string                                       Keterangan response

Success Response Example

{
    "created": [
        {
            "id_product": 71,
            "product_name": "Lays Tunaa"
        }
    ],
    "failed": [],
    "message": "success"
}

Invalid Response

Field         Data Type                                               Description
errors         Error                                       Object dari Error
message       string                                                   Keterangan response

List Product

Menampilkan produk-produk yang telah terdaftar dalam sistem

HTTP Request

GET https://cloudservice.vsms.co.id/tms_public_api/master/product

Request Example

curl --location --request GET 'https://cloudservice.vsms.co.id/tms_public_api/master/product' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer <YOUR API TOKEN>'
var myHeaders = new Headers();
myHeaders.append("Content-Type", "application/json");
myHeaders.append("Authorization", "Bearer <YOUR API TOKEN>");

var raw = "";

var requestOptions = {
  method: 'GET',
  headers: myHeaders,
  body: raw,
  redirect: 'follow'
};

fetch("https://cloudservice.vsms.co.id/tms_public_api/master/product", requestOptions)
  .then(response => response.text())
  .then(result => console.log(result))
  .catch(error => console.log('error', error));

Success Response

Field         Data Type                                   Description
-       []ResponseProductList           Data-data produk

Success Response Example

[
    {
        "id": 5,
        "name": "Es Tube",
        "description": "Benda Cair",
        "price": 10000000.0,
        "weight": 1000.0,
        "volume": 1000.0,
        "high": 10.0,
        "width": 10.0,
        "length": 10.0
    }
]

Invalid Response

Field         Data Type                                               Description
errors         Error                                       Object dari Error
message       string                                                   Keterangan response

Update Product

Mengubah data produk sesuai yang dibutuhkan

HTTP Request

PATCH https://cloudservice.vsms.co.id/tms_public_api/master/product/<PRODUCT_NAME>

Request Key

Field Data Type Required Description Example
<PRODUCT_NAME> RequestProduct.name true Nama Product Lays Tunaa

Request Example

{
    "product": [
        {
            "name": "Lays Tunaa",
            "description": "Lays barbeque isi 12pcs",
            "price": 10000,
            "weight": 100,
            "volume": 1000,
            "high": 10,
            "width": 10,
            "length": 10
        }
    ]
curl --location --request PATCH 'https://cloudservice.vsms.co.id/tms_public_api/master/product/Lays%20Tunaa' \
--header 'Authorization: Bearer <YOUR API TOKEN>' \
--header 'Content-Type: application/json' \
--data-raw '{
    "product": [
        {
            "name": "Lays Tunaa",
            "description": "Lays barbeque isi 12pcs",
            "price": 10000,
            "weight": 100,
            "volume": 1000,
            "high": 10,
            "width": 10,
            "length": 10
        }
    ]
}'
var myHeaders = new Headers();
myHeaders.append("Authorization", "Bearer <YOUR API TOKEN>");
myHeaders.append("Content-Type", "application/json");

var raw = JSON.stringify({
  "product": [
    {
      "name": "Lays Tunaa",
      "description": "Lays barbeque isi 12pcs",
      "price": 10000,
      "weight": 100,
      "volume": 1000,
      "high": 10,
      "width": 10,
      "length": 10
    }
  ]
});

var requestOptions = {
  method: 'PATCH',
  headers: myHeaders,
  body: raw,
  redirect: 'follow'
};

fetch("https://cloudservice.vsms.co.id/tms_public_api/master/product/Lays%20Tunaa", requestOptions)
  .then(response => response.text())
  .then(result => console.log(result))
  .catch(error => console.log('error', error));

Success Response

Field         Data Type                                   Description
message       string                                       Keterangan response

Success Response Example

{
    "message": "success"
}

Invalid Response

Field         Data Type                                               Description
errors         Error                                       Object dari Error
message       string                                                   Keterangan response

Object

Origin

Field Data Type Required Description Example
name string true Alamat Asal Pengiriman SBY WH
{
    "name": "SBY WH"
}

Destination

Field Data Type Required Description Example
name string true Alamat Tujuan Pengiriman SBY Warehouse 02
{
    "name": "Gubeng"
}

Item

Field Data Type Required Description Example
name string true Nama Barang Barang 1
qty integer true Jumlah Barang 1
volume float true Volume Barang 2
Weight float true Berat Barang 3    
{
    "name": "Barang 1",
    "qty": "1",
    "volume": "2",
    "weight": "3"
}

RequestAddress

Field Data Type Required Description Example
customer_name string true Nama Pelanggan PT Otto Menara Globalindo
location_name string true Nama lokasi PT Coba Perikanan Sejahtera
sector string false Sektor pelanggan dalam alamat Perikanan
address string true alamat lengkap Kutisari - Surabaya
province string true provinsi Jawa TImur
city string true kota / kabupaten Surabaya
postal_code string true kode pos 54366
category string false kategori alamat Vendor
contact_person string false narahubung Budi
phone_number string false nomor telpon narahubung 0824242342
type_poi string true tipe / bentuk titik Circle, Poligon
radius float false jari-jari dari titik (m) 100
latitude float true longitude -7.96907150
longitude float true latitude 112.66126220
start_window_time time (HH:mm) false jam kerja buka 08:00
end_window_time time (HH:mm) false jam kerja tutup 17:00
service_time integer false lama waktu bongkar buat (menit) 60
{
    "customer_name": "Coffe District Malang",
    "location_name": "Coffe Logic8 Malang",
    "sector": "Sector 3",
    "address": "CoffeeLogic, Jalan Sudimoro, Tunjungsekar, Malang City, East Java, Indonesia",
    "province": "Jawa Timur",
    "city": "Surabaya",
    "postal_code": "65142",
    "category": "pool",
    "contact_person": "Soleha",
    "phone_number": "0583174685",
    "type_poi": "Polygon",
    "radius": null,
    "latitude": "-7.93394569,-7.93355252,-7.93239198,-7.93289407,-7.93282234",
    "longitude": "112.62931852,112.62854160,112.62935163,112.62955233,112.63010709",
    "start_window_time": null,
    "end_window_time": null,
    "service_time": null
}

RequestProduct

Field Data Type Required Description Example
name string true Nama Produk Lays Tunaa
description string false Deskripsi produk Lays barbeque isi 12pcs
price float false Harga 10000
weight float false Berat (g) 100
volume float false Volume 1000
high float false Tinggi 10
width float false Lebar 10
length float false Panjang 10
{
    "name": "Lays Tunaa",
    "description": "Lays barbeque isi 12pcs",
    "price": 10,
    "weight": 10,
    "volume": 8,
    "high": 0,
    "width": 0,
    "length": 0
}

RequestAddressUpdate

Field Data Type Required Description Example
customer_name string true Nama Pelanggan PT Otto Menara Globalindo
location_name string true Nama lokasi PT Coba Perikanan Sejahtera
sector string false Sektor pelanggan dalam alamat Perikanan
address string true alamat lengkap Kutisari - Surabaya
province string true provinsi Jawa TImur
city string true kota / kabupaten Surabaya
postal_code string true kode pos 54366
category string false kategori alamat Vendor
contact_person string false narahubung Budi
phone_number string false nomor telpon narahubung 0824242342
type_poi string true tipe / bentuk titik Circle, Poligon
radius float true jari-jari dari titik (m) 100
latitude float true longitude -7.96907150
longitude float true latitude 112.66126220
start_window_time time (HH:mm) true jam kerja buka 08:00
end_window_time time (HH:mm) true jam kerja tutup 17:00
service_time integer true lama waktu bongkar buat (menit) 60
{
    "customer_name": "Cust_Test 002",
    "location_name": "Coffe Logic8 Malang",
    "sector": "",
    "address": "CoffeeLogic, Jalan Sudimoro, Tunjungsekar, Malang City, East Java, Indonesia",
    "province": "Jawa Timur",
    "city": "Surabaya",
    "postal_code": "65142",
    "category": "pool",
    "contact_person": "Soleha",
    "phone_number": "0583174685",
    "type_poi": "Polygon",
    "radius": 10,
    "latitude": "-7.93394569,-7.93355252,-7.93239198,-7.93289407,-7.93282234",
    "longitude": "112.62931852,112.62854160,112.62935163,112.62955233,112.63010709",
    "start_window_time": "08:00",
    "end_window_time": "17:00",
    "service_time": 10
}

RequestFleet

Field Data Type Required Description Example
plate_number string true Nomor polisi L 1111 YY
fleet_brand string false Merk Kendaraan Daihatsu
chassis_number string false Nomor rangka XXXX324e
engine_number string false Nomor mesin XXX34236
fleet_category string true Categori Kendaraan L300
fleet_type string true Tipe Kendaraan L300
box_type string false Tipe Box Wet
thermo_type string false Tipe sensor suhu Bosch
pool string false Tempat singgah Sidoarjo
unit_year integer false Tahun pembuatan 2020
fleet_age_years integer false Umur kendaraan 2
last_odometer integer true Odometer 10000
karoseri string false Pembuatan Karoseri Madiun
volume_cbm integer true Volume angkutan 1000
start_time time (HH:mm:ss) false Waktu operasi mulai 05:00:00
end_time time (HH:mm:ss) false Waktu operasi selesai 17:00:00
driver_1st string false Pengemudi utama Anton
driver_2nd string false Pengemudi cadangan Budi
gps_vendor string false Vendor GPS McEasy
gps_tracker string false IMEI GPS 11111111111111111
temperature_min float false Suhu minimal (C) -10
temperature_max float false Suhu maksimal (C) 3
{
    "plate_number": "L 1111 YY",
    "fleet_brand": "Daihatsu",
    "chassis_number": "XXXX324e",
    "engine_number": "XXX34236",
    "fleet_category": "L300",
    "fleet_type": "L300",
    "box_type": "",
    "thermo_type": "",
    "pool": "",
    "unit_year": "2016",
    "fleet_age_years": "7",
    "last_odometer": "15000",
    "karoseri": "",
    "volume_cbm": "1000",
    "start_time": "",
    "end_time": "",
    "driver_1st": "",
    "driver_2nd": "",
    "gps_vendor": "",
    "gps_tracker": "",
    "temperature_min": -10,
    "temperature_max": 3
}

FleetList

Field         Data Type Description
fleet_active boolean Aktif tidaknya armada (bisa bernilai null)
fleet_category string Ketegori armada
fleet_id integer ID Armada
fleet_name string Nama Armada (Biasanya berisi nomor polisi)
{
    "fleet_active": null,
    "fleet_category": "CDD Bak Terbuka",
    "fleet_id": 1,
    "fleet_name": "L 1345 BV"
}

RequestDriver

Field Data Type Required Description Example
name string true Nama Pengemudi Anton
address string false Alamat Pengemudi Kutisari - Surabaya
place_of_birth string true Tempat Lahir Malang
date_of_birth date (YYYY-MM-DD) true Tanggal Lahir 1967-02-02
phone_number string false Nomor telepon yang bisa dihubungi 082131231321
joined_date date (YYYY-MM-DD) true Tanggal bergabung 2020-01-01
place_of_recruitment string true Tempat perekrutan Surabaya
ktp_number string true Nomor E-KTP 34325235325255235
marital_status string false Status Perkawinan Kawin
bank_acc_number string false Nomor Rekening 32432555
bpjs_kes_number string false Nomor BPJS Kesehatan 328429387
bpjs_jht_number string false Nomor BPJS Jaminan Hari Tua 24234234234
jaminan string false Jaminan yang ditahankan Deposit
family_phone_1 string false Nomor telepon keluarga terdekat 081333333
family_phone_2 string false Nomor telepon keluarga cadangan 081111111
reference string false Direkomendasikan oleh William
driver_status []DriverStatus true Status Driver DriverStatus
license_type []LicenseType false SIM yang dimiliki LicenseType
job_experience []JobExperience false Pengalaman Kerja JobExperience
{
    "name": "Driver Test 4",
    "address": "Jl. Sawojajar II",
    "place_of_birth": "Malang",
    "date_of_birth": "1997-02-02",
    "phone_number": "0853813513",
    "joined_date": "2022-08-31",
    "place_of_recruitment": "Surabaya",
    "ktp_number": "61341351313",
    "marital_status": "Lajang",
    "bank_acc_number": "15378513",
    "bpjs_kes_number": "917359816395",
    "bpjs_jht_number": "35196871513",
    "jaminan": "Harta",
    "family_phone_1": "",
    "family_phone_2": null,
    "reference": null,
    "driver_status": [
        {
            "fleet_category": "Truck",
            "status": "Active"
        }
    ],
    "license_type": [
        {
            "license_type": "sim c",
            "license_number": "",
            "expired": null
        }
    ],
    "job_experience": [
        {
            "experience": "Driver Patas"
        }
    ]
}

RequestCustomer

Field Data Type Required Description Example
name string true Nama pelanggan PT Coba Perikanan Sejahtera
alias string false Nama lain pelanggan CPS
tax_number string false Nomor pajak pelanggan (NPWP) 32423423424
industry_category string false Kategori industri pelanggan Perikanan
marketing_name string false Pembuat / Sales Anton
contact_person []ContactPerson false Narahubung ContactPerson
special_note []SpecialNote false Catatan khusus SpecialNote
address []CustomerAddress true Alamat-alamat pelanggan CustomerAddress
{
    "name": "Cust_Test 001",
    "alias": "CP1",
    "tax_number": "513831",
    "industry_category": "",
    "marketing_name": "",
    "contact_person": [
        {
            "contact_name": "public",
            "phone_number": "08368154613",
            "position": "Admin",
            "email": ""
        }
    ],
    "special_note": [
        {
            "note": "Pahit"
        },
        {
            "note": "Manis"
        }
    ],
    "address": [
        {
            "location_name": "Brew.la",
            "sector": null,
            "address": "BREW.LA, Sawojajar, Malang City, East Java, Indonesia",
            "province": "Jawa Timur",
            "city": "Surabaya",
            "postal_code": "65139",
            "category": "",
            "contact_person": "",
            "phone_number": "",
            "type_poi": "Circle",
            "radius": 100.0,
            "latitude": "-7.96907150",
            "longitude": "112.66126220",
            "start_window_time": "08:00",
            "end_window_time": "12:00",
            "service_time": 60
        }
    ]
}

RequestCustomerUpdate

Field Data Type Required Description Example
name string true Nama pelanggan PT Coba Perikanan Sejahtera
alias string false Nama lain pelanggan CPS
tax_number string false Nomor pajak pelanggan (NPWP) 32423423424
industry_category string false Kategori industri pelanggan Perikanan
marketing_name string false Pembuat / Sales Anton
contact_person []ContactPersonUpdate / []ContactPersonDelete false Narahubung ContactPersonUpdate / ContactPersonDelete
special_note []SpecialNoteUpdate / []SpecialNoteDelete false Catatan khusus SpecialNoteUpdate / SpecialNoteDelete
address []CustomerAddressUpdate / []CustomerAddressDelete true Alamat-alamat pelanggan CustomerAddressUpdate / CustomerAddressDelete

CustomerAddress

Field Data Type Required Description Example
location_name string true Nama lokasi PT Coba Perikanan Sejahtera
sector string false Sektor pelanggan dalam alamat Perikanan
address string true alamat lengkap Kutisari - Surabaya
province string true provinsi Jawa TImur
city string true kota / kabupaten Surabaya
postal_code string true kode pos 54366
category string false kategori alamat Vendor
contact_person string false narahubung Budi
phone_number string false nomor telpon narahubung 0824242342
type_poi string true tipe / bentuk titik Circle, Poligon
radius float false jari-jari dari titik (m) 100
latitude float true longitude -7.96907150
longitude float true latitude 112.66126220
start_window_time time (HH:mm) false jam kerja buka 08:00
end_window_time time (HH:mm) false jam kerja tutup 17:00
service_time integer false lama waktu bongkar buat (menit) 60
{
    "location_name": "Brew.la",
    "sector": null,
    "address": "BREW.LA, Sawojajar, Malang City, East Java, Indonesia",
    "province": "Jawa Timur",
    "city": "Surabaya",
    "postal_code": "65139",
    "category": "",
    "contact_person": "",
    "phone_number": "",
    "type_poi": "Circle",
    "radius": 100.0,
    "latitude": "-7.96907150",
    "longitude": "112.66126220",
    "start_window_time": "08:00",
    "end_window_time": "12:00",
    "service_time": 60
}

CustomerAddressUpdate

Field Data Type Required Description Example
old_location_name string true Nama lokasi lama PT Coba Perikanan Sejahtera
new_location_name string true Nama lokasi baru PT Coba Perikanan Sukses
sector string false Sektor pelanggan dalam alamat Perikanan
address string true alamat lengkap Kutisari - Surabaya
province string true provinsi Jawa TImur
city string true kota / kabupaten Surabaya
postal_code string true kode pos 54366
category string false kategori alamat Vendor
contact_person string false narahubung Budi
phone_number string false nomor telpon narahubung 0824242342
type_poi string true tipe / bentuk titik Circle, Poligon
radius float false jari-jari dari titik (m) 100
latitude float true longitude -7.96907150
longitude float true latitude 112.66126220
start_window_time time (HH:mm) false jam kerja buka 08:00
end_window_time time (HH:mm) false jam kerja tutup 17:00
service_time integer false lama waktu bongkar buat (menit) 60
delete_location_name boolean true flag penghapusan false

CustomerAddressDelete

Field Data Type Required Description Example
old_location_name string true Nama lokasi yang akan dihapus PT Coba Perikanan Sejahtera
delete_location_name boolean true flag penghapusan true

SpecialNote

Field Data Type Required Description Example
note string true Catatan khusus Tidak boleh terlambat lebih dari 15 menit
{
    "note": "Pahit"
}

SpecialNoteUpdate

Field Data Type Required Description Example
old_note string true Catatan khusus lama Tidak boleh terlambat lebih dari 15 menit
new_note string true Catatan khusus baru Tidak boleh terlambat lebih dari 20 menit
delete_note boolean true flag penghapusan false

SpecialNoteDelete

Field Data Type Required Description Example
old_note string true Catatan khusus yang akan dihapus Tidak boleh terlambat lebih dari 15 menit
delete_note boolean true flag penghapusan true

ContactPerson

Field Data Type Required Description Example
contact_name string true Nama narahubung Budi
phone_number string true nomor telepon narahubung 08324324234
position string false Jabatan Satpam
email string false email narahubung satpam@cobaperikanan.com
{
    "contact_name": "public",
    "phone_number": "08368154613",
    "position": "Admin",
    "email": ""
}

ContactPersonUpdate

Field Data Type Required Description Example
old_contact_name string true Nama narahubung lama Budi
new_contact_name string true Nama narahubung baru Intan
phone_number string true nomor telepon narahubung 08324324234
position string false Jabatan Satpam
email string false email narahubung satpam@cobaperikanan.com
delete_contact boolean true flag penghapusan false

ContactPersonDelete

Field Data Type Required Description Example
old_contact_name string true Nama narahubung yang akan dihapus Budi
delete_contact boolean true flag penghapusan true

DriverStatus

Field Data Type Required Description Example
fleet_category string true Kategori armada yang bisa dioperasikan Truck / CDD
status enum true status pengoperasian armada Active
{
    "fleet_category": "Truck",
    "status": "Active"
}

LicenseType

Field Data Type Required Description Example
license_type string true tipe sim yang sesuai peraturan perundang-undangan SIM A, SIM C
license_number string true nomor seri sim 1231241444
expired date (YYYY-MM-DD) false masa berlaku sim 2024-01-01
{
    "license_type": "sim c",
    "license_number": "",
    "expired": null
}

JobExperience

Field Data Type Required Description Example
experience string true Pengalaman sebelumnya apabila ada Sopir Patas
{
    "experience": "Driver Patas"
}

OrderFreight

Field Data Type Required Description Example
start_order date(YYYY-MM-DDTHH-mm-ss) true Tanggal pesanan diproses 2022-12-12 15:30:00
fleet string true Nama Kendaraan B 0000 LL
driver string true Pengemudi Kendaraaan Andi
ship_from string true Asal keberangkatan Jakarta
round_trip boolean false Kembali atau tidak ke tempat keberangkatan ketika selesai true
fleet_reference string false Referensi Fleet Order API
weight integer true Berat (kg) 100
total_distance float true Total Jarak 18.54
eta date(YYYY-MM-DDTHH-mm-ss) true Perkiraan Tiba 2022-12-20 17:00:00
destination_units []DestinationUnit true Titik Drop atau Pickup DestinationUnit
{
    "start_order": "2022-08-12 15:30:00",
    "fleet": "L 7060 KKV",
    "driver": "Didi",
    "ship_from": "Lacuna Cafe",
    "round_trip": true,
    "fleet_reference": "Public API",
    "weight": 100,
    "total_distance": 18.54,
    "eta": "2022-09-08 17:00:00",
    "destination_units": [
        {
            "order_delivery": "DO-02404",
            "unit_type": "Pickup",
            "address": "Exit Sinarmas",
            "distance": 6.49,
            "eta": "2022-09-08 16:09:00"
        },
        {
            "order_delivery": "DO-02404",
            "unit_type": "Destination",
            "address": "D Karang Pilang",
            "distance": 12.15,
            "eta": "2022-09-08 16:57:00"
        }
    ]
}

DestinationUnit

Field Data Type Required Description Example
order_delivery string true ResponseDetailOrder order_number DO-00001
unit_type enum true Pickup, Destination Pickup
address string true Alamat Surabaya
distance float true Jarak 18.54
eta date(YYYY-MM-DDTHH-mm-ss) true Perkiraan Tiba 2022-12-20 17:00:00
{
    "order_delivery": "DO-02404",
    "unit_type": "Pickup",
    "address": "Exit Sinarmas",
    "distance": 6.49,
    "eta": "2022-09-08 16:09:00"
}

StatusOrder

Field         Data Type Description
Draft          string Order berhasil disimpan dengan status Draft
Confirmed     string Order berhasil disimpan dan dikonfirmasi, status Order Confirmed
Scheduled string Order telah dijadwalkan untuk dilakukan pengiriman
Started string Order sedang dalam pengiriman
Delivered string Order telah dikirimkan ke alamat tujuan
Cancelled string Order dibatalkan

StatusHistory

Field         Data Type Description
datetime       datetime(YYYY-MM-DD HH:mm:ss) Tanggal history
status     StatusOrder Status
{
    "datetime": "2022-01-03 10:43:05",
    "status": "Scheduled"
}

ResponseProductList

Field         Data Type Description
id          integer Keterangan response update fleet
name          string Keterangan response update fleet
description   string Keterangan response update fleet
price          float Keterangan response update fleet
weight         float Keterangan response update fleet
volume         float Keterangan response update fleet
high          float Keterangan response update fleet
width          float Keterangan response update fleet
length         float Keterangan response update fleet
{
    "id": 5,
    "name": "Es Tube",
    "description": "Benda Cair",
    "price": 10000000.0,
    "weight": 1000.0,
    "volume": 1000.0,
    "high": 10.0,
    "width": 10.0,
    "length": 10.0
}

ResponseUpdateFleet

Field         Data Type Description
fleet          string Keterangan response update fleet
{
    "fleet": "L 1113 YY updated successfully"
}

ResponseCreateOrder

Field         Data Type Description
order_delivery_number          string Delivery Order Number
status     StatusOrder Status Delivery Order
{
    "order_delivery_number": "DO_Number",
    "status": "Draft"
}

ResponseCreateFleetOrder

Field         Data Type Description
fo_number      string Generated Fleet Order Number
id_fo     integer Referensi id
{
    "fo_number": "FO-00000",
    "id_fo": 1
}

ResponseListOrder

Field         Data Type Description
order_number   string Nomor Delivery Order (DO) yang terbentuk saat Create Order
customer_name string Nama Pelanggan
depature_date   date(YYYY-MM-DDTHH-mm-ss) Tanggal Keberangkatan Pengiriman
fleet_category string Kategori Kendaraan
fleet_type     string Tipe Kendaraan
license_plate string Plat Nomor Kendaraan
driver_name     string Nama Pengemudi
origins     []Origin Alamat Asal Pengiriman
destinations   []Destination Alamat Tujuan Pengiriman
note     string Catatan Pengiriman Barang
shipment_number string Nomor pengiriman
marketing_name string Nama Marketing
status StatusOrder Status Order
{
    "order_number": "DO-00071",
    "customer_name": "PT Nescoffee",
    "departure_date": "2022-01-03",
    "fleet_category": "Super WIng",
    "fleet_type": "Hino Wing Box Lohan FL235JW",
    "license_plate": "L 7777 AD",
    "driver_name": "mcdriver",
    "origins": [
        "Sby Kodam 5"
    ],
    "destinations": [
        "sby pagesangan"
    ],
    "note": "",
    "shipment_number": "",
    "marketing_name": "Administrator",
    "status": "Started"
}

ResponseCreateCustomer

Field         Data Type Description
id   integer ID unik pelanggan
name string Nama Pelanggan
{
    "id": 848,
    "name": "Cust_Test 001"
}

ResponseCreateDriver

Field         Data Type Description
id   integer ID unik pengemudi
name string Nama Pengemudi
{
    "id": 1279,
    "name": "Driver Test 5"
}

ResponseCreateAddress

Field         Data Type Description
id   integer ID unik alamat
name string Nama Alamat yang berhasil dibuat
{
    "id": 3030,
    "name": "Coffe Logic8 Malang"
}

ResponseCreateProduct

Field         Data Type Description
id_product integer ID unik produk
product_name string Nama Produk yang berhasil dibuat
{
    "id_product": 71,
    "product_name": "Lays Tunaa"
}

ResponseDetailOrder

Field         Data Type Description
customer_name string Nama Pelanggan
depature_date   date(YYYY-MM-DDTHH-mm-ss) Tanggal Keberangkatan Pengiriman
destinations   []Destination Alamat Tujuan Pengiriman
driver_name     string Nama Pengemudi
fleet_category string Kategori Kendaraan
fleet_type     string Tipe Kendaraan
goods_type string Tipe Barang
items []Item Nama Barang
license_plate string Plat Nomor Kendaraan
marketing_name string Nama Marketing
note     string Catatan Pengiriman Barang
order_number   string Nomor Delivery Order (DO) yang terbentuk saat Create Order
origins     []Origin Alamat Asal Pengiriman
service_time integer Waktu yang Diperlukan untuk Bongkar Muat Barang
shipment_number string Nomor Pengiriman
status StatusOrder Status Order
status_history []StatusHistory Riwayat Perubahan Status
temperature_min integer Batas Suhu Minimum pada Box
temperature_max integer Batas Suhu Maksimum pada Box
window_start_time time(HH-mm) Waktu Mulai Operasional
window_end_time time(HH-mm) Waktu Selesai Operasional
{
    "customer_name": "PT Nescoffee",
    "departure_date": "2022-01-03",
    "destinations": [
        "sby pagesangan"
    ],
    "driver_name": "mcdriver",
    "fleet_category": "Super WIng",
    "fleet_type": "Hino Wing Box Lohan FL235JW",
    "goods_type": "",
    "items": [],
    "license_plate": "L 7777 AD",
    "marketing_name": "Administrator",
    "note": "",
    "order_number": "DO-00071",
    "origins": [
        "Sby Kodam 5"
    ],
    "service_time": "",
    "shipment_number": "",
    "status": "Started",
    "status_history": [
        {
            "datetime": "2022-01-03 10:43:05",
            "status": "Scheduled"
        },
        {
            "datetime": "2022-01-03 10:43:24",
            "status": "Started"
        }
    ],
    "temperature_max": "",
    "temperature_min": "",
    "window_end_time": "",
    "window_start_time": ""
}

ResponseDetailFleetOrder

Field         Data Type Description
driver_name string Driver yang berangkat
end_time datetime (YYYY-MM-DD HH:mm:ss) Tanggal dan waktu selesai pengiriman
fleet_category string Kategori armada
fleet_order_number string FO ID / ID Pengiriman
fleet_type string Tipe armada
license_plate string Nomor Polisi kendaraan
order_deliveries []OrderDelivery Pesanan yang dibawa dalam pengiriman
seq_order_list []SequenceOrder Urutan rute yang dilewati
ship_from string Titik awal keberangkatan
start_time datetime (YYYY-MM-DD HH:mm:ss) Tanggal dan waktu pengiriman dimulai
status string Status Pengiriman: Delivered, Started, Cancelled
total_volume float Total volume pengiriman
total_weight float Total berat pengiriman
{
    "driver_name": "Driver 001",
    "end_time": "2022-02-03 17:17:02",
    "fleet_category": "TRUK",
    "fleet_order_number": "FO-00053",
    "fleet_type": "CDD - 4000",
    "license_plate": "L 9956 DF",
    "order_deliveries": [
        {
            "customer": "PT. ABC",
            "items": [
                {
                    "item_name": "beras",
                    "quantity": 1.0,
                    "volume": 2.0,
                    "weight": 1000.0
                },
                {
                    "item_name": "beras",
                    "quantity": 1.0,
                    "volume": 2.0,
                    "weight": 1000.0
                },
                {
                    "item_name": "beras",
                    "quantity": 1.0,
                    "volume": 2.0,
                    "weight": 1000.0
                }
            ],
            "order_number": "DO-00117"
        }
    ],
    "seq_order_list": [
        {
            "address": "Location One",
            "app_status": "Ended",
            "arrived_time": "",
            "departed_time": "",
            "eta": "2022-02-02 13:34:00",
            "mileage": 78.17,
            "order_number": "DO-00117",
            "receiver_name": "oke",
            "rejection_reason": "",
            "seq": 1,
            "status": "Picked",
            "time_app_update": "2022-02-03 17:14:50",
            "type": "P"
        },
        {
            "address": "Location Two",
            "app_status": "Ended",
            "arrived_time": "",
            "departed_time": "",
            "eta": "2022-02-02 14:35:00",
            "mileage": 0.85,
            "order_number": "DO-00117",
            "receiver_name": "oke2",
            "rejection_reason": "",
            "seq": 2,
            "status": "Delivered",
            "time_app_update": "2022-02-03 17:15:55",
            "type": "D"
        }
    ],
    "ship_from": "Matos",
    "start_time": "2022-02-03 17:08:41",
    "status": "Ended",
    "total_volume": 6.0,
    "total_weight": 3000.0
}

OrderDelivery

Field         Data Type Description
customer string nama pelanggan
items []OrderDeliveryItem produk yang dipesan
order_number string Order Number
{
    "customer": "PT. ABC",
    "items": [
        {
            "item_name": "beras",
            "quantity": 1.0,
            "volume": 2.0,
            "weight": 1000.0
        },
        {
            "item_name": "beras",
            "quantity": 1.0,
            "volume": 2.0,
            "weight": 1000.0
        },
        {
            "item_name": "beras",
            "quantity": 1.0,
            "volume": 2.0,
            "weight": 1000.0
        }
    ],
    "order_number": "DO-00117"
}

OrderDeliveryItem

Field         Data Type Description
item_name string Nama produk
quantity float jumlah pesanan
volume float volume
weight float berat
{
    "item_name": "beras",
    "quantity": 1.0,
    "volume": 2.0,
    "weight": 1000.0
}

SequenceOrder

Field         Data Type Description
address         string         Alamat titik yang menjadi tujuan
app_status         string         Status dari driver app
arrived_time         datetime (YYYY-MM-DD HH:mm:ss)     Tanggal dan waktu tiba
departed_time         datetime (YYYY-MM-DD HH:mm:ss)     Tanggal dan waktu berangkat
eta         datetime (YYYY-MM-DD HH:mm:ss)     Estimasi waktu tiba
mileage         float         jarak
order_number         string         Order Number
receiver_name         string         Penerima
rejection_reason       string         Alasan ditolak ketika pesanan ditolak
seq         integer         Urutan rute
status         string         Status proses pengiriman
time_app_update       datetime (YYYY-MM-DD HH:mm:ss)     Update terakhir dari driver app
type         string         P: Pickup / Muat, D: Drop / Bongkar
{
    "address": "Location One",
    "app_status": "Ended",
    "arrived_time": "",
    "departed_time": "",
    "eta": "2022-02-02 13:34:00",
    "mileage": 78.17,
    "order_number": "DO-00117",
    "receiver_name": "oke",
    "rejection_reason": "",
    "seq": 1,
    "status": "Picked",
    "time_app_update": "2022-02-03 17:14:50",
    "type": "P"
}

ResponseListFleetOrder

Field         Data Type Description
driver_name string Driver yang berangkat
end_time datetime (YYYY-MM-DD HH:mm:ss) Tanggal dan waktu selesai pengiriman
fleet_order_number string FO ID / ID Pengiriman
license_plate string Nomor Polisi kendaraan
start_time datetime (YYYY-MM-DD HH:mm:ss) Tanggal dan waktu pengiriman dimulai
status string Status Pengiriman: Delivered, Started, Cancelled
{
    "driver_name": "Budi",
    "end_time": "",
    "fleet_order_number": "FO-00001",
    "license_plate": "L 1234 LL",
    "start_time": "2022-02-03 13:13:00",
    "status": "Canceled"
}

ResponseCreateToken

Field         Data Type Description
token   string Token yang dapat Anda gunakan untuk setiap request ke TMS API maupun VSMS API
{
  "token": "<YOUR TOKEN HERE>"
}

Error

Field Data Type Description
<DYNAMIC FIELD> []String Spesifik sesuai field yang perlu diperbaiki