Валидация дополнительных атрибутов заказа

Метод используется для валидации дополнительных атрибутов (см. Получение списка дополнительных атрибутов заказа), указанных при оформлении заказа.

В результате вызова метода:

  1. Создается асинхронная задача для валидации дополнительных атрибутов заказа.

  2. При необходимости в соответствии с логикой модуля, на основе которого создана услуга, отправляются запросы для создания или поиска сущностей на стороне вендора для дальнейшего провижининга услуги.

Метод возвращает информацию о созданной асинхронной задаче для валидации дополнительных атрибутов заказа. Код ответа 201 Created.

POST {reseller_domain}/internal_api/plans/{plan_id}/order_attributes_validation

В этой статье:

Авторизация

Требуется авторизация с помощью access token пользователя.

Аргументы

Название

Тип параметра

Тип данных

Обязательный/ 
Опциональный

Описание

Content-Type

header

string

Обязательный

Тип данных, передаваемых в запросе. Укажите application/vnd.api+json

Accept

header

string

Обязательный

Поддерживаемые типы данных в ответе. Укажите application/vnd.api+json

X-Api-Locale

header

string

Опциональный

Двухбуквенный код языка данных в ответе и созданной асинхронной задачи

Authorization 

header

string

Обязательный

Действующий access token пользователя. Формат: Bearer <access token>

reseller_domain

path

string

Обязательный

Доменное имя реселлера

plan_id

path

integer

Обязательный

ID плана, для которого создается заказ

Проверка доступности заказа пробной подписки для тарифных планов на основе модуля MicrosoftCSPProducts — тенант Microsoft может заказать только одну пробную подписку в рамках продукта.

account_id

form

integer

Обязательный

ID аккаунта, для которого создается заказ

plan_period_id

form

integer

Опциональный

ID периода тарифного плана в заказе

order_attributes

form

array of objects

Опциональный

Список дополнительных атрибутов заказа


key

form

string

Опциональный

Ключ дополнительного атрибута заказа


value

form

string

Опциональный

Значение дополнительного атрибута заказа


plugin_slug

form

string

Опциональный

Ключ модуля, на основе которого создана услуга:

  • manual_provisioning

  • vendor_service

  • office365

  • microsoft_csp_products


applied_to_resource_id

form

integer

Опциональный

ID ресурса, к которому применяется дополнительный атрибут заказа. Указывается только для атрибутов на уровне ресурса


ordering_resource_id

form

integer

Опциональный

ID ресурса, сгенерированный случайным образом на стороне UI для идентификации порядкового номера ресурса. Указывается только для атрибутов на уровне ресурса

resources

form

array of objects

Опциональный

Список ресурсов в заказе


plan_resource_id

form

integer

Опциональный

ID ресурса тарифного плана в заказе


quantity

form

integer

Опциональный

Количество ресурса тарифного плана в заказе

order_type

form

string

Опциональный

Тип заказа. Доступные значения:

  • SalesOrder — заказ на покупку.

  • SwitchPlanOrder — заказ на переключение тарифного плана.

  • RenewalOrder — заказ на продление.

  • ProlongOrder — заказ на пролонгацию.

  • ChangeOrder — заказ на изменение количества ресурсов.

async_task_id

form

string

Опциональный

Указывается ID ранее созданной асинхронной задачи, если валидация дополнительных параметров заказа выполняется в два шага

Модель ответа

Название

Тип данных

Описание

data

object

Данные ответа


id

string

ID асинхронной операции


type

string

Тип данных


attributes

object

Информация об асинхронной операции



status

string

Статус асинхронной операции: pending — асинхронная операция создана



failure_message

string

Текст ошибки валидации на стороне платформы (пустое значение)



result

object

Результат валидации (null)

meta

object

Дополнительная информация


server_current_time

string

Текущие дата и время сервера

Пример запроса

Bash
curl --location --request POST 'https://test.activeplatform.com/internal_api/plans/5642/order_attributes_validation' \
--header 'Content-Type: application/vnd.api+json' \
--header 'Accept: application/vnd.api+json' \
--header 'X-Api-Locale: en' \
--header 'Authorization: Bearer AccessTokenExample' \
--data-raw '{
  "data": {
    "attributes": {
      "account_id": 896,
      "order_type": "SalesOrder",
      "plan_period_id": 9937,
      "order_attributes": [
        {
          "key": "is_new_domain",
          "value": true,
          "plugin_slug": "microsoft_csp_products"
        },
        {
          "key": "with_subdomain",
          "value": true,
          "plugin_slug": "microsoft_csp_products"
        },
        {
          "key": "customer_domain",
          "value": "example",
          "plugin_slug": "microsoft_csp_products"
        },
        {
          "key": "microsoft_customer_agreement",
          "value": false,
          "plugin_slug": "microsoft_csp_products"
        }
      ],
      "resources": [
        {
          "plan_resource_id": 21745,
          "quantity": 1
        }
      ],
      "async_task_id": ""
    }
  }
}'

Пример ответа

JSON
{
    "data": {
        "id": "829e4cf3-459f-4db4-8af8-6ee9bbf34e35",
        "type": "async_tasks",
        "attributes": {
            "status": "pending",
            "failure_message": "",
            "result": null
        }
    },
    "meta": {
        "server_current_time": "2023-06-30 T12:34:56.199973+0300"
    }
}