Initial import
This commit is contained in:
371
application/controllers/website/prices.http
Normal file
371
application/controllers/website/prices.http
Normal file
@@ -0,0 +1,371 @@
|
||||
### Variabel Global
|
||||
@baseUrl = https://cpone.aplikasi.web.id/one-api/website/price/
|
||||
@adminApiKey = 7a9b8c7d6e5f4g3h2i1j0k9l8m7n6o5p4q3r2s1t0u9v8w7x6y5z4a3b2c1d0
|
||||
@userApiKey = 7a9b8c7d6e5f4g3h2i1j0k9l8m7n6o5p4q3r2s1t0u9v8w7x6y5z4a3b2c1d0
|
||||
|
||||
### 1. GET Semua Data Cabang
|
||||
GET {{baseUrl}}/get_branches
|
||||
Authorization: Bearer {{adminApiKey}}
|
||||
Accept: application/json
|
||||
|
||||
### 1. GET Semua Data Kategori
|
||||
# Permission yang dibutuhkan: prices:read
|
||||
GET {{baseUrl}}/get_category
|
||||
Authorization: Bearer {{adminApiKey}}
|
||||
Accept: application/json
|
||||
|
||||
### 2. GET Data Harga Single
|
||||
# Permission yang dibutuhkan: prices:read
|
||||
GET {{baseUrl}}/get_single_price?limit=20&page=1
|
||||
Authorization: Bearer {{adminApiKey}}
|
||||
Accept: application/json
|
||||
|
||||
### 2.1. GET Data Harga Single dengan Filter Kategori
|
||||
# Permission yang dibutuhkan: prices:read
|
||||
GET {{baseUrl}}/get_single_price?limit=20&page=1&category=A05
|
||||
Authorization: Bearer {{adminApiKey}}
|
||||
Accept: application/json
|
||||
|
||||
### 2.2. GET Data Harga Single dengan Filter Kategori dan Search
|
||||
# Permission yang dibutuhkan: prices:read
|
||||
GET {{baseUrl}}/get_single_price?limit=20&page=1&category=01&search=hema
|
||||
Authorization: Bearer {{adminApiKey}}
|
||||
Accept: application/json
|
||||
|
||||
### 3. GET Data Harga Packet
|
||||
# Permission yang dibutuhkan: prices:read
|
||||
GET {{baseUrl}}/get_packet_price?limit=20&page=1
|
||||
Authorization: Bearer {{adminApiKey}}
|
||||
Accept: application/json
|
||||
|
||||
### 4. POST Menambahkan Data Harga Baru
|
||||
# Permission yang dibutuhkan: prices:write
|
||||
POST {{baseUrl}}/prices
|
||||
Authorization: Bearer {{adminApiKey}}
|
||||
Content-Type: application/json
|
||||
Accept: application/json
|
||||
|
||||
{
|
||||
"name": "Smartphone XYZ",
|
||||
"price": 2500000,
|
||||
"category": "elektronik"
|
||||
}
|
||||
|
||||
### 5. PUT Memperbarui Data Harga
|
||||
# Permission yang dibutuhkan: prices:write
|
||||
PUT {{baseUrl}}/prices/1
|
||||
Authorization: Bearer {{adminApiKey}}
|
||||
Content-Type: application/json
|
||||
Accept: application/json
|
||||
|
||||
{
|
||||
"name": "Smartphone XYZ Updated",
|
||||
"price": 2750000,
|
||||
"category": "elektronik"
|
||||
}
|
||||
|
||||
### 6. PATCH Memperbarui Sebagian Data Harga
|
||||
# Permission yang dibutuhkan: prices:write
|
||||
PATCH {{baseUrl}}/prices/1
|
||||
Authorization: Bearer {{adminApiKey}}
|
||||
Content-Type: application/json
|
||||
Accept: application/json
|
||||
|
||||
{
|
||||
"price": 2650000
|
||||
}
|
||||
|
||||
### 7. DELETE Menghapus Data Harga
|
||||
# Permission yang dibutuhkan: prices:delete
|
||||
DELETE {{baseUrl}}/prices/1
|
||||
Authorization: Bearer {{adminApiKey}}
|
||||
Accept: application/json
|
||||
|
||||
### 8. Mencoba Akses dengan API Key Tidak Valid
|
||||
GET {{baseUrl}}/prices
|
||||
Authorization: Bearer invalid_api_key
|
||||
Accept: application/json
|
||||
|
||||
### 9. Mencoba Akses Tanpa API Key
|
||||
GET {{baseUrl}}/prices
|
||||
Accept: application/json
|
||||
|
||||
### 10. Mencoba Akses dengan API Key yang Tidak Memiliki Permission
|
||||
# API key ini diasumsikan tidak memiliki permission prices:delete
|
||||
DELETE {{baseUrl}}/prices/1
|
||||
Authorization: Bearer {{adminApiKey}}
|
||||
Accept: application/json
|
||||
|
||||
### 11. Testing Rate Limit
|
||||
# Mengirim beberapa request berturut-turut dengan cepat untuk menguji rate limiting
|
||||
GET {{baseUrl}}/prices
|
||||
Authorization: Bearer {{adminApiKey}}
|
||||
Accept: application/json
|
||||
|
||||
###
|
||||
GET {{baseUrl}}/prices
|
||||
Authorization: Bearer {{adminApiKey}}
|
||||
Accept: application/json
|
||||
|
||||
###
|
||||
GET {{baseUrl}}/prices
|
||||
Authorization: Bearer {{adminApiKey}}
|
||||
Accept: application/json
|
||||
|
||||
### 12. Mencoba Mencari Data dengan Query Search
|
||||
# Permission yang dibutuhkan: prices:read
|
||||
GET {{baseUrl}}/prices?search=smartphone
|
||||
Authorization: Bearer {{adminApiKey}}
|
||||
Accept: application/json
|
||||
|
||||
### 13. Mencoba Sorting Data
|
||||
# Permission yang dibutuhkan: prices:read
|
||||
GET {{baseUrl}}/prices?sort=price&order=desc
|
||||
Authorization: Bearer {{adminApiKey}}
|
||||
Accept: application/json
|
||||
|
||||
### 14. Testing API Key dengan Permission Produk
|
||||
# Permission yang dibutuhkan: products:read
|
||||
GET {{baseUrl}}/products?limit=10&offset=0
|
||||
Authorization: Bearer {{adminApiKey}}
|
||||
Accept: application/json
|
||||
|
||||
### 15. Testing API Key dengan Permission Batch (Bulk)
|
||||
# Permission yang dibutuhkan: prices:write
|
||||
POST {{baseUrl}}/prices/batch
|
||||
Authorization: Bearer {{adminApiKey}}
|
||||
Content-Type: application/json
|
||||
Accept: application/json
|
||||
|
||||
{
|
||||
"items": [
|
||||
{
|
||||
"name": "Produk 1",
|
||||
"price": 100000,
|
||||
"category": "elektronik"
|
||||
},
|
||||
{
|
||||
"name": "Produk 2",
|
||||
"price": 200000,
|
||||
"category": "elektronik"
|
||||
},
|
||||
{
|
||||
"name": "Produk 3",
|
||||
"price": 300000,
|
||||
"category": "elektronik"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
### 16. Testing API Key dengan Filtering Lebih Kompleks
|
||||
# Permission yang dibutuhkan: prices:read
|
||||
GET {{baseUrl}}/prices?category=elektronik&min_price=100000&max_price=5000000&sort=price&order=asc
|
||||
Authorization: Bearer {{adminApiKey}}
|
||||
Accept: application/json
|
||||
|
||||
### 17. Testing Export Data
|
||||
# Permission yang dibutuhkan: prices:export
|
||||
GET {{baseUrl}}/prices/export?format=csv
|
||||
Authorization: Bearer {{adminApiKey}}
|
||||
Accept: application/octet-stream
|
||||
|
||||
### 18. Testing dengan Format XML (Jika API Mendukung)
|
||||
# Permission yang dibutuhkan: prices:read
|
||||
GET {{baseUrl}}/prices?limit=10&offset=0
|
||||
Authorization: Bearer {{adminApiKey}}
|
||||
Accept: application/xml
|
||||
|
||||
### 19. Testing API Key dengan Permission Batch (Bulk)
|
||||
# Permission yang dibutuhkan: prices:write
|
||||
POST {{baseUrl}}/prices/batch
|
||||
Authorization: Bearer {{adminApiKey}}
|
||||
|
||||
### 1. Generate API Key Baru (Admin Permission)
|
||||
# Permission yang dibutuhkan: api_keys:create
|
||||
POST {{baseUrl}}/api-keys/generate
|
||||
Authorization: Bearer {{adminApiKey}}
|
||||
Content-Type: application/json
|
||||
Accept: application/json
|
||||
|
||||
{
|
||||
"name": "API Key untuk Mobile App",
|
||||
"user_id": 123,
|
||||
"permissions": {
|
||||
"prices": "read",
|
||||
"products": "read",
|
||||
"cart": "read,write",
|
||||
"orders": "read,write"
|
||||
},
|
||||
"expires_in_days": 365,
|
||||
"rate_limit": 100,
|
||||
"description": "API Key untuk aplikasi mobile dengan akses terbatas"
|
||||
}
|
||||
|
||||
### 2. Generate API Key dengan Full Access (Super Admin)
|
||||
# Permission yang dibutuhkan: api_keys:create
|
||||
POST {{baseUrl}}/api-keys/generate
|
||||
Authorization: Bearer {{adminApiKey}}
|
||||
Content-Type: application/json
|
||||
Accept: application/json
|
||||
|
||||
{
|
||||
"name": "Full Access API Key",
|
||||
"user_id": 1,
|
||||
"permissions": {
|
||||
"*": "*"
|
||||
},
|
||||
"expires_in_days": null,
|
||||
"rate_limit": 1000,
|
||||
"description": "API Key dengan akses penuh untuk administrator sistem"
|
||||
}
|
||||
|
||||
### 3. Generate API Key dengan Permission Spesifik
|
||||
# Permission yang dibutuhkan: api_keys:create
|
||||
POST {{baseUrl}}/api-keys/generate
|
||||
Authorization: Bearer {{adminApiKey}}
|
||||
Content-Type: application/json
|
||||
Accept: application/json
|
||||
|
||||
{
|
||||
"name": "Analytics API Key",
|
||||
"user_id": 456,
|
||||
"permissions": {
|
||||
"prices": "read",
|
||||
"products": "read",
|
||||
"reports": "read",
|
||||
"statistics": "read"
|
||||
},
|
||||
"expires_in_days": 180,
|
||||
"rate_limit": 500,
|
||||
"description": "API Key untuk keperluan analisis data"
|
||||
}
|
||||
|
||||
### 4. Generate API Key untuk Partner External
|
||||
# Permission yang dibutuhkan: api_keys:create
|
||||
POST {{baseUrl}}/api-keys/generate
|
||||
Authorization: Bearer {{adminApiKey}}
|
||||
Content-Type: application/json
|
||||
Accept: application/json
|
||||
|
||||
{
|
||||
"name": "Partner Integration API Key",
|
||||
"user_id": 789,
|
||||
"permissions": {
|
||||
"prices": {
|
||||
"actions": ["read"],
|
||||
"conditions": {
|
||||
"categories": [1, 2, 3],
|
||||
"visibility": "public"
|
||||
}
|
||||
},
|
||||
"products": {
|
||||
"actions": ["read"],
|
||||
"conditions": {
|
||||
"visibility": "public"
|
||||
}
|
||||
},
|
||||
"orders": {
|
||||
"actions": ["read-limited", "create"],
|
||||
"conditions": {
|
||||
"partner_id": 789
|
||||
}
|
||||
}
|
||||
},
|
||||
"expires_in_days": 90,
|
||||
"rate_limit": 200,
|
||||
"description": "API Key untuk integrasi dengan partner dengan akses terbatas"
|
||||
}
|
||||
|
||||
### 5. Dapatkan Daftar API Key yang Aktif (Admin Only)
|
||||
# Permission yang dibutuhkan: api_keys:read
|
||||
GET {{baseUrl}}/api-keys
|
||||
Authorization: Bearer {{adminApiKey}}
|
||||
Accept: application/json
|
||||
|
||||
### 6. Dapatkan Detail API Key Tertentu
|
||||
# Permission yang dibutuhkan: api_keys:read
|
||||
GET {{baseUrl}}/api-keys/123
|
||||
Authorization: Bearer {{adminApiKey}}
|
||||
Accept: application/json
|
||||
|
||||
### 7. Menonaktifkan API Key
|
||||
# Permission yang dibutuhkan: api_keys:write
|
||||
PUT {{baseUrl}}/api-keys/123/deactivate
|
||||
Authorization: Bearer {{adminApiKey}}
|
||||
Accept: application/json
|
||||
|
||||
### 8. Memperbarui Permission API Key
|
||||
# Permission yang dibutuhkan: api_keys:write
|
||||
PUT {{baseUrl}}/api-keys/123/permissions
|
||||
Authorization: Bearer {{adminApiKey}}
|
||||
Content-Type: application/json
|
||||
Accept: application/json
|
||||
|
||||
{
|
||||
"permissions": {
|
||||
"prices": "read,write",
|
||||
"products": "read",
|
||||
"orders": "read,write,delete"
|
||||
}
|
||||
}
|
||||
|
||||
### 9. Memperpanjang Masa Berlaku API Key
|
||||
# Permission yang dibutuhkan: api_keys:write
|
||||
PUT {{baseUrl}}/api-keys/123/extend
|
||||
Authorization: Bearer {{adminApiKey}}
|
||||
Content-Type: application/json
|
||||
Accept: application/json
|
||||
|
||||
{
|
||||
"additional_days": 180
|
||||
}
|
||||
|
||||
### 10. Menghapus API Key (Soft Delete)
|
||||
# Permission yang dibutuhkan: api_keys:delete
|
||||
DELETE {{baseUrl}}/api-keys/123
|
||||
Authorization: Bearer {{adminApiKey}}
|
||||
Accept: application/json
|
||||
|
||||
### 11. Mendapatkan API Key Milik User Tertentu
|
||||
# Permission yang dibutuhkan: api_keys:read
|
||||
GET {{baseUrl}}/api-keys/user/456
|
||||
Authorization: Bearer {{adminApiKey}}
|
||||
Accept: application/json
|
||||
|
||||
### 12. Mendapatkan API Key Milik User Saat Ini
|
||||
# User dapat melihat API key miliknya sendiri
|
||||
GET {{baseUrl}}/api-keys/me
|
||||
Authorization: Bearer {{userApiKey}}
|
||||
Accept: application/json
|
||||
|
||||
### 13. Membuat API Key untuk Self (User Membuat untuk Dirinya Sendiri)
|
||||
# Permission yang diperlukan: api_keys:create-self
|
||||
POST {{baseUrl}}/api-keys/generate-self
|
||||
Authorization: Bearer {{userApiKey}}
|
||||
Content-Type: application/json
|
||||
Accept: application/json
|
||||
|
||||
{
|
||||
"name": "My Personal API Key",
|
||||
"permissions": {
|
||||
"prices": "read",
|
||||
"products": "read",
|
||||
"cart": "read,write",
|
||||
"orders": "read,write"
|
||||
},
|
||||
"expires_in_days": 365,
|
||||
"description": "API Key untuk penggunaan pribadi"
|
||||
}
|
||||
|
||||
### 14. Validasi API Key
|
||||
# Endpoint untuk mengecek apakah API key valid dan mengambil informasi permission
|
||||
GET {{baseUrl}}/api-keys/validate
|
||||
Authorization: Bearer {{userApiKey}}
|
||||
Accept: application/json
|
||||
|
||||
### 15. Dapatkan Statistik Penggunaan API Key
|
||||
# Permission yang dibutuhkan: api_keys:read, statistics:read
|
||||
GET {{baseUrl}}/api-keys/123/usage
|
||||
Authorization: Bearer {{adminApiKey}}
|
||||
Accept: application/json
|
||||
|
||||
Reference in New Issue
Block a user