जिन खातों को ऐक्सेस किया जा सकता है उन्हें फ़िल्टर करें

जिन खातों का ऐक्सेस आपके पास है उनकी फ़िल्टर की गई सूची देखने के लिए, Merchant Account API का इस्तेमाल किया जा सकता है. इसमें उप-खाते भी शामिल हैं. दूसरे खातों के डिसप्ले नेम और संबंधों के हिसाब से फ़िल्टर किया जा सकता है. उदाहरण के लिए, "store" स्ट्रिंग वाले डिसप्ले नेम वाले उन खातों को फ़िल्टर किया जा सकता है जिनमें PENDING लिंक का स्टेटस भी होता है. ऐसा करके, अपने उन सभी स्टोर को देखा जा सकता है जिन्होंने अब तक खाता लिंक करने का अनुरोध स्वीकार नहीं किया है.

अपने सभी उप-खाते देखने के लिए, accounts.v1beta.accounts.listSubAccounts पर कॉल करें.

आपके पास जिन खातों का ऐक्सेस है उनकी फ़िल्टर की गई सूची देखने के लिए, accounts.v1beta.accounts.list को कॉल करें और filter फ़ील्ड में फ़िल्टर की शर्तें तय करें. इनमें वे उप-खाते और खाते भी शामिल हैं जिनके पास आप User हैं.

filter फ़ील्ड के सिंटैक्स के बारे में जानने के लिए, फ़िल्टर सिंटैक्स का रेफ़रंस देखें.

यहां इस तरह के फ़िल्टर इस्तेमाल किए जा सकते हैं:

खाते के फ़िल्टर

account लेवल पर फ़िल्टर करने के लिए, इन फ़ील्ड का इस्तेमाल किया जा सकता है:

  • accountName: account संसाधन के accountName के मुताबिक फ़िल्टर.
  • relationship(...): किसी दूसरे खाते के साथ खाते का किस तरह का संबंध है, इसके हिसाब से फ़िल्टर किया जाता है. एक अनुरोध में एक से ज़्यादा relationship(...) फ़िल्टर शामिल किए जा सकते हैं.

संबंध से जुड़े फ़िल्टर

इन शर्तों के आधार पर फ़िल्टर करने के लिए, relationship(...) फ़ंक्शन का इस्तेमाल किया जा सकता है:

  • providerId: सेवा देने वाले का मर्चेंट आईडी. उदाहरण के लिए, अगर फ़िल्टर सिर्फ़ वे खाते दिखाना चाहिए जिनमें account/123 से मिली सेवा मौजूद है, तो providerId = 123 का इस्तेमाल करें.
  • callerHasAccessToProviderFilter(): उन खातों के लिए फ़िल्टर जिनका ऐक्सेस आपके पास, सेवा देने वाली किसी कंपनी के साथ है.
  • externalAccountId: सेवा देने वाली कंपनी के उस खाते का बाहरी खाता आईडी जिस पर वह सेवा देती है.
  • accountIdAlias: संबंध के लिए कॉन्फ़िगर किया गया खाता आईडी का दूसरा नाम.
  • service(...): कारोबारी संबंध के तहत दी जाने वाली सेवा. एक relationship(...) फ़ंक्शन में कई service(...) फ़ंक्शन शामिल किए जा सकते हैं.

सेवा फ़िल्टर

service(...) फ़ंक्शन का इस्तेमाल करके, खातों को उनके संबंधों की स्थिति और उनसे मिलने वाली सेवाओं के हिसाब से फ़िल्टर किया जा सकता है:

  • handshakeState: दो खातों के बीच सेवा समझौते की स्थिति. ये वैल्यू स्वीकार की जाती हैं:
    • PENDING
    • APPROVED
  • type: सेवा देने वाली कंपनी किस तरह की सेवा देती है. ये वैल्यू इस्तेमाल की जा सकती हैं:
    • ACCOUNT_MANAGEMENT सेवा देने वाला व्यक्ति, खाते को मैनेज करता है.
    • ACCOUNT_AGGREGATION सेवा देने वाली कंपनी, खाते का एग्रीगेटर है.

उदाहरण

यहां ऐसे फ़िल्टर के कुछ उदाहरण दिए गए हैं जिन्हें आज़माया जा सकता है.

उन खातों के लिए फ़िल्टर करें जिनके डिसप्ले नेम वाले खाते में "store" है और उन कंपनियों को शामिल करें जिनके आईडी "123" हैं:

accountName = "*store*" AND relationship(providerId = 123)

खाते "123" के सभी उप-खातों के लिए फ़िल्टर:

relationship(providerId = 123 AND service(type = "ACCOUNT_AGGREGATION"))

अनुमति पा चुकी खाता मैनेजमेंट सेवाओं वाले खातों के लिए फ़िल्टर करें:

relationship(service(handshakeState = "APPROVED" AND type = "ACCOUNT_MANAGEMENT"))

उपनाम और आईडी वाले उन खातों को फ़िल्टर करें जिनके पास सेवा देने वाली कंपनी का ऐक्सेस हो. इस अनुरोध के लिए, आपके पास सेवा देने वाली कंपनी का ऐक्सेस भी होना चाहिए:

relationship(callerHasAccessToProviderFilter() AND externalAccountId = "extAcctId" AND accountIdAlias = "alias")

आगे क्या करना है