Directory API: Unit Organisasi

Kelola unit organisasi

Struktur organisasi akun Google Workspace terdiri dari unit organisasi yang memungkinkan Anda mengelola pengguna dalam struktur yang logis dan hierarkis. Fungsi ini serupa dengan fungsi yang ada di 'Organisasi dan pengguna' konsol Admin . Hierarki unit organisasi pelanggan dibatasi hingga 35 tingkat kedalaman. Untuk mengetahui informasi selengkapnya, lihat Pusat bantuan admin.

  • Hanya ada satu hierarki organisasi untuk satu akun Google Workspace. Saat pertama kali dikonfigurasi, akun ini memiliki unit organisasi di tingkat akun. Ini adalah organisasi yang dikaitkan dengan domain primer. Untuk informasi selengkapnya tentang domain primer, lihat Informasi batas API.
  • Nama jalur unit organisasi bersifat unik. Nama unit organisasi tidak boleh unik dalam hierarki organisasi, tetapi namanya unik untuk unit organisasi seinduknya. Selain itu, nama unit organisasi tidak peka huruf besar/kecil.
  • Unit organisasi mewarisi kebijakan dari hierarki organisasi. Semua organisasi dapat memblokir rantai pewarisan induk ini dengan mengganti kebijakan yang diwarisi. Tujuan prioritas satu kebijakan daripada kebijakan lainnya ditentukan oleh unit organisasi yang terdekat. Artinya, kebijakan unit organisasi yang lebih rendah dapat didahulukan daripada kebijakan unit unit induk yang lebih tinggi. Setelan blockInheritance memungkinkan pewarisan setelan pemblokiran ke unit organisasi dan sub-organisasinya. blockInheritance tidak digunakan lagi. Menetapkannya ke `true` tidak lagi didukung dan dapat memiliki konsekuensi yang tidak diinginkan. Sebagai informasi selengkapnya tentang pewarisan dan pengguna dalam struktur organisasi, lihat pusat bantuan administrasi.
  • Unit organisasi dapat dipindahkan ke atas atau ke bawah dalam pohon hierarki. Selain itu, pengguna terkait organisasi dapat dipindahkan satu per satu atau secara berkelompok saat mengisi organisasi baru atau memindahkan sebagian pengguna dari satu unit organisasi ke unit organisasi lainnya.
  • Data yang disimpan di properti unit organisasi dapat terus berubah. Saat membuat permintaan, properti yang ditampilkan untuk entity dijamin konsisten pada saat entity diambil.Artinya, Anda tidak akan melihat "sebagian" pembaruan. Jika operasi pengambilan menampilkan lebih dari satu entity, tidak ada jaminan konsistensi di seluruh entity.Hal ini terutama berlaku jika respons mencakup beberapa halaman dalam penomoran halaman.

Membuat unit organisasi

Untuk membuat unit organisasi, gunakan permintaan POST berikut dan sertakan otorisasi yang dijelaskan dalam Permintaan otorisasi.

Jika Anda adalah administrator yang membuat unit organisasi, gunakan my_customer.

POST https://admin.googleapis.com/admin/directory/v1/customer/my_customer/orgunits

Jika Anda adalah reseller yang membuat unit organisasi untuk pelanggan reseller, gunakan customerId. Untuk mengambil customerId, gunakan operasi Ambil pengguna.

POST https://admin.googleapis.com/admin/directory/v1/customer/customerId/orgunits

Untuk memahami struktur organisasi akun Anda, lihat Pusat bantuan admin. Untuk properti permintaan dan respons, lihat Referensi API.

Permintaan JSON

Contoh reseller JSON berikut menunjukkan contoh isi permintaan yang membuat unit organisasi sales_support. name dan parentOrgUnitPath wajib ada:

POST https://admin.googleapis.com/admin/directory/v1/customer/C03az79cb/orgunits
{
    "name": "sales_support",
    "description": "The sales support team",
    "parentOrgUnitPath": "/corp/support",
    "blockInheritance": false
}

Respons JSON

Respons yang berhasil akan menampilkan kode status HTTP 201. Bersama dengan kode status, respons akan menampilkan properti untuk grup baru:

{
    "kind": "directory#orgUnit",
    "name": "sales_support",
    "description": "The sales support team",
    "orgUnitPath": "/corp/support/sales_support",
    "parentOrgUnitPath": "/corp/support",
    "blockInheritance": false
  }

Memperbarui unit organisasi

Untuk memperbarui unit organisasi, gunakan permintaan PUT berikut dan sertakan otorisasi yang dijelaskan dalam Otorisasi permintaan. Untuk properti permintaan dan respons, lihat Referensi API:

Jika Anda adalah administrator yang memperbarui unit organisasi, gunakan my_customer.

 PUT https://admin.googleapis.com/admin/directory/v1/customer/my_customer/orgunits/orgUnitPath

Jika Anda adalah reseller yang memperbarui unit organisasi untuk pelanggan reseller, gunakan customerId. Untuk mendapatkan customerId, gunakan operasi Ambil pengguna.

PUT https://admin.googleapis.com/admin/directory/v1/customer/customerId/orgunits/orgUnitPath

Permintaan JSON

Pada contoh di bawah, deskripsi unit organisasi telah diperbarui:

PUT https://admin.googleapis.com/admin/directory/v1/customer/my_customer/orgunits/corp/support/sales_support
{
    "description": "The BEST sales support team"
}

Catatan untuk permintaan update:

  • Anda hanya perlu mengirimkan informasi yang diperbarui dalam permintaan Anda. Anda tidak perlu memasukkan semua properti grup dalam permintaan.
  • Jika pengguna tidak ditetapkan ke unit organisasi tertentu saat akun pengguna dibuat, akun tersebut berada di unit organisasi tingkat teratas.
  • Anda dapat memindahkan unit organisasi ke bagian lain dari struktur organisasi akun Anda dengan menetapkan properti parentOrgUnitPath dalam permintaan. Penting untuk diperhatikan, bahwa memindahkan unit organisasi dapat mengubah layanan dan setelan untuk pengguna di unit organisasi yang dipindahkan.

Respons JSON

Respons yang berhasil akan menampilkan kode status HTTP 201. Bersama dengan kode status, respons akan menampilkan properti untuk unit organisasi yang diperbarui.

{
    "kind": "directory#orgUnit",
    "name": "sales_support",
    "description": "The BEST sales support team",
    "orgUnitPath": "/corp/support/sales_support",
    "parentOrgUnitPath": "/corp/support",
    "blockInheritance": false
}

Jika pengguna tidak ditetapkan ke unit organisasi tertentu saat akun pengguna dibuat, akun tersebut berada di unit organisasi tingkat teratas. Unit organisasi pengguna menentukan layanan Google Workspace yang dapat diakses pengguna tersebut. Jika pengguna dipindahkan ke organisasi baru, akses pengguna akan berubah. Untuk informasi selengkapnya tentang struktur organisasi, lihat pusat bantuan administrasi. Untuk informasi selengkapnya tentang cara memindahkan pengguna ke organisasi lain, lihat Memperbarui pengguna.

Mengambil unit organisasi

Untuk mengambil unit organisasi, gunakan permintaan GET berikut dan sertakan otorisasi yang dijelaskan dalam Permintaan otorisasi. String kueri orgUnitPath adalah jalur lengkap untuk unit organisasi ini. Untuk properti permintaan dan respons, lihat Referensi API:

Jika Anda adalah administrator yang mengambil unit organisasi, gunakan my_customer.

GET https://admin.googleapis.com/admin/directory/v1/customer/my_customer/orgunits/orgUnitPath

Jika Anda adalah reseller yang mengambil unit organisasi untuk pelanggan reseller, gunakan customerId. Untuk mendapatkan customerId, gunakan operasi Ambil pengguna.

GET https://admin.googleapis.com/admin/directory/v1/customer/customerId/orgunits/orgUnitPath

Respons JSON

Dalam contoh di bawah ini, 'penjualan garis depan' unit organisasi diambil. Perhatikan 'garis depan+penjualan' Encoding HTTP dalam URI permintaan:

GET https://admin.googleapis.com/admin/directory/v1/customer/my_customer/orgunits/corp/sales/frontline+sales

Respons yang berhasil akan menampilkan kode status HTTP 200. Bersama dengan kode status, respons akan menampilkan setelan unit organisasi:

{
    "kind": "directory#orgUnit",
    "name": "frontline sales",
    "description": "The frontline sales team",
    "orgUnitPath": "/corp/sales/frontline sales",
    "parentOrgUnitPath": "/corp/sales",
    "blockInheritance": false
}

Mengambil unit organisasi

Untuk mengambil semua sub-unit organisasi di bawah unit organisasi, turunan langsung di bawah unit organisasi, atau semua sub-unit organisasi ditambah unit organisasi yang ditetapkan, gunakan permintaan GET berikut dan sertakan otorisasi yang dijelaskan dalam Otorisasi permintaan. Untuk properti permintaan dan respons, lihat Referensi API.

Jika Anda adalah administrator akun yang mengambil semua unit sub-organisasi, gunakan my_customer. Agar mudah dibaca, contoh ini menggunakan pengembalian baris:

GET https://admin.googleapis.com/admin/directory/v1/customer/my_customer
/orgunits?orgUnitPath=full org unit path&type=all or children or all_including_parent

Jika Anda adalah reseller yang mengambil unit organisasi untuk pelanggan reseller, gunakan customerId. Untuk mendapatkan customerId, gunakan operasi Ambil pengguna:

GET https://admin.googleapis.com/admin/directory/v1/customer/customerId
/orgunits?orgUnitPath=full org unit path&type=all or children or all_including_parent

String kueri get menampilkan all unit sub-organisasi di bawah orgUnitPath, children langsung dari orgUnitPath, atau semua unit sub-organisasi dan orgUnitPath yang ditentukan untuk all_including_parent. Defaultnya adalah type=children.

Respons JSON

Misalnya, permintaan ini menampilkan semua unit organisasi yang dimulai dari unit organisasi /corp:

GET https://admin.googleapis.com/admin/directory/v1/customer/my_customer/orgunits?orgUnitPath=/corp&type=all

Respons yang berhasil akan menampilkan kode status HTTP 200. Bersama dengan kode status, respons akan menampilkan unit organisasi akun:

{
"kind": "directory#orgUnits",
    "organizationUnits": [
     {
    "kind": "directory#orgUnit",
    "name": "sales",
    "description": "The corporate sales team",
    "orgUnitPath": "/corp/sales",
    "parentOrgUnitPath": "/corp",
    "blockInheritance": false
     },
     {
    "kind": "directory#orgUnit",
    "name": "frontline sales",
    "description": "The frontline sales team",
    "orgUnitPath": "/corp/sales/frontline sales",
    "parentOrgUnitPath": "/corp/sales",
    "blockInheritance": false
     },
     {
    "kind": "directory#orgUnit",
    "name": "support",
    "description": "The corporate support team",
    "orgUnitPath": "/corp/support",
    "parentOrgUnitPath": "/corp",
    "blockInheritance": false
     },
     {
    "kind": "directory#orgUnit",
    "name": "sales_support",
    "description": "The BEST support team",
    "orgUnitPath": "/corp/support/sales_support",
    "parentOrgUnitPath": "/corp/support",
    "blockInheritance": false
     }
  ]
  }

Menghapus unit organisasi

Untuk menghapus unit organisasi, gunakan permintaan DELETE berikut dan sertakan otorisasi yang dijelaskan dalam Permintaan otorisasi. Untuk mengambil customerId, gunakan operasi Ambil pengguna. Untuk properti permintaan dan respons, lihat Referensi API:

Jika Anda adalah administrator akun yang menghapus unit organisasi, gunakan my_customer.

DELETE https://admin.googleapis.com/admin/directory/v1/customer/my_customer/orgunits/orgUnitPath

Jika Anda adalah reseller yang menghapus unit organisasi untuk pelanggan reseller, gunakan customerId. Untuk mendapatkan customerId, gunakan operasi Ambil pengguna.

DELETE https://admin.googleapis.com/admin/directory/v1/customer/customerId/orgunits/orgUnitPath
Misalnya, permintaan DELETE administrator reseller ini menghapus 'backend_tests' unit organisasi:
DELETE https://admin.googleapis.com/admin/directory/v1/customer/C03az79cb/orgunits/corp/sales/backend_tests

Respons yang berhasil akan menampilkan kode status HTTP 200.

Anda hanya dapat menghapus unit organisasi yang tidak memiliki unit organisasi turunan atau pengguna yang ditetapkan untuknya. Anda perlu menetapkan kembali pengguna ke unit organisasi lain dan menghapus unit organisasi turunan sebelum menghapusnya.