Endpoint identity-bound untuk user yang memakai user-session token.
Endpoint /me digunakan untuk mengambil data milik user yang sedang terhubung melalui user-session token. Token dibuat oleh integrasi internal menggunakan endpoint POST /sessions, lalu dipakai oleh aplikasi/frontend user-facing untuk membaca data milik user tersebut.
Endpoint /me berbeda dari endpoint API biasa:
| Endpoint API biasa | Endpoint /me |
|---|
| Menggunakan API key. | Menggunakan user-session JWT. |
| Dipakai integrasi server/admin. | Dipakai untuk akses data user yang sedang login/terhubung. |
Client dapat mengirim parameter seperti user_id sesuai endpoint. | Identitas user selalu diambil dari JWT. |
Alur Autentikasi
- 1
Backend/internal app membuat session
Backend memanggil POST /sessions menggunakan API key dengan scope sessions:write.
- 2
API menerbitkan user-session token
Response berisi JWT dengan token_type: Bearer dan expires_in.
- 3
Frontend/user-facing app memanggil /me
Aplikasi mengirim JWT tersebut melalui header Authorization: Bearer <token>.
- 4
Server mengunci identitas dari JWT
Server mengambil user_id dari JWT dan mengabaikan user_id / affiliate_id yang dikirim client.
Gunakan header berikut untuk semua endpoint /me/*:
Token didapat dari:
POST /wp-json/sejoli/v1/sessions
Endpoint
GET /me
GET /me/commission-summary
GET /me/commissions
GET /me/products
GET /me/links
GET /me/creatives
GET /me/rank
GET /me/leaderboard
GET /me/withdrawals
POST /me/withdrawals
POST /me/withdrawals/{id}/cancel
Profile
GET /wp-json/sejoli/v1/me
Mengembalikan informasi user dari JWT dan snapshot permission yang umum dibutuhkan aplikasi user-facing.
Contoh response:
{
"success": true,
"data": {
"id": 35,
"display_name": "User Name",
"email": "user@example.com",
"phone": "",
"bank": "",
"can_affiliate": true
}
}
Ringkasan Komisi
GET /wp-json/sejoli/v1/me/commission-summary
Parameter:
| Parameter | Tipe | Keterangan |
|---|
date_start | string | Tanggal mulai. |
date_end | string | Tanggal akhir. |
Daftar Komisi Saya
GET /wp-json/sejoli/v1/me/commissions
Endpoint ini memaksa affiliate_id dari JWT. Jika client mengirim affiliate_id atau user_id, nilai tersebut akan diabaikan.
GET /wp-json/sejoli/v1/me/products
Link Affiliate Saya
GET /wp-json/sejoli/v1/me/links?product_id=123
Parameter:
| Parameter | Tipe | Wajib | Keterangan |
|---|
product_id | integer | Ya | ID produk. |
Materi Kreatif
GET /wp-json/sejoli/v1/me/creatives?product_id=123
Parameter:
| Parameter | Tipe | Wajib | Keterangan |
|---|
product_id | integer | Ya | ID produk. |
Ranking dan Leaderboard
GET /wp-json/sejoli/v1/me/rank
GET /wp-json/sejoli/v1/me/leaderboard
Withdrawal
GET /wp-json/sejoli/v1/me/withdrawals
POST /wp-json/sejoli/v1/me/withdrawals
POST /wp-json/sejoli/v1/me/withdrawals/{id}/cancel
Parameter list withdrawal:
| Parameter | Tipe | Keterangan |
|---|
status | string | Filter status withdrawal. |
page | integer | Nomor halaman. |
per_page | integer | Jumlah data per halaman. |
Error Umum
| Status | Code | Keterangan |
|---|
| 401 | sejoli_session_missing_token | Bearer token tidak dikirim. |
| 401 | sejoli_session_invalid_token | Token salah, kadaluarsa, atau payload tidak valid. |
| 401 | sejoli_session_user_gone | User pada token sudah tidak ada. |
| 400 | rest_missing_callback_param | Parameter wajib endpoint tidak dikirim. |