MCP-серверыMCP-серверыUsedesk APIПоддержка клиентов

Юздеск через API и MCP: почему у поддержки нет спецификации, а токен ошибок не спорит с HTTP-статусом

Разбираем API Юздеска изнутри: тикеты, клиенты, агенты, чат и база знаний — почему у хелпдеска нет машиночитаемой спецификации, зачем разбирать HTTP-статус ДО тела ответа, и как всё это доступно через MCP-сервер Mira без единой строки кода.

3 сентября 2026 г.4 мин чтения

Обзор

Юздеск — российский хелпдеск: тикеты, чат с клиентами, база знаний, отчётность по агентам. Подключиться к API можно самому — в настройках компании есть готовый api_token API-канала, без заявок и одобрений.

Mira подключает этот API — 27 действий из 47 статей документации — и отдаёт его в Claude через MCP. Ниже — что там есть на самом деле и что расходится с интуицией.

Что доступно

Раздел Действий Что даёт
Тикеты 6 список, отдельный, создать, обновить, комментарий, теги
Клиенты 4 список, отдельный, создать, обновить
Агенты 6 список, создать/обновить/удалить, группы, история рабочих статусов
Чат 3 создать сообщение от клиента, ответить от агента, переназначить
Каналы 1 список каналов компании
База знаний 6 разделы, статьи, просмотры, рейтинг, AI-поля статьи
Доп. поля 1 дополнительные поля тикетов

У хелпдеска нет спецификации

В отличие от банков волны финансовых коннекторов — у Модульбанка и Т-Банка есть боевой Swagger, у ЮKassa расписан каждый путь, — Юздеск не публикует ни OpenAPI, ни Swagger вовсе. Документация — обычные текстовые статьи, разложенные по 13 категориям и 47 страницам. Пришлось собрать снимок контракта руками: пройти каждую статью, выписать метод, путь и обязательные поля, сохранить как отдельный JSON-файл и сверять с ним таблицу вызовов тем же тестом, каким сверяются с настоящим Swagger остальные коннекторы. Разница не в строгости проверки — она осталась той же самой, — а в том, откуда взялись исходные данные.

HTTP 200 — это ещё не успех

Самое неочевидное место API. Юздеск не использует HTTP-статус для логических отказов: неверный токен, отсутствующий обязательный параметр, превышенный лимит запросов — всё это приходит с HTTP 200 и телом вида {"code": 112, "error": "invalid token"}. Запрос без единого параметра и запрос с заведомо неверным токеном отвечают ОДИНАКОВО по статусу — отличие видно только внутри тела.

Это переворачивает обычный порядок разбора. У большинства API сначала смотрят на статус (200 — читай тело как данные, 4xx/5xx — читай как отказ), а Юздеску нужен третий шаг: статус 200 у Юздеска ничего не гарантирует, пока не заглянешь в поле code. При этом настоящий отказ инфраструктуры — например, обратный прокси, ответивший 502 без единого байта JSON, — всё ещё остаётся настоящим HTTP-статусом, и его нужно ловить раньше попытки разобрать тело как конверт Юздеска. Разбор идёт в таком порядке: сначала честный HTTP 429/5xx (если он есть), и только потом — код внутри тела.

Комментарий и ответ в чате — разного рода «видно снаружи»

У большинства коннекторов барьер записи делит действия на «просто меняет свои данные» и «ещё и тратит деньги». У Юздеска денег нет вовсе — хелпдеск не банк, — но есть третье измерение: кому видно результат.

Комментарий к тикету можно оставить публичным (уходит клиенту письмом или в канал тикета) или приватным (виден только команде) — одним и тем же действием, разным значением поля type. А вот ответ в чате устроен иначе: у него нет приватного варианта вообще — chat_send_message всегда доставляет сообщение клиенту, единственный способ ответить в чате от лица агента. Барьер записи это не различает — оба действия одинаково требуют разрешения на запись у источника, — но при выборе действия имеет смысл понимать разницу.

Два хоста на 47 статей

Почти весь API живёт на одном адресе — api.usedesk.ru. Ровно один метод (обновление AI-описания статьи базы знаний, нужного для ИИ-поиска) ходит на другой хост, secure.usedesk.ru. Мелочь, которая легко потерялась бы при переносе кода по шаблону «один базовый адрес на всех» — и не потерялась, потому что таблица вызовов хранит хост как явное поле у каждого действия, а не константу модуля.

Что не вошло — и почему

20 из 47 статей документации не стали действиями коннектора, и у каждой группы — своя причина, не общее «не успели»:

  • Общая информация (2 статьи) — введение в API и получение api_token: вводные страницы, а не методы, которые можно вызвать.
  • Виджет (7 статей) — браузерный JavaScript SDK для установки чата на сайт клиента. Это код, который встраивают тегом <script>, а не HTTP-эндпоинт, который можно вызвать с сервера.
  • Webhooks (4 статьи) — Юздеск сам присылает их НАМ при новом тикете или сообщении. Направление входящее: не то, что вызывает агент.
  • Правила (4 статьи) — настройка внутри Юздеска, чтобы он сам слал запросы в другую систему по триггеру. Мы не вызываем этот API — максимум могли бы его принимать.
  • Дополнительные блоки (1 статья) — тот же класс, что «Правила»: динамический блок — это Юздеск, который сам делает запрос на URL из своих настроек и ждёт HTML в ответ, а не вызов, который делает агент.
  • Коды ошибок и справочник статусов (2 статьи) — статичные таблицы в документации, не методы.

Новости в Telegram

Подпишитесь на каналы — новые статьи и обзоры каждый день.

Источники

Ещё по теме «MCP-серверы»

MCP-серверы

1С через OData: как достать данные учётной базы без единой строки кода на встроенном языке

Разбираем стандартный OData-интерфейс 1С:Предприятие: чем он отличается от API конкретного сервиса, как узнать, что вообще опубликовано на конкретной базе, как проводить и отменять проведение документов и как всё это работает через MCP-сервер Mira без единой строки кода на встроенном языке.

3 сентября 2026 г.
MCP-серверы

Admitad через MCP: отчёты партнёрской программы без выгрузки в Excel

Разбираем advertiser API партнёрской сети Admitad: отчёты по действиям, публикаторам, площадкам и баннерам, данные программы для интеграции — и почему у рекламодателя весь этот API устроен на чтение. Как устроена выдача токена по client_id/client_secret со скоупом и как всё это работает через MCP-сервер Mira.

3 сентября 2026 г.
MCP-серверы

Adv.Cake через MCP: заказы и визиты партнёрской сети без захода в кабинет

Разбираем API рекламодателя Adv.Cake — партнёрской сети: список заказов и визитов, которые привели партнёры и вебмастеры, с суммой, комиссией и ДРР, плюс валидация рефералов. Три метода вместо привычных полусотни — и почему один из них, несмотря на GET, требует разрешения на запись. Всё это работает через MCP-сервер Mira без единой строки кода.

3 сентября 2026 г.