Поверхность API
5.10 Поверхность API
Сейчас: маршруты приложения
Действующий API — это собственная поверхность маршрутов приложения: маршруты под /api/* на yumoyumo.com с аутентификацией по сессии, обслуживаемые тем же деплоем Next.js, что и сам продукт. Аутентификация — сессия пользователя; отдельных учётных данных для разработчиков сегодня нет.
| Метод | Путь | Назначение | Авторизация |
|---|---|---|---|
| POST | /api/receipt/upload | Загрузка изображения чека | Сессия |
| POST | /api/receipt/analyze | Запуск конвейера для загрузки | Сессия |
| GET | /api/receipts | Список чеков пользователя | Сессия (только свои) |
| GET | /api/receipts/{id} | Получение записи чека | Сессия (только свои) |
| GET | /api/wallet/summary | Баланс баллов и история | Сессия |
| GET | /api/prices/epoch/{epoch} | Публичные данные ценовой epoch: метаданные epoch, страницы наблюдений и доказательства включения Меркла (?proof=<leaf_hash>) | Публичный |
| GET | /api/prices/product/{productId} | Публичная история цен каталожного продукта | Публичный |
Маршруты ценового реестра сегодня составляют публичную поверхность чтения: любой может получить запечатанную epoch, выгрузить её наблюдения и запросить доказательство включения, сворачивающееся к корню в блокчейне. Опубликованные манифесты Arweave предоставляют те же данные независимо от этих маршрутов.
В планах: версионируемый публичный REST API
Версионируемый публичный REST API для сторонних приложений — запланированная будущая работа. Эскиз дизайна: база /v1 на yumoyumo.com, делегированная авторизация сторонних клиентов по открытым стандартам, ресурсные эндпоинты чеков и наград, а также подписки на события изменения состояния (чек проверен, награда начислена, epoch запечатана). Конкретная поверхность будет специфицирована при открытии программы для разработчиков; до этого контрактом являются маршруты приложения выше.