Шаблон документации API для JSON-RPC и образец заполнения
Ниже приведен пример заполнения документации API для протокола JSON-RPC. Шаблон документа доступен для скачивания тут.
getBanners
Метод для получение списка баннеров. Можно получить баннеры указанной категории и с указанным типом видимости баннера для пользователей.
Аутентификация
Для доступа к API требуется аутентификация. Используйте Bearer Token для аутентификации всех запросов. Токен передается в заголовке `Authorization`.
Общие сведения о контракте
Протокол передачи данных | HTTP/1.1 |
Тип взаимодействия | JSON-RPC |
HTTP глагол | POST |
Версия JSON-RPC | 2.0 |
Content-Type | application/json |
URL-адрес | http://api.example.com/jsonrpc |
Параметры запроса (params)
Параметр | Тип данных | Описание | Обязательный |
bannerCategory | String | Категория запрашиваемых баннеров. Доступно несколько значений:Категория 1Категория 2Категория 3 Если не заполнять, в ответе вернется список баннеров всех категорий. | Нет |
isVisible | Boolean | Признак видимости баннера для пользователя. По умолчанию возвращаются все баннеры. | Нет |
Формат успешного ответа (result)
Параметр | Тип данных | Описание |
id | Integer | Идентификатор экземпляра записи |
title | String | Заголовок баннера |
mainText | String | Основной текст баннера |
image | String | Ссылка на картинку |
bannerCategory | String | Категория беннера |
isVisible | Boolean | Признак видимости баннера для пользователя |
link | String | Ссылка на страницу для перехода по клику на баннер |
Обрабатываемые ошибки (error)
HTTP-код | JSON-RPC code | message | Описание |
400 | -32600 | Invalid Request | Неверный формат запроса |
404 | -32601 | Method not found | Метод не найден |
400 | -32602 | Invalid params | Неверные параметры |
500 | -32603 | Internal error | Внутренняя ошибка сервера |
Пример запроса и ответа
Запрос
{ «jsonrpc»:«2.0», «id»: «1», «method»:«getBanners», «params»: { «bannerCategory»: «Категория 1», «isVisible»: true } }
Успешный ответ
{ «jsonrpc»: «2.0», «id»: «1», «result»: [ { «id»: 1, «title»: «Заголовок баннера», «mainText»: «Основной текст баннера», «image»: «https://example.com/banners/banner1.jpg», «bannerCategory»: «Категория 1», «isVisible»: true, «link»: «https://example.com/banners/banner1» } ] }
Ответ с ошибкой
{ «jsonrpc»: «2.0», «id»: «1», «error»: { «code»: -32600, «message»: «Invalid Request» } }
Сопоставление параметров метода с базой данных
Параметры запроса
Параметр метода | Параметр БД |
bannerCategory | banner.category |
isVisible | banner.is_visible |
Параметры ответа
Параметр метода | Параметр БД |
id | banner.id |
title | banner.title |
mainText | banner.main_text |
image | banner.image |
bannerCategory | banner.banner_category |
isVisible | banner.is_visible |
link | banner.link |
Другие шаблоны
Шаблон документации для API REST и пример заполнения опубликованы тут
Может быть у вас есть примеры шаблонов получше?
Опубликовано 27 августа 2024
Просмотров: 629
Вместо комментариев