# Coupon API

> Этот раздел предназначен для партнеров, которые принимают спортивные ставки в своей системе, передают купоны в Систему расчета купонов SportAPI и получают результаты их расчета.

Version: v1
Language: ru

## Documentation

- [Обзор API](00-getting-started/01-overview.md): API приема и расчета ставок позволяет партнеру передавать выбранные пользователями спортивные ставки в Систему расчета купонов SportAPI (далее — Система расчета), получать подтверждение их приема и узнавать результат после завершения событи
- [Быстрый старт](00-getting-started/02-quick-start.md): В этом руководстве мы последовательно проверим доступность API, авторизуемся, создадим одинарный купон и получим его текущее состояние.
- [Авторизация](00-getting-started/03-authentication.md): Для работы с купонами и балансом партнер должен получить клиентский JWT. Токен выдается после проверки логина и пароля и определяет, к данным какого клиента разрешен доступ.
- [Общие правила API](00-getting-started/04-common-conventions.md): На этой странице собраны правила, общие для всех методов Системы расчета купонов SportAPI. Описание конкретных полей и бизнес-ошибок приводится на страницах соответствующих методов.
- [Указатель ставки](01-bet-placement/01-bet-pointer.md): Указатель ставки — это строка, которая однозначно описывает выбранный пользователем исход: событие, рынок, вариант ставки, дополнительный параметр и коэффициент.
- [Создание купона](01-bet-placement/02-place-coupon.md): Для регистрации выбранных пользователем ставок используйте:
- [Ординары, экспрессы и multi](01-bet-placement/03-coupon-types.md): Тип создаваемого купона зависит от количества элементов в listbets и значения multi.
- [Изменение коэффициентов и доступности исхода](01-bet-placement/04-coefficient-changes.md): Между выбором ставки пользователем и отправкой купона состояние исхода в спортивной линии может измениться:
- [Жизненный цикл расчета](02-settlement/01-settlement-lifecycle.md): После приема купона Система расчета купонов SportAPI отслеживает результаты всех входящих в него ставок и обновляет состояние купона.
- [Статусы и расчет выплаты](02-settlement/02-statuses-and-payouts.md): Купон и каждая ставка внутри него имеют собственный статус. Всегда определяйте значение кода с учетом объекта, к которому относится поле status.
- [Callback результатов](02-settlement/03-callbacks.md): Callback позволяет получать изменения расчета купонов без постоянного опроса API.
- [Проверка подписи callback](02-settlement/04-callback-signature.md): Каждый callback подписывается с помощью HMAC-SHA256. Проверка подписи подтверждает, что тело запроса сформировано Системой расчета купонов SportAPI и не было изменено при передаче.
- [Повторы и идемпотентность callback](02-settlement/05-retries-and-idempotency.md): Один callback может прийти повторно. Это нормальная часть надежной доставки, а не ошибка Системы расчета купонов SportAPI.
- [Резервный polling](02-settlement/06-polling-fallback.md): Polling — это периодическая проверка состояния купонов через клиентский API Системы расчета купонов SportAPI.
- [Получение одного купона](03-coupons/01-get-coupon.md): Метод возвращает текущее состояние одного купона вместе со всеми ставками внутри него.
- [Получение купонов списком и по периоду](03-coupons/02-query-results.md): Один метод позволяет получить:
- [Активные и недавно рассчитанные купоны](03-coupons/03-active-and-calculated.md): Система расчета купонов SportAPI предоставляет два отдельных метода:
- [Модель купона и ставки](03-coupons/04-coupon-model.md): Полная модель содержит:
- [Cashout](03-coupons/05-cashout.md): Текущий маршрут и формат ответа могут измениться после завершения разработки и тестирования.
- [Сквозной пример: ординар](04-guides/01-single-bet.md): Ординар — это купон с одной ставкой.
- [Сквозной пример: экспресс](04-guides/02-accumulator.md): Экспресс — это один купон, объединяющий несколько ставок на разные матчи.
- [Сквозной пример: восстановление после пропущенного callback](04-guides/03-recovery.md): Callback ускоряет получение результатов, но не является единственным источником данных. Актуальное состояние купонов сохраняется в Системе расчета купонов SportAPI и доступно через клиентский API.
- [Справочник endpoint](05-reference/01-endpoints.md): Для новых интеграций используйте маршруты:
- [Формат ответа API](05-reference/02-response-format.md): Методы нового клиентского API используют общую JSON-оболочку.
- [Коды ошибок](05-reference/03-error-codes.md): Новый клиентский API обычно возвращает бизнес-ошибку с HTTP 200:
- [Переход со старого API](05-reference/04-migration-from-old-api.md): Этот документ сравнивает старое описание oldapicalc.txt с клиентским OpenAPI 1.2.0. Он нужен существующим интеграторам, которые уже работают с /api/v2/login, /bet/place и /coupons/.
- [Совместимые старые маршруты](05-reference/05-legacy-api.md): Старые маршруты продолжают поддерживаться, и их удаление в настоящее время не планируется.
- [Термины](05-reference/06-glossary.md): Набор HTTP-методов, через которые партнер авторизуется, создает купоны и получает их состояния.
- [История изменений](05-reference/07-changelog.md): Здесь перечислены изменения публичного контракта клиентского API. Новые записи добавляются сверху и публикуются одновременно с обновлением OpenAPI.
- [Coupon API — callback и проверка HMAC](06-examples/callback.md): Callback позволяет получать изменения расчёта купонов без постоянного опроса API. Подлинность запроса проверяется подписью HMAC-SHA256 по точным байтам JSON-тела.
- [Coupon API — примеры запросов cURL](06-examples/curl.md): На этой странице показан проверенный сценарий: авторизация, получение актуального исхода из Sport Line API, формирование полного указателя ставки, создание ординара и получение созданного купона.
- [Coupon API — пример на JavaScript для Node.js](06-examples/javascript.md): Пример выполняет полный сценарий без сторонних библиотек: находит актуальные исходы в Sport Line API, авторизуется в Coupon API, создаёт ординар, экспресс или несколько ординаров и получает их текущее состояние.
- [Полные JSON-ответы Coupon API](06-examples/json-responses/README.md): Файлы содержат полные ответы тестового Coupon API без сокращений:
- [Coupon API — пример на PHP](06-examples/php.md): Пример для PHP 8.1+ выполняет полный серверный сценарий: получает актуальные исходы, авторизуется, создаёт выбранный тип купона и запрашивает его состояние.
- [Coupon API — пример на Python](06-examples/python.md): Пример для Python получает исходы Sport Line API, создаёт ординар, экспресс или несколько ординаров и запрашивает актуальные состояния купонов.
- [Примеры интеграции Coupon API](06-examples/README.md): Во всех примерах используются только условные значения. Замените базовые URL, логин, пароль и ключ Sport Line API данными, полученными от менеджера SportAPI.
- [Исходы, ставки и купоны — техническая документация АПИ](QUICK-INTEGRATION.md): Версия API: 1.2.0.
- [API приема и расчета ставок](README.md): Этот раздел предназначен для партнеров, которые принимают спортивные ставки в своей системе, передают купоны в Систему расчета купонов SportAPI и получают результаты их расчета.
