Validating Indirect CSP Reseller Configurations
When resources of an Indirect CSP Provider that has an application instance in CloudBlue Commerce are sold through a reseller account, the application validates that this reseller account (or one of its upstream reseller accounts) is configured as an Indirect CSP Reseller and that this Indirect CSP Reseller has one of the following valid configurations:
-
The Recommended Indirect CSP Reseller Configuration (Registering through UX1 for Resellers)
- This Indirect CSP Reseller is registered in the application, as described in the Microsoft 365 Integration Provider's Guide >> The Cloud Solution Provider Scenario > Configuring Resellers.
- This Indirect CSP Reseller has a valid MPN ID in the Microsoft Partner Network.
- This Indirect CSP Reseller has a signed reseller agreement with Microsoft.
- This Indirect CSP Reseller is connected with that Indirect CSP Provider in the Microsoft Partner Center.
-
The Legacy Indirect CSP Reseller Configuration (Using the MPN_ID Billing Attribute)
- This Indirect CSP Reseller is registered in CloudBlue Commerce, as described at https://docs.cloudblue.com/cbc/services/office365/19.2/content/Providers-Guide/Configuring-Offers-for-Resellers.htm.
- This Indirect CSP Reseller has a valid MPN ID in the Microsoft Partner Network.
- This Indirect CSP Reseller has a signed reseller agreement with Microsoft.
Important: This way of configuring Indirect CSP Resellers is deprecated since Microsoft 365 19.3. We recommend that you configure your existing Indirect CSP Resellers as described in the Microsoft 365 Integration Provider's Guide >> The Cloud Solution Provider Scenario > Configuring Resellers.
If a reseller account (or one of its upstream reseller accounts) is not configured as an Indirect CSP Reseller, or it is configured as an Indirect CSP Reseller but the configuration of that Indirect CSP Reseller is not valid, an order containing such resources will be prevented from being placed under that reseller account.
The Enforce Indirect Reseller Model application instance setting controls whether to disallow the placement of orders that contain resources of Indirect CSP Providers under reseller accounts that are not configured as Indirect CSP Resellers. It is turned on by default.
Warnings:
1. By default, it is prohibited to place orders that contain resources of Indirect CSP Providers under reseller accounts that are not configured as Indirect CSP Resellers. Although you can allow this by turning off the Enforce Indirect Reseller Model application instance setting, we recommend that you configure all your Indirect CSP Resellers by using the instructions in the Microsoft 365 Integration Provider's Guide >> The Cloud Solution Provider Scenario > Configuring Resellers.
2. When the Enforce Indirect Reseller Model application instance setting is turned off and resources of an Indirect CSP Provider are sold under a reseller account that is not configured as an Indirect CSP Reseller, cloud subscriptions will not be marked as belonging to that Indirect CSP Reseller.
To validate that reseller accounts are configured as Indirect CSP Resellers and that the configurations of those Indirect CSP Resellers are correct, use the validate_indirect_reseller_settings custom operation of application instances, as described below.
Important: Validating Indirect CSP Reseller configurations is a custom operation. The user whose key and secret you use to access the APS REST API must have http://www.parallels.com/Office365/Office365app and GET in its list of allowed operations.
HTTP Request
GET https://BRAND_DOMAIN/aps/2/resources/APS_ID_OF_APPLICATION_INSTANCE/validate_indirect_reseller_settings?account_id=SYSTEM_ID_OF_RESELLER_ACCOUNT
This HTTP request has the following parameters:
- BRAND_DOMAIN: Your brand domain.
- APS_ID_OF_APPLICATION_INSTANCE: The ASP ID of the application instance configured for the Indirect CSP Provider that will be used for validation.
-
SYSTEM_ID_OF_RESELLER_ACCOUNT: The system identifier of the reseller account that will be validated.
Note: Instead of specifying the system identifier of a reseller account, you can specify the system identifier of a customer account. In this case, upstream reseller accounts of that customer account will be validated.
HTTP Response
This HTTP response contains a JSON object with the following properties:
-
settings_valid: This contains the total result of the request:
-
true is returned in the following cases:
-
The specified reseller account (or one of its upstream reseller accounts) is configured as an Indirect CSP Reseller; the configuration of that Indirect CSP Reseller is valid.
Note: The Enforce Indirect Reseller Model application setting is ignored when a reseller account (or one of its upstream reseller accounts) is configured as an Indirect CSP Reseller.
- Neither the specified reseller account nor one of its upstream reseller accounts is configured as an Indirect CSP Reseller; the Enforce Indirect Reseller Model application setting is set to No.
-
-
false is returned in the following cases:
-
The specified reseller account (or one of its upstream reseller accounts) is configured as an Indirect CSP Reseller; the configuration of that Indirect CSP Reseller is not valid.
Note: The Enforce Indirect Reseller Model application setting is ignored when a reseller account (or one of its upstream reseller accounts) is configured as an Indirect CSP Reseller.
- Neither the specified reseller account nor one of its upstream reseller accounts is configured as an Indirect CSP Reseller; the Enforce Indirect Reseller Model application setting is set to Yes.
-
-
-
settings_source: This indicates which configuration is found for the specified reseller account (or one of its upstream reseller accounts):
- 0 is returned if neither the specified reseller account nor one of its upstream reseller accounts is configured as an Indirect CSP Reseller.
- 1 is returned if the specified reseller account (or one of its upstream reseller accounts) is configured as an Indirect CSP Reseller by means of registration through UX1 for Resellers, as described in the Microsoft 365 Integration Provider's Guide >> The Cloud Solution Provider Scenario > Configuring Resellers.
-
2 is returned if the specified reseller account (or one of its upstream reseller accounts) is configured as an Indirect CSP Reseller by means of the MPN_ID billing attribute, as described at https://docs.cloudblue.com/cbc/services/office365/19.2/content/Providers-Guide/Configuring-Offers-for-Resellers.htm.
Important: This way of configuring Indirect CSP Resellers is deprecated since Microsoft 365 19.3. We recommend that you configure your existing Indirect CSP Resellers as described in the Microsoft 365 Integration Provider's Guide >> The Cloud Solution Provider Scenario > Configuring Resellers.
-
direct_cbc_vendor: This property is returned if the specified reseller account (or one of its upstream reseller accounts) is configured as an Indirect CSP Reseller.
-
true is returned if the specified reseller account is configured as that Indirect CSP Reseller.
Note: true is also returned when the system identifier of a customer account is specified in the SYSTEM_ID_OF_RESELLER_ACCOUNT parameter and the direct parent reseller account of the specified customer account is configured as that Indirect CSP Reseller.
-
false is returned if the specified reseller account is not configured as an Indirect CSP Reseller but one of the upstream reseller accounts of the specified reseller account is configured as that Indirect CSP Reseller.
Note: false is also returned when the system identifier of a customer account is specified in the SYSTEM_ID_OF_RESELLER_ACCOUNT parameter, the direct parent reseller account of the specified customer account is not configured as an Indirect CSP Reseller, and one of the upstream reseller accounts of the direct parent reseller account is configured as that Indirect CSP Reseller.
-
- mpa_accepted: This property is returned if the specified reseller account (or one of its upstream reseller accounts) is configured as an Indirect CSP Reseller. It indicates whether that Indirect CSP Reseller has a signed reseller agreement with Microsoft (true or false).
- mpn_id_valid: This property is returned if the specified reseller account (or one of its upstream reseller accounts) is configured as an Indirect CSP Reseller. It indicates whether the MPN ID of that Indirect CSP Reseller is valid (true or false).
- mpn_id: This property is returned if the specified reseller account (or one of its upstream reseller accounts) is configured as an Indirect CSP Reseller. It contains the current MPN ID of that Indirect CSP Reseller.
- tenant_valid: This property is returned if the specified reseller account (or one of its upstream reseller accounts) is configured as an Indirect CSP Reseller by means of registration in UX1 for Resellers. It indicates whether the partner account of that Indirect CSP Reseller is connected with the partner account of that Indirect CSP Provider in the Microsoft Partner Center (true or false).
- tenant_id: This property is returned if the specified reseller account (or one of its upstream reseller accounts) is configured as an Indirect CSP Reseller by means of registration in UX1 for Resellers. It contains the current Microsoft ID of the partner account of that Indirect CSP Reseller.
-
cbc_vendor_company_name: This property is returned if the specified reseller account (or one of its upstream reseller accounts) is configured as an Indirect CSP Reseller. It contains the company name of the specified reseller account (or one of its upstream reseller accounts) that is configured as that Indirect CSP Reseller.
Note: This company name is displayed in CloudBlue Commerce.
-
csp_partner_company_name: This property is returned if the specified reseller account (or one of its upstream reseller accounts) is configured as an Indirect CSP Reseller. It contains the company name of the partner account of that Indirect CSP Reseller.
Note: This company name is displayed in the Microsoft Partner Center.
Note: Some properties are omitted when the specified reseller account (or one of its upstream reseller accounts) is configured as an Indirect CSP Reseller but the configuration of that Indirect CSP Reseller is invalid.
Example (Success Scenario)
HTTP Request
GET https://example.com/aps/2/resources/137385ca-aba8-408c-a913-08e5512c8265/validate_indirect_reseller_settings?account_id=1000010
HTTP Response
{
"settings_valid": true,
"settings_source": 1,
"direct_cbc_vendor": true,
"mpa_accepted": true,
"mpn_id_valid": true,
"mpn_id": 1234567,
"tenant_valid": true,
"tenant_id": "bc4065c2-355d-41c2-8f36-63b96e915990",
"cbc_vendor_company_name": "Eldon Funk",
"csp_partner_company_name": "Ingram Micro"
}
In the example above, the specified reseller account (or one of its upstream reseller accounts) is configured as an Indirect CSP Reseller by means of registration in UX1 for Resellers; the configuration of that Indirect CSP Reseller is valid.
Example (Failure Scenario)
HTTP Request
GET https://example.com/aps/2/resources/137385ca-aba8-408c-a913-08e5512c8265/validate_indirect_reseller_settings?account_id=1000020
HTTP Response
{
"settings_valid": false,
"settings_source": 0
}
In the example above, neither the specified reseller account nor one of its upstream reseller accounts is configured as an Indirect CSP Reseller. As the Enforce Indirect Reseller Model application setting is set to Yes for the specified application instance, the value of the settings_valid property is false.