Документация Promolytica
Все разделы

Приложение

Переменные

ключи внешних сервисов, которые читает приложение

Экран «Переменные» в кабинете
Так этот экран выглядит в кабинете. Нажмите, чтобы открыть крупно.

Переменные окружения - настройки, которые приложение читает при запуске как process.env.ИМЯ: ключи платёжных и почтовых сервисов, адреса внешних API, режимы. Значения хранятся на ноде и после сохранения никому не показываются, видны только имена.

Часть переменных задаёт платформа (адрес базы, секрет сессии, публичный адрес сайта): их нельзя ни посмотреть, ни переопределить, а имена с префиксами PMLX_ и SEED_ заняты.

Как добавить ключ

  1. Введите имя заглавными латинскими буквами (например, SMTP_PASSWORD) и значение, нажмите «Добавить».
  2. Нода перезапустит приложение с новыми переменными, это займёт около минуты; ход выкладки виден в разделе «Приложение».
  3. В коде обращайтесь к переменной как process.env.SMTP_PASSWORD; попросите ассистента в чате использовать её, и он не будет вписывать ключ в код.
  • Черновик (живое превью) переменных ноды не видит: он работает на тестовой базе воркера, а ключи получает только боевая версия.
  • Чтобы заменить значение, добавьте переменную с тем же именем ещё раз.

Что вы увидите

Страница «Переменные»: блок «Ваши переменные» с колонками «Имя» и «Значение» («задано, N симв.», само значение не показывается) и кнопкой «Убрать»; блок «Добавить переменную» (или «Заменить значение», если имя уже есть) с полями «Имя» и «Значение»; блок «Задаёт платформа» с перечнем того, что приложение получает от ноды: адрес базы, секрет сессии, публичный адрес.

После сохранения: «Нода перезапустит приложение с новыми переменными в течение минуты» или, если выкладка уже идёт, «Переменные вступят в силу при ближайшей выкладке». Черновик (живое превью) этих значений не видит.

Частые вопросы

  • Как записать имя? Заглавные латинские буквы, цифры и подчёркивание, начиная с буквы, до 64 знаков; значение одной строкой до 4096 знаков. Не больше 100 переменных.
  • Можно ли посмотреть сохранённое значение? Нет, только заменить: значения хранятся на ноде и никому не показываются, включая нас.
  • Какие имена заняты? Имена с префиксами PMLX_ и SEED_ и служебные имена вроде DATABASE_URL, NODE_ENV, PORT: их задаёт платформа, переопределить нельзя.

Если не сработало

  • Написано «Эту переменную задаёт платформа, её не переопределить». Выберите другое имя.
  • Написано «Значение - одна строка, без переносов» или «Значение длиннее 4096 символов». Многострочные значения не поддерживаются: закодируйте их в одну строку.
  • Приложение не видит новое значение. Нода перезапускает его в течение минуты; если шла выкладка, значение применится при ближайшей. В превью значения не попадают по устройству.