Создание заказа на пролонгацию
Метод Create prolong order позволяет создать заказ на пролонгацию существующей подписки текущего реселлера или любого из его нижестоящих реселлеров (см. Пролонгация подписки).
Для авторизации требуется API-токен менеджера (сотрудника). API-токен можно получить через Панель управления Оператора (см. Просмотр и обновление информации о сотруднике).
По указанному в запросе API-токену определяются:
- Роль и уровень доступа менеджера, от которых зависит доступность метода.
- Текущий реселлер и его нижестоящие реселлеры, доступные в рамках метода.
POST {base_url}/api/v3/resellers/{reseller_id}/prolong_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 | Опциональный | Информация о ресурсах, количество которых требуется изменить | ||||
plan_resource_id | form | integer | Опциональный | ID ресурса тарифного плана | ||||
quantity | form | integer | Опциональный | Целевое количество ресурса | ||||
promo_code | form | string | Опциональный | Код для получения скидки |
Модель ответа
В случае отсутствия ошибок метод возвращает данные о созданном заказе на пролонгацию (см. модель ответа в Получение информации о заказе). Статус ответа: 201 Created.
Ошибки
Статус ошибки | Текст ошибки | Комментарий |
---|---|---|
403 | Выполнение действия запрещено | Список доступных действий над подпиской см. в Получение информации о подписке |
422 | Заказ не может быть завершен: сумма заказа превышает кредитный лимит по подписке | Чтобы создать заказ, необходимо увеличить кредитный лимит для клиента (см. Просмотр и обновление информации о клиенте) или индивидуальный кредитный лимит для подписки (см. Просмотр и обновление информации о подписке) |
Заказанное количество ресурсов не удовлетворяет доступному диапазону значений | Необходимо уменьшить или увеличить количество ресурсов в соответствии с пределами, заданными в тарифном плане (см. Получение информации о тарифном плане) | |
Ресурс id недоступен для заказа в тарифном плане | Ресурс с указанным ID недоступен в рамках тарифного плана |
Пример запроса
POST /api/v3/resellers/1/prolong_order
Host: test.activeplatform.com
Content-Type: application/vnd.api+json
X-Api-Token: vY5fwetestK3gJXZH5uHCw
Accept: application/vnd.api+json
{
"data": {
"attributes": {
"subscription_id": 3008945,
"resources": {
"data": [
{
"plan_resource_id": 4340,
"quantity": 5
}
]
},
"promo_code": ""
}
}
}
Пример ответа
{
"data": {
"id": "16106",
"type": "prolong_orders",
"attributes": {
"created_at": "2021-12-27T01:23:02.982+03:00",
"updated_at": "2021-12-27T01:23:03.128+03:00",
"document_id": "PO0000818",
"status": "waiting_for_payment",
"account_id": 1405,
"type": "ProlongOrder",
"closed_at": null,
"expiration_date": "2022-02-01",
"provisioning_date": null,
"total": "500.0",
"promo_code": null,
"payment_id": 11373,
"manager_id": 343,
"requester_ip": null,
"custom_price": false,
"created_by": "#343 Alexandr Sales",
"subscription_id": 3008945,
"items": [
{
"id": 23743,
"target_id": 3008945,
"target_type": "Subscription",
"type": "ProvisioningItem::Prolong",
"status": "waiting_for_payment",
"description": "csp_monthly",
"quantity": "2022-01-01"
}
]
},
"relationships": {
"charges": {
"data": [
{
"id": "115181",
"type": "charges"
}
]
}
}
}
}