Endpoint /me

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 biasaEndpoint /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.

Header Authorization

Gunakan header berikut untuk semua endpoint /me/*:

http
Authorization: Bearer <user_session_token>
Accept: application/json

Token didapat dari:

http
POST /wp-json/sejoli/v1/sessions

Endpoint

http
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

http
GET /wp-json/sejoli/v1/me

Mengembalikan informasi user dari JWT dan snapshot permission yang umum dibutuhkan aplikasi user-facing.

Contoh response:

json
{
  "success": true,
  "data": {
    "id": 35,
    "display_name": "User Name",
    "email": "user@example.com",
    "phone": "",
    "bank": "",
    "can_affiliate": true
  }
}

Ringkasan Komisi

http
GET /wp-json/sejoli/v1/me/commission-summary

Parameter:

ParameterTipeKeterangan
date_startstringTanggal mulai.
date_endstringTanggal akhir.

Daftar Komisi Saya

http
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.

Produk yang Bisa Dipromosikan

http
GET /wp-json/sejoli/v1/me/products
http
GET /wp-json/sejoli/v1/me/links?product_id=123

Parameter:

ParameterTipeWajibKeterangan
product_idintegerYaID produk.

Materi Kreatif

http
GET /wp-json/sejoli/v1/me/creatives?product_id=123

Parameter:

ParameterTipeWajibKeterangan
product_idintegerYaID produk.

Ranking dan Leaderboard

http
GET /wp-json/sejoli/v1/me/rank
GET /wp-json/sejoli/v1/me/leaderboard

Withdrawal

http
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:

ParameterTipeKeterangan
statusstringFilter status withdrawal.
pageintegerNomor halaman.
per_pageintegerJumlah data per halaman.

Error Umum

StatusCodeKeterangan
401sejoli_session_missing_tokenBearer token tidak dikirim.
401sejoli_session_invalid_tokenToken salah, kadaluarsa, atau payload tidak valid.
401sejoli_session_user_goneUser pada token sudah tidak ada.
400rest_missing_callback_paramParameter wajib endpoint tidak dikirim.

Last updated Jul 7, 2026