К содержимому

REST API

Наборы эмодзи и стикеры

Пользовательские наборы эмодзи для реакций и стикеров.

Системный набор min (Unicode) доступен всегда. Свои наборы: до 10 на автора, до 50 эмодзи, до 30 установленных чужих. id эмодзи используются в реакциях (PUT /messages/{id}/reaction) и стикерах (emoji_id при отправке).

Методы#

GET /api/emoji-sets #

Установленные наборы эмодзи

Bearer-токен

Установленные наборы и системный min.

Параметры

Без параметров.

Запрос

curl
curl 'https://minchatapp.com/api/emoji-sets' \
  -H "Authorization: Bearer $TOKEN" \
  -H 'Accept: application/json'

Ответ

HTTP 200
[
  {
    "id": 1,
    "title": "Min",
    "slug": "min",
    "is_system": true,
    "is_active": true,
    "author": null,
    "emoji_count": 8,
    "emojis": [
      {
        "emoji_id": 1,
        "set_id": 1,
        "set_title": "Min",
        "set_active": true,
        "shortcode": "thumbsup",
        "kind": "unicode",
        "unicode": "👍",
        "image_url": null,
        "count": 0
      },
      {
        "emoji_id": 2,
        "set_id": 1,
        "set_title": "Min",
        "set_active": true,
        "shortcode": "heart",
        "kind": "unicode",
        "unicode": "❤️",
        "image_url": null,
        "count": 0
      }
    ],
    "installed": true
  }
]
POST /api/emoji-sets #

Создать набор

Bearer-токен Лимит: 30/min

До 10 наборов на автора, 50 эмодзи в наборе.

Параметры

Имя Тип Описание
title
обязательный тело
string
Название.
max 64 chars
slug
необязательный тело
string
Slug для /e/{slug}.
max 32 chars

Запрос

curl
curl -X POST 'https://minchatapp.com/api/emoji-sets' \
  -H "Authorization: Bearer $TOKEN" \
  -H 'Accept: application/json' \
  -H 'Content-Type: application/json' \
  -d '{"title": "Team stickers", "slug": "team_stickers"}'

Ответ

HTTP 201
{
  "id": 2,
  "title": "Team stickers",
  "slug": "team-stickers",
  "is_system": false,
  "is_active": true,
  "author": {
    "id": 1,
    "name": "Anna Smith",
    "avatar": null
  },
  "emoji_count": 0,
  "emojis": [],
  "installed": true
}
GET /api/emoji-sets/{idOrSlug} #

Набор эмодзи

Bearer-токен

404, если набор неактивен (например, пуст).

Параметры

Имя Тип Описание
idOrSlug
обязательный путь
string
id или slug набора.

Запрос

curl
curl 'https://minchatapp.com/api/emoji-sets/team_stickers' \
  -H "Authorization: Bearer $TOKEN" \
  -H 'Accept: application/json'

Ответ

Отвечает HTTP 200.

PATCH /api/emoji-sets/{emojiSet} #

Переименовать набор

Bearer-токен

Только владелец.

Параметры

Имя Тип Описание
emojiSet
обязательный путь
integer
id набора.
title
обязательный тело
string
Название.
max 64 chars

Запрос

curl
curl -X PATCH 'https://minchatapp.com/api/emoji-sets/2' \
  -H "Authorization: Bearer $TOKEN" \
  -H 'Accept: application/json' \
  -H 'Content-Type: application/json' \
  -d '{"title": "Team stickers v2"}'

Ответ

HTTP 200
{
  "id": 2,
  "title": "Team stickers v2",
  "slug": "team-stickers",
  "is_system": false,
  "is_active": true,
  "author": {
    "id": 1,
    "name": "Anna Smith",
    "avatar": null
  },
  "emoji_count": 1,
  "emojis": [
    {
      "emoji_id": 9,
      "set_id": 2,
      "set_title": "Team stickers v2",
      "set_active": true,
      "shortcode": "ship_it",
      "kind": "custom",
      "unicode": null,
      "image_url": "https://minchatapp.com/storage/emojis/cc/ccfcc4cd72fa42b444b4c2c4837bb847ae6897be6fc4ad9a59eb63cce11df4f8.png",
      "count": 0
    }
  ],
  "installed": true
}
DELETE /api/emoji-sets/{emojiSet} #

Удалить набор

Bearer-токен

Владелец или админ.

Параметры

Имя Тип Описание
emojiSet
обязательный путь
integer
id набора.

Запрос

curl
curl -X DELETE 'https://minchatapp.com/api/emoji-sets/2' \
  -H "Authorization: Bearer $TOKEN" \
  -H 'Accept: application/json'

Ответ

Отвечает HTTP 200.

POST /api/emoji-sets/{emojiSet}/emojis #

Добавить эмодзи

Bearer-токен Лимит: 30/min multipart/form-data

Multipart: shortcode + image (≤ 256 КБ, ≤ 128×128, jpeg/png/webp/gif).

Параметры

Имя Тип Описание
emojiSet
обязательный путь
integer
id набора.
shortcode
обязательный тело
string
Короткий код эмодзи.
pattern ^[a-z0-9_-]{2,32}$
image
обязательный тело
file
Изображение (multipart).
max 256 KB

Запрос

curl
curl -X POST 'https://minchatapp.com/api/emoji-sets/2/emojis' \
  -H "Authorization: Bearer $TOKEN" \
  -H 'Accept: application/json' \
  -F 'shortcode=ship_it' \
  -F 'image=@ship_it.png'

Ответ

HTTP 200
{
  "emoji_id": 9,
  "set_id": 2,
  "set_title": "Team stickers",
  "set_active": true,
  "shortcode": "ship_it",
  "kind": "custom",
  "unicode": null,
  "image_url": "https://minchatapp.com/storage/emojis/cc/ccfcc4cd72fa42b444b4c2c4837bb847ae6897be6fc4ad9a59eb63cce11df4f8.png",
  "count": 0
}
DELETE /api/emoji-sets/{emojiSet}/emojis/{emoji} #

Удалить эмодзи

Bearer-токен

Параметры

Имя Тип Описание
emojiSet
обязательный путь
integer
id набора.
emoji
обязательный путь
integer
id эмодзи.

Запрос

curl
curl -X DELETE 'https://minchatapp.com/api/emoji-sets/2/emojis/9' \
  -H "Authorization: Bearer $TOKEN" \
  -H 'Accept: application/json'

Ответ

Отвечает HTTP 200.

POST /api/emoji-sets/{emojiSet}/install #

Установить набор

Bearer-токен

До 30 установленных чужих наборов.

Параметры

Имя Тип Описание
emojiSet
обязательный путь
integer
id набора.

Запрос

curl
curl -X POST 'https://minchatapp.com/api/emoji-sets/2/install' \
  -H "Authorization: Bearer $TOKEN" \
  -H 'Accept: application/json'

Ответ

HTTP 200
{
  "success": true,
  "installed": true
}
DELETE /api/emoji-sets/{emojiSet}/install #

Удалить набор из своих

Bearer-токен

Свой и системный → 403.

Параметры

Имя Тип Описание
emojiSet
обязательный путь
integer
id набора.

Запрос

curl
curl -X DELETE 'https://minchatapp.com/api/emoji-sets/2/install' \
  -H "Authorization: Bearer $TOKEN" \
  -H 'Accept: application/json'

Ответ

Отвечает HTTP 200.

POST /api/emoji-sets/{emojiSet}/report #

Пожаловаться на набор

Bearer-токен Лимит: 10/60 min

Параметры

Имя Тип Описание
emojiSet
обязательный путь
integer
id набора.
reason
обязательный тело
string
Причина завершения.
one of: spam, abuse, other
note
необязательный тело
string
Заметка.
max 500 chars

Запрос

curl
curl -X POST 'https://minchatapp.com/api/emoji-sets/2/report' \
  -H "Authorization: Bearer $TOKEN" \
  -H 'Accept: application/json' \
  -H 'Content-Type: application/json' \
  -d '{"reason": "spam", "note": "Ads"}'

Ответ

Отвечает HTTP 200.

GET /api/emoji-set-reports #

Жалобы на наборы (админы)

Bearer-токен

Только для is_admin.

Параметры

Без параметров.

Запрос

curl
curl 'https://minchatapp.com/api/emoji-set-reports' \
  -H "Authorization: Bearer $TOKEN" \
  -H 'Accept: application/json'

Ответ

Отвечает HTTP 200.

GET /api/emojis/recent #

Недавние эмодзи

Bearer-токен

До 8.

Параметры

Без параметров.

Запрос

curl
curl 'https://minchatapp.com/api/emojis/recent' \
  -H "Authorization: Bearer $TOKEN" \
  -H 'Accept: application/json'

Ответ

HTTP 200
[
  {
    "emoji_id": 1,
    "set_id": 1,
    "set_title": "Min",
    "set_active": true,
    "shortcode": "thumbsup",
    "kind": "unicode",
    "unicode": "👍",
    "image_url": null,
    "count": 0
  },
  {
    "emoji_id": 4,
    "set_id": 1,
    "set_title": "Min",
    "set_active": true,
    "shortcode": "fire",
    "kind": "unicode",
    "unicode": "🔥",
    "image_url": null,
    "count": 0
  }
]