Создание бюджета расходов

Метод используется для создания бюджета расходов по активной подписке с оплатой по мере потребления (pay-as-you-go, PAYG) для аккаунта, к которому есть доступ у текущего пользователя, а также настройки связанных уведомлений.

Метод возвращает информацию о созданном бюджете расходов. Код ответа 201 Created.

POST {reseller_domain}/internal_api/accounts/{account_id}/spending_budgets

В этой статье:

Авторизация

Требуется авторизация с помощью access token пользователя.

Аргументы

Название

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

Тип данных

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

Описание

Content-Type

header

string

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

Тип данных, передаваемых в запросе. Укажите application/vnd.api+json

Accept

header

string

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

Поддерживаемые типы данных в ответе. Укажите application/vnd.api+json

X-Api-Locale

header

string

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

Двухбуквенный код языка данных в ответе и созданной асинхронной задачи

Authorization 

header

string

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

Действующий access token пользователя. Формат: Bearer <access token>

reseller_domain

path

string

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

Доменное имя реселлера

account_id

path

integer

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

ID аккаунта, которому принадлежит подписка

budget_amount

form

number

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

Величина бюджета расходов по подписке: от 0.01 до 2147483647.00 в валюте реселлера

notification_threshold

form

number

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

Процент бюджета расходов budget_amount для отправки дополнительного уведомления: от 0.01 до 100

recipients

form

array

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

Список ID тех активных пользователей аккаунта (см.

Получение списка активных пользователей

), которым платформа пришлет уведомление при достижении заданного бюджета расходов budget_amount, а также дополнительное уведомление при достижении заданного процента бюджета расходов notification_threshold

period

form

string

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

Период, на который устанавливается бюджет расходов:

  • month — месяц.

  • quarter — квартал.

  • year — год.

В текущей версии поддерживается только period = month

target_type

form

string

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

Тип сущности, для которой устанавливается бюджет расходов:

  • subscription — подписка.

  • resource — ресурс.

В текущей версии поддерживается только target_type = subscription

target_id

form

integer

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

ID сущности, для которой устанавливается бюджет расходов

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

Название

Тип данных

Описание

data

object

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


id

string

ID бюджета расходов


type

string

Тип данных


attributes

object

Информация о бюджете расходов



spending_budget_id

integer

ID бюджета расходов



budget_amount

number

Величина бюджета расходов в валюте реселлера. Если budget_amount = 0, бюджет не установлен, и уведомление не отправляется



notification_threshold

number

Процент бюджета расходов budget_amount для отправки дополнительного уведомления. Если notification_threshold = 0, процент не установлен, и дополнительное уведомление не отправляется



recipients

array

Список ID пользователей, которым платформа пришлет уведомление при достижении заданного бюджета расходов budget_amount, а также дополнительное уведомление при достижении заданного процента бюджета расходов, если notification_threshold > 0



period

string

Период, на который установлен бюджет расходов:

  • month — месяц.

  • quarter — квартал.

  • year — год.



target_type

string

Тип сущности, для которой установлен бюджет расходов:

  • subscription — подписка.

  • resource — ресурс.



target_id

integer

ID сущности, для которой установлен бюджет расходов

meta

object

Дополнительная информация


server_current_time

string

Текущие дата и время сервера

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

Bash
curl --location --request POST 'https://test.activeplatform.com/internal_api/accounts/1938/spending_budgets' \
--header 'Content-Type: application/vnd.api+json' \
--header 'Accept: application/vnd.api+json' \
--header 'X-Api-Locale: en' \
--header 'Authorization: Bearer AccessTokenExample' \
--data-raw '{
  "data": {
    "attributes": {
      "budget_amount": 20000,
      "notification_threshold": 80,
      "recipients": [
        982
      ],
      "period": "month",
      "target_type": "subscription",
      "target_id": 5202
    }
  }
}'

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

JSON
{
    "data": {
        "id": "2",
        "type": "spending_budgets",
        "attributes": {
            "spending_budget_id": 2,
            "budget_amount": 20000,
            "notification_threshold": 80,
            "recipients": [
                982
            ],
            "period": "month",
            "target_type": "subscription",
            "target_id": 5202
        }
    },
    "meta": {
        "server_current_time": "2023-06-30 T12:34:56.199973+0300"
    }
}