Создание Заказа на покупку
Метод Create a Sales Order позволяет создать Заказ на покупку новой Подписки для Клиента текущего Реселлера или любого из его нижестоящих Реселлеров по ценам, указанным в Тарифном плане (см. Заказ подписки по ценам, указанным в тарифном плане).
Заказ Подписки на Сертификат или Домен доступен только с помощью метода API v1 Create an Order (см. Создание Заказа).
Заказ Подписки по индивидуальным ценам или с индивидуальной наценкой доступен только через Панель управления Оператора (см. Заказ на покупку подписки).
Заказ Подписки с указанием дополнительных параметров (например, Услуги Microsoft, Google) требует последовательного выполнения нескольких шагов:
Доступ к текущему Реселлеру, относительно которого формируется список нижестоящих Реселлеров, определяется по токену Сотрудника, указанному в заголовке запроса.
POST {base_url}/api/v3/resellers/{reseller_id}/sales_order
Аргументы
Название | Тип параметра | Тип данных | Обязательный/ | Описание | ||||
---|---|---|---|---|---|---|---|---|
X-Api-Token | header | string | Обязательный | API токен Сотрудника, выполняющего операцию (см. Просмотр и обновление информации о сотруднике) | ||||
Content-Type | header | string | Обязательный | Предназначен для идентификации формата и способа представления сущности | ||||
Accept | header | string | Обязательный | Предназначен для информирования сервера о типах данных, которые поддерживаются клиентом (браузером) | ||||
reseller_id | path | integer | Обязательный | ID Реселлера. Возможно указать ID текущего Реселлера или ID любого из его нижестоящих Реселлеров (см. Просмотр информации о реселлере) | ||||
data | form | object | Обязательный | Информация об атрибутах операции | ||||
attributes | form | object | Обязательный | Атрибуты операции | ||||
account_id | form | integer | Обязательный | ID Клиента, для которого необходимо заказать Подписку | ||||
plan_id | form | integer | Обязательный | ID Тарифного плана | ||||
plan_period_id | form | integer | Обязательный | ID периода Тарифного плана | ||||
payment_model | form | string | Обязательный | Модель оплаты Подписки. Возможные значения:
| ||||
subscription_credit_limit_use_system | form | bool | Опциональный | Использование в Заказе системного значения Кредитного лимита по Подписке:
Параметр используется только для Заказов по Постоплате (payment_model = postpay) | ||||
subscription_credit_limit | form | float | Опциональный | Величина Кредитного лимита по подписке на уровне Заказа, если не используется системное значение значение Кредитного лимита по подписке (subscription_credit_limit_use_system = false). Параметр используется только для Заказов по Постоплате (payment_model = postpay) | ||||
resources | form | object | Опциональный | Перечень Ресурсов в Заказе на покупку. Обязательный, если хотя бы для одного Ресурса указано ненулевое минимальное количество в Тарифном плане или заказывается дополнительное количество (см. Ресурсы тарифного плана) | ||||
data | form | array | Опциональный | Информация о Ресурсах. Обязательно для Ресурсов с ненулевым минимальным или дополнительным количеством | ||||
plan_resource_id | form | integer | Опциональный | ID Ресурса Тарифного плана | ||||
additional | form | integer | Опциональный | Дополнительное количество Ресурса сверх включенного в Тарифный план | ||||
account_product_managers | form | object | Опциональный | Ответственные сотрудники для Клиента (см. Управление ответственными сотрудниками) | ||||
data | form | array | Опциональный | Информация об Ответственных сотрудниках для Клиента в рамках Продукта, связанного с указанным Тарифным планом | ||||
manager_product_role_id | form | integer | Опциональный | ID Роли сотрудника в рамках Продукта | ||||
responsible_product_manager_id | form | integer | Опциональный | ID Ответственного сотрудника в рамках Продукта | ||||
promo_code | form | string | Опциональный | Код для получения скидки | ||||
task_id | form | string | Опциональный | ID асинхронной задачи, в рамках которой была проведена валидация дополнительных параметров (см. Валидация дополнительных параметров Услуг для Тарифного плана Реселлера) — если для заказа Подписки требуется указать дополнительные параметры (например, Услуги Microsoft, Google) |
Модель ответа
- В случае отсутствия ошибок метод возвращает данные о созданном Заказе на покупку (см. модель ответа в Получение информации о Заказе Реселлера). Статус ответа: 201 Created.
При заказе Подписки по модели Постоплата, когда требуется ручное подтверждение Менеджера для Клиента (см. Управление разрешением на работу клиента по модели Постоплата) в случае отсутствия ошибок метод возвращает данные о созданной Ручной операции.
Название
Тип данных
Описание
postpay_verification object Данные о разрешении на работу Клиента по модели Постоплата manual_operation_id
integer
ID Ручной операции
Ошибки
Статус ошибки | Текст ошибки | Комментарий |
---|---|---|
422 | Невозможен заказ подписки на тарифный план c id | Тарифный план с указанным ID должен быть в статусе Активный (см. Получение списка Тарифных планов Реселлера) |
Период id недоступен для заказа | Период с указанным ID должен быть доступен в рамках Тарифного плана | |
Клиент id не найден | Необходимо указать существующего Клиента Реселлера (см. Получение списка Клиентов) | |
Заказанное количество ресурсов не удовлетворяет доступному диапазону значений | Необходимо уменьшить или увеличить количество Ресурсов в соответствии с пределами, заданными в Тарифном плане | |
Ресурс id недоступен для заказа в тарифном плане | Ресурс с указанным ID недоступен в рамках Тарифного плана | |
Заказ не может быть завершен: сумма заказа превышает кредитный лимит по подписке | Чтобы создать Заказ, необходимо увеличить Кредитный лимит для Клиента (см. Просмотр и обновление информации о клиенте) или индивидуальный Кредитный лимит для данной Подписки (см. Просмотр и обновление информации о подписке) | |
Заказ не может быть завершен: платеж за полный месяц превышает кредитный лимит по подписке | Чтобы создать Заказ, необходимо увеличить Кредитный лимит для Клиента или индивидуальный Кредитный лимит для данной Подписки | |
Ресурс id должен быть заказан | В Заказ необходимо добавить обязательный Ресурс с указанным ID, так как в Тарифном плане для Ресурса установлено минимальное количество больше 0 | |
Вы не можете заказать план для выбранного клиента, так как для данного типа клиента план недоступен | чтобы создать Заказ, необходимо указать Клиента с другим Типом клиента (см. available_account_types в Получение информации о Тарифном плане Реселлера) | |
Вы не можете заказать план для выбранного аккаунта, так как план является пробным, а данный аккаунт находится в финансовой блокировке | Для Клиентов в статусе Финансовая блокировка доступен заказ только платных Подписок | |
Вы не можете заказать план для выбранного клиента, так как данный клиент находится в статусе S | Для Клиентов в этом статусе заказ новых Подписок недоступен | |
Вы не можете заказать план для выбранного клиента, так как план является единичным и у данного клиента уже есть подписка на данный план в статусе S | У Клиента может быть только одна Подписка на Тарифный план с признаком Единичный | |
Заказ дополнительного количества ресурсов недоступен для пробного периода | Чтобы создать Заказ на покупку пробной Подписки, для каждого Ресурса дополнительное количество должно быть равно 0 | |
Пробный период не может быть заказан: минимальное количество ресурса больше включенного | Заказ на покупку пробной Подписки с такой конфигурацией Ресурсов недоступен | |
Заказ услуги на выбранный аккаунт недоступен из-за ограничений, наложенных на аккаунт или реселлера | Валидационный сервис (см. Управление валидационным сервисом) определил, что Клиент или Реселлер находятся в санкционных списках. Заказ новых Подписок недоступен для Продукта, с которым связан указанный Тарифный план (см. Получение информации о Тарифном плане Реселлера) | |
Заказ услуги недоступен. Сервис по проверке ограничений, наложенных на аккаунт или реселлера, не отвечает. Попробуйте разместить заказ позже | Валидационный сервис (см. Управление валидационным сервисом) не смог получить информацию для проверки Клиента и Реселлера. Чтобы создать Заказ, обратитесь в службу технической поддержки или повторите попытку позже | |
Заказ услуги недоступен. В аккаунте или у реселлера отсутствует атрибут ИНН | Чтобы создать Заказ, необходимо сначала создать и заполнить Дополнительный параметр для ИНН Реселлера или Клиента (см. Настройка дополнительных параметров), а затем повторить попытку | |
Указанная роль не настроена в продукте | Если требуется задать Ответственных сотрудников для Клиента, необходимо следующие данные:
| |
Cотрудник id не является ответственным менеджером по продукту |
Пример запроса
POST /api/v3/resellers/1/sales_order
Host: test.activeplatform.com
Content-Type: application/vnd.api+json
X-Api-Token: vY5fwetestK3gJXZH5uHCw
Accept: application/vnd.api+json
{
"data": {
"attributes": {
"account_id": "710",
"plan_id": 1598,
"plan_period_id": 2808,
"payment_model": "prepay",
"resources": {
"data": [
{
"plan_resource_id": 4340,
"additional": 2
}
]
},
"promo_code": ""
}
}
}
Пример ответа
{
"data": {
"id": "12187",
"type": "sales_orders",
"attributes": {
"created_at": "2020-11-11T09:59:59.644+03:00",
"updated_at": "2020-11-11T09:59:59.875+03:00",
"document_id": "SO006650",
"status": "waiting_for_payment",
"account_id": 710,
"type": "SalesOrder",
"closed_at": null,
"expiration_date": "2020-11-12",
"provisioning_date": null,
"total": "160.0",
"promo_code": "",
"payment_id": 9264,
"manager_id": 225,
"requester_ip": null,
"custom_price": false,
"created_by": "#225 Sales Manager",
"subscription_id": 3007747,
"items": [
{
"id": 20865,
"target_id": "Subscription",
"target_type": "Subscription",
"type": "ProvisioningItem::New",
"status": "waiting_for_payment",
"description": "Clean CSPmonthly",
"quantity": 1
},
{
"id": 20866,
"target_id": "SubscriptionResource",
"target_type": "SubscriptionResource",
"type": "ProvisioningItem::Upgrade",
"status": "waiting_for_payment",
"description": "HDD",
"quantity": 2
}
]
},
"relationships": {
"charges": {
"data": [
{
"id": "312660",
"type": "charges"
}
]
}
}
}
}