Тело запроса
Отправляйте в теле HTTP-запроса JSON, формы, multipart-загрузки, GraphQL, текст, XML, HTML или целый файл.
Вкладка Тело задаёт то, что запрос отправляет после заголовков. Выберите тип в строке вверху вкладки; редактор ниже изменится соответствующим образом. Если у запроса есть тело, на вкладке видна точка.

Типы тела
| Тип | Что отправляется | Content-Type, который добавляет Echolot |
|---|---|---|
| Нет | Тела нет. | Нет |
| JSON | Текст из редактора. | application/json |
| URL-encoded | Пары «имя — значение», как отправляет веб-форма. | application/x-www-form-urlencoded |
| Multipart | Текстовые поля и файлы, как отправляет веб-форма с загрузкой файла. | multipart/form-data с границей |
| GraphQL | Текст запроса как есть. | application/graphql |
| Исходный | Текст, XML или HTML, выбираются во второй строке чипов. | text/plain, application/xml или text/html |
| Двоичный | Файл байт в байт. | Нет |
Content-Type показан в разделе АВТОМАТИЧЕСКИЕ на вкладке Заголовки. Чтобы отправить другой, добавьте собственный
заголовок Content-Type; он заменит заголовок Echolot. Заголовки длины и разбиения на части вычисляются при отправке
запроса.
Любое текстовое тело может содержать {{variables}} и динамические значения, которые
подставляются при отправке:
{
"lines": [{ "sku": "{{productId}}", "quantity": 1 }],
"note": "Sent at {{$isoTimestamp}}"
}JSON
Введите или вставьте JSON в редактор. В нём есть номера строк, подсветка синтаксиса и список {{ для переменных.
Нажмите Форматировать, чтобы расставить отступы в JSON. Переменные остаются как написаны, поэтому {{productId}} в
строке или как отдельное значение не затрагивается. В узкой области на кнопке остаётся только волшебная палочка.
Чтобы попробовать, откройте Orders › Create order в примере Alpenglow и посмотрите на его тело или отправьте Echo › Echo anything, который возвращает полученное тело.
URL-encoded
Поля находятся в таблице из КЛЮЧ и ЗНАЧЕНИЕ, как заголовки:
- Нажмите Добавить поле, чтобы добавить его. Отмеченные поля отправляются; неотмеченные сохраняются, но не отправляются.
- Нажмите Правка текстом, чтобы изменить все поля как текст, по одному
Name: valueв строке, а//перед полем означает, что оно выключено.
Echolot кодирует имена и значения при отправке, в том числе то, что подставляет переменная, поэтому +, & или пробел
в значении доходят как есть.
Multipart
Каждая строка — одна часть формы:
- Отметьте флажок, чтобы отправлять поле.
- Введите имя.
- Выберите Текст или Файл.
- Для Текст введите значение. Оно может содержать
{{variables}}. - Для Файл нажмите Выбрать… и выберите файл. Поле без имени берёт имя файла без расширения. Часть несёт имя файла как filename.
- Для Текст введите значение. Оно может содержать
- При желании введите тип содержимого части, например
image/png. Если оставить пустым (type (auto)), файл получит его по расширению (.json,.png,.pdfи так далее, иначеapplication/octet-stream), а текстовое поле — никакого.
Нажмите Добавить поле для ещё одной строки и кнопку −, чтобы удалить строку. Файлы читаются с диска потоком при отправке запроса, поэтому большая загрузка не обязана помещаться в память.
GraphQL
GraphQL отправляет текст запроса как тело с Content-Type: application/graphql — для серверов, принимающих запрос
таким образом. Для полноценного клиента GraphQL с переменными, дополнением по схеме, обозревателем схемы и подписками
создайте вместо этого Новый запрос GraphQL. См. GraphQL.
Исходный: текст, XML и HTML
Выберите Исходный, затем Текст, XML или HTML в строке рядом. Редактор подсвечивает XML и HTML, а Content-Type следует вашему выбору.
Двоичный: файл
Выберите Двоичный, затем Выбрать файл… и укажите файл для отправки. Вкладка показывает его имя, размер и путь; Выбрать другой файл… заменяет его. Файл читается с диска при каждой отправке запроса, каким бы большим он ни был, поэтому запрос всегда отправляет файл в его нынешнем виде. Пока файл не выбран, ничего не отправляется.
Версия из Mac App Store
Версия из App Store может читать только файлы, которые вы выбрали. Файл, выбранный на вкладке Тело, остаётся доступным для последующих отправок. Если запрос называет файл, которого приложению не давали (например, выбранный коллегой на его Mac), отправка останавливается, а область ответа предлагает Разрешить доступ…: выберите файл, и запрос отправится снова.
Сравнить версииГде сохраняются тела
Введённое тело сохраняется в отдельном файле рядом с запросом, например create-order.body.json рядом с
create-order.req.toml, так что в Git оно читается хорошо. Двоичное тело сохраняется как путь к файлу. См.
Файлы рабочего пространства.
Большие тела
Двоичные и multipart-файлы читаются с диска потоком при отправке запроса, поэтому загрузки любого размера уходят без загрузки в память. Ответы — отдельный вопрос: они записываются на диск по мере поступления и остаются быстрыми в просмотрщиках даже при сотнях мегабайт. См. Ответы.
