Захваты из ответа
Сохраняйте значения из ответа, например токен или ID, в переменных после каждой отправки, чтобы все остальные запросы читали последнее.
Захват сохраняет значение из ответа запроса в переменной после каждой отправки. Захватите токен доступа из ответа на
вход в {{token}}, и каждый запрос, использующий {{token}}, будет отправлять последний, без копирования. Когда токен
обновляется, все получают новый.
Захваты сохраняются вместе с запросом, поэтому они работают для всех, у кого есть рабочее пространство, — в Прогоне и в сценариях, а не только когда вы нажимаете Отправить.
Сохранение значения из ответа
Быстрее всего создать захват из самого ответа:
- Отправьте запрос. В примере Alpenglow отправьте Auth › Sign in.
- На вкладке Тело выберите JSON-дерево (или Форма, MessagePack или XML для таких тел).
- Наведите указатель на значение, например
access_token, и нажмите Сохранить в переменную…. - Введите Имя переменной или оставьте предложенное по пути. Уже занятые имена предлагаются по мере ввода; если выбрать одно из них, оно заменит эту переменную (панель сообщает Заменяет token).
- В поле Сохранить в выберите окружение окна (Окружение «Staging») или Рабочее пространство.
- Отметьте Секрет, чтобы значение хранилось только в Связке ключей и никогда в файлах. Для имён, похожих на
учётные данные (
token,secret,password,apiKeyи подобных), флажок уже отмечен. - Оставьте отмеченным Обновлять при каждой отправке, чтобы это стало захватом запроса, сохранённым вместе с ним. Снимите отметку, чтобы сохранить значение один раз.
- Нажмите Сохранить.

Правка захватов
Захваты запроса находятся на его вкладке Переменные в разделе Из ответа, под собственными переменными запроса. Каждая строка — один захват:
| Столбец | Что содержит |
|---|---|
| Флажок | Выполняется ли захват. |
| Переменная | Имя переменной без скобок. |
| Откуда | Откуда в ответе читается значение. |
| Путь или имя | JSONPath, XPath либо имя заголовка или cookie. |
| Сохранить в | Окружение (выбранное для окна при отправке запроса) или Рабочее пространство. |
| Секрет | Хранится в Связке ключей на этом Mac и никогда не попадает в файлы рабочего пространства. Переменная, уже являющаяся секретом, остаётся ею. |
Нажмите Добавить значение, чтобы добавить строку, и кнопку −, чтобы удалить. После отправки каждая строка показывает зелёную галочку, если значение сохранено, или оранжевое предупреждение с причиной, если нет.
Откуда берутся значения
| Откуда | Путь или имя | Пример |
|---|---|---|
| JSON | JSONPath в теле JSON. | $.access_token |
| Форма | JSONPath в теле URL-encoded, прочитанном как объект. | $.access_token |
| MessagePack | JSONPath в теле MessagePack, прочитанном как JSON. | $.access_token |
| XML | XPath в теле XML. | /auth/token |
| Заголовок | Заголовок ответа по имени. | Location |
| Cookie | Cookie, который устанавливает ответ, по имени. | session |
| Статус | Код состояния. | |
| Тело | Всё тело как текст. |
Окружение или рабочее пространство
- Окружение записывает переменную в окружение, выбранное для окна в момент отправки. Используйте его для значений, которые различаются по серверам, например токен для staging и токен для production. Если окружение не выбрано, ничего не сохраняется, а строка предлагает выбрать окружение или сохранить в рабочее пространство.
- Рабочее пространство записывает переменную рабочего пространства, одинаковую при любом выбранном окружении.
Значение окружения главнее значения рабочего пространства с тем же именем, поэтому захват в рабочее пространство скрыт, если в выбранном окружении есть переменная с таким именем. См. Окружения.
Секреты
Захваченный секрет записывается только в Связку ключей. Файл рабочего пространства называет переменную, но никогда не содержит её значения, поэтому рабочее пространство можно коммитить. Включайте Секрет для каждого токена, ID сеанса или ключа, который вы захватываете. См. Секреты.
В Alpenglow Auth › Sign in захватывает $.access_token в секрет рабочего пространства token, а папка Orders
отправляет его как Bearer-токен.
Если ничего не захвачено
Захват оставляет переменную как была и после отправки сообщает почему, когда:
- статус ответа 400 или больше: значения сохраняются только из ответов ниже 400, поэтому неудачный вход никогда не затирает хороший токен;
- путь ничего не находит в ответе;
- тело больше 32 МБ;
- захват сохраняется в окружение, а окружение не выбрано;
- запись не разрешена: когда запрос отправляет ИИ-агент, его политика решает, можно ли ему менять переменные. См. Агенты.
Захваты или значения из ответа
Динамические значения вроде
{{$response('auth/sign-in', '$.access_token')}} читают последний ответ одного запроса напрямую и, если ответа нет,
сначала отправляют его. Захват же копирует значение в переменную, что подходит для значения, которое используют многие
запросы или которое могут обновлять несколько запросов. Оба способа читают одни и те же JSONPath и XPath.
Динамические значения
Заполняйте запросы значениями, вычисляемыми при отправке: отметками времени, UUID, хешами, кодировками, файлами и значениями из других запросов и их ответов.
Скрипты и тесты
Проверяйте каждый ответ без кода на вкладке «Тесты» или с помощью JavaScript в скриптах перед запросом и в тестовых скриптах.
