Если Teams webhook перестал принимать карточки, причина может быть в устаревшем connector, изменении URL, неверном формате Adaptive Card, размере payload, rate limit или ошибке в JSON.
Сначала сохраните точный HTTP-ответ от Teams и payload карточки. Без этого сложно понять, проблема в канале, формате или сетевой отправке.
Коротко: что делать
- Проверить HTTP-код и тело ответа webhook
- Проверить, не изменился ли URL connector
- Проверить валидность JSON и schema Adaptive Card
- Уменьшить payload и проверить минимальную карточку
- Проверить лимиты и частоту отправки
Основные причины
У этой проблемы редко бывает одна универсальная причина. Обычно нужно проверить связку настроек, данных, кода и внешних сервисов, а потом уже выбирать способ исправления.
- Webhook URL был удален, заменен или истек
- Payload не соответствует поддерживаемой версии Adaptive Cards
- Карточка слишком большая или содержит неподдерживаемые элементы
- Отправка идет с неверным Content-Type
- Сервис Teams ограничивает частые уведомления
Пошаговая диагностика
Диагностику лучше вести от конкретного примера: один пользователь, один запрос, один документ, одно событие или один экран. Так проще увидеть точку, где система начинает вести себя неправильно.
- Отправить минимальную тестовую карточку через curl/Postman
- Проверить payload в Adaptive Card Designer
- Сравнить старую рабочую и новую нерабочую карточку
- Проверить логи отправителя и retry
- Проверить настройки канала Teams и connector
Как исправить проблему
Исправление должно закрывать корневую причину, а не только внешний симптом. Если проблема связана с доступами, платежами, данными или безопасностью, сначала стоит сделать резервную копию и проверить правку на тестовом сценарии.
- Обновить webhook URL или connector
- Привести карточку к поддерживаемой schema/version
- Убрать неподдерживаемые элементы и лишний объем
- Настроить правильные заголовки и обработку ошибок
- Добавить очередь и retry с учетом rate limit
Безопасный план решения
Сначала добейтесь отправки минимальной карточки. Потом добавляйте поля по одному, чтобы быстро найти элемент, который ломает payload.
Чего не стоит делать
- Не отправлять один огромный JSON без проверки
- Не игнорировать HTTP-ответ Teams
- Не повторять отправку бесконечно при ошибке
- Не хранить webhook URL в публичном репозитории
Что подготовить перед исправлением
- Webhook URL через безопасный канал или возможность проверить на вашей стороне
- Пример payload карточки
- HTTP-ответ Teams
- Код отправки уведомления
FAQ
Почему простое сообщение отправляется, а карточка нет?
Скорее всего, проблема в schema, размере или конкретном элементе Adaptive Card.
Можно ли проверить карточку без кода?
Да, через минимальный curl/Postman и Adaptive Card Designer.
Что делать при rate limit?
Добавить очередь, паузы и дедупликацию уведомлений, а не спамить повторными запросами.
Когда стоит обратиться за помощью
Помощь нужна, если Teams уведомления используются для заявок, мониторинга, инцидентов или внутренних процессов.
Итог
Начните с минимальной карточки и HTTP-ответа. Если нужно починить Teams webhook, Adaptive Cards и надежную отправку уведомлений, можно написать в Telegram @rabotator_support.