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:
- Atur
accessLevel
keMEMBER
- Berikan
roleId
dari peran kustom Anda - Pengguna akan mewarisi semua izin yang ditentukan dalam peran kustom
- 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
ATAUcompanyId
, 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
- Daftar Pengguna - Lihat semua pengguna dalam proyek atau perusahaan
- Hapus Pengguna - Hapus pengguna dari proyek
- Peran Kustom - Kelola peran pengguna kustom