{"info":{"_postman_id":"45821260-1519-460c-be22-53db2ff6e7df","name":"PARKING LOT API","description":"<html><head></head><body><p>by Haryo Bagas Assyafah - \n<a href=\"https://www.linkedin.com/in/bearaujus/\">https://www.linkedin.com/in/bearaujus/</a></p>\n<h1 id=\"introduction\">Introduction</h1>\n<p>Parking Lot API dibuat untuk memenuhi syarat dalam pengerjaan soal DTO Kemenkes - Backend Engineer.</p>\n<h1 id=\"overview\">Overview</h1>\n<p>Didalam Parking Lot API ini client dapat melakukan simulasi parkir dan juga dapat melihat data yang dimanipulasi didalamnya.</p>\n<p>Fitur yang di sediakan dalam Parking Lot API adalah sebagai berikut :</p>\n<ul>\n<li>Dapat memanajemen Parking Lot data</li>\n<li>Dapat melihat Parking Lot data</li>\n<li>Dapat mensimulasikan sistem parkir</li>\n</ul>\n<h1 id=\"authentication\">Authentication</h1>\n<p>Metode Auth yang digunakan pada sistem ini menggunakan metode yang disebut 'API KEY'. </p>\n<p>Default Auth code yang digunakan pada sistem ini berupa key dan value berbentuk :\n{'auth': 'C3E7A714E3C268BEC0448EFDDD9E040F68EB0879402DA413C72A2FB49DD45F65'}</p>\n<p>Auth code ini digunakan untuk mengeksekusi setiap query atau perintah yang akan dipakai didalam default API url, jika Auth code tidak valid maka API akan merespon dengan status code 401 (Unauthorized).</p>\n<p>Untuk saat ini Auth code di atas berasal dari kata 'haryobagasassyafah' yang di enkripsikan kedalam SHA-256. Mungkin kedepanya base string yang di enkripsikan bisa di ubah menjadi token atau id client.</p>\n<h1 id=\"port\">Port</h1>\n<p>Default port yang digunakan pada Parking Lot API ini adalah :\n'25565'</p>\n<h1 id=\"error-codes\">Error Codes</h1>\n<p>Error code dapat terjadi dalam beberapa case seperti ketika memasukan kode auth yang salah, atau ketika melakukan unpark (kondisi ketika mobil keluar dari tempat parkir) pada sebuah mobil yang tidak terdaftar. </p>\n<p>Tetapi semua error diatas sudah di filter di bagian backend. Saat ini ketika terjadi error, sistem hanya mengeluarkan status code dan detail message dari error tersebut.</p>\n<h1 id=\"rate-limit\">Rate limit</h1>\n<p>Saat ini tidak ada batasan terhadap request yang dapat dikirimkan oleh client.</p>\n</body></html>","schema":"https://schema.getpostman.com/json/collection/v2.0.0/collection.json","toc":[{"content":"Introduction","slug":"introduction"},{"content":"Overview","slug":"overview"},{"content":"Authentication","slug":"authentication"},{"content":"Port","slug":"port"},{"content":"Error Codes","slug":"error-codes"},{"content":"Rate limit","slug":"rate-limit"}],"owner":"17068457","collectionId":"45821260-1519-460c-be22-53db2ff6e7df","publishedId":"Tzz7Mx1T","public":true,"customColor":{"top-bar":"FFFFFF","right-sidebar":"303030","highlight":"EF5B25"},"publishDate":"2021-08-13T20:58:22.000Z"},"item":[{"name":"/parking-lot","id":"bf003d6b-6475-4860-83e8-96ed8424fbe0","protocolProfileBehavior":{"disableBodyPruning":true,"disabledSystemHeaders":{}},"request":{"method":"GET","header":[],"url":"parking-lot?auth={{auth}}","description":"<p>Request ini dipertujukan untuk melihat semua Parking Lot yang terdaftar</p>\n","urlObject":{"host":["parking-lot"],"query":[{"description":{"content":"<p>Digunakan untuk memverifikasi apakah pengguna adalah client yang berhak menggunakan Parking Lot API</p>\n","type":"text/plain"},"key":"auth","value":"{{auth}}"}],"variable":[]}},"response":[{"id":"caffad12-795a-40f3-b20d-13bc09d0d480","name":"Case 1","originalRequest":{"method":"GET","header":[],"url":{"raw":"parking-lot?auth=C3E7A714E3C268BEC0448EFDDD9E040F68EB0879402DA413C72A2FB49DD45F65","host":["parking-lot"],"query":[{"key":"auth","value":"C3E7A714E3C268BEC0448EFDDD9E040F68EB0879402DA413C72A2FB49DD45F65","description":"Digunakan untuk memverifikasi apakah pengguna adalah client yang berhak menggunakan Parking Lot API"}]}},"status":"OK","code":200,"_postman_previewlanguage":null,"header":null,"cookie":[],"responseTime":null,"body":"{\"list_registered_parking_lot\": {\"0\": 25, \"1\": 20}}"}],"_postman_id":"bf003d6b-6475-4860-83e8-96ed8424fbe0"},{"name":"/parking-lot","id":"845494aa-65de-4ef5-8677-e4a07a07ace4","protocolProfileBehavior":{"disableBodyPruning":true,"disabledSystemHeaders":{"content-length":true}},"request":{"method":"POST","header":[],"url":"parking-lot?total_slots={{total_slots}}&auth={{auth}}","description":"<p>Request ini dipertujukan untuk membuat Parking Lot baru</p>\n","urlObject":{"host":["parking-lot"],"query":[{"description":{"content":"<p>Total slots yang akan dibuat didalam sebuah parking lot</p>\n","type":"text/plain"},"key":"total_slots","value":"{{total_slots}}"},{"description":{"content":"<p>Digunakan untuk memverifikasi apakah pengguna adalah client yang berhak menggunakan Parking Lot API</p>\n","type":"text/plain"},"key":"auth","value":"{{auth}}"}],"variable":[]}},"response":[{"id":"a505c556-25e7-45d5-9e73-b305484067ad","name":"Case 1","originalRequest":{"method":"POST","header":[],"url":{"raw":"parking-lot?total_slots=20&auth=C3E7A714E3C268BEC0448EFDDD9E040F68EB0879402DA413C72A2FB49DD45F65","host":["parking-lot"],"query":[{"key":"total_slots","value":"20","description":"Total slots yang akan dibuat didalam sebuah parking lot"},{"key":"auth","value":"C3E7A714E3C268BEC0448EFDDD9E040F68EB0879402DA413C72A2FB49DD45F65","description":"Digunakan untuk memverifikasi apakah pengguna adalah client yang berhak menggunakan Parking Lot API"}]}},"status":"Created","code":201,"_postman_previewlanguage":null,"header":null,"cookie":[],"responseTime":null,"body":"{\"parking_lot_id\": 1, \"total_slots\": 20, \"messages\": \"new parking lot succesfully created\"}"}],"_postman_id":"845494aa-65de-4ef5-8677-e4a07a07ace4"},{"name":"/parking-lot/{{id_parking_lot}}","id":"a7d02222-41c8-4ecf-b61a-fb13a525addf","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"parking-lot/{{id_parking_lot}}?auth={{auth}}","description":"<p>Request ini dipertujukan agar user dapat melihat details dari data yang ada di dalam Parking Lot. Pada Request ini terdapat 4 kondisi yaitu :</p>\n<ul>\n<li>Ketika query kosong - Akan menampilkan semua data mengenai informasi slot pada sebuah Parking Lot</li>\n<li>Ketika query diisi oleh {'view' : 1} - Akan menampilkan data parking slot berdasarkan number plate, yang dimana query parameter 'number_plate' dibutuhkan</li>\n<li>Ketika query diisi oleh {'view' : 2} - Akan menampilkan data parking slot berdasarkan warna, yang dimana query parameter 'color' dibutuhkan</li>\n<li>Ketika query diisi oleh {'view' : 3} - Akan menampilkan data list mobil berdasarkan warna, yang dimana query parameter 'color' dibutuhkan</li>\n</ul>\n","urlObject":{"path":["{{id_parking_lot}}"],"host":["parking-lot"],"query":[{"disabled":true,"description":{"content":"<p>Untuk memilih view data yang akan di request</p>\n","type":"text/plain"},"key":"view","value":"{{view}}"},{"disabled":true,"description":{"content":"<p>Untuk mendapatkan data parking slot id dari sebuah number plate</p>\n","type":"text/plain"},"key":"number_plate","value":"{{number_plate}}"},{"disabled":true,"description":{"content":"<p>Untuk mendapatkan data parking slot dan juga mendapatkan data list mobil dari sebuah warna</p>\n","type":"text/plain"},"key":"color","value":"{{color}}"},{"description":{"content":"<p>Digunakan untuk memverifikasi apakah pengguna adalah client yang berhak menggunakan Parking Lot API</p>\n","type":"text/plain"},"key":"auth","value":"{{auth}}"}],"variable":[]}},"response":[{"id":"be7b629f-00ad-4228-b083-098797e4706b","name":"Case 1","originalRequest":{"method":"GET","header":[],"url":{"raw":"parking-lot/{{id_parking_lot}}?auth=C3E7A714E3C268BEC0448EFDDD9E040F68EB0879402DA413C72A2FB49DD45F65","host":["parking-lot"],"path":["{{id_parking_lot}}"],"query":[{"key":"view","value":"{{view}}","description":"Untuk memilih view data yang akan di request","disabled":true},{"key":"number_plate","value":"{{number_plate}}","description":"Untuk mendapatkan data parking slot id dari sebuah number plate","disabled":true},{"key":"color","value":"{{color}}","description":"Untuk mendapatkan data parking slot dan juga mendapatkan data list mobil dari sebuah warna","disabled":true},{"key":"auth","value":"C3E7A714E3C268BEC0448EFDDD9E040F68EB0879402DA413C72A2FB49DD45F65","description":"Digunakan untuk memverifikasi apakah pengguna adalah client yang berhak menggunakan Parking Lot API"}]}},"status":"OK","code":200,"_postman_previewlanguage":null,"header":null,"cookie":[],"responseTime":null,"body":"{\"parking_lot_id\": 0, \"data\": {\"white\": {\"1\": \"\", \"2\": \"\", \"3\": \"\", \"4\": \"\"}, \"black\": {\"5\": \"\", \"6\": \"\", \"7\": \"\", \"8\": \"\"}, \"gray\": {\"9\": \"\", \"10\": \"z123qwe2\", \"11\": \"z123qwe23\", \"12\": \"z123qwe234\"}, \"silver\": {\"13\": \"\", \"14\": \"\", \"15\": \"\", \"16\": \"\"}, \"red\": {\"17\": \"\", \"18\": \"\", \"19\": \"\"}, \"blue\": {\"20\": \"\", \"21\": \"\", \"22\": \"\"}, \"other\": {\"23\": \"z123qweasdwad\", \"24\": \"\", \"25\": \"\"}}}"},{"id":"658b46a3-4374-4f51-bea6-3ee9c9e04d19","name":"Case 2","originalRequest":{"method":"GET","header":[],"url":{"raw":"parking-lot/{{id_parking_lot}}?view=1&number_plate=z123qwe2&auth=C3E7A714E3C268BEC0448EFDDD9E040F68EB0879402DA413C72A2FB49DD45F65","host":["parking-lot"],"path":["{{id_parking_lot}}"],"query":[{"key":"view","value":"1","description":"Untuk memilih view data yang akan di request"},{"key":"number_plate","value":"z123qwe2","description":"Untuk mendapatkan data parking slot id dari sebuah number plate"},{"key":"color","value":"{{color}}","description":"Untuk mendapatkan data parking slot dan juga mendapatkan data list mobil dari sebuah warna","disabled":true},{"key":"auth","value":"C3E7A714E3C268BEC0448EFDDD9E040F68EB0879402DA413C72A2FB49DD45F65","description":"Digunakan untuk memverifikasi apakah pengguna adalah client yang berhak menggunakan Parking Lot API"}]}},"status":"OK","code":200,"_postman_previewlanguage":null,"header":null,"cookie":[],"responseTime":null,"body":"{\"number_plate\": \"z123qwe2\", \"color_id\": \"gray\", \"slot_id\": 10}"},{"id":"2e9821df-0dc5-4949-9800-57d3260fd627","name":"Case 3","originalRequest":{"method":"GET","header":[],"url":{"raw":"parking-lot/{{id_parking_lot}}?view=2&color=gray&auth=C3E7A714E3C268BEC0448EFDDD9E040F68EB0879402DA413C72A2FB49DD45F65","host":["parking-lot"],"path":["{{id_parking_lot}}"],"query":[{"key":"view","value":"2","description":"Untuk memilih view data yang akan di request"},{"key":"number_plate","value":"{{number_plate}}","description":"Untuk mendapatkan data parking slot id dari sebuah number plate","disabled":true},{"key":"color","value":"gray","description":"Untuk mendapatkan data parking slot dan juga mendapatkan data list mobil dari sebuah warna"},{"key":"auth","value":"C3E7A714E3C268BEC0448EFDDD9E040F68EB0879402DA413C72A2FB49DD45F65","description":"Digunakan untuk memverifikasi apakah pengguna adalah client yang berhak menggunakan Parking Lot API"}]}},"status":"OK","code":200,"_postman_previewlanguage":null,"header":null,"cookie":[],"responseTime":null,"body":"{\"color_id\": \"gray\", \"data\": {\"9\": \"\", \"10\": \"z123qwe2\", \"11\": \"z123qwe23\", \"12\": \"z123qwe234\"}}"},{"id":"c8a9871f-ea9f-47d8-bcde-86db866cf480","name":"Case 4","originalRequest":{"method":"GET","header":[],"url":{"raw":"parking-lot/{{id_parking_lot}}?view=3&color=gray&auth=C3E7A714E3C268BEC0448EFDDD9E040F68EB0879402DA413C72A2FB49DD45F65","host":["parking-lot"],"path":["{{id_parking_lot}}"],"query":[{"key":"view","value":"3","description":"Untuk memilih view data yang akan di request"},{"key":"number_plate","value":"{{number_plate}}","description":"Untuk mendapatkan data parking slot id dari sebuah number plate","disabled":true},{"key":"color","value":"gray","description":"Untuk mendapatkan data parking slot dan juga mendapatkan data list mobil dari sebuah warna"},{"key":"auth","value":"C3E7A714E3C268BEC0448EFDDD9E040F68EB0879402DA413C72A2FB49DD45F65","description":"Digunakan untuk memverifikasi apakah pengguna adalah client yang berhak menggunakan Parking Lot API"}]}},"status":"OK","code":200,"_postman_previewlanguage":null,"header":null,"cookie":[],"responseTime":null,"body":"{\"color_id\": \"gray\", \"data\": [\"z123qwe2\", \"z123qwe23\", \"z123qwe234\"]}"}],"_postman_id":"a7d02222-41c8-4ecf-b61a-fb13a525addf"},{"name":"/parking-lot/{{id_parking_lot}}","id":"f9e10767-0b49-4f2c-b386-3492c981ec8a","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"url":"parking-lot/{{id_parking_lot}}?number_plate={{number_plate}}&color={{color}}&auth={{auth}}","description":"<p>Request ini dipertujukan ketika ada mobil yang ingin parkir kedalam Parking Lot</p>\n","urlObject":{"path":["{{id_parking_lot}}"],"host":["parking-lot"],"query":[{"description":{"content":"<p>Number plate mobil yang akan di catat kedalam slot parking lot</p>\n","type":"text/plain"},"key":"number_plate","value":"{{number_plate}}"},{"description":{"content":"<p>Warna mobil yang akan di catat kedalam slot parking lot</p>\n","type":"text/plain"},"key":"color","value":"{{color}}"},{"description":{"content":"<p>Digunakan untuk memverifikasi apakah pengguna adalah client yang berhak menggunakan Parking Lot API</p>\n","type":"text/plain"},"key":"auth","value":"{{auth}}"}],"variable":[]}},"response":[{"id":"601bec27-7728-4d05-8791-628e99de0111","name":"Case 1","originalRequest":{"method":"POST","header":[],"url":{"raw":"parking-lot/{{id_parking_lot}}?number_plate=z123qwe&color=gray&auth=C3E7A714E3C268BEC0448EFDDD9E040F68EB0879402DA413C72A2FB49DD45F65","host":["parking-lot"],"path":["{{id_parking_lot}}"],"query":[{"key":"number_plate","value":"z123qwe","description":"Number plate mobil yang akan di catat kedalam slot parking lot"},{"key":"color","value":"gray","description":"Warna mobil yang akan di catat kedalam slot parking lot"},{"key":"auth","value":"C3E7A714E3C268BEC0448EFDDD9E040F68EB0879402DA413C72A2FB49DD45F65","description":"Digunakan untuk memverifikasi apakah pengguna adalah client yang berhak menggunakan Parking Lot API"}]}},"status":"OK","code":200,"_postman_previewlanguage":null,"header":null,"cookie":[],"responseTime":null,"body":"{\"slot_id\": 9, \"color_id\": \"gray\", \"number_plate\": \"z123qwe\", \"messages\": \"successfully parked\"}"}],"_postman_id":"f9e10767-0b49-4f2c-b386-3492c981ec8a"},{"name":"/parking-lot/{{id_parking_lot}}","id":"aaed705e-7303-4433-b0a2-447427db2509","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"PUT","header":[],"url":"parking-lot/{{id_parking_lot}}?number_plate={{number_plate}}&auth={{auth}}","description":"<p>Request ini dipertujukan ketika ada sebuah mobil yang terdaftar yang ingin keluar dari Parking Lot</p>\n","urlObject":{"path":["{{id_parking_lot}}"],"host":["parking-lot"],"query":[{"description":{"content":"<p>Number plate mobil yang akan keluar dari parking lot slot</p>\n","type":"text/plain"},"key":"number_plate","value":"{{number_plate}}"},{"description":{"content":"<p>Digunakan untuk memverifikasi apakah pengguna adalah client yang berhak menggunakan Parking Lot API</p>\n","type":"text/plain"},"key":"auth","value":"{{auth}}"}],"variable":[]}},"response":[{"id":"0fd12dd5-410d-4cd0-bd3c-2b73918ea8d6","name":"Case 1","originalRequest":{"method":"PUT","header":[],"url":{"raw":"parking-lot/{{id_parking_lot}}?number_plate=z123qwe&auth=C3E7A714E3C268BEC0448EFDDD9E040F68EB0879402DA413C72A2FB49DD45F65","host":["parking-lot"],"path":["{{id_parking_lot}}"],"query":[{"key":"number_plate","value":"z123qwe","description":"Number plate mobil yang akan keluar dari parking lot slot"},{"key":"auth","value":"C3E7A714E3C268BEC0448EFDDD9E040F68EB0879402DA413C72A2FB49DD45F65","description":"Digunakan untuk memverifikasi apakah pengguna adalah client yang berhak menggunakan Parking Lot API"}]}},"status":"OK","code":200,"_postman_previewlanguage":null,"header":null,"cookie":[],"responseTime":null,"body":"{\"number_plate\": \"z123qwe\", \"messages\": \"successfully unparked\"}"}],"_postman_id":"aaed705e-7303-4433-b0a2-447427db2509"}],"event":[{"listen":"prerequest","script":{"id":"1ff3df54-f7bc-4e2b-ae74-e4ebb8081d48","type":"text/javascript","exec":[""]}},{"listen":"test","script":{"id":"3f257ac0-d80c-401c-8236-71342c36b8fa","type":"text/javascript","exec":[""]}}]}