Шаблон документации API для JSON-RPC и образец заполнения


Главная / Шаблоны

Ниже приведен пример заполнения документации API для протокола JSON-RPC. Шаблон документа доступен для скачивания тут.


getBanners

Метод для получение списка баннеров. Можно получить баннеры указанной категории и с указанным типом видимости баннера для пользователей.

Аутентификация

Для доступа к API требуется аутентификация. Используйте Bearer Token для аутентификации всех запросов. Токен передается в заголовке `Authorization`.

Общие сведения о контракте

Протокол передачи данныхHTTP/1.1
Тип взаимодействияJSON-RPC
HTTP глаголPOST
Версия JSON-RPC2.0
Content-Typeapplication/json
URL-адресhttp://api.example.com/jsonrpc

Параметры запроса (params)

ПараметрТип данныхОписаниеОбязательный
bannerCategoryStringКатегория запрашиваемых баннеров.
Доступно несколько значений:Категория 1Категория 2Категория 3
Если не заполнять, в ответе вернется список баннеров всех категорий.
Нет
isVisibleBooleanПризнак видимости баннера для пользователя. 
По умолчанию возвращаются все баннеры.
Нет

Формат успешного ответа (​​result)

ПараметрТип данныхОписание
idIntegerИдентификатор экземпляра записи
titleStringЗаголовок баннера
mainTextStringОсновной текст баннера
imageStringСсылка на картинку
bannerCategoryStringКатегория беннера
isVisibleBooleanПризнак видимости баннера для пользователя
linkStringСсылка на страницу для перехода по клику на баннер

Обрабатываемые ошибки (error)

HTTP-кодJSON-RPC codemessageОписание
400-32600Invalid RequestНеверный формат запроса
404-32601Method not foundМетод не найден
400-32602Invalid paramsНеверные параметры
500-32603Internal 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»
    }
}

Сопоставление параметров метода с базой данных

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

Параметр методаПараметр БД
bannerCategorybanner.category
isVisiblebanner.is_visible

Параметры ответа

Параметр методаПараметр БД
idbanner.id
titlebanner.title
mainTextbanner.main_text
imagebanner.image
bannerCategorybanner.banner_category
isVisiblebanner.is_visible
linkbanner.link

Другие шаблоны

Шаблон документации для API REST и пример заполнения опубликованы тут

Может быть у вас есть примеры шаблонов получше?

Над статьей работали