Получение информации о наилучшей скидке типа Реселлер

Метод Get best reseller discount используется для получения информации о наилучшей скидке типа Реселлер среди предоставленных вышестоящим реселлером для текущего реселлера или любого из его нижестоящих реселлеров. Наилучшей считается скидка, имеющая наибольший процент среди всех скидок, доступных с учетом заданных условий. 

Информация о наилучшей действующей скидке запрашивается на указанную дату и может учитывать ограничения действия скидки по указанному ID тарифного плана или подписки (подробнее о скидках типа Реселлер см. Управление скидками типа Реселлер):

  • Если в запросе не указаны опциональные параметры, то учитываются только скидки без ограничений по подписке, тарифному плану, клиенту.
  • Если в запросе указан ID тарифного плана, то учитываются только скидки без ограничений по подписке, клиенту.
  • Если в запросе указан ID подписки, то учитываются скидки с учетом ограничений по подписке, тарифному плану, клиенту.

Расчет суммы скидки выполняется только в момент формирования реселлер-списаний реселлера: при закрытии клиентского списания или наступлении финансового дня.

Полученная информация о наилучшей скидке не гарантирует применение этой скидки:

  • На момент закрытия финансового периода может появиться и действовать другая скидка, которая станет лучшей.
  • Действие текущей лучшей скидки может завершиться до момента закрытия финансового периода.

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

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

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

GET {base_url}/api/v3/resellers/{reseller_id}/reseller_discounts

Аргументы

Название

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

Тип данных

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

Описание

X-Api-TokenheaderstringОбязательныйAPI-токен сотрудника, выполняющего операцию (см. Просмотр и обновление информации о сотруднике)
Content-TypeheaderstringОбязательныйТип данных, передаваемых в запросе. Необходимо указать: application/vnd.api+json
AcceptheaderstringОбязательныйПоддерживаемые типы данных в ответе. Необходимо указать: application/vnd.api+json
base_urlpathstringОбязательныйURL ActivePlatform
reseller_idpathintegerОбязательныйID реселлера, для которого запрашивается информация о скидке. Возможно указать ID текущего реселлера или ID любого из его нижестоящих реселлеров (см. Просмотр информации о реселлере)
current_datequerydateОбязательныйДата, для которой запрашивается информация о наилучшей действующей скидке, в формате ГГГГ-ММ-ДД

plan_id

query

string

Опциональный

ID тарифного плана, для которого запрашивается информация о наилучшей действующей скидке

subscription_idquerystringОпциональныйID подписки, для которой запрашивается информация о наилучшей действующей скидке

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

Название

Тип данных

Описание

dataobjectДанные ответа


id

integer

ID скидки

typestringТип данных

attributesobjectИнформация о скидке


created_at

date

Дата и время создания скидки


updated_at

date

Дата и время последнего обновления скидки


start_atdateДата начала периода действия скидки в формате ГГГГ-ММ-ДД


finish_atdateДата конца периода действия скидки в формате ГГГГ-ММ-ДД


namestringНазвание скидки


typestringТип скидки


ratestringРазмер скидки в процентах от 0 до 100


apply_to_subscriptionbool

Применимость скидки только для определенной подписки:

  • true — скидка применяется только для выбранной подписки выбранного реселлера на один уровень ниже реселлера, предоставившего скидку (см. subscription).
  • false — скидка может применяться для всех (с учетом ограничений) подписок выбранного реселлера на один уровень ниже реселлера, предоставившего скидку.

Если all_resellers = true, скидка всегда может применяться для всех подписок (с учетом ограничений)



all_resellersbool

Доступность скидки для всех реселлеров:

  • true — скидка доступна для всех реселлеров на один уровень ниже реселлера, предоставившего скидку.
  • false — скидка доступна только для выбранных реселлеров на один уровень ниже реселлера, предоставившего скидку (см. resellers).


all_plansbool

Доступность скидки для всех тарифных планов на уровне выбранных реселлеров:

  • true — скидка доступна для всех тарифных планов на уровне выбранных реселлеров.
  • false — скидка доступна только для выбранных тарифных планов на уровне выбранных реселлеров (см. plans).

Если all_resellers = true, скидка всегда доступна для всех тарифных планов



all_accountsbool

Доступность скидки для всех клиентов выбранных реселлеров:

  • true — скидка доступна для всех клиентов выбранных реселлеров.
  • false — скидка доступна только для выбранных клиентов выбранных реселлеров (см. accounts).

Если all_resellers = true, скидка всегда доступна для всех клиентов



resellersarrayСписок выбранных реселлеров, если all_resellers = false


plansarrayСписок выбранных тарифных планов, если all_plans = false


accountsarrayСписок выбранных клиентов, если all_accounts = false


subscriptionintegerID выбранной подписки выбранного реселлера, если apply_to_subscription = true

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

GET /api/v3/resellers/389/reseller_discounts?current_date=2021-03-04
Host: test.activeplatform.com
Content-Type: application/vnd.api+json
X-Api-Token: vY5fwetestK3gJXZH5uHCw
Accept: application/vnd.api+json

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

{
    "data": {
        "id": "128",
        "type": "discounts",
        "attributes": {
            "created_at": "2021-03-02T17:20:57.715+03:00",
            "updated_at": "2021-03-03T16:47:02.958+03:00",
            "start_at": "2021-03-02",
            "finish_at": "2021-03-30",
            "name": "10per",
            "type": "reseller",
            "rate": "10.0",
            "apply_to_subscription": false,
            "all_resellers": true,
            "all_plans": true,
            "all_accounts": true,
            "resellers": [],
            "plans": [],
            "accounts": [],
            "subscription": {}
        }
    }
}