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

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

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

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

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

POST {base_url}/api/v3/resellers/{reseller_id}/switch_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 подписки, для которой необходимо сменить тарифный план


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


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


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



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




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




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


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


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

Сценарий предоставления заказа на переключение тарифного плана (см. Переключение тарифного плана). Доступные значения:

  • immediate_switch — немедленное переключение.
  • delayed_switch — отложенное переключение.

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

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

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

{
    "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": 49964,
                    "target_type": "SubscriptionResource",
                    "type": "ProvisioningItem::Upgrade",
                    "status": "completed",
                    "description": "res2",
                    "quantity": 2,
                    "resource_id": 152581
                },
                {
                    "id": 17996,
                    "target_id": 3007437,
                    "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"
                    }
                ]
            }
        }
    }
}