В результате выполнения запроса в платформе создается асинхронная задача, в рамках которой будет выполняться валидация дополнительных параметров на стороне услуги. Для проверки результата выполнения задачи необходимо использовать метод Get async task (см. Получение информации об асинхронной задаче реселлера по ID).
Для услуг, не требующих валидации дополнительных параметров (например, Google Workspace (G Suite)), в результате вызова метода асинхронная задача всё равно будет создана и успешно завершена.
Проверка необходимости принятия клиентом соглашения Microsoft Customer Agreement:
Если требуется принятие клиентом соглашения Microsoft Customer Agreement, то проверяется, чтобы в теле запроса был указан параметр microsoft_customer_agreement = 1.
Если принятие клиентом соглашения Microsoft Customer Agreement не требуется, то параметр microsoft_customer_agreement в теле запроса игнорируется.
Проверка наличия в платформе Tenant Name для клиента:
Если в платформе для указанного клиента есть Tenant Name:
Параметры is_new_domain, with_subdomain и customer_domain в теле запроса игнорируются.
Проверка необходимости создания нового Tenant Name на стороне Microsoft для клиента не выполняется.
Если в платформе для указанного клиента нет Tenant Name, то переход к следующей проверке.
Проверка необходимости создания нового Tenant Name на стороне Microsoft для клиента на основе значения параметра is_new_domain в теле запроса:
Если в теле запроса указан параметр is_new_domain = 1:
Параметр with_subdomain в теле запроса игнорируется.
Для клиента создается новый Tenant Name: к значению параметра customer_domain автоматически добавляется .onmicrosoft.com.
Если в теле запроса указан параметр is_new_domain = 0, то выполняется поиск существующего Tenant Name на стороне Microsoft для клиента с учетом значения параметра with_subdomain:
Если в теле запроса указан параметр with_subdomain = 0, то используется Tenant Name, указанный в параметре customer_domain.
Если в теле запроса указан параметр with_subdomain = 1, то используется следующий Tenant Name: к значению параметра customer_domain добавляется .onmicrosoft.com.
Если в теле запроса указан параметр microsoft_customer_agreement = 1, то для клиента принимается соглашение Microsoft Customer Agreement от имени сотрудника, токен которого указан в заголовке запроса.
Проверка предпосылки покупки MicrosoftCloudAgreement о необходимости принятия клиентом соглашения Microsoft Customer Agreement:
Если хотя бы для одного указанного plan_resource_id требуется принятие клиентом соглашения Microsoft Customer Agreement, то проверяется, чтобы в теле запроса был указан параметр microsoft_customer_agreement = 1.
Если принятие клиентом соглашения Microsoft Customer Agreement не требуется, то параметр microsoft_customer_agreement в теле запроса игнорируется.
Проверка Предпосылки покупки AzureSubscriptionRegistration о необходимости наличия у клиента связанной активной подписки Microsoft Azure:
Если хотя бы для одного указанного plan_resource_id требуется наличия у клиента связанной активной подписки Microsoft Azure, то проверяется, чтобы в теле запроса в параметре microsoft_azure_subscription был указан ID принадлежащей клиенту подписки Microsoft Azure в статусе Активная, а в параметре reservation_scope — одно из допустимых значений.
Если наличие у клиента связанной активной подписки Microsoft Azure не требуется, то параметры microsoft_azure_subscription и reservation_scope в теле запроса игнорируется.
Проверка предпосылки покупки InventoryCheck о доступности для клиента выбранных ресурсов по их SKU:
Если для указанного plan_resource_id требуется проверка доступности для клиента по SKU, то проверяется, чтобы SKU для указанного в теле запроса plan_resource_id не имел ограничений.
Проверка наличия в платформе Tenant Name для клиента:
Если в платформе для указанного клиента есть Tenant Name:
Параметры is_new_domain, with_subdomain и customer_domain в теле запроса игнорируются.
Проверка необходимости создания нового Tenant Name на стороне Microsoft для клиента не выполняется.
Если в платформе для указанного клиента нет Tenant Name, то переход к следующей проверке.
Проверка необходимости создания нового Tenant Name на стороне Microsoft для клиента на основе значения параметра is_new_domain в теле запроса:
Если в теле запроса указан параметр is_new_domain = 1:
Параметр with_subdomain в теле запроса игнорируется.
Для клиента создается новый Tenant Name: к значению параметра customer_domain автоматически добавляется .onmicrosoft.com.
Если в теле запроса указан параметр is_new_domain = 0, то выполняется поиск существующего Tenant Name на стороне Microsoft для клиента с учетом значения параметра with_subdomain:
Если в теле запроса указан параметр with_subdomain = 0, то используется Tenant Name, указанный в параметре customer_domain.
Если в теле запроса указан параметр with_subdomain = 1, то используется следующий Tenant Name: к значению параметра customer_domain добавляется .onmicrosoft.com.
Если в теле запроса указан параметр microsoft_customer_agreement = 1, то для клиента принимается соглашение Microsoft Customer Agreement от имени сотрудника, токен которого указан в заголовке запроса.
Для клиента создается корзина с заказом на стороне Microsoft.
Тип данных, передаваемых в запросе. Необходимо указать: application/vnd.api+json
Accept
header
string
Обязательный
Поддерживаемые типы данных в ответе. Необходимо указать: application/vnd.api+json
base_url
path
string
Обязательный
URL ActivePlatform
reseller_id
path
integer
Обязательный
ID реселлера. Возможно указать ID текущего реселлера или ID любого из его нижестоящих реселлеров (см. Просмотр информации о реселлере)
plan_id
path
integer
Обязательный
ID тарифного плана
data
form
object
Обязательный
Информация об атрибутах операции
account_id
form
integer
Обязательный
ID клиента, для которого покупается подписка
plan_period_id
form
integer
Опциональный
ID заказываемого периода указанного тарифного плана (см. Создание заказа на покупку). Обязательный для услуг на основе модуля MicrosoftCspProducts, так как влияет на логику валидации