Вебхуки
Карточки
Карточка — это блок под текстом сообщения. У неё цветная полоса слева, а внутри могут быть автор, заголовок со ссылкой, описание, поля, большая и маленькая картинки и подпись с временем. Карточки удобны для отчётов, уведомлений о событиях и всего, где у сообщения есть структура.
В одном сообщении может быть до 10 карточек. Сообщение может состоять только из карточек, без текста. Карточки отправляют программы. Люди в приложении карточки не создают.
Пример
{
"username": "CI",
"embeds": [{
"author": {
"name": "octocat",
"url": "https://github.com/octocat",
"icon_url": "https://avatars.githubusercontent.com/u/583231"
},
"title": "Сборка 1.4.2 прошла",
"url": "https://example.com/builds/142",
"description": "Все проверки зелёные, версия выложена на сервер.",
"color": 3124890,
"fields": [
{"name": "Ветка", "value": "master", "inline": true},
{"name": "Длительность", "value": "2 мин 14 с", "inline": true},
{"name": "Изменения", "value": "Исправлен вход через QR-код"}
],
"thumbnail": {"url": "https://example.com/logo.png"},
"image": {"url": "https://example.com/coverage.png"},
"footer": {"text": "Сборка №142", "icon_url": "https://example.com/ci.png"},
"timestamp": "2026-10-28T08:30:00+00:00"
}]
}Части карточки
Все части необязательны, но в карточке должно быть хоть что-то видимое, иначе запрос получит отказ.
| Поле | Тип | Что это |
|---|---|---|
title | строка | Заголовок, до 256 знаков |
url | строка | Ссылка, на которую ведёт заголовок. Только https:// или http:// |
description | строка | Основной текст, до 4096 знаков. Переносы строк сохраняются |
color | число | Цвет полосы слева, число от 0 до 16777215 (0xFFFFFF). Без него полоса обычного цвета |
timestamp | строка | Время в подписи, ISO 8601. Приложение покажет его в часовом поясе читателя |
author | объект | Автор над заголовком, см. ниже |
fields | массив | Поля, до 25 штук, см. ниже |
image | объект | Большая картинка под текстом, {"url": "…"} |
thumbnail | объект | Маленькая картинка справа, {"url": "…"} |
footer | объект | Подпись внизу, см. ниже |
Автор
| Поле | Что это |
|---|---|
name | Имя, обязательно, до 256 знаков |
url | Ссылка, на которую ведёт имя |
icon_url | Маленькая картинка рядом с именем |
Поля
| Поле | Что это |
|---|---|
name | Название поля, обязательно, до 256 знаков |
value | Значение, обязательно, до 1024 знаков |
inline | true, чтобы поле встало в ряд с соседними. По умолчанию false, поле занимает всю ширину |
Подпись
| Поле | Что это |
|---|---|
text | Текст подписи, обязательно, до 2048 знаков |
icon_url | Маленькая картинка рядом с подписью |
Пределы
| Что | Предел |
|---|---|
| Карточек в одном сообщении | 10 |
| Заголовок | 256 знаков |
| Описание | 4096 знаков |
| Полей в карточке | 25 |
| Название поля | 256 знаков |
| Значение поля | 1024 знаков |
| Имя автора | 256 знаков |
| Текст подписи | 2048 знаков |
| Любая ссылка | 2048 знаков |
| Весь текст всех карточек сообщения вместе | 6000 знаков |
В общий предел текста входят заголовки, описания, названия и значения полей, тексты подписей и имена авторов всех карточек сообщения. Пределы те же, что в Discord.
Цвет
Цвет полосы задаётся одним числом, в котором записан цвет в виде 0xRRGGBB. В большинстве языков его можно написать прямо в шестнадцатеричном виде.
| Цвет | Шестнадцатеричный | Число для JSON |
|---|---|---|
| Изумрудный Glitch | 0x2FAE9A | 3124890 |
| Красный | 0xE74C3C | 15158332 |
| Жёлтый | 0xF1C40F | 15844367 |
| Синий | 0x3498DB | 3447003 |
В JSON шестнадцатеричная запись не поддерживается, поэтому там нужно десятичное число.
Картинки
Картинки карточки задаются в image, thumbnail, author.icon_url и footer.icon_url. Есть два способа.
Ссылкой. Укажите ссылку https:// на картинку PNG, JPEG, WebP или GIF. Сервер сам скачает её и сохранит у себя, поэтому в ответе ссылка будет вести уже на хранилище Glitch. Размеры картинки (width, height) сервер тоже измеряет сам. Если картинку скачать не удалось, она просто не покажется, а сообщение всё равно отправится.
Файлом из того же запроса. Приложите картинку к сообщению и укажите в карточке attachment://имя_файла. Такая картинка показывается только в карточке, отдельным вложением она уже не идёт.
curl -X POST "https://api.glitchapp.online/v10/webhooks/ID/KEY" \
-F 'payload_json={"embeds": [{"title": "Покрытие тестами", "image": {"url": "attachment://coverage.png"}}]}' \
-F "files[0]=@coverage.png"Имя после attachment:// должно совпадать с именем приложенного файла.
Правка карточек
При правке сообщения поле embeds заменяет карточки целиком. Чтобы изменить одну карточку из нескольких, пришлите их все. "embeds": [] убирает все карточки. Если embeds в запросе нет, карточки остаются как были.
При правке новые файлы приложить нельзя, поэтому картинки в изменённых карточках задаются только ссылками.
Что не поддерживается
- Поля Discord
video,providerиtypeсервер пропускает, как это делает Discord. Карточки от программ всегда видаrich. - Разметки текста в карточках пока нет. Звёздочки, подчёркивания и прочие символы Markdown показываются как есть.