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

  • Hanya ada satu hierarki organisasi untuk akun Google Workspace. Saat pertama kali dikonfigurasi, akun ini memiliki unit organisasi di tingkat akun. Ini adalah organisasi yang terkait dengan domain primer. Untuk informasi selengkapnya tentang domain primer, lihat Informasi batas API.
  • Jalur nama 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. Setiap unit organisasi dapat memblokir rantai pewarisan induk ini dengan mengganti kebijakan yang diwarisi. Prioritas satu kebijakan 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. Untuk 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 massal 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 pembaruan "sebagian". 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 Mengizinkan permintaan.

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 yang dijual kembali, 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 diisi:

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

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"
  }

Memperbarui unit organisasi

Untuk memperbarui unit organisasi, gunakan permintaan PUT berikut dan sertakan otorisasi yang dijelaskan dalam Meminta 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 yang dijual kembali, 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 pembaruan:

  • 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 akan berada di unit organisasi tingkat teratas.
  • Anda dapat memindahkan unit organisasi ke bagian lain dari struktur organisasi akun dengan menetapkan properti parentOrgUnitPath dalam permintaan. Perlu 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"
}

Jika pengguna tidak ditetapkan ke unit organisasi tertentu saat akun pengguna dibuat, akun tersebut akan 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 mengetahui 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 yang dijual kembali, 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 lini depan' diambil. Perhatikan encoding HTTP 'frontline+sales' di 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"
}

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 suborganisasi, gunakan my_customer. Agar mudah dibaca, contoh ini menggunakan pemisahan 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 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 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 mulai 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"
     },
     {
    "kind": "directory#orgUnit",
    "name": "frontline sales",
    "description": "The frontline sales team",
    "orgUnitPath": "/corp/sales/frontline sales",
    "parentOrgUnitPath": "/corp/sales"
     },
     {
    "kind": "directory#orgUnit",
    "name": "support",
    "description": "The corporate support team",
    "orgUnitPath": "/corp/support",
    "parentOrgUnitPath": "/corp"
     },
     {
    "kind": "directory#orgUnit",
    "name": "sales_support",
    "description": "The BEST support team",
    "orgUnitPath": "/corp/support/sales_support",
    "parentOrgUnitPath": "/corp/support"
     }
  ]
  }

Menghapus unit organisasi

Untuk menghapus unit organisasi, gunakan permintaan DELETE berikut dan sertakan otorisasi yang dijelaskan dalam Meminta 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 yang dijual kembali, 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 lain dan menghapus unit organisasi turunan sebelum menghapusnya.