NAV

API SI BIG PARKING

Pengantar

Informasi URL

Development URL : http://sandbox.sibigparking.com

Production URL : https://api.sibigparking.com

Versi : v1

Setiap kota bisa memiliki banyak lahan parkir. Lokasi-lokasi parkir tersebut, kemudian, juga dikelola oleh banyak pengelola jasa parkir. Sebagai pemegang perizinan, pemerintah harusnya dapat melihat lalu-lalang parkir di kotanya dengan mudah. Untuk itulah SI BIG PARKING hadir, sebagai pemantau parkir suatu kota secara realtime.

Sebelum menyelami API ini, alangkah baiknya Anda memahami beberapa hal :


Autentikasi

Contoh Request :

curl -X POST  "http://sandbox.sibigparking.com/v1/auth"
-H "Authorization: Basic OTY2NjJmYzktN2YxZS00Y2YwLWIxNjItYjIwNDYzMzRjZWU0OkRneDdFNUZ6MHJKcWZubzF2OE1DVFR5QWp1bVJNVUtC"
-H "Accept: application/xml" 

Response JSON:

 {
   "token": "eyJ0eXAiOiJKV1QiLCGhbGciOiJIUzI1NiJ9.eyJpc3MiOiJzaWJpZy1hcGkuZGV2IiwiaWF0IjoxNDcwMzY5MTYzLCJuYmYiOjE0NzAzNjkxNjMsImV4cCI6MTQ3MDM3Mjc2MywibWlkIjoiY1c0d016STBOVE10TlhKdk5DMDBNbk16TFRsdk9UVXRjakZ3YnpZd2NUVTBNVFl6Iiwic3R0IjoiYWxpdmUifQ.r1yYlg-t6rmKQCr2BxjtUdmYLjEhaohy7Jv-AaGgrDc",
   "expired": 1469178224
 }

Response XML

<xml>
     <token>eyJ0eXAiOiJKV1QiLCGhbGciOiJIUzI1NiJ9.eyJpc3MiOiJzaWJpZy1hcGkuZGV2IiwiaWF0IjoxNDcwMzY5MTYzLCJuYmYiOjE0NzAzNjkxNjMsImV4cCI6MTQ3MDM3Mjc2MywibWlkIjoiY1c0d016STBOVE10TlhKdk5DMDBNbk16TFRsdk9UVXRjakZ3YnpZd2NUVTBNVFl6Iiwic3R0IjoiYWxpdmUifQ.r1yYlg-t6rmKQCr2BxjtUdmYLjEhaohy7Jv-AaGgrDc"</token>
     <expired>1469178281</expired>
</xml>

Panjang token ± 300 karakter.

Digunakan untuk mendapatkan token dari server. Kemudian token tersebut harus disertakan dalam setiap dalam request.

HTTP Request

POST /v1/auth

HTTP Headers

Accept: <accept type>

Authorization: Basic <base64_encode(machine_id:machine_secret)>

Rate Limit

Maksimal 3 request per jam.

Lokasi

Contoh Request :

curl -X GET 
"http://sandbox.sibigparking.com/v1/parking/locations"
-H "Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJzaWJpZy1hcGkuZGV2IiwiaWF0IjoxNDcwMzY5MTYzLCJuYmYiOjE0NzAzNjkxNjMsImV4cCI6MTQ3MDM3Mjc2MywibWlkIjoiY1c0d016STBOVE10TlhKdk5DMDBNbk16TFRsdk9UVXRjakZ3YnpZd2NUVTBNVFl6Iiwic3R0IjoiYWxpdmUifQ.r1yYlg-t6rmKQCr2BxjtUdmYLjEhaohy7Jv-AaGgrDc"
-H "Accept: application/json" 

Response JSON:

{
   "locations": [
     {
       "location_id": "4d565e1a-bcff-4ae4-92d9-2a23cff67e27",
       "name": "Mall Bekasi Sumarecon",
       "address": "Jalan Boulevard Ahmad Yani Blok M",
       "city": "BEKASI" 
     }
   ],
  "count": 1
}

Response XML

<?xml version="1.0" encoding="utf-8"?>
 <xml>
     <locations>
         <location>
             <location_id>4d565e1a-bcff-4ae4-92d9-2a23cff67e27</location_id>
             <name>Mall Bekasi Sumarecon</name>
             <address>Jalan Boulevard Ahmad Yani Blok M</address>
             <city>BEKASI</city>
         </location>
     </locations>
    <count>1</count>
 </xml>

Digunakan untuk mendapatkan daftar lokasi berdasarkan operator yang dimiliki oleh mesin.

HTTP Request

GET /v1/parking/locations

HTTP Headers

Accept: <accept type>

Authorization: Bearer <token>

Rate Limit

Maksimal 100 request per jam.

Transaksi

Digunakan untuk memasukkan data transaksi parkir ke SI BIG PARKING. Terdapat dua macam metode untuk proses ini, yaitu transaksi tunggal dan transaksi jumlah besar.

Transaksi Tunggal

Untuk mengirim satu transaksi.

Contoh Request

curl -X POST "http://sandbox.sibigparking.com/v1/parking/transaction"
-H "Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJzaWJpZy1hcGkuZGV2IiwiaWF0IjoxNDcwMzY5MTYzLCJuYmYiOjE0NzAzNjkxNjMsImV4cCI6MTQ3MDM3Mjc2MywibWlkIjoiY1c0d016STBOVE10TlhKdk5DMDBNbk16TFRsdk9UVXRjakZ3YnpZd2NUVTBNVFl6Iiwic3R0IjoiYWxpdmUifQ.r1yYlg-t6rmKQCr2BxjtUdmYLjEhaohy7Jv-AaGgrDc" 
-H "Accept: application/json" 
-H "Content-Type: application/x-www-form-urlencoded" 
-d 'location=4d565e1a-bcff-4ae4-92d9-2a23cff67e27&vehicle=1&payment=1&enter=2016-08-01 16:15:11&exit=2016-08-01 16:15:12&plate_number=D 4567 A&amount=1000' 

Response JSON

{
  "message": "Successfully add transaction." 
}

Response XML

<?xml version="1.0" encoding="utf-8"?>
<xml>
    <message>Successfully add transaction.</message>
</xml>

HTTP Request

POST /v1/parking/transaction

HTTP Headers

Accept: <accept type>

Authorization: Bearer <token>

Content-Type: application/x-www-form-urlencoded

HTTP Request Body

Key Rule Deskripsi
location
  • Required
  • String
  • Uuid versi 4
id dari lokasi
vehicle
  • Required
  • Integer
Id dari kendaraan
Keterangan :
  1. Motor
  2. Mobil
  3. Lainnya
payment
  • Required
  • Integer
Id dari jenis pembayaran
Keterangan :
  1. Tunai
  2. Member
  3. E-Money
enter
  • Required
  • Format Waktu: Y-m-d H:i:s
Waktu masuk kendaraan
exit
  • Required
  • Format Waktu: Y-m-d H:i:s
Waktu keluar kendaraan
plate_number
  • String
  • Maksimal : 20 karakter
Nomer plat kendaraan
amount
  • Required
  • Integer
  • Maksimal : 16 digit
Jumlah uang

Rate Limit

Maksimal 5000 request per jam.

Transaksi Jumlah Besar

Contoh format data json yang dikirim

[  
   {  
      "location":"4d565e1a-bcff-4ae4-92d9-2a23cff67e27",
      "vehicle":1,
      "payment":1,
      "enter":"2016-08-03 16:15:11",
      "exit":"2016-08-03 19:15:12",
      "plate_number":"2222",
      "amount":"2000"
   },
   {  
      "location":"4d565e1a-bcff-4ae4-92d9-2a23cff67e27",
      "vehicle":1,
      "payment":1,
      "enter":"2016-08-03 16:15:11",
      "exit":"2016-08-03 18:15:12",
      "plate_number":"2222",
      "amount":"2000"
   }
]

Contoh Request

curl -X POST "http://sandbox.sibigparking.com/v1/parking/transactions"
-H "Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJzaWJpZy1hcGkuZGV2IiwiaWF0IjoxNDcwMzY5MTYzLCJuYmYiOjE0NzAzNjkxNjMsImV4cCI6MTQ3MDM3Mjc2MywibWlkIjoiY1c0d016STBOVE10TlhKdk5DMDBNbk16TFRsdk9UVXRjakZ3YnpZd2NUVTBNVFl6Iiwic3R0IjoiYWxpdmUifQ.r1yYlg-t6rmKQCr2BxjtUdmYLjEhaohy7Jv-AaGgrDc" 
-H "Accept: application/json" 
-H "Content-Type: application/x-www-form-urlencoded" 
-d 'transactions=[{"location":"4d565e1a-bcff-4ae4-92d9-2a23cff67e27","vehicle":1,"payment":1,"enter":"2016-08-03 16:15:11","exit":"2016-08-03 19:15:12","plate_number":"2222","amount":"2000"},{"location":"4d565e1a-bcff-4ae4-92d9-2a23cff67e27","vehicle":1,"payment":1,"enter":"2016-08-03 16:15:11","exit":"2016-08-03 18:15:12","plate_number":"2222","amount":"2000"}]' 

Response JSON

{
    "message": "Successfully add transactions.",
    "sent": 2,
    "succeed": 1,
    "failed": 1
}

Response XML

<?xml version="1.0" encoding="utf-8"?>
<xml>
    <message>Successfully add transactions.</message>
    <sent>2</sent>
    <succeed>1</succeed>
    <failed>1</failed>
</xml>

Digunakan untuk mengirimkan beberapa transaksi secara bersamaan. Data yang dikirim merupakan gabungan dari transaksi tunggal yang dibungkus dalam format Array JSON. Setiap menjalankan proses ini, maksimal transaksi yang dapat dikirim adalah 1000. Setiap transaksi juga akan divalidasi seperti proses transaksi tunggal. Jika ada data yang kurang lengkap, maka data yang dikirim dianggap tidak valid dan gagal, sedangkan data yang valid akan tetap diproses oleh sistem.

HTTP Request

POST /v1/parking/transactions

HTTP Headers

Accept: <accept type>

Authorization: Bearer <token>

Content-Type: application/x-www-form-urlencoded

HTTP Request Body

Key Rule Deskripsi
transactions
  • Required
  • Array JSON
Data transaksi

Rate Limit

Maksimal 100 request per jam.

Errors

Kode Pesan Deskripsi
400 Token is required. Token tidak disertakan saat melakukan request
400 Token is not valid. Token yang digunakan merupakan token yang tidak valid
400 Token expired. Token sudah kadaluarsa
400 Machine is not valid. Id Mesin di dalam token tidak valid.
400 Machine not registered. Mesin tidak terdaftar di server.
400 Machine blocked or inactive. Mesin sedang diblokir atau tidak aktif.
404 Url not found. HTTP Request tidak ditemukan.
404 Record not found. Data tidak tersimpan di database.
405 Method not allowed. Metode url tidak sesuai dengan ketentuan
406 Content-Type header not allowed. Content type header tidak disertakan saat request
406 Accept header not set. Accept Header untuk format response tidak disertakan saat request
422 Pesan error bermacam-macam Error saat field input error
500 Internal Server Error Server sedang bermasalah
503 Service Unavailable Sedang ada pemeliharaan sistem