Перейти к содержанию

💬 Апелляции

API Royal Finance предоставляет удобные инструменты для работы с апелляциями: вы можете создавать новые обращения, получать информацию по конкретной апелляции и просматривать их список.

Основной канал обработки апелляций — Telegram. После создания апелляции автоматически открывается support-чат, в котором участвуют наши сотрудники. Для начала обработки необходимо отправить в чат чек платежа и ID заявки.

Апелляция будет обработана нашей системой и командой поддержки.


🧾 Статусы апелляций

Статус Значение (англ.) Описание
Новое new Апелляция создана, но еще не обработана
В обработке in_progress Апелляция рассматривается специалистом
Выполнено done Апелляция успешно обработана
Отклонено rejected Апелляция отклонена

1. 📄 Получение деталей апелляции

GET /api/v2/appeals/{appeal_id}/

Возвращает подробную информацию об апелляции по её идентификатору.

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

Параметр Тип Обязательный Описание
appeal_id integer Уникальный ID апелляции
Authorization header Токен авторизации в формате Token <ваш_токен>

Пример запроса

Bash
curl --location '{{url}}/api/v2/appeals/{appeal_id}/' \
--header 'Authorization: Token YOUR_TOKEN'

Пример успешного ответа (200 OK)

JSON
1
2
3
4
5
6
7
8
9
{
    "id": 82145,
    "status": "done",
    "payment": 10988412,
    "amount": "1575.00",
    "bank_card": 29817,
    "created_at": "2025-10-03T12:14:22.874Z",
    "updated_at": "2025-10-03T14:09:47.215Z"
}
(Примечание: bank_card - айди карты в нашей системе )

Ошибки

Код Пример ответа Причина
401 json { "error": { "code": 10401, "msg": "Недопустимый токен.", "detail": null, "help_link": null } } Токен недействителен
401 json { "error": { "code": 10401, "msg": "Недопустимый заголовок токена. Не предоставлены учетные данные.", "detail": null, "help_link": null } } Не указан токен
403 json { "error": { "code": 10403, "msg": "У вас недостаточно прав для выполнения данного действия.", "detail": null, "help_link": null } } Недостаточно прав
404 Not Found Апелляция не существует
500 Internal Server Error Внутренняя ошибка сервера

2. 📝 Создание новой апелляции (JSON + Base64)

POST /api/v2/appeals/

Позволяет создать новую апелляцию. Запрос отправляется в формате application/json, а файл чека передается в виде строки Base64.

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

Параметр Расположение Тип Обязательный Описание
payment Body integer ID платежа, по которому подается апелляция
amount Body string Сумма апелляции (в виде строки, например "9001.00")
receipt Body json Объект, содержащий файл чека

Структура объекта receipt

Поле Тип Обязательный Описание
file string Содержимое файла, закодированное в Base64
file_name string Имя файла с расширением (например, cheque.jpg)

Пример запроса

Bash
curl --location '{{base_url}}/api/v2/appeals/' \
--header 'Authorization: Token YOUR_TOKEN' \
--header 'Content-Type: application/json' \
--data '{
    "payment": 10441659,
    "amount": "9001.00",
    "receipt": {
        "file": "/9j/4AAQSkZJRgABAQEAeAB4AAD/2wBD2Q==",
        "file_name": "cheque_2025-04-17_18-47-41.jpg"
    }
}'

Пример успешного ответа (201 Created)

JSON
1
2
3
4
5
6
7
8
9
{
    "id": 82312,
    "status": "new",
    "payment": 10441659,
    "amount": "9001.00",
    "bank_card": 17645,
    "created_at": "2025-10-23T09:42:58.114Z",
    "updated_at": "2025-10-23T09:42:58.114Z"
}
(Примечание: bank_card - айди карты в нашей системе )

Возможные ошибки

Код Пример ответа Причина
400 json { "error": { "code": 10400, "msg": "Некорректные данные...", "detail": {"receipt": ["Это поле обязательно."]} } } Ошибка в параметрах (неверный JSON, отсутствуют поля)
400 json { "error": ... "detail": {"receipt": {"file": ["Некорректная строка base64..."]}} } Не удалось декодировать Base64
415 json { "detail": "Unsupported media type." } Неверный заголовок Content-Type (ожидается application/json)
500 json { "detail": "Internal server error." } Внутренняя ошибка сервера

3. 📋 Получение списка всех апелляций

GET /api/v2/appeals/

Возвращает список всех апелляций, созданных пользователем.

Пример запроса

Bash
curl --location '{{url}}/api/v2/appeals/?status=new&limit=2' \
--header 'Authorization: Token YOUR_TOKEN'

Пример успешного ответа (200 OK)

JSON
[
    {
        "id": 82312,
        "status": "new",
        "payment": 812390,
        "amount": "1999.50",
        "bank_card": 17645,
        "created_at": "2025-10-23T09:42:58.114Z",
        "updated_at": "2025-10-23T09:42:58.114Z"
    },
    {
        "id": 82145,
        "status": "done",
        "payment": 10988412,
        "amount": "1575.00",
        "bank_card": 29817,
        "created_at": "2025-10-03T12:14:22.874Z",
        "updated_at": "2025-10-03T14:09:47.215Z"
    }
]
Поле Тип Описание
id number Айди апелляции
status string Статус апелляции выше написано какие есть
payment number Айди платежа
amount string Сумма апелляции указанная при создании платежа
bank_card number Айди банковской карты в нашей системе
created_at datetime Дата и время создания записи.
updated_at datetime Дата и время последнего изменения статуса или данных записи.

Возможные ошибки

Код Пример ответа Причина
401 json { "error": { "code": 10401, "msg": "Недопустимый токен.", "detail": null, "help_link": null } } Не валидный токен
403 json { "error": { "code": 10403, "msg": "У вас недостаточно прав для выполнения данного действия.", "detail": null, "help_link": null } } Недостаточно прав
500 Internal Server Error Внутренняя ошибка сервера

⚠️ Примечание

Royal Finance обеспечивает прозрачный и безопасный механизм подачи и обработки апелляций, что упрощает взаимодействие с системой в случае спорных или технически нестабильных ситуаций.