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": [
        {
            "product": "abc",
            "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": [
        {
            "product": "abc",
            "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": [
    {
      "product": "abc",
      "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": [
            {
                "name": "Barang 1",
                "qty": 1.0,
                "volume": 2.0,
                "weight": 3.0,
                "orders_item_id": 12233,
                "product_name": "Air Mineral 4L",
                "product_id": 80
            },
        ],
        "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": "",
        "tracking_url": "https://release.vsms.co.id/live_track/VTJGc2RHVmtYMS9GbW1ucHRxL2pkTHY0amJPazgyN2g2T3ZNRGV6QCZJZz0="
    },
    "message": "Success"
}

Invalid Response

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

Delivery Unit

Delivery Unit merupakan detail pickup dan delivery dari order.

List Delivery Unit

Melihat data-data Delivery Unit dengan filter tanggal dan beberapa filter lain.

HTTP Request

GET https://cloudservice.vsms.co.id/tms_public_api/order-units-list?start_date=2020-02-02&end_date=2022-03-03&driver_id=495&status=started

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
driver_id integer false Filter Driver ID 2436
status string false 'started' / 'scheduled' / 'ended' / 'delivered' / 'canceled' / 'rescheduled' / 'pending' started

Request Example

curl --location --request GET 'https://cloudservice.vsms.co.id/tms_public_api/order-units-list?start_date=2020-02-02&end_date=2022-03-03&driver_id=495&status=started' \
--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-units-list?start_date=2020-02-02&end_date=2022-03-03&driver_id=495&status=started", requestOptions)
  .then(response => response.text())
  .then(result => console.log(result))
  .catch(error => console.log('error', error));

Success Response

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

Success Response Example

{
    "data": [
        {
            "address": "Ruko Sumatera",
            "address_detail": "Maobun Authentic Hongkong Bun, Jalan Sumatera, Gubeng, Surabaya City, East Java, Indonesia",
            "address_id": 6371,
            "app_status": "Started",
            "arrived_time": "",
            "comment": null,
            "customer_id": 264,
            "customer_name": "jekiniih",
            "departed_time": "",
            "do_departure": "2023-08-02 14:42:00",
            "du_id": 72665,
            "eta": "2023-08-04 03:54:00",
            "mileage": 1484.76,
            "order_number": "DO-28130",
            "photos": ["https://release.vsms.co.id/upload/fo/2023-08-01 15:40:57_71238_release_tms_item_0.jpg"],
            "receiver_name": null,
            "reject_category": "cancel",
            "rejection_reason": "Cancelled-Harga Tidak Sesuai",
            "seq": 1,
            "signature": "https://release.vsms.co.id/upload/fo/2023-08-01 15:40:57_71238_release_tms_item_0.jpg",
            "status": "Canceled",
            "time_app_update": "",
            "type": "P"
        }
    ],
    "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",
        "fo_id": 53,
        "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",
                "tracking_url": "https://release.vsms.co.id/live_track/VTJGc2RHVmtYMS9GbW1ucHRxL2pkTHY0amJPazgyN2g2T3ZNRGV6QXZJZz0="
            }
        ],
        "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",
                "du_id": 12,
                "address_id": 632,
                "address_detail": "Location One, Jalan Sumatera, Gubeng, Surabaya",
                "customer_id": 12,
                "customer_name": "Jack Ma",
                "photos": ["https://release.vsms.co.id/upload/fo/2023-08-01 15:40:57_71238_release_tms_item_0.jpg"],
                "signature": "https://release.vsms.co.id/upload/fo/2023-08-01 15:40:57_71238_release_tms_sign.jpg",
                "reject_category": "pending",
                "comment": "Retention-Gagal Kirim Bencana Alam"
            },
            {
                "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",
                "du_id": 12,
                "address_id": 632,
                "address_detail": "Location One, Jalan Sumatera, Gubeng, Surabaya",
                "customer_id": 12,
                "customer_name": "Jack Ma",
                "photos": ["https://release.vsms.co.id/upload/fo/2023-08-01 15:40:57_71238_release_tms_item_0.jpg"],
                "signature": "https://release.vsms.co.id/upload/fo/2023-08-01 15:40:57_71238_release_tms_sign.jpg",
                "reject_category": "pending",
                "comment": "Retention-Gagal Kirim Bencana Alam"
            }
        ],
        "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
driver_id integer false Filter Driver ID 2436

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&driver_id=2436' \
--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&driver_id=2436", 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",
            "fo_id": 1,
            "license_plate": "L 1234 LL",
            "start_time": "2022-02-03 13:13:00",
            "status": "Canceled",
            "tracking_url": "https://release.vsms.co.id/live_track/VTJGc2RHVmtYMTlnM05ZM2JQbWF3VDMyaVFNS0d2QTJQY0I4STJSb3AwFG0="
        },
    ],
    "message": "success"
}

Invalid Response

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

Start Fleet Order

Memulai Fleet Order

HTTP Request

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

Request Body

Field Data Type Required Description Example
fo_number string true Nomor FO yang ingin di-start FO-03392
odometer integer false Update odometer. Required apabila setting odometer On. 12300

Request Example

{
    "fo_number": "FO-03392",
    "odometer": 12300
}
curl --location --request PATCH 'https://cloudservice.vsms.co.id/tms_public_api/order-fleet/start' \
--header 'Authorization: Bearer <YOUR API TOKEN>' \
--header 'Content-Type: application/json' \
--data-raw '{
    "fo_number": "FO-03392",
    "odometer": 12300
}'
var myHeaders = new Headers();
myHeaders.append("Authorization", "Bearer <YOUR API TOKEN>");
myHeaders.append("Content-Type", "application/json");

var raw = JSON.stringify({
    "fo_number": "FO-03392",
    "odometer": 12300
});

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

fetch("https://cloudservice.vsms.co.id/tms_public_api/order-fleet/start", 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

{
    "data": null,
    "message": "Success"
}

Invalid Response

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

End Fleet Order

Mengakhiri Fleet Order

HTTP Request

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

Request Body

Field Data Type Required Description Example
fo_number string true Nomor FO yang ingin diakhiri FO-03392
odometer integer false Update odometer. Required apabila setting odometer On. 12300

Request Example

{
    "fo_number": "FO-03392",
    "odometer": 12300
}
curl --location --request PATCH 'https://cloudservice.vsms.co.id/tms_public_api/order-fleet/end' \
--header 'Authorization: Bearer <YOUR API TOKEN>' \
--header 'Content-Type: application/json' \
--data-raw '{
    "fo_number": "FO-03392",
    "odometer": 12300
}'
var myHeaders = new Headers();
myHeaders.append("Authorization", "Bearer <YOUR API TOKEN>");
myHeaders.append("Content-Type", "application/json");

var raw = JSON.stringify({
    "fo_number": "FO-03392",
    "odometer": 12300
});

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

fetch("https://cloudservice.vsms.co.id/tms_public_api/order-fleet/end", 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

{
    "data": null,
    "message": "Success"
}

Invalid Response

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

Settings

Pengaturan data profil owner / perusahaan dan data alamat owner / perusahaan

Company Profile & Company Address

Melihat company profile dan daftar alamat milik company yang terdaftar dalam sistem

HTTP Request

GET https://cloudservice.vsms.co.id/tms_public_api/settings/company-profile

Request Body

Field Data Type Required Description Example

Request Example

curl --location --request GET 'https://cloudservice.vsms.co.id/tms_public_api/settings/company-profile' \
--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/settings/company-profile", requestOptions)
  .then(response => response.text())
  .then(result => console.log(result))
  .catch(error => console.log('error', error));

Success Response

Field   Data Type                           Description
data   ResponseCompanyProfile ResponseCompanyProfile
message string                                   Keterangan response

Success Response Example

{
    "data": {
    "name": "PT ABG",
    "office_number": "081234567890",
    "phone_number": "081234567890",
    "operational_number": "081234567890",
    "email": "info@abg.com",
    "addresses": [
      {
        "id": 1,
        "location_name": "ME Headquarter",
        "address": "Jl. Raya Indonesia",
        "province": "Jawa Timur",
        "city": "Surabaya",
        "postal_code": "60111",
        "category": "Kantor Pusat",
        "contact_person": "CP 1",
        "phone_number": "081234567890",
        "type_poi": "Circle",
        "radius": 100,
        "latitude": "-7.2663165244269985",
        "longitude": "112.77311575729064",
        "start_window_time": "10:00:00",
        "end_window_time": "17:00:00",
        "service_time": 15.0,
      }
    ]
  },
    "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

List Driver

Melihat pengemudi-pengemudi yang telah terdaftar dalam sistem

HTTP Request

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

Request Body

Field Data Type Required Description Example

Request Example

curl --location --request GET 'https://cloudservice.vsms.co.id/tms_public_api/master/driver' \
--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/driver", requestOptions)
  .then(response => response.text())
  .then(result => console.log(result))
  .catch(error => console.log('error', error));

Success Response

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

Success Response Example

{
    "data": [
        {
            "id": 1,
            "name": "Bambang",
            "username": "bambang@release.com",
            "address": "Jl. Raya Indonesia",
            "place_of_birth": "Surabaya",
            "date_of_birth": "31-01-1990",
            "phone_number": "081234567890",
            "joined_date": "31-01-2020",
            "place_of_recruitment": "Surabaya",
            "nik_number": "111111",
            "ktp_number": "222222",
            "marital_status": "Menikah",
            "bank_acc_number": "333333",
            "bpjs_kes_number": "444444",
            "bpjs_jht_number": "555555",
            "jaminan": "Ijazah",
            "family_phone_1": "081234567890",
            "family_phone_2": "081234567890",
            "reference": "ref",
            "driver_status": {
                "fleet_category": "Truck",
                "status": "Inactive",
                "reason": "",
                "inactive_date": "31-01-2023",
                "note": "",
            }
        }
    ],
    "message": "Success"
}

Invalid Response

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

Detail Driver

Melihat detail data pengemudi yang telah terdaftar dalam sistem

HTTP Request

GET https://cloudservice.vsms.co.id/tms_public_api/master/driver/<DRIVER-ID>

Request Key

Parameter Data Type Required Description Example
<YOUR DRIVER-ID> integer true ID Driver 123

Request Example

curl --location --request GET 'https://cloudservice.vsms.co.id/tms_public_api/master/driver/123' \
--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/master/driver/123", requestOptions)
  .then(response => response.text())
  .then(result => console.log(result))
  .catch(error => console.log('error', error));

Success Response

Field   Data Type                       Description
data     ResponseDriverDetail ResponseDriverDetail
message string                                   Keterangan response

Success Response Example

{
    "data": {
        "id": 1,
        "name": "Bambang",
        "username": "bambang@release.com",
        "address": "Jl. Raya Indonesia",
        "place_of_birth": "Surabaya",
        "date_of_birth": "31-01-1990",
        "phone_number": "081234567890",
        "joined_date": "31-01-2020",
        "place_of_recruitment": "Surabaya",
        "nik_number": "111111",
        "ktp_number": "222222",
        "marital_status": "Menikah",
        "bank_acc_number": "333333",
        "bpjs_kes_number": "444444",
        "bpjs_jht_number": "555555",
        "jaminan": "Ijazah",
        "family_phone_1": "081234567890",
        "family_phone_2": "081234567890",
        "reference": "ref",
        "driver_status": {
            "fleet_category": "Truck",
            "status": "Inactive",
            "reason": "",
            "inactive_date": "31-01-2023",
            "note": "",
        },
        "license_type": [
            {
                "expired": "31-01-2023",
                "license_number": "1234",
                "license_type": "SIM A"
            }
        ],
        "job_experience": [
            {
                "experience": "Supir Truk"
            }
        ]
    },
    "message": "Success"
}

Invalid Response

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

Update Driver

Mengubah data-data pribadi pengemudi berdasarkan namanya

HTTP Request

PATCH https://cloudservice.vsms.co.id/tms_public_api/master/driver/<DRIVER_NAME>

Request Key

Field Data Type Required Description Example
<DRIVER_NAME> RequestDriver.name true Nama driver yang ingin diubah Anton

Request Body

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

Request Example

{
        "driver" : [
                {
                        "name" : "Driver Test 5",
                        "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" : "",
                        "reference" : "",
                        "driver_status" : [
                                {
                                        "old_fleet_category" : "Truck",
                                        "new_fleet_category" : "Truck",
                                        "status" : "Active"
                                }
                        ],
                        "license_type" : [
                                {
                                        "old_license_type" : "sim c",
                                        "new_license_type" : "sim c",
                                        "license_number" : "",
                                        "expired" : null
                                }
                        ],
                        "job_experience" : [
                                {
                                        "old_experience": "Driver Patas",
                                        "new_experience": "Driver Patas"
                                }
                        ]
                }
        ]
}

Success Response

Field         Data Type                                   Description
message       string                                       Keterangan response

Success Response Example

Invalid Response

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

Update Driver Credential

Mengubah data username atau password driver

HTTP Request

PATCH https://cloudservice.vsms.co.id/tms_public_api/master/driver/credential

Request Key

Field Data Type Required Description Example

Request Body

Field Data Type Required Description Example
driver_id integer true ID Driver yang hendak diubah 123
new_username string false Username/email baru driver anton@release.com
new_password string false Password baru driver 123456

Request Example

{
    "driver_id":"2438",
    "new_username":"anton@release.com",
    "new_password":"123456"
}
curl --location --request PATCH 'https://cloudservice.vsms.co.id/tms_public_api/master/driver/credential' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJleHAiOjE2OTEwMzQ0NzIsImlhdCI6MTY5MDk0ODA3Miwic3ViIjp7ImRiX25hbWUiOiJyZWxlYXNlIiwiaWQiOjQ1MywibmFtZSI6ImZhdXppIiwiZW1haWwiOiJmYXV6aUBnbWFpbC5jb20iLCJncm91cCI6IlN1cGVyIEFkbWluIiwicG9zaXRpb24iOiJTdGFmZiJ9fQ.uDsL6PhhD4Fx6ZUsgDon4Y-CKmxFNalJZXbjWWZlYik' \
--data-raw '{
    "driver_id":"2438",
    "new_username":"anton@release.com",
    "new_password":"123456"
}'
var myHeaders = new Headers();
myHeaders.append("Authorization", "Bearer <YOUR API TOKEN>");
myHeaders.append("Content-Type", "application/json");

var raw = JSON.stringify({
    "driver_id":"2438",
    "new_username":"anton@release.com",
    "new_password":"123456"
});

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

fetch("https://cloudservice.vsms.co.id/tms_public_api/master/driver/credential", 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

{
    "data": null,
    "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

List Customer

Melihat customer - customer yang terdaftar dalam sistem

HTTP Request

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

Request Body

Field Data Type Required Description Example

Request Example

curl --location --request GET 'https://cloudservice.vsms.co.id/tms_public_api/master/customer' \
--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/customer", requestOptions)
  .then(response => response.text())
  .then(result => console.log(result))
  .catch(error => console.log('error', error));

Success Response

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

Success Response Example

{
    "data": [
        {
            "id": 1,
            "name": "PT Alpha Beta Gamma",
            "alias": "ABG",
            "tax_number": "111.222.333.444",
            "industry_category": "F&B",
            "marketing_name": "MKT 1"
        }
    ],
    "message": "Success"
}

Invalid Response

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

Detail Customer

Melihat detail data customer yang telah terdaftar dalam sistem

HTTP Request

GET https://cloudservice.vsms.co.id/tms_public_api/master/customer/<CUSTOMER-ID>

Request Key

Parameter Data Type Required Description Example
<YOUR CUSTOMER-ID> integer true ID Customer 123

Request Example

curl --location --request GET 'https://cloudservice.vsms.co.id/tms_public_api/master/customer/123' \
--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/master/customer/123", requestOptions)
  .then(response => response.text())
  .then(result => console.log(result))
  .catch(error => console.log('error', error));

Success Response

Field   Data Type                         Description
data   ResponseCustomerDetail ResponseCustomerDetail
message string                                   Keterangan response

Success Response Example

{
    "data": {
        "id": 1,
        "name": "PT Alpha Beta Gamma",
        "alias": "ABG",
        "tax_number": "111.222.333.444",
        "industry_category": "F&B",
        "marketing_name": "MKT 1",
        "contact_person": [
            {
                "contact_name": "Santoso",
                "email": "santoso@gmail.com",
                "phone_number": "12312313",
                "position": "Admin"
            }
        ],
        "special_note": [
            {
                "note": "Tersertifikasi"
            },
            {
                "note": "Tutup Sementara"
            }
        ]
    },
    "message": "Success"
}

Invalid Response

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

Update Customer

Mengubah data customer maupun alamat customer yang sudah tersimpan dalam sistem

HTTP Request

PATCH https://cloudservice.vsms.co.id/tms_public_api/master/customer/<CUSTOMER_ID>

Request Key

Field Data Type Required Description Example
<CUSTOMER_ID> integer true ID Unik pelanggan 100

Request Body

Field Data Type Required Description Example
customer []RequestCustomerUpdate true Kumpulan customer yang ingin diupdate RequestCustomerUpdate

Request Example

{
    "customer": [
        {
            "name": "Cust_Test 004",
            "alias": "CP1",
            "tax_number": "513831",
            "industry_category": "Kimia",
            "marketing_name": "wahyu ade",
            "contact_person": [
                {
                    "old_contact_name": "public",
                    "new_contact_name": "public",
                    "phone_number": "08368154613",
                    "position": "Admin",
                    "email": "admin@cobaperikanan.com",
                    "delete_contact": false
                }
            ],
            "special_note": [
                {
                    "old_note": "Pahit",
                    "delete_note": true
                },
                {
                    "old_note": "Manis",
                    "new_note": "Manis Asam",
                    "delete_note": false
                }
            ],
            "address": [
                {
                    "old_location_name": "Brew.la",
                    "new_location_name": "Brew.la test",
                    "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,
                    "delete_location_name": false
                }
            ]
        }
    ]
}
curl --location --request PATCH 'https://cloudservice.vsms.co.id/tms_public_api/master/customer/850' \
--header 'Authorization: Bearer <YOUR API TOKEN>' \
--header 'Content-Type: application/json' \
--data-raw '{
    "customer": [
        {
            "name": "Cust_Test 004",
            "alias": "CP1",
            "tax_number": "513831",
            "industry_category": "Kimia",
            "marketing_name": "wahyu ade",
            "contact_person": [
                {
                    "old_contact_name": "public",
                    "new_contact_name": "public",
                    "phone_number": "08368154613",
                    "position": "Admin",
                    "email": "admin@cobaperikanan.com",
                    "delete_contact": false
                }
            ],
            "special_note": [
                {
                    "old_note": "Pahit",
                    "delete_note": true
                },
                {
                    "old_note": "Manis",
                    "new_note": "Manis Asam",
                    "delete_note": false
                }
            ],
            "address": [
                {
                    "old_location_name": "Brew.la",
                    "new_location_name": "Brew.la test",
                    "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,
                    "delete_location_name": false
                }
            ]
        }
    ]
}'
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 004",
      "alias": "CP1",
      "tax_number": "513831",
      "industry_category": "Kimia",
      "marketing_name": "wahyu ade",
      "contact_person": [
        {
          "old_contact_name": "public",
          "new_contact_name": "public",
          "phone_number": "08368154613",
          "position": "Admin",
          "email": "admin@cobaperikanan.com",
          "delete_contact": false
        }
      ],
      "special_note": [
        {
          "old_note": "Pahit",
          "delete_note": true
        },
        {
          "old_note": "Manis",
          "new_note": "Manis Asam",
          "delete_note": false
        }
      ],
      "address": [
        {
          "old_location_name": "Brew.la",
          "new_location_name": "Brew.la test",
          "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,
          "delete_location_name": false
        }
      ]
    }
  ]
});

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

fetch("https://cloudservice.vsms.co.id/tms_public_api/master/customer/850", 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

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

List Address

Melihat alamat - alamat yang telah terdaftar dalam sistem

HTTP Request

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

Request Body

Field Data Type Required Description Example

Request Example

curl --location --request GET 'https://cloudservice.vsms.co.id/tms_public_api/master/address' \
--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/address", requestOptions)
  .then(response => response.text())
  .then(result => console.log(result))
  .catch(error => console.log('error', error));

Success Response

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

Success Response Example

{
    "data": [
        {
            "id": 1,
            "customer_name": "Cust A",
            "location_name": "ME Headquarter",
            "address": "Jl. Raya Indonesia",
            "province": "Jawa Timur",
            "city": "Surabaya",
            "postal_code": "60111",
            "category": "Kantor Pusat",
            "contact_person": "CP 1",
            "phone_number": "081234567890",
            "type_poi": "Circle",
            "radius": 100,
            "latitude": "-7.2663165244269985",
            "longitude": "112.77311575729064",
            "start_window_time": "10:00:00",
            "end_window_time": "17:00:00",
            "service_time": 15.0,
        }
    ],
    "message": "Success"
}

Invalid Response

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

Detail Address

Melihat detail data alamat yang telah terdaftar dalam sistem

HTTP Request

GET https://cloudservice.vsms.co.id/tms_public_api/master/address/<ADDRESS-ID>

Request Key

Parameter Data Type Required Description Example
<YOUR ADDRESS-ID> integer true ID Address 123

Request Example

curl --location --request GET 'https://cloudservice.vsms.co.id/tms_public_api/master/address/123' \
--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/master/address/123", requestOptions)
  .then(response => response.text())
  .then(result => console.log(result))
  .catch(error => console.log('error', error));

Success Response

Field   Data Type                         Description
data ResponseAddressDetail ResponseAddressDetail
message string                                   Keterangan response

Success Response Example

{
    "data": {
            "id": 1,
            "customer_name": "Cust A",
            "location_name": "ME Headquarter",
            "address": "Jl. Raya Indonesia",
            "province": "Jawa Timur",
            "city": "Surabaya",
            "postal_code": "60111",
            "category": "Kantor Pusat",
            "contact_person": "CP 1",
            "phone_number": "081234567890",
            "type_poi": "Circle",
            "radius": 100,
            "latitude": "-7.2663165244269985",
            "longitude": "112.77311575729064",
            "start_window_time": "10:00:00",
            "end_window_time": "17:00:00",
            "service_time": 15.0,
        },
    "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

Fleet Category

Managemen Master Data Kategori Kendaraan yang akan digunakan untuk data kendaraan

List Fleet Category

Melihat fleet category yang terdaftar dalam sistem

HTTP Request

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

Request Body

Field Data Type Required Description Example

Request Example

curl --location --request GET 'https://cloudservice.vsms.co.id/tms_public_api/master/fleet-category' \
--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/fleet-category", requestOptions)
  .then(response => response.text())
  .then(result => console.log(result))
  .catch(error => console.log('error', error));

Success Response

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

Success Response Example

{
    "data": [
        {
            "id": 1,
            "name": "Truck",
        }
    ],
    "message": "Success"
}

Invalid Response

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

Detail Fleet Category

Melihat detail data fleet category yang terdaftar dalam sistem

HTTP Request

GET https://cloudservice.vsms.co.id/tms_public_api/master/fleet-category/<FLEET-CATEGORY-ID>

Request Key

Parameter Data Type Required Description Example
<YOUR FLEET_CATEGORY-ID> integer true ID Fleet Category 123

Request Example

curl --location --request GET 'https://cloudservice.vsms.co.id/tms_public_api/master/fleet-category/123' \
--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/master/fleet-category/123", requestOptions)
  .then(response => response.text())
  .then(result => console.log(result))
  .catch(error => console.log('error', error));

Success Response

Field   Data Type                                 Description
data ResponseFleetCategoryList ResponseFleetCategoryList
message string                                   Keterangan response

Success Response Example

{
    "data": {
      "id": 1,
      "name": "Truck",
  },
    "message": "Success"
}

Invalid Response

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

Reject Reason

Managemen Master Data Reject Reason

List Reject Reason

Melihat list alasan penolakan

HTTP Request

GET https://cloudservice.vsms.co.id/tms_public_api/master/reject-reason?type=pending

Request Body

Field Data Type Required Description Example
type 'pending' or 'cancel' false Filter jenis reject reason pending

Request Example

curl --location --request GET 'https://cloudservice.vsms.co.id/tms_public_api/master/reject-reason?type=pending' \
--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/reject-reason?type=pending", requestOptions)
  .then(response => response.text())
  .then(result => console.log(result))
  .catch(error => console.log('error', error));

Success Response

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

Success Response Example

{
    "data": [
        {
            "id": 30,
            "name": "Retention-Barang Sampai di Warung Tidak Sesuai Dengan Expected Delivery Date",
            "type": "pending"
        }
    ],
    "message": "Success"
}

Invalid Response

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

Driver App

Driver App merupakan kumpulan API yang diadopsi dari Driver App V1.

POP

Melakukan POP

HTTP Request

PATCH https://cloudservice.vsms.co.id/tms_public_api/driver-app/pop

Request Body

Field Data Type Required Description Example
du_id []integer true List ID Delivery Unit yang ingin diproses. [123, 124, 125]
fo_id integer true FO saat ini yang ingin diproses. 3919
state_app_id 86 / 92 true Status DU (Ended / Pending). 86
reject_reason_app_id integer false ID Alasan Penolakan. Required apabila state_app_id 92 (Pending) 30
odometer integer false Odometer terakhir. Required apabila setting odometer On 12000
adjust_items []POPAdjustItem false Adjust order items. Required apabila pada titik tersebut terdapat item yang perlu di-adjust
signature string false File tanda tangan dalam bentuk base64. Required apabila state_app_id bernilai 86 (Ended) data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAIAQMAAAD+wSzIAAAABlBMVEX///+/v7+jQ3Y5AAAADklEQVQI12P4AIX8EAgALgAD/aNpbtEAAAAASUVORK5CYII==
photos []string true File foto proses POP dalam bentuk base64. Maksimum 5 foto. ["data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAIAQMAAAD+wSzIAAAABlBMVEX///+/v7+jQ3Y5AAAADklEQVQI12P4AIX8EAgALgAD/aNpbtEAAAAASUVORK5CYII=="]
recipient_name string true Nama penerima. Bambang
notes string true Note any notes

Request Example

{
    "du_id": [74279],
    "fo_id": 3919,
    "state_app_id": 86,
    "reject_reason_app_id": 30,
    "odometer": 13000,
    "adjust_items": [
        {
            "item_id": 16722,
            "qty": 123,
            "weight": 123,
            "volume": 123
        }
    ],
    "signature": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAIAQMAAAD+wSzIAAAABlBMVEX///+/v7+jQ3Y5AAAADklEQVQI12P4AIX8EAgALgAD/aNpbtEAAAAASUVORK5CYII==",
    "photos": [
        "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAIAQMAAAD+wSzIAAAABlBMVEX///+/v7+jQ3Y5AAAADklEQVQI12P4AIX8EAgALgAD/aNpbtEAAAAASUVORK5CYII=="
    ],
    "recipient_name": "Bambang",
    "notes": "any notes"
}
curl --location --request PATCH 'https://cloudservice-project.vsms.co.id/tms_public_api/driver-app/pop' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJleHAiOjE2OTIwNzEwNTcsImlhdCI6MTY5MTk4NDY1Nywic3ViIjp7ImRiX25hbWUiOiJyZWxlYXNlIiwiaWQiOjM3NiwibmFtZSI6IkR3aSIsImVtYWlsIjoiZHdpLmFsZGlAdG1zLmNvLmlkIiwiZ3JvdXAiOiJTdXBlciBBZG1pbiIsInBvc2l0aW9uIjoiTWFuYWdlciJ9fQ.6a_KuUo5iABptAlRMqJSsDsZTh0PitnDzxFDw9Eiwaw' \
--data '{
    "du_id": [74279],
    "fo_id": 3919,
    "state_app_id": 86,
    "reject_reason_app_id": 30,
    "odometer": 13000,
    "adjust_items": [
        {
            "item_id": 16722,
            "qty": 123,
            "weight": 123,
            "volume": 123
        }
    ],
    "signature": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAIAQMAAAD+wSzIAAAABlBMVEX///+/v7+jQ3Y5AAAADklEQVQI12P4AIX8EAgALgAD/aNpbtEAAAAASUVORK5CYII==",
    "photos": [
        "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAIAQMAAAD+wSzIAAAABlBMVEX///+/v7+jQ3Y5AAAADklEQVQI12P4AIX8EAgALgAD/aNpbtEAAAAASUVORK5CYII=="
    ],
    "recipient_name": "Bambang",
    "notes": "any notes"
}'
var myHeaders = new Headers();
myHeaders.append("Authorization", "Bearer <YOUR API TOKEN>");
myHeaders.append("Content-Type", "application/json");

var raw = JSON.stringify({
    "du_id": [74279],
    "fo_id": 3919,
    "state_app_id": 86,
    "reject_reason_app_id": 30,
    "odometer": 13000,
    "adjust_items": [
        {
            "item_id": 16722,
            "qty": 123,
            "weight": 123,
            "volume": 123
        }
    ],
    "signature": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAIAQMAAAD+wSzIAAAABlBMVEX///+/v7+jQ3Y5AAAADklEQVQI12P4AIX8EAgALgAD/aNpbtEAAAAASUVORK5CYII==",
    "photos": [
        "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAIAQMAAAD+wSzIAAAABlBMVEX///+/v7+jQ3Y5AAAADklEQVQI12P4AIX8EAgALgAD/aNpbtEAAAAASUVORK5CYII=="
    ],
    "recipient_name": "Bambang",
    "notes": "any notes"
});

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

fetch("https://cloudservice.vsms.co.id/tms_public_api/driver-app/pop", 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

{
    "data": null,
    "message": "Success"
}

Invalid Response

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

POD

Melakukan POD

HTTP Request

PATCH https://cloudservice.vsms.co.id/tms_public_api/driver-app/pod

Request Body

Field Data Type Required Description Example
du_id []integer true List ID Delivery Unit yang ingin diproses. [123, 124, 125]
fo_id integer true FO saat ini yang ingin diproses. 3919
state_app_id 86 / 92 true Status DU (Ended / Pending). 86
reject_reason_app_id integer false ID Alasan Penolakan. Required apabila state_app_id 92 (Pending) 30
odometer integer false Odometer terakhir. Required apabila setting odometer On 12000
amount integer false Nilai COD amount 100000
adjust_items []PODAdjustItem false Adjust order items. Required apabila pada titik tersebut terdapat item yang perlu di-adjust
signature string false File tanda tangan dalam bentuk base64. Required apabila state_app_id bernilai 86 (Ended) data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAIAQMAAAD+wSzIAAAABlBMVEX///+/v7+jQ3Y5AAAADklEQVQI12P4AIX8EAgALgAD/aNpbtEAAAAASUVORK5CYII==
photos []string true File foto proses POP dalam bentuk base64. Maksimum 5 foto. ["data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAIAQMAAAD+wSzIAAAABlBMVEX///+/v7+jQ3Y5AAAADklEQVQI12P4AIX8EAgALgAD/aNpbtEAAAAASUVORK5CYII=="]
recipient_name string true Nama penerima. Bambang
notes string true Note any notes

Request Example

{
    "du_id": [74279],
    "fo_id": 3919,
    "state_app_id": 86,
    "reject_reason_app_id": 30,
    "odometer": 13000,
    "amount": 100000
    "adjust_items": [
        {
            "item_id": 16722,
            "qty": 123,
            "weight": 123,
            "volume": 123,
            "price": 123
        }
    ],
    "signature": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAIAQMAAAD+wSzIAAAABlBMVEX///+/v7+jQ3Y5AAAADklEQVQI12P4AIX8EAgALgAD/aNpbtEAAAAASUVORK5CYII==",
    "photos": [
        "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAIAQMAAAD+wSzIAAAABlBMVEX///+/v7+jQ3Y5AAAADklEQVQI12P4AIX8EAgALgAD/aNpbtEAAAAASUVORK5CYII=="
    ],
    "recipient_name": "Bambang",
    "notes": "any notes"
}
curl --location --request PATCH 'https://cloudservice-project.vsms.co.id/tms_public_api/driver-app/pod' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJleHAiOjE2OTIwNzEwNTcsImlhdCI6MTY5MTk4NDY1Nywic3ViIjp7ImRiX25hbWUiOiJyZWxlYXNlIiwiaWQiOjM3NiwibmFtZSI6IkR3aSIsImVtYWlsIjoiZHdpLmFsZGlAdG1zLmNvLmlkIiwiZ3JvdXAiOiJTdXBlciBBZG1pbiIsInBvc2l0aW9uIjoiTWFuYWdlciJ9fQ.6a_KuUo5iABptAlRMqJSsDsZTh0PitnDzxFDw9Eiwaw' \
--data '{
    "du_id": [74279],
    "fo_id": 3919,
    "state_app_id": 86,
    "reject_reason_app_id": 30,
    "odometer": 13000,
    "amount": 100000,
    "adjust_items": [
        {
            "item_id": 16722,
            "qty": 123,
            "weight": 123,
            "volume": 123,
            "price": 123
        }
    ],
    "signature": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAIAQMAAAD+wSzIAAAABlBMVEX///+/v7+jQ3Y5AAAADklEQVQI12P4AIX8EAgALgAD/aNpbtEAAAAASUVORK5CYII==",
    "photos": [
        "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAIAQMAAAD+wSzIAAAABlBMVEX///+/v7+jQ3Y5AAAADklEQVQI12P4AIX8EAgALgAD/aNpbtEAAAAASUVORK5CYII=="
    ],
    "recipient_name": "Bambang",
    "notes": "any notes"
}'
var myHeaders = new Headers();
myHeaders.append("Authorization", "Bearer <YOUR API TOKEN>");
myHeaders.append("Content-Type", "application/json");

var raw = JSON.stringify({
    "du_id": [74279],
    "fo_id": 3919,
    "state_app_id": 86,
    "reject_reason_app_id": 30,
    "odometer": 13000,
    "amount": 100000,
    "adjust_items": [
        {
            "item_id": 16722,
            "qty": 123,
            "weight": 123,
            "volume": 123,
            "price": 123
        }
    ],
    "signature": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAIAQMAAAD+wSzIAAAABlBMVEX///+/v7+jQ3Y5AAAADklEQVQI12P4AIX8EAgALgAD/aNpbtEAAAAASUVORK5CYII==",
    "photos": [
        "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAIAQMAAAD+wSzIAAAABlBMVEX///+/v7+jQ3Y5AAAADklEQVQI12P4AIX8EAgALgAD/aNpbtEAAAAASUVORK5CYII=="
    ],
    "recipient_name": "Bambang",
    "notes": "any notes"
});

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

fetch("https://cloudservice.vsms.co.id/tms_public_api/driver-app/pod", 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

{
    "data": null,
    "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 float true Jumlah Barang 1
volume float true Volume Barang 2
weight float true Berat Barang 3
orders_item_id integer true ID Item ID Item
product_name string true Nama Product Air Mineral 4L
product_id integer true Id Product 80
{
    "name": "Barang 1",
    "qty": 1.0,
    "volume": 2.0,
    "weight": 3.0,
    "orders_item_id": 12233,
    "product_name": "Air Mineral 4L",
    "product_id": 80
}

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"
}

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"
}

ResponseCompanyProfile

Field         Data Type Description
name string Nama perusahaan
office_number string Nomor telepon kantor
phone_number string Nomor telepon
operational_number string Nomor telepon operasional
email string Email perusahaan
addresses []ResponseAddressDetail Daftar alamat milik perusahaan
{
    "name": "PT ABG",
    "office_number": "081234567890",
    "phone_number": "081234567890",
    "operational_number": "081234567890",
    "email": "info@abg.com",
    "addresses": [
        {
            "id": 1,
            "location_name": "ME Headquarter",
            "address": "Jl. Raya Indonesia",
            "province": "Jawa Timur",
            "city": "Surabaya",
            "postal_code": "60111",
            "category": "Kantor Pusat",
            "contact_person": "CP 1",
            "phone_number": "081234567890",
            "type_poi": "Circle",
            "radius": 100,
            "latitude": "-7.2663165244269985",
            "longitude": "112.77311575729064",
            "start_window_time": "10:00:00",
            "end_window_time": "17:00:00",
            "service_time": 15.0,
        }
    ]
}

ResponseCustomerList

Field         Data Type Description
id integer ID unik pelanggan
name string Nama pelanggan
alias string Nama lain pelanggan
tax_number string Nomor pajak pelanggan
industry_category string Kategori industri pelanggan
marketing_name string Pembuat / sales
{
    "id": 1,
    "name": "PT Alpha Beta Gamma",
    "alias": "ABG",
    "tax_number": "111.222.333.444",
    "industry_category": "F&B",
    "marketing_name": "MKT 1"
}

ResponseCustomerDetail

Field         Data Type Description
id integer ID unik pelanggan
name string Nama pelanggan
alias string Nama lain pelanggan
tax_number string Nomor pajak pelanggan
industry_category string Kategori industri pelanggan
marketing_name string Pembuat / sales
contact_person []ContactPerson Status ContactPerson
special_note []SpecialNote Status SpecialNote
{
    "id": 1,
    "name": "PT Alpha Beta Gamma",
    "alias": "ABG",
    "tax_number": "111.222.333.444",
    "industry_category": "F&B",
    "marketing_name": "MKT 1",
    "contact_person": [
        {
            "contact_name": "CP 1",
            "phone_number": "081234567890",
            "position": "Manager",
            "email": "cp1@company.com",
        }
    ],
    "special_note": [
        {
            "note": "Vaksin",
        }
    ]
}

ResponseCreateCustomer

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

ResponseDriverList

Field         Data Type Description
id integer ID unik pengemudi

name username | string | Username/email pengemudi address | string | Alamat pengemudi place_of_birth | string | Tempat lahir pengemudi date_of_birth | date(YYYY-MM-DDTHH-mm-ss) | Tanggal lahir pengemudi phone_number | string | Nomor telepon pengemudi joined_date | date(YYYY-MM-DDTHH-mm-ss) | Tanggal pengemudi bergabung place_of_recruitment | string | Lokasi penempatan pengemudi nik_number | string | Nomor induk karyawan dari pengemudi ktp_number | string | Nomor KTP pengemudi marital_status | string | Status pernikahan pengemudi bank_acc_number | string | Nomor akun bank pengemudi bpjs_kes_number | string | Nomor BPJS kesehatan pengemudi bpjs_jht_number | string | Nomor JHT pengemudi jaminan | string | Jaminan yang diberikan pengemudi family_phone_1 | string | Nomor telepon keluarga pengemudi (1) family_phone_2 | string | Nomor telepon keluarga pengemudi (2) reference | string | Referensi driver_status | []DriverStatus | Status DriverStatus

{
    "id": 1,
    "name": "Bambang",
    "username": "bambang@release.com",
    "address": "Jl. Raya Indonesia",
    "place_of_birth": "Surabaya",
    "date_of_birth": "31-01-1990",
    "phone_number": "081234567890",
    "joined_date": "31-01-2020",
    "place_of_recruitment": "Surabaya",
    "nik_number": "111111",
    "ktp_number": "222222",
    "marital_status": "Menikah",
    "bank_acc_number": "333333",
    "bpjs_kes_number": "444444",
    "bpjs_jht_number": "555555",
    "jaminan": "Ijazah",
    "family_phone_1": "081234567890",
    "family_phone_2": "081234567890",
    "reference": "ref",
    "driver_status": {
        "fleet_category": "Truck",
        "status": "Inactive",
        "reason": "",
        "inactive_date": "31-01-2023",
        "note": "",
    }
}

ResponseDriverDetail

Field         Data Type Description
id integer ID unik pengemudi
name string Nama pengemudi
username string Username/email pengemudi
address string Alamat pengemudi
place_of_birth string Tempat lahir pengemudi
date_of_birth date(YYYY-MM-DDTHH-mm-ss) Tanggal lahir pengemudi
phone_number string Nomor telepon pengemudi
joined_date date(YYYY-MM-DDTHH-mm-ss) Tanggal pengemudi bergabung
place_of_recruitment string Lokasi penempatan pengemudi
nik_number string Nomor induk karyawan dari pengemudi
ktp_number string Nomor KTP pengemudi
marital_status string Status pernikahan pengemudi
bank_acc_number string Nomor akun bank pengemudi
bpjs_kes_number string Nomor BPJS kesehatan pengemudi
bpjs_jht_number string Nomor JHT pengemudi
jaminan string Jaminan yang diberikan pengemudi
family_phone_1 string Nomor telepon keluarga pengemudi (1)
family_phone_2 string Nomor telepon keluarga pengemudi (2)
reference string Referensi
driver_status []DriverStatus Status DriverStatus
license_type []LicenseType Status LicenseType
job_experience []JobExperience Status JobExperience
{
    "id": 1,
    "name": "Bambang",
    "username": "bambang@release.com",
    "address": "Jl. Raya Indonesia",
    "place_of_birth": "Surabaya",
    "date_of_birth": "31-01-1990",
    "phone_number": "081234567890",
    "joined_date": "31-01-2020",
    "place_of_recruitment": "Surabaya",
    "nik_number": "111111",
    "ktp_number": "222222",
    "marital_status": "Menikah",
    "bank_acc_number": "333333",
    "bpjs_kes_number": "444444",
    "bpjs_jht_number": "555555",
    "jaminan": "Ijazah",
    "family_phone_1": "081234567890",
    "family_phone_2": "081234567890",
    "reference": "ref",
    "driver_status": {
        "fleet_category": "Truck",
        "status": "Inactive",
        "reason": "",
        "inactive_date": "31-01-2023",
        "note": "",
    },
    "license_type": [
        {
            "expired": "31-01-2023",
            "license_number": "1234",
            "license_type": "SIM A"
        }
    ],
    "job_experience": [
        {
            "experience": "Supir Truk"
        }
    ]
}

ResponseCreateDriver

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

ResponseAddressDetail

Field         Data Type Description
id integer ID unik pelanggan
customer_name string Nama pelanggan
location_name string Nama lokasi
address string Alamat lengkap
province string Nama provinsi
city string Nama kota/kabupaten
postal_code string Kode pos
category string Kategori alamat
contact_person string Nama narahubung
phone_number string Nomor telepon narahubung
type_poi string Tipe / bentuk titik
radius float Jari-jari dari titik (m)
latitude float Posisi garis lintang
longitude float Posisi garis bujur
start_window_time time (HH:mm:ss) Jam kerja buka
end_window_time time (HH:mm:ss) Jam kerja tutup
service_time float Lama waktu bongkar muat (menit)
{
    "id": 1,
    "customer_name": "Cust A",
    "location_name": "ME Headquarter",
    "address": "Jl. Raya Indonesia",
    "province": "Jawa Timur",
    "city": "Surabaya",
    "postal_code": "60111",
    "category": "Kantor Pusat",
    "contact_person": "CP 1",
    "phone_number": "081234567890",
    "type_poi": "Circle",
    "radius": 100,
    "latitude": "-7.2663165244269985",
    "longitude": "112.77311575729064",
    "start_window_time": "10:00:00",
    "end_window_time": "17:00:00",
    "service_time": 15.0,
}

ResponseCreateAddress

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

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
}

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"
}

ResponseFleetCategoryList

Field         Data Type Description
id integer ID unik kategori kendaraan
name string Nama kategori kendaraan
{
    "id": 1,
    "name": "Truck",
}

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
tracking_url string, nullable URL track DO, tidak null ketika DO masih berjalan (Stated, Loading, Unloading, Intransit)
{
    "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": "",
    "tracking_url": "https://release.vsms.co.id/live_track/VTJGc2RHVmtYMS9GbW1ucHRxL2pkTHY0amJPazgyN2g2T3ZNRGV6QCZJZz0="
}

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
fo_id integer ID FO
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",
    "fo_id": 53,
    "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",
            "tracking_url": "https://release.vsms.co.id/live_track/VTJGc2RHVmtYMS9GbW1ucHRxL2pkTHY0amJPazgyN2g2T3ZNRGV6QXZJZz0="
        }
    ],
    "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
tracking_url string, nullable URL untuk tracking order
{
    "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",
    "tracking_url": "https://release.vsms.co.id/live_track/VTJGc2RHVmtYMS9GbW1ucHRxL2pkTHY0amJPazgyN2g2T3ZNRGV6QXZJZz0="
}

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, nullable Alasan ditolak apabila pesanan ditolak
rejection_category     string, nullable         Tipe alasan ditolak apabila 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
du_id         integer         ID DU
address_id         integer         ID alamat
address_detail         string         Alamat lengkap
customer_id         integer, nullable         ID customer, apabila ada
customer_name         string, nullable         Nama customer, apabila ada
photos         []string         Foto saat proses POP/POD
signature         string         Tanda tangan saat proses POP/POD
comment         string         Note saat proses POD/POD
{
    "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",
    "du_id": 12,
    "address_id": 632,
    "address_detail": "Location One, Jalan Sumatera, Gubeng, Surabaya",
    "customer_id": 12,
    "customer_name": "Jack Ma",
    "photos": ["https://release.vsms.co.id/upload/fo/2023-08-01 15:40:57_71238_release_tms_item_0.jpg"],
    "signature": "https://release.vsms.co.id/upload/fo/2023-08-01 15:40:57_71238_release_tms_sign.jpg",
    "reject_category": "pending",
    "comment": "Retention-Gagal Kirim Bencana Alam"
}

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
fo_id integer ID FO
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
tracking_url string URL untuk track FO
{
    "driver_name": "Budi",
    "end_time": "",
    "fleet_order_number": "FO-00001",
    "fo_id": 1,
    "license_plate": "L 1234 LL",
    "start_time": "2022-02-03 13:13:00",
    "status": "Canceled",
    "tracking_url": "https://release.vsms.co.id/live_track/VTJGc2RHVmtYMTlnM05ZM2JQbWF3VDMyaVFNS0d2QTJQY0I4STJSb3AwFG0="
}

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>"
}

ResponseRejectReasonDetail

Field         Data Type Description
id integer ID reject reason
name string Nama reject reason
type 'pending' or 'cancel' Tipe reject reason
{
    "id": 30,
    "name": "Retention-Barang Sampai di Warung Tidak Sesuai Dengan Expected Delivery Date",
    "type": "pending"
},

ResponseListDeliveryUnit

Field         Data Type Description
address         string         Alamat titik yang menjadi tujuan
address_detail         string         Alamat lengkap
address_id         integer         ID alamat
app_status         string         Status dari driver app
arrived_time         datetime (YYYY-MM-DD HH:mm:ss)     Tanggal dan waktu tiba
comment         string         Note saat proses POD/POD
customer_id         integer, nullable         ID customer, apabila ada
customer_name         string, nullable         Nama customer, apabila ada
departed_time         datetime (YYYY-MM-DD HH:mm:ss)     Tanggal dan waktu berangkat
do_departure         datetime (YYYY-MM-DD HH:mm:ss)     Tanggal keberangkatan delivery order
du_id         integer         ID DU
eta         datetime (YYYY-MM-DD HH:mm:ss)     Estimasi waktu tiba
mileage         float         jarak
order_number         string         Order Number
photos         []string         Foto saat proses POP/POD
receiver_name         string         Penerima
rejection_category     string, nullable         Tipe alasan ditolak apabila pesanan ditolak
rejection_reason       string, nullable Alasan ditolak apabila pesanan ditolak
seq         integer         Urutan rute
signature         string         Tanda tangan saat proses POP/POD
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": "Ruko Sumatera",
    "address_detail": "Maobun Authentic Hongkong Bun, Jalan Sumatera, Gubeng, Surabaya City, East Java, Indonesia",
    "address_id": 6371,
    "app_status": "Started",
    "arrived_time": "",
    "comment": null,
    "customer_id": 264,
    "customer_name": "jekiniih",
    "departed_time": "",
    "do_departure": "2023-08-02 14:42:00",
    "du_id": 72665,
    "eta": "2023-08-04 03:54:00",
    "mileage": 1484.76,
    "order_number": "DO-28130",
    "photos": [],
    "receiver_name": null,
    "reject_category": "cancel",
    "rejection_reason": "Cancelled-Harga Tidak Sesuai",
    "seq": 1,
    "signature": null,
    "status": "Canceled",
    "time_app_update": "",
    "type": "P"
}

ResponseDetailDeliveryUnit

Field         Data Type Description
address         string         Alamat titik yang menjadi tujuan
address_detail         string         Alamat lengkap
address_id         integer         ID alamat
app_status         string         Status dari driver app
arrived_time         datetime (YYYY-MM-DD HH:mm:ss)     Tanggal dan waktu tiba
comment         string         Note saat proses POD/POD
customer_id         integer, nullable         ID customer, apabila ada
customer_name         string, nullable         Nama customer, apabila ada
departed_time         datetime (YYYY-MM-DD HH:mm:ss)     Tanggal dan waktu berangkat
do_departure         datetime (YYYY-MM-DD HH:mm:ss)     Tanggal keberangkatan delivery order
du_id         integer         ID DU
eta         datetime (YYYY-MM-DD HH:mm:ss)     Estimasi waktu tiba
mileage         float         jarak
order_number         string         Order Number
photos         []string         Foto saat proses POP/POD
receiver_name         string         Penerima
rejection_category     string, nullable         Tipe alasan ditolak apabila pesanan ditolak
rejection_reason       string, nullable Alasan ditolak apabila pesanan ditolak
seq         integer         Urutan rute
signature         string         Tanda tangan saat proses POP/POD
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": "Ruko Sumatera",
    "address_detail": "Maobun Authentic Hongkong Bun, Jalan Sumatera, Gubeng, Surabaya City, East Java, Indonesia",
    "address_id": 6371,
    "app_status": "Started",
    "arrived_time": "",
    "comment": null,
    "customer_id": 264,
    "customer_name": "jekiniih",
    "departed_time": "",
    "do_departure": "2023-08-02 14:42:00",
    "du_id": 72665,
    "eta": "2023-08-04 03:54:00",
    "mileage": 1484.76,
    "order_number": "DO-28130",
    "photos": [],
    "receiver_name": null,
    "reject_category": "cancel",
    "rejection_reason": "Cancelled-Harga Tidak Sesuai",
    "seq": 1,
    "signature": null,
    "status": "Canceled",
    "time_app_update": "",
    "type": "P"
}

POPAdjustItem

Field         Data Type Description
item_id       string         ID Item
qty         float         Kuantitas item
weight       float         Berat item
volume       float         Volume item
{
    "item_id": 16722,
    "qty": 123,
    "weight": 123,
    "volume": 123
}

PODAdjustItem

Field         Data Type Description
item_id       string         ID Item
qty         float         Kuantitas item
weight       float         Berat item
volume       float         Volume item
price       float         Harga item
{
    "item_id": 16722,
    "qty": 123,
    "weight": 123,
    "volume": 123,
    "price": 123
}

Error

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