فلترة الحسابات التي يمكنك الوصول إليها

يمكنك استخدام واجهة برمجة تطبيقات حسابات التجار لعرض قائمة مفلترة بالحسابات التي يمكنك الوصول إليها، بما في ذلك الحسابات الفرعية. يمكنك الفلترة حسب الأسماء المعروضة والعلاقات بالحسابات الأخرى. على سبيل المثال، يمكنك إجراء فلترة للحسابات ذات الأسماء المعروضة التي تحتوي على السلسلة "store"، والتي تتضمّن أيضًا حالة ربط PENDING، للاطّلاع على جميع متاجرك التي لم تقبل طلب ربط الحساب بعد.

للاطّلاع على كل حساباتك الفرعية، يمكنك الاتصال بالرقم accounts.v1beta.accounts.listSubAccounts.

لعرض قائمة تمت فلترتها بجميع الحسابات التي يمكنك الوصول إليها، بما في ذلك الحسابات الفرعية وأي حسابات مرتبطة بحسابك على User، اتصل بـ accounts.v1beta.accounts.list وحدِّد معايير الفلترة في حقل filter.

للحصول على تفاصيل عن بنية الحقل filter، يمكنك الاطّلاع على مرجع بنية الفلتر.

في ما يلي أنواع الفلاتر التي يمكنك استخدامها:

فلاتر الحساب

يمكنك استخدام الحقول التالية لإجراء فلترة على مستوى account:

  • accountName: تتم الفلترة حسب accountName من مورد account.
  • relationship(...): تتم الفلترة حسب نوع العلاقة بين الحساب وحساب آخر. يمكنك تضمين عدّة فلاتر relationship(...) في طلب واحد

فلاتر العلاقات

يمكنك استخدام دالة relationship(...) للفلترة استنادًا إلى المعايير التالية:

  • providerId: معرّف التاجر الخاص بمقدّم الخدمة على سبيل المثال، إذا كان من المفترض أن يعرض الفلتر الحسابات التي لديها خدمة مقدَّمة من account/123 فقط، استخدِم providerId = 123.
  • callerHasAccessToProviderFilter(): فلاتر الحسابات التي لها علاقة بمقدّم خدمة يمكنك الوصول إليه.
  • externalAccountId: رقم تعريف الحساب الخارجي لمقدّم الخدمة للحساب الذي يوفّر الخدمة له.
  • accountIdAlias: هو الاسم المستعار لرقم تعريف الحساب الذي تم إعداده للعلاقة.
  • service(...): الخدمة التي يتم تقديمها كجزء من العلاقة يمكنك تضمين دوال service(...) متعدّدة في دالة relationship(...) واحدة.

فلاتر الخدمة

يمكنك استخدام الدالة service(...) لفلترة الحسابات بشكل أكبر استنادًا إلى حالة علاقاتها وأنواع الخدمات التي توفّرها هذه العلاقات:

  • handshakeState: حالة اتفاقية خدمة بين حسابين. يتم قبول القيم التالية:
    • PENDING
    • APPROVED
  • type: تشير هذه السمة إلى نوع الخدمة التي يقدّمها مقدّم الخدمة. يقبل القيم التالية:
    • ACCOUNT_MANAGEMENT يدير مقدّم الخدمة الحساب.
    • ACCOUNT_AGGREGATION مقدّم الخدمة هو مجمّع سلع للحساب.

أمثلة

في ما يلي بعض الأمثلة على الفلاتر التي يمكنك تجربتها.

يمكنك الفلترة بحثًا عن الحسابات التي تتضمّن أسماء معروضة تحتوي على "متجر" ومزوّدي الخدمات الذين يحملون رقم التعريف "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")

الخطوات التالية

  • لمزيد من المعلومات حول فلترة الحسابات، يُرجى الاطّلاع على بنية الفلتر.