Skip to main content

Заголовки запроса

Authorization
string
required
API токен сервисного пользователя в формате Bearer. Получите токен в панели администратора школы. Формат: Bearer YOUR_TOKEN.
Seller-Id
string
required
Уникальный идентификатор продавца в системе. Используется для разграничения доступа между разными продавцами.
School-Id
string
required
Уникальный идентификатор школы в системе. Определяет контекст выполнения операции.
GET /saas/v2/product-access/list/raw
Возвращает доступы пользователей к продуктам школы. Все параметры фильтрации необязательны. Параметры-массивы передаются повторением параметра: userIds=1&userIds=2.

Параметры запроса

Пагинация

skip
integer
Количество записей, которые нужно пропустить. По умолчанию 0.
page
integer
Номер страницы (альтернатива skip). Начинается с 1.
take
integer
Количество записей на странице. От 1 до 1000. По умолчанию 100.

Фильтрация

accessIds
integer[]
Фильтр по ID доступов.
userIds
integer[]
Фильтр по ID пользователей.
active
boolean
Только активные (true) или неактивные (false) доступы.
Поиск по пользователю/продукту. Максимум 50 символов, пробелы по краям обрезаются.
launchIds
integer[]
Фильтр по ID запусков (потоков).
currentLessonIds
integer[]
Фильтр по ID текущего урока участника.
enrolledByUserIds
integer[]
Фильтр по ID пользователей, выдавших доступ.
participantCuratorIds
integer[]
Фильтр по ID кураторов (менеджеров продавца).
participantStatuses
enum[]
Статус участника: InUse, Completed.
withParent
boolean
Включать доступы, выданные как часть родительского доступа (бандла).
expireAtDateRange
object
Диапазон даты истечения доступа.
createdAtDateRange
object
Диапазон даты выдачи доступа.
progressPercentRange
object
Диапазон процента прохождения. Поля from / to (число); хотя бы одно обязательно.

Фильтры биллинга (подписки/рассрочки)

billingActive
boolean
Только с активным (true) биллингом.
hasProductBillingTypes
enum[]
Тип биллинга продукта: Installment (рассрочка), Subscription (подписка).
billingStatuses
enum[]
Статус биллинга доступа: Scheduled, Processing, Paid, Failed, WaitingEntryFee, CanceledByUser, CanceledByFailedAutoCharge, CanceledByReinitialization, CanceledByFailedManualCharge, CanceledByPreviousCancellation.
billingIntervals
enum[]
Интервал списания: Week, Month, Year.
billingInvoiceIds
integer[]
Фильтр по ID счетов биллинга.
billingAmountRange
object
Диапазон суммы биллинга. Поля from / to (число); хотя бы одно обязательно.
billingCurrentPaymentAtDateRange
object
Диапазон даты текущего платежа биллинга. Поля from / to (ISO 8601).
billingNextPaymentAtDateRange
object
Диапазон даты следующего платежа биллинга. Поля from / to (ISO 8601).

Вложенные фильтры

product
object
Фильтр по продукту.
user
object
Фильтр по пользователю.

Поля ответа

payload
object
Постраничный список доступов (компактная проекция). Полная структура — productAccess в справочнике product.
curl --location 'https://api.exode.biz/saas/v2/product-access/list/raw?take=20&active=true' \
  --header 'Seller-Id: {{ sellerId }}' \
  --header 'School-Id: {{ schoolId }}' \
  --header 'Authorization: Bearer YOUR_TOKEN'
{
  "success": true,
  "code": 200,
  "payload": {
    "page": 1,
    "count": 1,
    "pages": 1,
    "isFirst": true,
    "isLast": true,
    "items": [
      {
        "accessId": 4001,
        "productId": 200,
        "courseId": 10,
        "active": true,
        "expireAt": "2025-12-31T23:59:59Z",
        "user": {
          "id": 123,
          "extId": "crm_12345",
          "tgId": null,
          "login": "[email protected]",
          "email": "[email protected]",
          "phone": "+9876543210",
          "fullName": "John Doe"
        }
      }
    ],
    "next": {
      "skip": 20,
      "take": 20,
      "page": 2
    },
    "prev": {
      "skip": 0,
      "take": 20,
      "page": 1
    }
  }
}

Требования к правам доступа

Требуется аутентификация по токену и одно из прав: управление пользователями школы (SchoolManageUsers) или управление студентами курса (CourseStudentManage).