ServiceUser

Terakhir diperbarui: 3 Juli 2026

ServiceUser adalah end-user produk yang mendaftar melalui ServiceLogin, yaitu akun anggota. Identitasnya terpisah dari akun platform Weegloo (Weegloo User yang masuk ke studio konten), dan token ServiceUser diautentikasi terhadap ACMA/ACDA.

ServiceUser dibuat saat anggota mendaftar sendiri melalui ServiceLogin. Karena itu API ini tidak memiliki endpoint pembuatan atau penghapusan, hanya pengambilan data dan sebagian penyuntingan oleh administrator (Weegloo User).

Struktur resource

Berikut adalah respons pengambilan tunggal untuk satu ServiceUser. Selain sys (properti sistem), resource ini memiliki properti isi nickname, avatarUrl, roleOverride, enableLogin, dan isAdmin yang menyimpan informasi tampilan anggota dan pengaturan izin.

{
  "sys": {
    "id": "3trmXRM3RqbgSnifyg7PSusr01Ex",
    "type": "ServiceUser",
    "space": { "sys": { "id": "HnQ32YiH", "type": "Refer", "targetType": "Space" } },
    "provider": "google",
    "email": "buyer@example.com",
    "createdAt": "2026-06-18T12:50:00.000Z",
    "updatedAt": "2026-06-18T12:50:00.000Z"
  },
  "nickname": "Pelanggan setia",
  "avatarUrl": "https://lh3.example.com/a/buyer-avatar",
  "roleOverride": null,
  "enableLogin": true,
  "isAdmin": false
}

Kunci utama:

  • sys.email: alamat email yang dipakai anggota untuk mendaftar. Bersama sys.provider, menunjukkan dengan akun apa anggota tersebut mendaftar.
  • sys.provider: penyedia OAuth yang dipakai untuk mendaftar (misalnya google).
  • roleOverride: Refer yang diisi saat memberikan ServiceUserRole berbeda hanya kepada anggota ini. Jika kosong (null), anggota mengikuti peran bawaan dari ServiceLogin.
  • isAdmin: jika diaktifkan, anggota ini dapat menghapus resource yang dibuat anggota lain. Ini adalah izin yang sempit dan tidak memberikan izin penyuntingan atau pembacaan terhadap resource anggota lain.

Properti sistem (sys)

Setiap ServiceUser menyimpan properti sistem umum di objek sys. space masuk dalam bentuk Refer ({ "sys": { "id", "type": "Refer", "targetType" } }).

PropertiTipeDeskripsi
idstringPengidentifikasi unik resource.
typestringJenis resource. Untuk ServiceUser selalu "ServiceUser".
spaceRefer<Space>Space tempat ServiceUser ini berada.
providerstringPenyedia OAuth yang dipakai untuk mendaftar (misalnya google).
emailstringAlamat email yang dipakai untuk mendaftar.
createdAtstring (date-time)Waktu pendaftaran (pembuatan).
updatedAtstring (date-time)Waktu penyuntingan terakhir.

Karena ServiceUser adalah resource yang dibuat anggota melalui pendaftarannya sendiri, berbeda dari resource CMA lain, sys tidak memiliki createdBy, updatedBy, atau version. Karena tidak ada version, penyuntingan (PUT, PATCH) juga tidak mengirim header X-Weegloo-Version. Tidak ada konsep publikasi, sehingga tidak ada publish, archive, maupun status.

Properti isi

PropertiTipeDeskripsi
nicknamestringNama tampilan anggota.
avatarUrlstringAlamat gambar profil (opsional).
roleOverrideRefer<ServiceUserRole>ServiceUserRole yang diberikan hanya kepada anggota ini (opsional). Jika ditentukan, lebih diutamakan daripada peran bawaan dari ServiceLogin.
enableLoginbooleanApakah login diizinkan. Jika dimatikan, login anggota ini diblokir.
isAdminbooleanJika diaktifkan, anggota dapat menghapus resource yang dibuat anggota lain. Ini adalah izin yang sempit dan tidak memberikan izin penyuntingan atau pembacaan terhadap resource anggota lain.

Pengelolaan anggota

Karena ServiceUser terbentuk melalui pendaftaran, tidak ada endpoint pembuatan, dan tidak ada pula endpoint penghapusan. Yang dapat disesuaikan administrator (Weegloo User) melalui penyuntingan (PUT, PATCH) adalah tiga hal berikut.

  • Menentukan/melepas roleOverride: memberikan ServiceUserRole berbeda hanya kepada anggota tertentu. Dipakai saat memperlakukan satu anggota secara berbeda, seperti tingkatan berbayar, moderator, atau grup beta. roleOverride yang ditentukan lebih diutamakan daripada defaultRole dari ServiceLogin.
  • Mengalihkan enableLogin: jika dimatikan, login anggota tersebut diblokir.
  • Mengalihkan isAdmin: jika diaktifkan, anggota dapat menghapus resource yang dibuat anggota lain untuk keperluan moderasi.

isAdmin adalah flag sempit yang hanya menambahkan kemampuan menghapus resource anggota lain. Flag ini tidak memberikan izin penyuntingan atau pembacaan terhadap resource anggota lain, dan tidak juga menaikkan anggota ini menjadi administrator studio konten Weegloo (administrator CMA). Flag ini juga tidak membuka operasi yang sejak awal tidak diizinkan oleh ServiceUserRole yang dimiliki anggota tersebut.

API

Base URL untuk semua endpoint di bawah ini adalah https://cma.weegloo.com/v1, dan diperlukan token Bearer yang mengautentikasi CMA pada header Authorization. Karena ServiceUser adalah resource tanpa version, penyuntingan (PUT, PATCH) juga tidak mengirim header X-Weegloo-Version. Tidak ada endpoint pembuatan atau penghapusan (dibuat melalui pendaftaran).