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 для диагностики.