The Validate the Reseller's Plan order attributes method is used with ordering a new Subscription (see Create a Sales Order) for validating the values of additional attributes (see Get a List of the Reseller's Plan order attributes) required for the Services provisioning by the given Plan ID of the current Reseller or any of its downstream Resellers.
As a result of sending the request, an asynchronous task is created for performing validation on the Service side. Completing the task may take some time. To check the validation results, use the Get information about the Reseller async task by IDmethod (see Get information about the Reseller asynchronous task by ID).
For Services that do not require validating the values of additional attributes (for example, Google Workspace (G Suite)), an asynchronous task is created anyway and completed successfully as a result of sending the request.
Check for accept Microsoft Customer Agreement for the Account:
If it is necessary to accept Microsoft Customer Agreement for the Account, it is required the request body includes microsoft_customer_agreement = 1.
If it is not necessary to accept Microsoft Customer Agreement for the Account, the microsoft_customer_agreement value in the request body is ignored.
Check for the Tenant Name in the platform for the Account:
If the Account is linked to a Microsoft Tenant Name in the platform:
The is_new_domain, with_subdomain, and customer_domain values in the request body are ignored.
Check for creating a new Tenant Name for the Account is skipped.
If the Account is not linked to a Microsoft Tenant Name in the platform, go to the next check:
Check for creating a new Tenant Name for the Account using the is_new_domain value in the request body:
If the request body includes is_new_domain = 1:
The with_subdomainvalue in the request body is ignored.
A new Tenant Name for the Account is created with a subdomain: .onmicrosoft.com is automatically added to the customer_domain value.
If the request body includes is_new_domain = 0, find an existing Tenant Name on the Microsoft side for the Account taking into account the with_subdomainvalue:
If the request body includes with_subdomain = 0, use the customer_domain value as a Tenant Name.
If the request body includes with_subdomain = 1, use the customer_domain value with the .onmicrosoft.com subdomain as a Tenant Name.
If the request body includes microsoft_customer_agreement = 1, accept Microsoft Customer Agreement for the Account on behalf of the Manager determined by the token in the API request.
Check the MicrosoftCloudAgreement Purchase prerequisite for accepting Microsoft Customer Agreement for the Account:
If at least for one of the specified plan_resource_id it is necessary to accept Microsoft Customer Agreement for the Account, it is required the request body includes microsoft_customer_agreement = 1.
If it is not necessary to accept Microsoft Customer Agreement for the Account, the microsoft_customer_agreement value in the request body is ignored.
Check the AzureSubscriptionRegistrationPurchase prerequisite for an active Microsoft Azure Subscription of the Account:
If at least for one of the specified plan_resource_id it is necessary that the Account has an active Microsoft Azure Subscription, it is required the request body includes microsoft_azure_subscription with the ID of a Microsoft Azure Subscription in the Active status and linked to the Account and reservation_scope with any valid value.
If it is not necessary that the Account has an active Microsoft Azure Subscription, the microsoft_azure_subscription andreservation_scope values in the request body are ignored.
Check the InventoryCheckPurchase prerequisite for no restrictions by SKUs of the specified Resources for the Account:
If for a specified plan_resource_id it is necessary to check restrictions by SKU for the Account, it is required the SKU of the plan_resource_id does not have restrictions.
Check for the Tenant Name in the platform for the Account:
If the Account is linked to a Microsoft Tenant Name in the platform:
The is_new_domain, with_subdomain, and customer_domain values in the request body are ignored.
Check for creating a new Tenant Name for the Account is skipped.
If the Account is not linked to a Microsoft Tenant Name in the platform, go to the next check:
Check for creating a new Tenant Name for the Account using the is_new_domain value in the request body:
If the request body includes is_new_domain = 1:
The with_subdomainvalue in the request body is ignored.
A new Tenant Name for the Account is created with a subdomain: .onmicrosoft.com is automatically added to the customer_domain value.
If the request body includes is_new_domain = 0, find an existing Tenant Name on the Microsoft side for the Account taking into account the with_subdomainvalue:
If the request body includes with_subdomain = 0, use the customer_domain value as a Tenant Name.
If the request body includes with_subdomain = 1, use the customer_domain value with the .onmicrosoft.com subdomain as a Tenant Name.
If the request body includes microsoft_customer_agreement = 1, accept Microsoft Customer Agreement for the Account on behalf of the Manager determined by the token in the API request.
On the Microsoft side, a shopping cart with a customer order is created for the Account.
Access to the current Reseller and downstream Resellers is determined by the Manager's token in the API request.
POST {base_url}/api/v3/resellers/{reseller_id}/plans/{plan_id}/order_attributes_validation
ID of an Account used for ordering the Subscription
plan_period_id
form
integer
Optional
ID of a Period of the specified Plan (see Create a Sales Order) to be ordered in a Subscription. Required for Servicesbased on the MicrosoftCspProducts plugin because affects the validation logic
Plugin used for the Service of the additional attribute:
office365 — the Office365 plugin.
microsoft_csp_products — the MicrosoftCspProducts plugin.
vendor_service — VSP (Vendor service plugin).
resources
form
array
Optional
List of IDs of Resources to be ordered in a Subscription. Required for Servicesbased on the MicrosoftCspProducts plugin because affects the validation logic