Daftar Keinginan (Wishlist)
Dokumentasi API untuk menyimpan produk favorit ke dalam daftar keinginan. Sistem ini mendukung kategori/koleksi (folder) untuk mengelompokkan produk yang disukai.
Endpoint Overview
1. Item Management
| Method | Endpoint | Deskripsi |
|---|---|---|
| GET | /wishlist | Mengambil seluruh item wishlist pengguna. |
| POST | /wishlist | Menambahkan produk ke wishlist (koleksi default/spesifik). |
| GET | /wishlist/:id | Mengambil detail item wishlist spesifik. |
| DELETE | /wishlist/:id | Menghapus produk dari wishlist. |
| GET | /wishlist/check | Mengecek apakah produk sudah ada di wishlist. |
| PUT | /wishlist/:id/move | Memindahkan item ke koleksi lain. |
2. Collection Management
| Method | Endpoint | Deskripsi |
|---|---|---|
| GET | /wishlist/collections | Mengambil semua koleksi wishlist pengguna. |
| POST | /wishlist/collections | Membuat koleksi baru atau menambah item ke koleksi. |
| GET | /wishlist/collections/:id | Mengambil detail koleksi spesifik. |
| PUT | /wishlist/collections/:id | Memperbarui nama/deskripsi koleksi. |
| DELETE | /wishlist/collections/:id | Menghapus koleksi. |
| GET | /wishlist/collections/:id/items | Mengambil semua item dalam koleksi tertentu. |
| PUT | /wishlist/collections/:id/items/reorder | Mengatur ulang urutan item dalam koleksi. |
I. Manajemen Item
1. Get Wishlist List
Mengambil semua produk yang telah disimpan oleh pengguna.
- URL:
/wishlist - Method:
GET - Headers:
Authorization: Bearer {{token}} - Response (200 OK):
{
"status": true,
"code": 200,
"data": {
"items": [
{
"id": "uuid-item",
"collection_id": "uuid-collection",
"product": {
"id": "uuid-product",
"name": "Tour Bali 3 Hari",
"slug": "tour-bali-3-hari"
}
}
],
"total": 1
}
}
2. Add to Wishlist
Menambahkan produk ke daftar keinginan. Jika collection_id tidak disertakan, produk akan masuk ke koleksi default.
- URL:
/wishlist - Method:
POST - Headers:
Authorization: Bearer {{token}} - Body (JSON):
{
"product_id": "uuid-product",
"collection_id": "uuid-collection"
}
- Response (200 OK):
{
"status": true,
"code": 200,
"info": "Success add item",
"data": {
"id": "uuid-item",
"collection_id": "uuid-collection",
"product_id": "uuid-product"
}
}
3. Check Wishlist
Mengecek status apakah sebuah produk tertentu sudah masuk dalam wishlist pengguna.
- URL:
/wishlist/check - Method:
GET - Headers:
Authorization: Bearer {{token}} - Query Params:
product_id=uuid-product - Response (200 OK):
{
"data": {
"exists": true
}
}
4. Move Item to Collection
Memindahkan item wishlist dari satu koleksi ke koleksi lainnya.
- URL:
/wishlist/:id/move - Method:
PUT - Body (JSON):
{
"new_collection_id": "new-collection-uuid"
}
II. Manajemen Koleksi
5. Create Collection
Membuat folder/koleksi baru untuk mengelompokkan produk.
- URL:
/wishlist/collections - Method:
POST - Body (JSON):
{
"name": "Liburan Musim Panas",
"product_ids": ["uuid-1", "uuid-2"]
}
- Response (200 OK):
{
"info": "Success create collection with items",
"data": {
"collection": {
"id": "uuid-collection",
"name": "Liburan Musim Panas"
}
}
}
6. Get Collections
Mengambil daftar semua koleksi yang dimiliki pengguna.
- URL:
/wishlist/collections - Method:
GET - Response (200 OK):
{
"data": {
"collections": [
{
"id": "uuid-collection",
"name": "Liburan Musim Panas",
"item_count": 5
}
]
}
}
7. Reorder Items
Mengubah urutan tampilan produk di dalam sebuah koleksi.
- URL:
/wishlist/collections/:id/items/reorder - Method:
PUT - Body (JSON):
{
"items": [
{ "item_id": "uuid-1" },
{ "item_id": "uuid-2" }
]
}
🔥 Uji Coba API (Simulator)
Gunakan simulator di bawah ini untuk mencoba seluruh endpoint di atas secara langsung. Anda dapat mengubah URL, Method, Headers, dan Body sesuai kebutuhan.