Undang pengguna ke proyek atau perusahaan dengan tingkat akses tertentu dan peran kustom.


Undang Pengguna

Mutasi inviteUser memungkinkan Anda untuk mengundang pengguna ke proyek atau perusahaan Blue Anda. Pengguna dapat diberikan tingkat akses yang telah ditentukan sebelumnya atau peran kustom dengan izin tertentu.

Contoh Dasar

Undang pengguna dengan tingkat akses standar:

mutation InviteUserToProject {
  inviteUser(
    input: {
      email: "newuser@example.com"
      projectId: "web-redesign"
      accessLevel: MEMBER
    }
  )
}

Contoh Lanjutan

Undang pengguna dengan peran kustom ke beberapa proyek:

mutation InviteUserWithCustomRole {
  inviteUser(
    input: {
      email: "contractor@example.com"
      projectIds: ["web-redesign", "mobile-app", "api-v2"]
      accessLevel: MEMBER
      roleId: "role_contractor_123"
    }
  )
}

Parameter Input

InviteUserInput

Parameter Tipe Diperlukan Deskripsi
email String! ✅ Ya Alamat email pengguna yang akan diundang
accessLevel UserAccessLevel! ✅ Ya Tingkat akses yang diberikan (lihat tabel di bawah)
projectId String Tidak ID proyek tunggal (tidak dapat digunakan bersamaan dengan companyId)
projectIds [String!] Tidak Beberapa ID proyek saat menggunakan companyId
companyId String Tidak ID perusahaan untuk undangan tingkat perusahaan (tidak dapat digunakan bersamaan dengan projectId)
roleId String Tidak ID peran kustom (memerlukan accessLevel: MEMBER)

Nilai UserAccessLevel

Nilai Deskripsi
OWNER Kontrol penuh atas proyek/perusahaan
ADMIN Akses administratif, dapat mengelola pengguna dan pengaturan
MEMBER Akses anggota standar dengan fungsionalitas penuh
CLIENT Akses terbatas untuk klien eksternal
COMMENT_ONLY Hanya dapat melihat dan mengomentari catatan
VIEW_ONLY Akses hanya baca ke proyek

Bidang Respons

Bidang Tipe Deskripsi
success Boolean! Apakah undangan berhasil dikirim

Izin yang Diperlukan

Pengguna harus memiliki izin yang cukup untuk mengundang orang lain. Hierarki izin ditegakkan:

Peran Anda Dapat Mengundang
OWNER ✅ Semua tingkat akses
ADMIN ✅ ADMIN, MEMBER, CLIENT, COMMENT_ONLY, VIEW_ONLY (tidak dapat mengundang OWNER)
MEMBER ✅ MEMBER, CLIENT, COMMENT_ONLY, VIEW_ONLY (tidak dapat mengundang OWNER atau ADMIN)
CLIENT ✅ Hanya CLIENT
COMMENT_ONLY ❌ Tidak dapat mengundang
VIEW_ONLY ❌ Tidak dapat mengundang

Catatan: Untuk undangan perusahaan (menggunakan companyId), hanya PEMILIK perusahaan yang dapat mengundang pengguna.

Jenis Undangan

Undangan Proyek

Undang pengguna ke satu proyek:

  • Gunakan parameter projectId
  • Tidak dapat menggunakan companyId secara bersamaan
  • Pengundang harus memiliki akses ke proyek
  • Pembatasan tingkat akses berlaku

Undangan Perusahaan

Undang pengguna ke perusahaan (dan opsional proyek tertentu):

  • Gunakan parameter companyId
  • Tidak dapat menggunakan projectId secara bersamaan
  • Hanya PEMILIK perusahaan yang dapat menggunakan metode ini
  • Gunakan array projectIds untuk menentukan proyek mana yang akan disertakan
  • Jika projectIds dihilangkan, pengguna hanya mendapatkan akses perusahaan

Peran Kustom

Saat menggunakan peran kustom:

  1. Atur accessLevel ke MEMBER
  2. Berikan roleId dari peran kustom Anda
  3. Pengguna akan mewarisi semua izin yang ditentukan dalam peran kustom
  4. Peran kustom bersifat spesifik proyek

Untuk mengambil peran kustom yang tersedia, gunakan projectUserRoles kueri.

Respons Kesalahan

Pengguna Sudah Ada di Proyek

{
  "errors": [{
    "message": "User is already in the project.",
    "extensions": {
      "code": "USER_ALREADY_IN_THE_PROJECT"
    }
  }]
}

Izin Tidak Cukup

{
  "errors": [{
    "message": "You don't have permission to invite users with this access level",
    "extensions": {
      "code": "UNAUTHORIZED"
    }
  }]
}

Proyek Tidak Valid

{
  "errors": [{
    "message": "Project not found",
    "extensions": {
      "code": "PROJECT_NOT_FOUND"
    }
  }]
}

Batas Undangan Terlampaui

{
  "errors": [{
    "message": "Unable to invite more people.",
    "extensions": {
      "code": "INVITATION_LIMIT"
    }
  }]
}

Tidak Dapat Mengundang Diri Sendiri

{
  "errors": [{
    "message": "You are not allowed to add yourself.",
    "extensions": {
      "code": "ADD_SELF"
    }
  }]
}

Peran Kustom Tidak Valid

{
  "errors": [{
    "message": "Project user role was not found.",
    "extensions": {
      "code": "PROJECT_USER_ROLE_NOT_FOUND"
    }
  }]
}

Perusahaan Dilarang

{
  "errors": [{
    "message": "Company is banned",
    "extensions": {
      "code": "COMPANY_BANNED"
    }
  }]
}

Catatan Penting

  • Validasi Email: Alamat email dinormalisasi dan divalidasi sebelum mengirim undangan
  • Kedaluwarsa Undangan: Undangan kedaluwarsa setelah 7 hari dan harus dikirim ulang jika tidak diterima
  • Notifikasi Otomatis: Blue secara otomatis mengirim email undangan kepada pengguna baru
  • Pemilik Perusahaan: Pemilik perusahaan secara otomatis menerima akses ADMIN di semua proyek
  • Dampak Penagihan: Menambahkan pengguna dapat mempengaruhi langganan Anda jika Anda memiliki harga per pengguna
  • Pencatatan Aktivitas: Semua undangan pengguna dicatat untuk tujuan audit
  • Eksklusivitas Parameter: Anda harus memberikan projectId ATAU companyId, bukan keduanya
  • Pembatasan Perusahaan: Hanya pemilik perusahaan yang dapat menggunakan parameter companyId
  • Undangan Diri Sendiri: Pengguna tidak dapat mengundang diri mereka sendiri (akan menghasilkan kesalahan ADD_SELF)

Operasi Terkait

Asisten AI

Respon dihasilkan menggunakan AI dan mungkin mengandung kesalahan.

Bagaimana saya bisa membantu Anda?

Tanyakan apa saja tentang Blue atau dokumentasi ini.

Masukkan untuk mengirim • Shift+Masukkan untuk baris baru • ⌘I untuk membuka