Создание Заказа на переключение

Метод Create a Switch Order позволяет создать Заказ на переключение для существующей Подписки текущего Реселлера или любого из его нижестоящих Реселлеров (см. Переключение тарифного плана).

Доступ к текущему Реселлеру, относительно которого формируется список нижестоящих Реселлеров, определяется по токену Сотрудника, указанному в заголовке запроса.

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

Аргументы

Название

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

Тип данных

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

Описание

X-Api-TokenheaderstringОбязательныйAPI токен Сотрудника, выполняющего операцию (см. Просмотр и обновление информации о сотруднике)
Content-TypeheaderstringОбязательныйПредназначен для идентификации формата и способа представления сущности
AcceptheaderstringОбязательныйПредназначен для информирования сервера о типах данных, которые поддерживаются клиентом (браузером)
reseller_idpathintegerОбязательныйID Реселлера. Возможно указать ID текущего Реселлера или ID любого из его нижестоящих Реселлеров (см. Просмотр информации о реселлере)
dataformobjectОбязательныйИнформация об атрибутах операции

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


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


plan_idformintegerОбязательныйID целевого Тарифного плана


plan_period_idformintegerОбязательныйID периода целевого Тарифного плана


resourcesformobjectОпциональныйПеречень Ресурсов в Заказе на переключение. Обязательный, если хотя бы для одного Ресурса указано ненулевое минимальное количество в Тарифном плане или заказывается дополнительное количество (см. Ресурсы тарифного плана)



dataformarrayОпциональныйИнформация о Ресурсах. Обязательно для Ресурсов с ненулевым минимальным или дополнительным количеством




plan_resource_idformintegerОпциональныйID Ресурса Тарифного плана




quantityformintegerОбязательный
Целевое количество Ресурса


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

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

В случае отсутствия ошибок метод возвращает данные о созданном Заказе на переключение (см. модель ответа в Получение информации о Заказе Реселлера). Статус ответа: 201 Created.

Ошибки

Статус ошибкиТекст ошибкиКомментарий
403Выполнение действия запрещеноСписок доступных действий над Подпиской см. в Получение информации о Подписке Реселлера
422Невозможно переключение на тарифный план idЦелевой Тарифный план с указанным ID должен быть в числе переключаемых и в статусе Активный (см. Получение списка переключаемых Тарифных планов Реселлера)
Период id недоступен для заказа в тарифном планеПереключение на период с указанным ID недоступно по одной из следующих причин:
  • Период недоступен в рамках целевого Тарифного плана
  • Указан несуществующий ID периода
  • Период с указанным ID является пробным
Заказанное количество ресурсов не удовлетворяет доступному диапазону значенийНеобходимо уменьшить или увеличить количество Ресурсов в соответствии с пределами, заданными в целевом Тарифном плане
Заказ не может быть завершен: сумма заказа превышает кредитный лимит по подпискеЧтобы создать Заказ, необходимо увеличить Кредитный лимит для Клиента (см. Просмотр и обновление информации о клиенте) или индивидуальный Кредитный лимит для данной Подписки (см. Просмотр и обновление информации о подписке)
Ресурс id недоступен для заказа в тарифном планеРесурс с указанным ID недоступен в рамках целевого Тарифного плана
Ресурс id должен быть заказанВ Заказ необходимо добавить обязательный Ресурс с указанным ID, так как в целевом Тарифном плане для Ресурса установлено минимальное количество больше 0

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

POST /api/v3/resellers/1/switch_order
Host: test.activeplatform.com
Content-Type: application/vnd.api+json
X-Api-Token: vY5fwetestK3gJXZH5uHCw
Accept: application/vnd.api+json
{
    "data": {
        "attributes": {
            "subscription_id": 3007437,
            "plan_id": 18,
            "plan_period_id": 2545,
            "resources": {
                "data": [
                    {
                        "plan_resource_id": 1577,
                        "quantity": 2
                    }
                ]
            },
            "promo_code": ""
        }
    }
}

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

{
    "data": {
        "id": "11716",
        "type": "switch_plan_orders",
        "attributes": {
            "created_at": "2021-01-07T04:40:37.744+03:00",
            "updated_at": "2021-01-07T04:40:38.880+03:00",
            "document_id": "CH000792",
            "status": "completed",
            "account_id": 317,
            "type": "SwitchPlanOrder",
            "closed_at": "2021-01-07T04:40:38.880+03:00",
            "expiration_date": "2021-02-05",
            "provisioning_date": null,
            "total": "-97.43",
            "promo_code": "",
            "payment_id": null,
            "manager_id": 217,
            "requester_ip": null,
            "custom_price": false,
            "created_by": "#217 Vitaly Fox",
            "subscription_id": 3007437,
            "items": [
                {
                    "id": 17997,
                    "target_id": "SubscriptionResource",
                    "target_type": "SubscriptionResource",
                    "type": "ProvisioningItem::Upgrade",
                    "status": "completed",
                    "description": "res2",
                    "quantity": 2
                },
                {
                    "id": 17996,
                    "target_id": "Subscription",
                    "target_type": "Subscription",
                    "type": "ProvisioningItem::SwitchPlan",
                    "status": "completed",
                    "description": "Autoprovisioning with res2",
                    "quantity": "1"
                }
            ]
        },
        "relationships": {
            "charges": {
                "data": [
                    {
                        "id": "96892",
                        "type": "charges"
                    },
                    {
                        "id": "96893",
                        "type": "charges"
                    }
                ]
            }
        }
    }
}