Update README.md
This commit is contained in:
parent
169269267d
commit
41e147fb28
194
README.md
194
README.md
@ -189,40 +189,61 @@ Jika tidak menyertakan token atau token salah, API akan mengembalikan response `
|
|||||||
|
|
||||||
## 📡 Daftar Endpoint
|
## 📡 Daftar Endpoint
|
||||||
|
|
||||||
| Endpoint | Method | Auth | Fungsi |
|
Base URL default:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
http://localhost:8080
|
||||||
|
```
|
||||||
|
|
||||||
|
Jika menjalankan server dengan port lain, misalnya `py app.py --port 5000`, ganti `8080` menjadi `5000`.
|
||||||
|
|
||||||
|
Semua request ke endpoint API wajib menyertakan header autentikasi:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
Authorization: Bearer secret123
|
||||||
|
```
|
||||||
|
|
||||||
|
### Ringkasan Endpoint
|
||||||
|
|
||||||
|
| Method | URL | Auth | Fungsi |
|
||||||
|---|---|---|---|
|
|---|---|---|---|
|
||||||
| `/` | `GET` | Tidak | Halaman playground UI |
|
| `GET` | `/api/enroll` | Ya | List semua enrollment |
|
||||||
| `/api/enroll` | `GET` | Ya | List semua enrollment |
|
| `GET` | `/api/enroll?id=<id>` | Ya | Mendapatkan detail enrollment berdasarkan ID |
|
||||||
| `/api/enroll?id=<id>` | `GET` | Ya | Mendapatkan detail enrollment berdasarkan ID |
|
| `POST` | `/api/enroll` | Ya | Tambah enrollment baru |
|
||||||
| `/api/enroll` | `POST` | Ya | Tambah, edit, atau hapus enrollment |
|
| `POST` | `/api/enroll` | Ya | Edit enrollment berdasarkan `id` |
|
||||||
|
| `POST` | `/api/enroll` | Ya | Hapus enrollment berdasarkan `id` |
|
||||||
|
|
||||||
|
Endpoint `POST /api/enroll` dapat menerima data dalam format:
|
||||||
|
|
||||||
|
- Form URL-encoded
|
||||||
|
- JSON
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## 🧬 Database Schema
|
## 🧪 Detail Endpoint
|
||||||
|
|
||||||
Tabel: `enroll`
|
### 1. `GET /api/enroll` — List Semua Enrollment
|
||||||
|
|
||||||
| Kolom | Tipe | Keterangan |
|
**Method:** `GET`
|
||||||
|---|---|---|
|
|
||||||
| `id` | INTEGER | Primary key, auto-increment |
|
|
||||||
| `type` | TEXT | Tipe enrollment, hanya boleh `Annually` atau `Monthly` |
|
|
||||||
| `service` | TEXT | Paket layanan, hanya boleh `Lite`, `Value`, atau `Pro` |
|
|
||||||
| `user` | TEXT | Nama pengguna |
|
|
||||||
|
|
||||||
---
|
**URL:**
|
||||||
|
|
||||||
## 🧪 Penggunaan Endpoint
|
```bash
|
||||||
|
http://localhost:8080/api/enroll
|
||||||
|
```
|
||||||
|
|
||||||
### 1. List Semua Enrollment
|
**Autentikasi:** wajib
|
||||||
|
|
||||||
**Request**
|
**Parameter request:** tidak ada
|
||||||
|
|
||||||
|
**Contoh request:**
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
curl -H "Authorization: Bearer secret123" \
|
curl -H "Authorization: Bearer secret123" \
|
||||||
http://localhost:8080/api/enroll
|
http://localhost:8080/api/enroll
|
||||||
```
|
```
|
||||||
|
|
||||||
**Response**
|
**Response sukses:**
|
||||||
|
|
||||||
```json
|
```json
|
||||||
{
|
{
|
||||||
@ -243,18 +264,42 @@ curl -H "Authorization: Bearer secret123" \
|
|||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
|
**Response error jika token tidak valid:**
|
||||||
|
|
||||||
|
```json
|
||||||
|
{
|
||||||
|
"error": "invalid token"
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
### 2. Detail Enrollment Berdasarkan ID
|
### 2. `GET /api/enroll?id=<id>` — Detail Enrollment Berdasarkan ID
|
||||||
|
|
||||||
**Request**
|
**Method:** `GET`
|
||||||
|
|
||||||
|
**URL:**
|
||||||
|
|
||||||
|
```bash
|
||||||
|
http://localhost:8080/api/enroll?id=1
|
||||||
|
```
|
||||||
|
|
||||||
|
**Autentikasi:** wajib
|
||||||
|
|
||||||
|
**Parameter request:**
|
||||||
|
|
||||||
|
| Parameter | Tipe | Wajib | Keterangan |
|
||||||
|
|---|---|---|---|
|
||||||
|
| `id` | integer | Ya | ID enrollment yang ingin dicari |
|
||||||
|
|
||||||
|
**Contoh request:**
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
curl -H "Authorization: Bearer secret123" \
|
curl -H "Authorization: Bearer secret123" \
|
||||||
"http://localhost:8080/api/enroll?id=1"
|
"http://localhost:8080/api/enroll?id=1"
|
||||||
```
|
```
|
||||||
|
|
||||||
**Response**
|
**Response sukses:**
|
||||||
|
|
||||||
```json
|
```json
|
||||||
{
|
{
|
||||||
@ -267,7 +312,7 @@ curl -H "Authorization: Bearer secret123" \
|
|||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
Jika ID tidak ditemukan:
|
**Response jika ID tidak ditemukan:**
|
||||||
|
|
||||||
```json
|
```json
|
||||||
{
|
{
|
||||||
@ -277,12 +322,30 @@ Jika ID tidak ditemukan:
|
|||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
### 3. Tambah Enrollment Baru
|
### 3. `POST /api/enroll` — Tambah Enrollment Baru
|
||||||
|
|
||||||
Endpoint `POST /api/enroll` dapat menerima data dalam format form-urlencoded atau JSON.
|
**Method:** `POST`
|
||||||
|
|
||||||
|
**URL:**
|
||||||
|
|
||||||
|
```bash
|
||||||
|
http://localhost:8080/api/enroll
|
||||||
|
```
|
||||||
|
|
||||||
|
**Autentikasi:** wajib
|
||||||
|
|
||||||
|
**Request body:**
|
||||||
|
|
||||||
|
| Field | Wajib | Keterangan |
|
||||||
|
|---|---|---|
|
||||||
|
| `type` | Ya | Harus `Annually` atau `Monthly` |
|
||||||
|
| `service` | Ya | Harus `Lite`, `Value`, atau `Pro` |
|
||||||
|
| `user` | Ya | Nama pengguna |
|
||||||
|
|
||||||
#### Menggunakan Form Data
|
#### Menggunakan Form Data
|
||||||
|
|
||||||
|
**Contoh request:**
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
curl -X POST http://localhost:8080/api/enroll \
|
curl -X POST http://localhost:8080/api/enroll \
|
||||||
-H "Authorization: Bearer secret123" \
|
-H "Authorization: Bearer secret123" \
|
||||||
@ -293,6 +356,8 @@ curl -X POST http://localhost:8080/api/enroll \
|
|||||||
|
|
||||||
#### Menggunakan JSON
|
#### Menggunakan JSON
|
||||||
|
|
||||||
|
**Contoh request:**
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
curl -X POST http://localhost:8080/api/enroll \
|
curl -X POST http://localhost:8080/api/enroll \
|
||||||
-H "Authorization: Bearer secret123" \
|
-H "Authorization: Bearer secret123" \
|
||||||
@ -304,7 +369,7 @@ curl -X POST http://localhost:8080/api/enroll \
|
|||||||
}'
|
}'
|
||||||
```
|
```
|
||||||
|
|
||||||
**Response**
|
**Response sukses:**
|
||||||
|
|
||||||
```json
|
```json
|
||||||
{
|
{
|
||||||
@ -313,14 +378,43 @@ curl -X POST http://localhost:8080/api/enroll \
|
|||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
|
**Response error jika field wajib kosong:**
|
||||||
|
|
||||||
|
```json
|
||||||
|
{
|
||||||
|
"error": "type, service, user are required"
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
### 4. Edit Enrollment
|
### 4. `POST /api/enroll` — Edit Enrollment
|
||||||
|
|
||||||
Untuk melakukan edit, kirim field `id` bersama data baru.
|
**Method:** `POST`
|
||||||
|
|
||||||
|
**URL:**
|
||||||
|
|
||||||
|
```bash
|
||||||
|
http://localhost:8080/api/enroll
|
||||||
|
```
|
||||||
|
|
||||||
|
**Autentikasi:** wajib
|
||||||
|
|
||||||
|
**Request body:**
|
||||||
|
|
||||||
|
| Field | Wajib | Keterangan |
|
||||||
|
|---|---|---|
|
||||||
|
| `id` | Ya | ID enrollment yang ingin diubah |
|
||||||
|
| `type` | Ya | Harus `Annually` atau `Monthly` |
|
||||||
|
| `service` | Ya | Harus `Lite`, `Value`, atau `Pro` |
|
||||||
|
| `user` | Ya | Nama pengguna |
|
||||||
|
|
||||||
|
> Jangan kirim `action=remove` jika ingin melakukan edit. Kirim `action=remove` hanya untuk menghapus data.
|
||||||
|
|
||||||
#### Menggunakan Form Data
|
#### Menggunakan Form Data
|
||||||
|
|
||||||
|
**Contoh request:**
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
curl -X POST http://localhost:8080/api/enroll \
|
curl -X POST http://localhost:8080/api/enroll \
|
||||||
-H "Authorization: Bearer secret123" \
|
-H "Authorization: Bearer secret123" \
|
||||||
@ -332,6 +426,8 @@ curl -X POST http://localhost:8080/api/enroll \
|
|||||||
|
|
||||||
#### Menggunakan JSON
|
#### Menggunakan JSON
|
||||||
|
|
||||||
|
**Contoh request:**
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
curl -X POST http://localhost:8080/api/enroll \
|
curl -X POST http://localhost:8080/api/enroll \
|
||||||
-H "Authorization: Bearer secret123" \
|
-H "Authorization: Bearer secret123" \
|
||||||
@ -344,7 +440,7 @@ curl -X POST http://localhost:8080/api/enroll \
|
|||||||
}'
|
}'
|
||||||
```
|
```
|
||||||
|
|
||||||
**Response**
|
**Response sukses:**
|
||||||
|
|
||||||
```json
|
```json
|
||||||
{
|
{
|
||||||
@ -353,17 +449,39 @@ curl -X POST http://localhost:8080/api/enroll \
|
|||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
|
**Response jika ID tidak ditemukan:**
|
||||||
|
|
||||||
|
```json
|
||||||
|
{
|
||||||
|
"error": "not found"
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
### 5. Hapus Enrollment
|
### 5. `POST /api/enroll` — Hapus Enrollment
|
||||||
|
|
||||||
Untuk menghapus data, gunakan `POST /api/enroll` dengan field:
|
**Method:** `POST`
|
||||||
|
|
||||||
- `id`
|
**URL:**
|
||||||
- `action=remove`
|
|
||||||
|
```bash
|
||||||
|
http://localhost:8080/api/enroll
|
||||||
|
```
|
||||||
|
|
||||||
|
**Autentikasi:** wajib
|
||||||
|
|
||||||
|
**Request body:**
|
||||||
|
|
||||||
|
| Field | Wajib | Keterangan |
|
||||||
|
|---|---|---|
|
||||||
|
| `id` | Ya | ID enrollment yang ingin dihapus |
|
||||||
|
| `action` | Ya | Harus bernilai `remove` |
|
||||||
|
|
||||||
#### Menggunakan Form Data
|
#### Menggunakan Form Data
|
||||||
|
|
||||||
|
**Contoh request:**
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
curl -X POST http://localhost:8080/api/enroll \
|
curl -X POST http://localhost:8080/api/enroll \
|
||||||
-H "Authorization: Bearer secret123" \
|
-H "Authorization: Bearer secret123" \
|
||||||
@ -373,6 +491,8 @@ curl -X POST http://localhost:8080/api/enroll \
|
|||||||
|
|
||||||
#### Menggunakan JSON
|
#### Menggunakan JSON
|
||||||
|
|
||||||
|
**Contoh request:**
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
curl -X POST http://localhost:8080/api/enroll \
|
curl -X POST http://localhost:8080/api/enroll \
|
||||||
-H "Authorization: Bearer secret123" \
|
-H "Authorization: Bearer secret123" \
|
||||||
@ -383,7 +503,7 @@ curl -X POST http://localhost:8080/api/enroll \
|
|||||||
}'
|
}'
|
||||||
```
|
```
|
||||||
|
|
||||||
**Response**
|
**Response sukses:**
|
||||||
|
|
||||||
```json
|
```json
|
||||||
{
|
{
|
||||||
@ -392,6 +512,14 @@ curl -X POST http://localhost:8080/api/enroll \
|
|||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
|
**Response jika ID tidak ditemukan:**
|
||||||
|
|
||||||
|
```json
|
||||||
|
{
|
||||||
|
"error": "not found"
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## 🧠 Logika `POST /api/enroll`
|
## 🧠 Logika `POST /api/enroll`
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user