Помощь · Интеграции

Документация API

Публичные маршруты Latorn для учётных записей, обучения и преподавательских инструментов. Каждый раздел можно читать отдельно.

Здесь описаны только пользовательские и преподавательские интеграции. Служебные операции платформы в публичный справочник не входят.

Справочник API

Оплата курса и корпоративные заявки

Запуск покупки курса, проверка результата и создание заявки на места для команды.

Маршруты раздела

Метод Маршрут Доступ Назначение
POST /api/payments/course Нужна сессия Создать платёж поддерживаемого курса и получить адрес подтверждения.
POST /api/payments/[id]/verify Владелец платежа Обновить и получить состояние своего платежа.
POST /api/corporate-orders Без входа Отправить заявку на корпоративные места.

Покупка курса

POST /api/payments/course принимает курс, необязательный промокод и идентификатор посетителя Яндекс Метрики:

{
  "courseId": "course-id",
  "promoCode": "START10",
  "ymClientId": "1234567890.1234567890"
}

Поле ymClientId можно не передавать. Адрес возврата после оплаты формирует сам Latorn, поэтому клиент не должен присылать returnUrl.

Успешный ответ содержит только необходимые данные для продолжения покупки:

{
  "confirmationUrl": "https://yookassa.ru/checkout/...",
  "paymentId": "payment-id"
}

Встроенная оплата доступна только для платных опубликованных курсов официального автора Latorn alexeymalyshkin@mail.ru. Для курса другого автора маршрут возвращает COURSE_PAYMENT_NOT_SUPPORTED: учащийся оплачивает обучение напрямую автору по указанным им условиям.

Доступ к курсу выдаётся только после подтверждённого успешного платежа.

Не считайте перенаправление пользователя доказательством оплаты. После возврата запросите POST /api/payments/[id]/verify и проверьте состояние в JSON.

Корпоративная заявка

Корпоративная заявка не является мгновенной оплатой. Она доступна для тех же официальных курсов, что и встроенная покупка; на странице курса стороннего автора этот сценарий не показывается. Заявка фиксирует компанию, контакт, курс и желаемое число мест:

{
  "courseId": "course-id",
  "companyName": "ООО Пример",
  "contactName": "Иван Петров",
  "contactEmail": "office@example.com",
  "seatsTotal": 15
}

После обработки заявки места выдаются одноразовыми приглашениями и принимаются через обычный механизм доступа к курсу.

Поддержка