Создание заказа на изменение количества ресурсов

Метод Create change order позволяет создать заказ на изменение количества ресурсов для существующей подписки текущего реселлера или любого из его нижестоящих реселлеров (см. Изменение количества ресурсов подписки).

Для авторизации требуется API-токен менеджера (сотрудника). API-токен можно получить через Панель управления Оператора (см. Просмотр и обновление информации о сотруднике).

По указанному в запросе API-токену определяются:

  • Роль и уровень доступа менеджера, от которых зависит доступность метода.
  • Текущий реселлер и его нижестоящие реселлеры, доступные в рамках метода.

POST {base_url}/api/v3/resellers/{reseller_id}/change_order

Аргументы

Название

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

Тип данных

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

Описание

X-Api-TokenheaderstringОбязательныйAPI-токен сотрудника, выполняющего операцию (см. Просмотр и обновление информации о сотруднике)
Content-TypeheaderstringОбязательныйТип данных, передаваемых в запросе. Необходимо указать: application/vnd.api+json
AcceptheaderstringОбязательныйПоддерживаемые типы данных в ответе. Необходимо указать: application/vnd.api+json
base_urlpathstringОбязательныйURL ActivePlatform
reseller_idpathintegerОбязательныйID реселлера. Возможно указать ID текущего реселлера или ID любого из его нижестоящих реселлеров (см. Просмотр информации о реселлере)
dataformobjectОбязательныйИнформация об атрибутах операции

attributesformobjectОбязательныйАтрибуты операции


subscription_idformintegerОбязательныйID подписки, для которой необходимо изменить количество ресурсов


resourcesformobjectОпциональныйПеречень ресурсов подписки в заказе на переключение



dataformarrayОпциональныйИнформация о ресурсе подписки




subscription_resource_idformintegerОпциональныйID ресурса подписки




additionalformintegerОпциональныйДополнительное количество ресурса подписки сверх включенного в тарифный план (см. Ресурсы тарифного плана). Будет выполнена валидация нового количества ресурсов:
  1. Вхождение в диапазон, заданный для ресурса в тарифном плане.
  2. Проверка доступности изменения количества ресурса на стороне вендора (если эту проверку поддерживает модуль, на основе которого создана подписка).
  3. Получение от вендора минимального количества ресурса, которое должно остаться в подписке, если в заказе уменьшается количество этого ресурса (опционально).


promo_codeformstringОпциональныйКод для получения скидки

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

В случае отсутствия ошибок метод возвращает данные о созданном заказе на изменение количества ресурсов (см. модель ответа в Получение информации о заказе). Статус ответа: 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"
                    }
                ]
            }
        }
    }
}