Technical Paper

Поверхность 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 запечатана). Конкретная поверхность будет специфицирована при открытии программы для разработчиков; до этого контрактом являются маршруты приложения выше.