Создание заказа на переключение
Метод Create switch order позволяет создать заказ на переключение тарифного плана подписки текущего реселлера или любого из его нижестоящих реселлеров (см. Переключение тарифного плана).
Для авторизации требуется API-токен сотрудника. API-токен можно получить через Панель управления Оператора (см. Просмотр и обновление информации о сотруднике).
По указанному в запросе API-токену определяются текущий реселлер и его нижестоящие реселлеры, доступные в рамках метода.
POST {base_url}/api/v3/resellers/{reseller_id}/switch_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 подписки, для которой необходимо сменить тарифный план | ||||
plan_id | form | integer | Обязательный | ID целевого тарифного плана | ||||
plan_period_id | form | integer | Обязательный | ID периода целевого тарифного плана | ||||
resources | form | object | Опциональный | Перечень ресурсов в заказе на переключение. Обязательный, если хотя бы для одного ресурса указано ненулевое минимальное количество в тарифном плане или заказывается дополнительное количество (см. Ресурсы тарифного плана) | ||||
data | form | array | Опциональный | Информация о ресурсах. Обязательно для ресурсов с ненулевым минимальным или дополнительным количеством | ||||
plan_resource_id | form | integer | Опциональный | ID ресурса тарифного плана | ||||
quantity | form | integer | Обязательный | Целевое количество ресурса | ||||
promo_code | form | string | Опциональный | Код для получения скидки |
Модель ответа
В случае отсутствия ошибок метод возвращает данные о созданном заказе на переключение (см. модель ответа в Получение информации о заказе реселлера). Статус ответа: 201 Created.
Ошибки
Статус ошибки | Текст ошибки | Комментарий |
---|---|---|
403 | Выполнение действия запрещено | Список доступных действий над подпиской см. в Получение информации о подписке реселлера |
422 | Невозможно переключение на тарифный план 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"
}
]
}
}
}
}