Directory API: संगठन की इकाइयां

संगठनात्मक इकाइयों को मैनेज करना

Google Workspace खाते का संगठन ट्री, इकाइयों से मिलकर बना होता है. इनकी मदद से, उपयोगकर्ताओं को लॉजिकल और क्रमबद्ध तरीके से मैनेज किया जा सकता है. यह Google Admin console के 'संगठन और उपयोगकर्ता' टैब में मौजूद सुविधा की तरह ही है. ग्राहक की संगठनात्मक इकाई के क्रम में ज़्यादा से ज़्यादा 35 लेवल हो सकते हैं. ज़्यादा जानकारी के लिए, एडमिन सहायता केंद्र पर जाएं.

  • Google Workspace खाते के लिए, सिर्फ़ एक संगठन ट्री होता है. जब इस खाते को पहली बार कॉन्फ़िगर किया जाता है, तब इसमें खाता-लेवल पर संगठन की इकाई होती है. यह प्राइमरी डोमेन से जुड़ा संगठन है. प्राइमरी डोमेन के बारे में ज़्यादा जानकारी के लिए, एपीआई की सीमाओं के बारे में जानकारी देखें.
  • संगठन की किसी इकाई का पाथनेम यूनीक होता है. संगठन की इकाइयों के क्रम में, संगठन की इकाई का नाम यूनीक नहीं हो सकता. हालांकि, यह नाम, संगठन की अन्य इकाइयों के नाम से अलग होता है. संगठन की इकाई का नाम केस-इनसेंसिटिव होता है.
  • संगठन की किसी इकाई में, संगठन के क्रम के हिसाब से नीतियां लागू होती हैं. कोई भी संगठनात्मक इकाई, इनहेरिट की गई नीति को बदलकर, पैरंट से इनहेरिट करने की इस चेन को ब्लॉक कर सकती है. एक नीति को दूसरी नीति के मुकाबले ज़्यादा प्राथमिकता देने का फ़ैसला, सबसे करीबी संगठनात्मक इकाई करती है. इसका मतलब है कि संगठन की किसी छोटी इकाई की नीतियां, पैरंट इकाइयों की नीतियों से ज़्यादा अहमियत रखती हैं. संगठन के स्ट्रक्चर में इनहेरिटेंस और उपयोगकर्ताओं के बारे में ज़्यादा जानने के लिए, एडमिन सहायता केंद्र पर जाएं.
  • किसी संगठन की इकाई को, क्रम के हिसाब से बने ट्री में ऊपर या नीचे ले जाया जा सकता है. इसके अलावा, संगठन से जुड़े उपयोगकर्ताओं को अलग-अलग या बैच में ट्रांसफ़र किया जा सकता है. ऐसा तब किया जाता है, जब किसी नए संगठन को पॉप्युलेट किया जा रहा हो या उपयोगकर्ताओं के किसी सबसेट को संगठन की एक इकाई से दूसरी इकाई में ट्रांसफ़र किया जा रहा हो.
  • संगठन की इकाई की प्रॉपर्टी में सेव किए गए डेटा में लगातार बदलाव हो सकता है. अनुरोध करने पर, किसी इकाई के लिए दिखाई गई प्रॉपर्टी, इकाई को वापस पाने के समय के हिसाब से एक जैसी होती हैं.इसका मतलब है कि आपको "आंशिक" अपडेट नहीं दिखेंगे. अगर किसी क्वेरी के जवाब में एक से ज़्यादा इकाइयां मिलती हैं, तो यह ज़रूरी नहीं है कि सभी इकाइयों के लिए एक जैसा जवाब मिले.ऐसा खास तौर पर तब होता है, जब जवाब में कई पेज होते हैं.

संगठनात्मक इकाई बनाना

संगठन की इकाई बनाने के लिए, यहां दिया गया POST अनुरोध इस्तेमाल करें. साथ ही, अनुरोधों को अनुमति देना में बताया गया अनुमति देने का तरीका अपनाएं.

अगर आप एडमिन हैं और आपको कोई संगठन यूनिट बनानी है, तो my_customer का इस्तेमाल करें.

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

अगर आप रीसेलर हैं और आपने किसी ऐसे ग्राहक के लिए संगठन की इकाई बनाई है जिसे आपने सदस्यता बेची है, तो customerId का इस्तेमाल करें. customerId को वापस पाने के लिए, Retrieve a user ऑपरेशन का इस्तेमाल करें.

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

अपने खाते के संगठन के स्ट्रक्चर को समझने के लिए, एडमिन सहायता केंद्र पर जाएं. अनुरोध और जवाब की प्रॉपर्टी के लिए, एपीआई के बारे में जानकारी देखें.

JSON अनुरोध

पुनर्बिक्रेता के लिए JSON के इस उदाहरण में, अनुरोध के मुख्य हिस्से का एक सैंपल दिखाया गया है. इससे sales_support नाम की संगठनात्मक इकाई बनाई जाती है. name और parentOrgUnitPath की ज़रूरत होती है:

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

JSON का रिस्पॉन्स

अनुरोध पूरा होने पर, एचटीटीपी 201 स्टेटस कोड मिलता है. स्टेटस कोड के साथ-साथ, रिस्पॉन्स में नए ग्रुप की प्रॉपर्टी भी दिखती हैं:

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

किसी संगठनात्मक इकाई को अपडेट करना

किसी संगठन की इकाई को अपडेट करने के लिए, यहां दिया गया PUT अनुरोध इस्तेमाल करें. साथ ही, अनुरोधों को अनुमति देना लेख में बताई गई अनुमति शामिल करें. अनुरोध और रिस्पॉन्स की प्रॉपर्टी के लिए, एपीआई के बारे में जानकारी देखें:

अगर आप एडमिन हैं और संगठन की इकाई को अपडेट कर रहे हैं, तो my_customer का इस्तेमाल करें.

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

अगर आप रीसेलर हैं और आपने किसी ऐसे ग्राहक के लिए संगठन की इकाई अपडेट की है जिसे आपने सदस्यता बेची है, तो customerId का इस्तेमाल करें. customerId पाने के लिए, Retrieve a user ऑपरेशन का इस्तेमाल करें.

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

JSON अनुरोध

यहां दिए गए उदाहरण में, संगठनात्मक इकाई के ब्यौरे को अपडेट किया गया है:

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

अपडेट के अनुरोध के लिए नोट:

  • आपको सिर्फ़ अपने अनुरोध में अपडेट की गई जानकारी सबमिट करनी होगी. अनुरोध में, ग्रुप की सभी प्रॉपर्टी डालने की ज़रूरत नहीं है.
  • अगर उपयोगकर्ता खाता बनाते समय, किसी उपयोगकर्ता को किसी खास संगठन इकाई में असाइन नहीं किया गया था, तो खाता टॉप-लेवल की संगठन इकाई में होता है.
  • अनुरोध में parentOrgUnitPath प्रॉपर्टी सेट करके, किसी संगठन की इकाई को अपने खाते के संगठन स्ट्रक्चर के किसी दूसरे हिस्से में ले जाया जा सकता है. यह ध्यान रखना ज़रूरी है कि किसी संगठन की इकाई को दूसरी जगह ले जाने से, उस इकाई में मौजूद उपयोगकर्ताओं के लिए सेवाएं और सेटिंग बदल सकती हैं.

JSON का रिस्पॉन्स

अनुरोध पूरा होने पर, एचटीटीपी 201 स्टेटस कोड मिलता है. स्टेटस कोड के साथ-साथ, रिस्पॉन्स में अपडेट की गई संगठन की इकाई की प्रॉपर्टी भी दिखती हैं.

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

अगर उपयोगकर्ता खाता बनाते समय, किसी उपयोगकर्ता को किसी खास संगठन इकाई में असाइन नहीं किया गया था, तो खाता टॉप-लेवल की संगठन इकाई में होता है. किसी उपयोगकर्ता की संगठन इकाई यह तय करती है कि उसके पास Google Workspace की किन सेवाओं का ऐक्सेस है. अगर उपयोगकर्ता को किसी नए संगठन में ट्रांसफ़र किया जाता है, तो उसके ऐक्सेस में बदलाव होता है. संगठन के स्ट्रक्चर के बारे में ज़्यादा जानने के लिए, एडमिन सहायता केंद्र पर जाएं. किसी उपयोगकर्ता को दूसरे संगठन में ले जाने के बारे में ज़्यादा जानकारी के लिए, उपयोगकर्ता की जानकारी अपडेट करना लेख पढ़ें.

संगठन की इकाई वापस पाना

संगठन की इकाई को वापस पाने के लिए, यहां दिया गया GET अनुरोध इस्तेमाल करें. साथ ही, अनुरोधों को अनुमति देना में बताया गया अनुमति देने का तरीका अपनाएं. orgUnitPath क्वेरी स्ट्रिंग, इस संगठन इकाई का पूरा पाथ है. अनुरोध और रिस्पॉन्स की प्रॉपर्टी के लिए, एपीआई के बारे में जानकारी देखें:

अगर आप एडमिन हैं और संगठन की इकाई को वापस ला रहे हैं, तो my_customer का इस्तेमाल करें.

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

अगर आप रीसेलर हैं और आपको किसी ऐसे ग्राहक के लिए संगठन की इकाई वापस लानी है जिसे आपने सदस्यता बेची है, तो customerId का इस्तेमाल करें. customerId पाने के लिए, Retrieve a user ऑपरेशन का इस्तेमाल करें.

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

JSON का रिस्पॉन्स

यहां दिए गए उदाहरण में, 'फ़्रंटलाइन सेल्स' संगठन की इकाई को वापस लाया गया है. अनुरोध के यूआरआई में, 'frontline+sales' एचटीटीपी एन्कोडिंग पर ध्यान दें:

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

अनुरोध पूरा होने पर, HTTP 200 स्टेटस कोड मिलता है. स्टेटस कोड के साथ-साथ, रिस्पॉन्स में संगठन की इकाई की सेटिंग भी दिखती हैं:

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

संगठन की इकाइयां वापस पाना

किसी संगठनात्मक इकाई के तहत आने वाली सभी उप-संगठनात्मक इकाइयों, किसी संगठनात्मक इकाई के तहत आने वाली सभी चाइल्ड इकाइयों या सभी उप-संगठनात्मक इकाइयों के साथ-साथ बताई गई संगठनात्मक इकाई को वापस पाने के लिए, यहां दिया गया GET अनुरोध इस्तेमाल करें. साथ ही, अनुरोधों को अनुमति दें में बताया गया अनुमति देने का तरीका अपनाएं. अनुरोध और रिस्पॉन्स की प्रॉपर्टी के लिए, एपीआई के बारे में जानकारी देखें.

अगर आप खाता एडमिन हैं और आपको सभी उप-संगठनात्मक इकाइयों को वापस लाना है, तो my_customer का इस्तेमाल करें. इस उदाहरण में लाइन रिटर्न का इस्तेमाल किया गया है, ताकि इसे आसानी से पढ़ा जा सके:

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

अगर आप रीसेलर हैं और आपको किसी ऐसे ग्राहक के लिए संगठन की इकाइयां वापस लानी हैं जिसे आपने प्रॉडक्ट बेचा है, तो customerId का इस्तेमाल करें. customerId पाने के लिए, Retrieve a user ऑपरेशन का इस्तेमाल करें:

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

get क्वेरी स्ट्रिंग, orgUnitPath के तहत आने वाली all उप-संगठनात्मक इकाइयां, orgUnitPath की children, या all_including_parent के लिए सभी उप-संगठनात्मक इकाइयां और तय की गई orgUnitPath दिखाती है. डिफ़ॉल्ट वैल्यू type=children है.

JSON का रिस्पॉन्स

उदाहरण के लिए, इस अनुरोध से /corp संगठनात्मक इकाई से शुरू होने वाली सभी संगठनात्मक इकाइयां दिखती हैं:

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

अनुरोध पूरा होने पर, HTTP 200 स्टेटस कोड मिलता है. स्टेटस कोड के साथ-साथ, जवाब में खाते की इकाइयों की जानकारी भी मिलती है:

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

संगठन की किसी इकाई को मिटाना

संगठन की किसी इकाई को मिटाने के लिए, यहां दिया गया DELETE अनुरोध इस्तेमाल करें. साथ ही, अनुरोधों को अनुमति देना लेख में बताया गया अनुमति देने का तरीका अपनाएं. customerId को वापस पाने के लिए, Retrieve a user ऑपरेशन का इस्तेमाल करें. अनुरोध और रिस्पॉन्स की प्रॉपर्टी के लिए, एपीआई के बारे में जानकारी देखें:

अगर आप खाते के एडमिन हैं और आपको कोई संगठन इकाई मिटानी है, तो my_customer का इस्तेमाल करें.

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

अगर आप रीसेलर हैं और आपको किसी ऐसे ग्राहक के लिए संगठन की इकाई मिटानी है जिसे आपने फिर से बेचा है, तो customerId का इस्तेमाल करें. customerId पाने के लिए, Retrieve a user ऑपरेशन का इस्तेमाल करें.

DELETE https://admin.googleapis.com/admin/directory/v1/customer/customerId/orgunits/orgUnitPath
उदाहरण के लिए, इस रीसेलर एडमिन का DELETE अनुरोध, 'backend_tests' संगठन इकाई को मिटा देता है:
DELETE https://admin.googleapis.com/admin/directory/v1/customer/C03az79cb/orgunits/corp/sales/backend_tests

अनुरोध पूरा होने पर, HTTP 200 स्टेटस कोड मिलता है.

सिर्फ़ उन संगठनात्मक इकाइयों को मिटाया जा सकता है जिनमें कोई चाइल्ड संगठनात्मक इकाई या उपयोगकर्ता असाइन न किया गया हो. मिटाने से पहले, आपको उपयोगकर्ताओं को संगठन की अन्य इकाइयों में फिर से असाइन करना होगा. साथ ही, सभी चाइल्ड संगठन की इकाइयों को हटाना होगा.