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. Hal ini serupa dengan fungsi yang dapat ditemukan di tab 'Organisasi dan pengguna' di konsol Admin. Hierarki unit organisasi pelanggan dibatasi hingga 35 tingkat. Untuk mengetahui informasi selengkapnya, lihat Pusat bantuan Admin.

  • Hanya ada satu hierarki organisasi dalam 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 mengetahui informasi selengkapnya tentang domain primer, lihat Informasi batas API.
  • Nama jalur unit organisasi bersifat unik. Nama unit organisasi mungkin tidak 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. Setiap unit organisasi dapat memblokir rantai pewarisan induk ini dengan mengganti kebijakan yang diwarisi. Keutamaan suatu kebijakan di atas kebijakan lainnya ditentukan oleh unit organisasi terdekat. Artinya, kebijakan unit organisasi yang lebih rendah dapat lebih diutamakan daripada kebijakan unit induk yang lebih tinggi. Setelan blockInheritance memungkinkan pewarisan setelan pemblokiran ke unit organisasi dan suborganisasinya. blockInheritance tidak digunakan lagi. Menyetelnya ke `true` tidak lagi didukung dan dapat memiliki konsekuensi yang tidak diinginkan. Untuk informasi selengkapnya tentang pewarisan dan pengguna dalam struktur organisasi, lihat pusat bantuan administrasi.
  • Unit organisasi dapat dipindahkan ke atas atau ke bawah pohon hierarki. Selain itu, pengguna terkait organisasi dapat dipindahkan satu per satu atau dalam batch 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 entitas dijamin konsisten pada saat entitas diambil.Artinya, Anda tidak akan melihat pembaruan "sebagian". Jika operasi pengambilan menampilkan lebih dari satu entitas, tidak ada jaminan konsistensi di seluruh entitas.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 di 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 Mengambil 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 di Permintaan otorisasi. 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 Mengambil 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 telah 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 menyetel properti parentOrgUnitPath dalam permintaan. Perlu diperhatikan bahwa pemindahan unit organisasi dapat mengubah layanan dan setelan bagi pengguna di unit organisasi yang dipindahkan.

Respons JSON

Respons yang berhasil akan menampilkan kode status HTTP 201. Bersama dengan kode status, respons 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. 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 di 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 Mengambil pengguna.

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

Respons JSON

Pada contoh di bawah, unit organisasi 'penjualan garis depan' diambil. Perhatikan encoding HTTP 'frontline+sales' 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 plus unit organisasi yang ditetapkan, gunakan permintaan GET berikut dan sertakan otorisasi yang dijelaskan dalam Permintaan otorisasi. Untuk properti permintaan dan respons, lihat Referensi API.

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

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 Mengambil 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 sub-unit organisasi all di bawah orgUnitPath, children langsung dari orgUnitPath, atau semua sub-unit 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 di Permintaan otorisasi. Untuk mengambil customerId, gunakan operasi Mengambil 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 Mengambil pengguna.

DELETE https://admin.googleapis.com/admin/directory/v1/customer/customerId/orgunits/orgUnitPath
Misalnya, permintaan DELETE administrator reseller ini menghapus unit organisasi 'backend_tests':
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 ke unit organisasi tersebut. Anda perlu menetapkan kembali pengguna ke unit organisasi lainnya dan menghapus unit organisasi turunan sebelum menghapusnya.