Создание заказа на изменение количества ресурсов
Метод Create change order позволяет создать заказ на изменение количества ресурсов для существующей подписки текущего реселлера или любого из его нижестоящих реселлеров (см. Изменение количества ресурсов подписки).
Для авторизации требуется API-токен менеджера (сотрудника). API-токен можно получить через Панель управления Оператора (см. Просмотр и обновление информации о сотруднике).
По указанному в запросе API-токену определяются:
- Роль и уровень доступа менеджера, от которых зависит доступность метода.
- Текущий реселлер и его нижестоящие реселлеры, доступные в рамках метода.
POST {base_url}/api/v3/resellers/{reseller_id}/change_order
Аргументы
Название | Тип параметра | Тип данных | Обязательный/ | Описание | ||||
---|---|---|---|---|---|---|---|---|
X-Api-Token | header | string | Обязательный | API-токен сотрудника, выполняющего операцию (см. Просмотр и обновление информации о сотруднике) | ||||
Content-Type | header | string | Обязательный | Тип данных, передаваемых в запросе. Необходимо указать: application/vnd.api+json | ||||
Accept | header | string | Обязательный | Поддерживаемые типы данных в ответе. Необходимо указать: application/vnd.api+json | ||||
base_url | path | string | Обязательный | URL ActivePlatform | ||||
reseller_id | path | integer | Обязательный | ID реселлера. Возможно указать ID текущего реселлера или ID любого из его нижестоящих реселлеров (см. Просмотр информации о реселлере) | ||||
data | form | object | Обязательный | Информация об атрибутах операции | ||||
attributes | form | object | Обязательный | Атрибуты операции | ||||
subscription_id | form | integer | Обязательный | ID подписки, для которой необходимо изменить количество ресурсов | ||||
resources | form | object | Опциональный | Перечень ресурсов подписки в заказе на переключение | ||||
data | form | array | Опциональный | Информация о ресурсе подписки | ||||
subscription_resource_id | form | integer | Опциональный | ID ресурса подписки | ||||
additional | form | integer | Опциональный | Дополнительное количество ресурса подписки сверх включенного в тарифный план (см. Ресурсы тарифного плана). Будет выполнена валидация нового количества ресурсов:
| ||||
promo_code | form | string | Опциональный | Код для получения скидки |
Модель ответа
В случае отсутствия ошибок метод возвращает данные о созданном заказе на изменение количества ресурсов (см. модель ответа в Получение информации о заказе). Статус ответа: 201 Created.
Ошибки
Статус ошибки | Текст ошибки | Комментарий |
---|---|---|
403 | Выполнение действия запрещено | Список доступных действий над подпиской см. в Получение информации о подписке |
422 | Уменьшение количества ресурсов недоступно | |
Заказанное количество ресурсов не удовлетворяет доступному диапазону значений | Общее количество ресурса с учетом указанного дополнительного количества должно быть в пределах, заданных в тарифном плане (см. Получение информации о тарифном плане) | |
Заказ не может быть создан: уменьшение количества ресурсов {ID ресурса} недоступно. Возможно уменьшение до {available quantity} | Новое количество ресурса с учетом указанного дополнительного количества оказалось меньше {available quantity} — минимального количества ресурса, которое должно остаться в подписке и которое получено от вендора. Чтобы создать заказ, необходимо увеличить значение additional для указанного ресурса с учетом {available quantity} | |
Заказ не может быть создан: изменение количества ресурсов {ID ресурса} недоступно | Новое количество ресурса с учетом указанного дополнительного количества оказалось меньше минимального количества ресурса, которое должно остаться в подписке. Вендор не указал конкретное значение. Чтобы создать заказ, необходимо увеличить значение additional для указанного ресурса | |
Заказ не может быть завершен: сумма заказа превышает кредитный лимит по подписке | Чтобы создать заказ, необходимо увеличить кредитный лимит для клиента (см. Просмотр и обновление информации о клиенте) или индивидуальный кредитный лимит для данной подписки (см. Просмотр и обновление информации о подписке) | |
Ресурс id недоступен для заказа в тарифном плане | Ресурс с указанным ID недоступен в рамках тарифного плана | |
Для изменения количества ресурса id необходимо указать значение отличное от уже заказанного | В заказе указано количество ресурса, равное текущему в подписке (см. Получение информации о подписке). Необходимо указать измененное количество ресурса | |
Заказ услуги на выбранный аккаунт недоступен из-за ограничений, наложенных на аккаунт или реселлера | Валидационный сервис (см. Управление валидационным сервисом) определил, что клиент или реселлер находятся в ограничительных списках. Заказ недоступен для продукта, с которым связана указанная подписка (см. Получение информации о подписке) | |
Заказ услуги недоступен. Сервис по проверке ограничений, наложенных на аккаунт или реселлера, недоступен. Попробуйте разместить заказ позже | Валидационный сервис (см. Управление валидационным сервисом) не смог получить информацию для проверки клиента и реселлера. Чтобы создать заказ, повторите попытку позже или обратитесь в службу технической поддержки | |
Заказ услуги недоступен. В аккаунте или у реселлера отсутствует атрибут ИНН | Чтобы создать заказ, необходимо сначала создать и заполнить дополнительный параметр для ИНН реселлера или клиента (см. Настройка дополнительных параметров), а затем повторить попытку |
Пример запроса
POST /api/v3/resellers/1/change_order
Host: test.activeplatform.com
Content-Type: application/vnd.api+json
X-Api-Token: vY5fwetestK3gJXZH5uHCw
Accept: application/vnd.api+json
{
"data": {
"attributes": {
"subscription_id": 3007514,
"resources": {
"data": [
{
"subscription_resource_id": 36229,
"additional": 1
}
]
},
"promo_code": ""
}
}
}
Пример ответа
{
"data": {
"id": "11708",
"type": "change_orders",
"attributes": {
"created_at": "2020-11-06T09:03:42.130+03:00",
"updated_at": "2020-11-06T09:03:42.498+03:00",
"document_id": "CO001248",
"status": "completed",
"account_id": 710,
"type": "ChangeOrder",
"closed_at": "2020-11-06T09:03:42.498+03:00",
"expiration_date": "2020-12-05",
"provisioning_date": null,
"total": "58.02",
"promo_code": "",
"payment_id": null,
"manager_id": 225,
"requester_ip": null,
"custom_price": false,
"created_by": "#225 Adam Manager",
"subscription_id": 3007514,
"items": [
{
"id": 20058,
"target_id": 49964,
"target_type": "SubscriptionResource",
"type": "ProvisioningItem::Upgrade",
"status": "completed",
"description": "HDD",
"quantity": 1,
"resource_id": 152581
}
]
},
"relationships": {
"charges": {
"data": [
{
"id": "311752",
"type": "charges"
}
]
}
}
}
}