Перейти к основному содержимому

Введение

Содержание#

Описание API сервиса Банк Базовых Продуктов является руководством для разработчиков по подключению и использованию сервиса формирования и предоставления информационных продуктов на основе российских и зарубежных данных дистанционного зондирования Земли

Доступ к ресурсам#

Доступ к ресурсам API осуществляется с помощью апи-ключей, которые создаются в личном кабинете . При создании ключа необходимо указать ряд разрешенных ресурсов, к которым впоследствии можно получить доступ с помощью данного ключа. Значение ключа необходимо передавать при каждом запросе одним из двух способов

  1. Как переменную строки URL:
    ?api_key=<значение ключа>

  2. Как значение хедера Authorization, в слудующем виде:
    Authorization: api_key <значение ключа>

Ограничения по заказам#

Каждая учетная запись имеет ограничения на количество заказов в сутки и количество уникальных сцен в заказе (по умолчанию 5 / 1 соответственно). В случае необходимости изменения этих параметров свяжитесь с нами

Структура ресурсов API#

/api/v1/resources
├── /reference ■ Ресурсы получения НСИ
│ ├── /platfroms [GET] ■ НСИ по космическим аппраратам
│ │ └──/:platfrom_id [GET]
│ │
│ ├── /sensors [GET] ■ НСИ по съемочным аппаратурам
│ │ └──/:sensor_id [GET]
│ │
│ ├── /sensors_groups [GET] ■ НСИ по группам съемочных аппаратур
│ │ └──/:sensor_group_id [GET]
│ │
│ ├── /instruments [GET] ■ НСИ по инструментам
│ │ └──/:instrument_id [GET]
│ │
│ ├── /bands [GET] ■ НСИ по спектральным каналам
│ │ └── /:band_id [GET]
│ │
│ ├── /products [GET] ■ НСИ по информационным продуктам
│ │ └── /:products_id [GET]
│ │
│ ├── /processing_levels [GET] ■ НСИ по информационным продуктам
│ │ └── /:processing_level_id [GET]
│ │
│ └── /mosaics_regions [GET] ■ НСИ по регионам БСП
│ ├── /:region_id [GET]
│ └── bounding_shape/:region_id [GET] ■ Геометрия региона БСП
├── /scenes [POST] ■ Ресурс поиска метаданных сцен(кадров)
│ └── /:scenes_id [GET]
├── /mosaics [POST] ■ Ресурс поиска метаданных бесшовных сплошных покрытий
│ └── /:mosaic_id [GET]
├── /orders [GET POST] ■ Ресурс размещения и получения метаданных по заказам
│ └── /:order_id [GET]
├── /browseimages/:epsg_code/:id [GET] ■ Ресурс получения обзорных изображений
├── /tileservices
│ ├── /orders [GET] ■ Ресурс получения изображений тайловых представлений заказов
│ └── /mosaics [GET] ■ Ресурс получения изображений тайловых представлений БСП
├── /distribution [GET] ■ Ресурс получения архивов данных заказов

HTTP-коды, используемые в API#

КодСообщениеОписание
200OKСервер успешно обработал запрос
301Moved TemporarilyЗапрошенный документ временно доступен по другому URI
302Moved PermanentlyЗапрошенный документ постоянно доступен по другому URI
400Bad RequestНекорректный запрос
401UnauthorizedДля доступа к ресурсу необходима аутентификация
403ForbiddenДоступ к ресурсу ограничен
404Not FoundРесурс не найден
413Request Entity Too LargeТело документа запроса превышает 1 Мб
500Internal Server ErrorОшибка сервера во время обработки запроса
502Bad GatewayОшибка сервера указывающая на недоступность ресурса

Параметры даты и времени#

Возращаемое время#

Для документов ответа, содерщащих значения времени, время возвращается как "Всемирное координированное время" UTC. По умолчанию время возвращается в виде строки 2017-10-28T05:34:58.193Z в соответствии со стандартом Date and Time on the Internet: Timestamps (RFC 3339). При необходимости формат возвращаемых значений можно изменить на POSIX-время (UNIX-время), для этого при каждом запросе необходимо указывать переменную строки URL use_posix_time c любым истинным значением:

?use_posix_time=1

Указание параматров времени#

Для параметров времени в запросах можно использовать как значения времени, описанные стандартом Date and Time on the Internet: Timestamps, так и POSIX-время. Для этого не нужно передавать никаких специальных параметров, все следующие значения в рамках программного интерфейса будут идентичными:

?created_start=2017-10-28T05:34:58.193Z

?created_start=2017-10-28T08:34:58.193+03:00

?created_start=1509168898.193

Структура документа ответа#

Пример ответа удачной транзакции для постраничного результата#

{
"code": 200,
"current_page": 1,
"last_page": 2915,
"total_entries": 8745,
"result": [
{ },
{ },
{ }
]
}

Пример ответа удачной транзакции для результата возвращающего единственную запись#

{
"code": 200,
"result": { }
}

Пример ответа для неудачной транзакции#

{
"code": 403,
"errors": [
"Forbidden: api key is undefined or invalid"
]
}

Поддержка CORS#

ОСТОРОЖНО

Поддержка CORS может быть отключена без предупреждений

В целях обеспечения информационной безопасности мы не рекомендуем использовать данный программный интерфейс как непосредственный "бэкенд" для браузерных клиентских приложений (доступ к API-ключам). Тем не менее, выполнять кросс-доменные запросы можно, если для таких запросов проставлять хедер X-IBSBP-Dev с истинным значением