Программные интерфейсы (API) Долгового сервиса V2

  • Базовый URL: https://debt.webmoney.com
  • Протокол: только HTTPS (TLS 1.2+)
  • Версионирование: путь содержит версию, например /api/v2/.... Изменения, ломающие совместимость, публикуются в новой версии.
  • Кодировка и формат: все тела запросов/ответов — JSON в UTF-8.

Авторизация (JWT Bearer)

  • Каждый запрос должен содержать заголовок авторизации с JWT токеном:
    • Authorization: Bearer <JWT>
  • Токен получается на странице https://debt.webmoney.com/Tokens.aspx

Обязательные заголовки

  • Для всех запросов:
    • Accept: application/json
    • Authorization: Bearer <JWT>
  • Дополнительно для POST:
    • Content-Type: application/json

Примеры общих заголовков (curl)

Для GET
-H "Authorization: Bearer <JWT>" \
-H "Accept: application/json" 

Для POST
-H "Authorization: Bearer <JWT>" \
-H "Accept: application/json" \
-H "Content-Type: application/json" 

Формат данных

  • Числа денег: десятичные, с точкой как разделителем, например 123.45.
  • Даты/время: ISO 8601 в UTC, например "2025-01-02T12:34:56Z".
  • Логические значения: true/false (JSON).

Ошибки

При ошибке сервер возвращает HTTP-код и JSON:

{"error":"...", "error_description":"..."}

Стандартизованные коды:
  • 400 bad_request — ошибка формата/валидации запроса (неверные параметры, типы).
  • 401 unauthorized — отсутствует или некорректен JWT; недействительный WMID в токене.
  • 403 access_denied — недостаточно прав (scope) или запрещён доступ бизнес-правилом (например, чёрный список).
  • 404 not_found — объект не найден либо его состояние не подходит для операции.
  • 409 conflict — бизнес-конфликт (уже существует/уже заблокирован/недостаточно средств и т. п.).
  • 429 too_many_requests — превышен лимит частоты запросов.
  • 500 server_error — внутренняя ошибка сервера или недоступность внешних сервисов.

Ограничение частоты запросов (rate limiting)

  • При превышении лимитов сервер отвечает 429 too_many_requests с описанием.
  • Рекомендуется реализовать экспоненциальное повторение (retry with backoff).

Права (scope) токена

Scope Назначение
trust_limits Доступ к получению списка кредитных линий
propose_limit Создание лимита доверия
revoke_limit Закрытие (отзыв) лимита доверия
loan_requests Получение списка заявок на получение займа
block_borrower Блокировка/разблокировка заемщика по займу
user_activity Кредитный рейтинг (активность участника)
loans Список выданных займов
loan_details Детали выданного займа
loans_by_borrower Список займов по заемщику
loan_repay Возврат займа

Список интерфейсов

  1. Список кредитных линий (GET /api/v2/creditlines)
  2. Предложение кредитной линии (POST /api/v2/creditlines/propose)
  3. Отзыв кредитной линии (POST /api/v2/creditlines/close)
  4. Список заявок на получение (POST /api/v2/tenders/money)
  5. Блокировка заемщика (POST /api/v2/borrowers/block)
  6. Кредитный рейтинг (GET /api/v2/creditrating/{wmid})
  7. Список выданных займов (GET /api/v2/loans ...)"
  8. Список выданных займов по заемщику (GET /api/v2/loans/borrowers/{wmid})
  9. Детали выданного займа (GET /api/v2/loans/{id})
  10. Инициирование возврата по выданному займу (POST /api/v2/loans/{id}/repay)