Список пакетов
Запрашивайте список перед выдачей — состав пакетов и цены могут меняться. Выдать можно только существующий вариант. Пакеты с ограниченным числом мест в список не входят и через API не выдаются.
Выдача подписки
user_id— ваш идентификатор пользователя (subтокена входа). Если аккаунта ещё нет, он создаётся.public_id— наш идентификатор из статистики или из токена виджета. Пакет ложится в существующий аккаунт, новый не создаётся.
Заголовки
Уникальный ключ операции, от 6 до 64 символов. Защищает от повторной выдачи при таймаутах и ретраях.
Тело запроса
Идентификатор пользователя в вашей системе — тот же, что вы передаёте в
sub токена входа. От 1 до 64 символов. Передаётся ровно одно из user_id и public_id.Идентификатор платежа в вашей системе, от 1 до 64 символов. Используется при сверке взаиморасчётов и защищает от повторной выдачи по одному платежу. Важно: параметр уникален в рамках партнёра.
Процент цены пакета, от которого начисляются выплаты маркетинга, от 0 до 100. Учитывается, только если маркетинг при выдаче включён для вашей интеграции — см. Выплаты маркетинга.
Данные пользователя для отображения в кабинете. Учитываются только при выдаче по
user_id и только при создании нового аккаунта.Ответ
Ваш идентификатор пользователя — если выдача была по
user_id. При выдаче по public_id — null.Момент окончания пакета, который действует у пользователя после выдачи, unix-время в секундах. У бессрочного пакета —
4102444800 (01.01.2100).Идентификатор варианта, который действует у пользователя после выдачи. Обычно совпадает с переданным; если у пользователя уже был пакет лучше — это его вариант, см. Поведение.
Пример
Выплаты маркетинга
Выдача пакета может запускать выплаты маркетинга Ai-Seven — так же, как покупка этого пакета на сайте: прямой бонус и матчинг вышестоящим по структуре пользователя, учёт в обороте периодических бонусов. Выплаты получают пользователи Ai-Seven, с вас ничего не списывается. Выплаты запускаются, только если выполнены все условия:1
Маркетинг при выдаче включён для вашей интеграции
Включается с нашей стороны вместе с суточным потолком выдач — договоритесь с контактным лицом в Ai-Seven. Без включения
marketing_percent не учитывается: пакет выдаётся, выплат нет.2
В запросе передан marketing_percent больше 0
Не передан или
0 — пакет выдаётся без выплат.price из GET /subscription-plans) × marketing_percent / 100. Например, вариант за 8 500 ₽ с marketing_percent: 50 даёт выплаты как покупка за 4 250 ₽.
Повтор успешной выдачи с тем же Idempotency-Key или payment_id второй раз ничего не выдаёт и не начисляет.
Лимиты
Суточный потолок выдач
Сумма цен выданных вами пакетов за сутки по московскому времени, с 00:00. Задаётся с нашей стороны. Выдача, с которой сумма превысит потолок, отклоняется с
429 — ничего не выдаётся и не начисляется.Лимиты запросов
Число запросов в минуту и в сутки на всю интеграцию — общее для всех эндпоинтов Partner API. Подробнее — в Обзоре.
Поведение
Пользователь ещё не заходил в Ai-Seven
Пользователь ещё не заходил в Ai-Seven
При выдаче по
user_id аккаунт создаётся автоматически, пакет ждёт первого входа. Сценарий «купил, потом зашёл» работает — пользователю достаточно перейти по кнопке из вашего кабинета.При выдаче по public_id аккаунт не создаётся: неизвестный public_id — 404.У пользователя уже есть подписка
У пользователя уже есть подписка
Выдача не понижает действующий пакет пользователя. Прежний пакет остаётся, если он выше рангом, а при равном ранге — если он кончается позже, чем кончился бы выданный, или это другой пакет и он дороже. Тогда
plan_title, plan_price_id и activated_until в ответе — прежнего пакета. В остальных случаях пакет заменяется на выданный — пакеты не суммируются.Выданный пакет действует с момента выдачи на свой полный срок, остаток прежнего пакета к нему не прибавляется. Месяц срока — 30 суток.Доступ к платформе продлевается до более поздней из двух дат: нынешнего окончания доступа или момента выдачи плюс срок пакета.Токены выданного варианта начисляются в любом случае.Повторный запрос с тем же Idempotency-Key
Повторный запрос с тем же Idempotency-Key
Успешный ответ повторяется как есть, повторной выдачи не происходит. Если операция завершилась ошибкой, ключ освобождается, и повтор с тем же ключом выполняет её заново (например, после
429 потолка — на следующие сутки).Если первая операция ещё выполняется, вернётся 409. Если ключ пришёл с другим телом запроса — 422.Повторный запрос с тем же payment_id
Повторный запрос с тем же payment_id
Возвращается
409. Один платёж может быть использован для выдачи только один раз, независимо от ключа идемпотентности.