cfgme.ruОткрыть панель
Документация

Delivery API

Один read-only запрос возвращает активную опубликованную конфигурацию для выбранного проекта и окружения.

Не храните здесь секреты.

Remote Config не предназначен для хранения секретов. Значения, доставленные в мобильное приложение, доступны пользователю, который контролирует устройство.

Перед началом

В панели cfgme.ru выберите проект и окружение, опубликуйте хотя бы одну версию и создайте Delivery credential. Для запроса понадобятся:

  • Project ID и Environment ID;
  • backend secret либо mobile key;
  • адрес https://api.cfgme.ru/delivery/v1/snapshot.

Первый запрос

Для серверного приложения используйте конфиденциальный backend credential:

curl --request GET 'https://api.cfgme.ru/delivery/v1/snapshot' \
  --header 'Authorization: CfgmeBackend YOUR_DELIVERY_SECRET' \
  --header 'Accept: application/vnd.cfgme.snapshot.v1+json' \
  --header 'X-Cfgme-Project-Id: 11111111-1111-4111-8111-111111111111' \
  --header 'X-Cfgme-Environment-Id: 22222222-2222-4222-8222-222222222222'

Передавайте credential только в заголовке Authorization. Не добавляйте его в URL, логи или репозиторий.

Ответ

При успехе API вернёт 200 OK, текущий snapshot и заголовок ETag. Значения конфигурации находятся в entries и передаются как строки.

{
  "entries": {
    "empty": "",
    "feature.enabled": "true",
    "greeting": "Привет",
    "limits": "{\"max\":10,\"ratio\":0.5}"
  },
  "environmentId": "22222222-2222-4222-8222-222222222222",
  "formatVersion": 1,
  "projectId": "11111111-1111-4111-8111-111111111111",
  "publishedAt": "2026-07-16T09:00:00Z",
  "version": 7
}

ETag и ответ 304

Сохраните ETag из успешного ответа и передайте его в следующем запросе через If-None-Match:

curl --request GET 'https://api.cfgme.ru/delivery/v1/snapshot' \
  --header 'Authorization: CfgmeBackend YOUR_DELIVERY_SECRET' \
  --header 'Accept: application/vnd.cfgme.snapshot.v1+json' \
  --header 'X-Cfgme-Project-Id: 11111111-1111-4111-8111-111111111111' \
  --header 'X-Cfgme-Environment-Id: 22222222-2222-4222-8222-222222222222' \
  --header 'If-None-Match: "sha256:ETAG_FROM_PREVIOUS_RESPONSE"'

Если активная версия не изменилась, API вернёт 304 Not Modified без тела. Продолжайте использовать уже сохранённую конфигурацию.

Ключи доступа

CfgmeBackend

Конфиденциальный ключ для backend-сервисов. Храните его в secret manager или защищённой конфигурации окружения.

CfgmeMobile

Публичный read-only ключ для мобильного приложения. Он читает только активную версию своего проекта и окружения.

Для mobile key замените значение заголовка на Authorization: CfgmeMobile YOUR_MOBILE_KEY. Оба типа ключей ограничены своим окружением и не дают доступа к Management API.

Ошибки

КодЧто означаетЧто проверить
400Некорректный запросФормат и соответствие Project ID и Environment ID ключу
401Ключ отсутствует, неверен или отозванСхему авторизации и актуальность credential
404Нет доступной активной версииЧто конфигурация опубликована в нужном окружении
406Формат ответа не поддерживаетсяЗаголовок Accept
429Слишком много запросовЗаголовок Retry-After и частоту обновлений
503Сервис временно недоступенПродолжать использовать последнюю рабочую версию и повторить запрос позже

Ошибки возвращаются в формате application/problem+json и содержат безопасный requestId для диагностики.