Модели оплаты и требования к лицензированию для API Microsoft Teams

В этой статье описаны модели оплаты и требования к лицензированию для API Microsoft Teams в Microsoft Graph. Общее описание лимитных API и служб в Microsoft Graph см. в статье Общие сведения о лимитных API и службах в Microsoft Graph.

Некоторые API позволяют выбрать модель лицензирования и оплаты с помощью model параметра запроса; другие поддерживают только одну модель или не поддерживают модель лицензирования и оплаты.

В следующей таблице перечислены API-интерфейсы и уведомления обresources изменениях, которые в настоящее время поддерживают модели оплаты.

API-интерфейсы или уведомление об измененияхresources Модели оплаты
Уведомление обresources изменении:
  • /chats/getAllMessges
  • /teams/getAllMessages
  • /chats/getAllMembers
  • /teams/getAllMembers
A, B
Уведомление обresources изменении:
  • /users/{user-id}/chats/getAllMessages
  • /me/chats/getAllMessages
  • /appCatalogs/teamsApps/{app-id}/installedToChats
  • /appCatalogs/teamsApps/{app-id}/installedToChats/getAllMessages
  • /appCatalogs/teamsApps/{app-id}/installedToChats/getAllMembers
Б
API-интерфейсы экспорта: A, B
API PATCH при обновлении policyViolation свойства: A
API собраний Teams: Параметр модели отсутствует

Примечание.

Сведения о настройке активной подписки Azure для приложения для выставления счетов см. в статье Включение лимитных API и служб Microsoft 365. Дополнительные сведения см. в разделе Обновления для оплаты и выставления счетов.

Модели оплаты

Доступны следующие модели оплаты:

Примечание.

Чтобы добавить или изменить модель оплаты для подписанного ресурса уведомления об изменениях, необходимо создать новую подписку на уведомление об изменениях с новой моделью оплаты. Обновление существующего уведомления об изменениях не работает.

Требования для model=A

model=A применяется только в приложениях, которые выполняют функцию безопасности или соответствия требованиям. Подробные сведения см. в разделе "Условия использования API для приложений безопасности и соответствия требованиям" условий использования служб Microsoft Azure.

Следующие API поддерживают параметр model=A .

API-интерфейсы или уведомление об измененияхresources Для кого нужна лицензия Заложенная емкость Стоимость сверхлимитного использования Заметки
Уведомление обresources изменении:
  • /chats/getAllMessges
  • /teams/getAllMessages
Отправитель сообщений (800 сообщений × поддерживаемых лицензий с включенной защитой от потери данных) в месяц на приложение 0,00075 доллара США за каждое сообщение Заложенная емкость распределяется по уведомлениям об изменении conversationMember
Уведомление обresources изменении:
  • /chats/getAllMembers
  • /teams/getAllMembers
Для каждого пользователя в составе клиента (800 уведомлений × поддерживаемых лицензий с включенной защитой от потери данных) в месяц для каждого приложения 0,00075 доллара США за каждое уведомление Заложенная емкость распределяется по уведомлениям об изменении chatMessage
Api: Для именованного пользователя (1600 сообщений × поддерживаемых лицензий с включенной защитой от потери данных) в месяц для каждого приложения 0,00075 доллара США за каждое сообщение Именованный пользователь — это пользователь, идентифицированный в URL-адресе запроса GET. Запросы, возвращающие пустой список, оплачиваются как одно сообщение. Заложенная емкость распределяется по экспорту канала.
Api: Для каждого участника команды (1600 сообщений × поддерживаемых лицензий с включенной защитой от потери данных) в месяц для каждого приложения 0,00075 доллара США за каждое сообщение Запросы, возвращающие пустой список, оплачиваются как одно сообщение. Заложенная емкость распределяется по экспорту чата.
API при обновлении policyViolation свойства: Отправитель сообщений (800 сообщений × поддерживаемых лицензий с включенной защитой от потери данных) в месяц на приложение 0,00075 доллара США за каждое сообщение

Требуемые лицензии для model=A

Пользователю требуется лицензия, поддерживающая план службы защиты от потери данных в microsoft Communications, например одну из поддерживаемых лицензий. Какому именно пользователю нужна лицензия, зависит от API; подробнее см. Требования model=A.

Эти требования лицензирования не распространяются на гостевых пользователей. Они также не распространяются на сообщения, отправленные из-за пределов клиента (в федеративном чате). Счетчики потребления применяются по-прежнему.

Владелец клиента (а не владелец приложения) несет ответственность за обеспечение надлежащей лицензии пользователей. Администраторы могут использовать отчет о лицензиях На защиту информации в Центре администрирования Teams , чтобы узнать, у каких пользователей нет поддерживаемой лицензии.

Для многих поддерживаемых лицензий предлагаются бесплатные пробные версии. Office 365 E5, например, имеет ссылку Бесплатная пробная версия под кнопкой Купить.

Вы можете получить право на участие в программе для разработчиков Microsoft 365. Дополнительные сведения см. в разделе Вопросы и ответы. Кроме того, вы можете зарегистрироваться для получения бесплатной пробной версии на 1 месяц или приобрести план Microsoft 365.

Примечание.

Перед лицензированием необходимо включить план службы защиты от потери данных в Microsoft Communications. Вы можете управлять лицензиями в Центр администрирования Microsoft Entra или Центр администрирования Microsoft 365. Вы также можете назначить лицензии учетной записи группы с помощью REST API Microsoft Graph Graph и пакета SDK Для PowerShell.

Требования для model=B

model=B ограничен приложениями, которые не выполняют функцию безопасности или соответствия требованиям. Дополнительные сведения см. в разделе Условия использования API для приложений, обеспечивающих безопасность и соответствие требованиям, условий продукта для служб Microsoft Azure.

Следующие API поддерживают параметр model=B .

API-интерфейсы или уведомление об измененияхresources Заложенная емкость Цена за использование Примечания
Уведомление обresources изменении:
  • /chats/getAllMessages
  • /teams/getAllMessages
  • /users/{user-id}/chats/getAllMessages
  • /me/chats/getAllMessages
  • /appCatalogs/teamsApps/{app-id}/installedToChats/getAllMessages
Отсутствует 0,00075 доллара США за каждое сообщение
Уведомление обresources изменении:
  • /chats/getAllMembers
  • /teams/getAllMembers
  • /appCatalogs/teamsApps/{app-id}/installedToChats/getAllMembers
Нет 0,00075 доллара США за каждое уведомление
Уведомление обresources изменении:
  • /appCatalogs/teamsApps/{app-id}/installedToChats
Отсутствует 0,00075 доллара США за каждое сообщение
Api: Отсутствует 0,00075 доллара США за каждое сообщение Запросы, возвращающие пустой список, оплачиваются как одно сообщение.
Api: Отсутствует 0,00075 доллара США за каждое сообщение Запросы, возвращающие пустой список, оплачиваются как одно сообщение.

Требования режима оценки (по умолчанию)

Следующие API поддерживают режим оценки. Квота оценки применяется для каждого приложения, для каждого клиента в месяц. Квота сбрасывается в начале каждого календарного месяца, а неиспользуемая сумма не переносится на следующий месяц.

API-интерфейсы или уведомление об измененияхresources Квота оценки Стоимость сверхлимитного использования Заметки
Уведомление обresources изменении:
  • /chats/getAllMessges
  • /teams/getAllMessages
  • /users/{user-id}/chats/getAllMessages
  • /me/chats/getAllMessages
  • /appCatalogs/teamsApps/{app-id}/installedToChats/getAllMessages
500 сообщений в месяц на клиент на приложение Н/Д
Уведомление обresources изменении:
  • /chats/getAllMembers
  • /teams/getAllMembers
  • /appCatalogs/teamsApps/{app-id}/installedToChats/getAllMembers
500 сообщений в месяц на клиент на приложение Н/Д
Уведомление обresources изменении:
  • /appCatalogs/teamsApps/{app-id}/installedToChats
500 сообщений в месяц на приложение Недоступно
Api: 500 сообщений в месяц на клиент на приложение Недоступно Запросы, возвращающие пустой список, оплачиваются как одно сообщение.
Api: 500 сообщений в месяц на клиент на приложение Недоступно Запросы, возвращающие пустой список, оплачиваются как одно сообщение.
API при обновлении policyViolation свойства: 500 сообщений в месяц на клиент на приложение Н/Д
API расшифровки собраний Teams: 600 минут в месяц на клиента на приложение Н/Д
API записи собраний Teams: 600 минут в месяц на клиента на приложение Н/Д

Заложенная емкость

Заложенная емкость — это объем ресурса, который приложение может использовать до того, как начнет работать счетчик потребления. Емкость в пуле выполняется на уровне клиента. Начальная емкость для всех пользователей в клиенте сравнивается с использованием приложения в клиенте. Затраченная емкость приходится на каждое приложение для каждого клиента. Если другое приложение закончится, у приложения не будет иссякать заполняемая емкость. Начальная емкость сбрасывается в начале каждого календарного месяца, а неиспользуемая сумма не переносится на следующий месяц.

Модель оплаты Варианты использования Заложенная емкость Требуется лицензия Требуется подписка Azure
model=A Безопасность и соответствие требованиям См. model=A требования Да (Microsoft 365 E5 соответствующей лицензии) Да
model=B Резервное копирование и восстановление, миграция, анализ тональности, аналитика и аналитика Нет Нет Да

Начальная емкость не применима к API собраний Teams. Дополнительные сведения см. в разделе Требования к оплате для API-интерфейсов собраний.

Требования к оплате для API-интерфейсов

В этом разделе описаны требования к оплате для API-интерфейсов расшифровки и записи собраний Teams. Эти API-интерфейсы не поддерживают модели оплаты модели A и модели B и могут использоваться любым приложением независимо от варианта использования.

Эти API поддерживают режим оценки , который приложения могут использовать без настройки выставления счетов Azure. В следующей таблице описано поведение режима оценки.

Настройка выставления счетов Azure Результат
Не настроено Емкость режима оценки доступна для скачивания. Кроме того, API завершается сбоем с кодом 402 ошибки (требуется оплата).
Настроено Неограниченное содержимое собрания доступно для скачивания и по цене в зависимости от поминутного содержимого, как описано в следующей таблице. Инженерные ограничения RPS по-прежнему применяются.

В следующей таблице перечислены цены на использование API собраний Teams, применимые как к конечным точкам бета-версии, так и к конечным точкам версии 1.0.

Интерфейсы API Заложенная емкость Цена за использование Примечания
API записи собраний Teams: Нет 0,003 долл. США в минуту Длительность округляется до ближайшей минуты.
API расшифровки собраний Teams: Нет 0,0022 долл. США в минуту Длительность округляется до ближайшей минуты.

Оплата и выставление счетов

Если ваши приложения используют или будут использовать любой из упомянутых выше API-интерфейсов или уведомление обresources изменениях, необходимо выполнить действия, описанные в разделе Включение лимитных API и служб Microsoft 365 , чтобы настроить активную подписку Azure для выставления счетов.

Организация, владеющая регистрацией приложения, несет ответственность за оплату. Подписка Azure также должна быть активной в том же клиенте. Для мультитенантных приложений организация, которая зарегистрировала приложение, может отличаться от организации, которая запускает приложение.

Если обнаружено неправильное лицензирование, вызов API завершается ошибкой и данные не будут возвращены. В частности, для большинства API попытка получить сообщения GET для нелицензированного пользователя приведет к возникновению 402 кода ошибки. Для уведомлений об изменениях сообщения, отправленные нелицензированных пользователей, не будут создавать уведомление об изменениях. Вызовы API и уведомления об изменениях, используемые в режиме оценки сверх квоты на оценку, завершатся ошибкой.

Код ошибки Сценарий Пример сообщения об ошибке
402 (требуется оплата) Отсутствует активная подписка на выставление счетов Azure ...To call this API, the app must be associated with an Azure subscription, see https://aka.ms/teams-api-payment-requirements for details....
402 (требуется оплата) Передача model=A без лицензии Microsoft E5 или без включения защиты от потери данных ...needs a valid license to access this API..., ...tenant needs a valid license to access this API...
402 (требуется оплата) Передача API вызова исправлений model=B ...query parameter 'model' does not support value 'B' for this API. Use billing model 'A'...
402 (требуется оплата) Evaluation mode превышена емкость ...evaluation capacity for the month has exceeded. To continue beyond the evalution limits complete billing onboarding...

Примечание.

Успешный вызов API не означает, что требуется лицензирование. Аналогичным образом успешное выполнение API в модели оценки не гарантирует, что вызов находится в пределах начальной емкости.

Просмотр счетов за лимитные API Microsoft Teams

В этом разделе описано, как отслеживать затраты, выставляемые за лимитные API Microsoft Teams.

Владелец подписки или любой пользователь с соответствующими разрешениями RBAC (на основе ролей контроль доступа) может использовать анализ затрат для отслеживания лимитного использования API следующим образом:

  1. Войдите в портал Azure по адресу https://portal.azure.com.
  2. Перейдите в раздел Управление затратами и выставление счетов > Управление затратами > анализ затрат.
  3. Для фильтра в верхней части выберите Имя службы: Службы Microsoft Graph.
  4. В раскрывающемся меню Группировать по справа выберите Метр.

Это представление предлагает удобный способ наблюдения за потреблением API в день в течение определенного периода времени.

Вы также можете использовать круговые диаграммы внизу для дальнейшей разбивки затрат на анализ с помощью фильтров ресурсов и счетчиков .

Снимок экрана: страница

Дополнительные сведения об управлении затратами см. в документации по управлению затратами и выставлению счетов.

Мониторинг количества сообщений, выставленных для лимитных API Teams

В этом разделе описывается, как отслеживать количество сообщений, оплачиваемых для лимитных API Teams. В отличие от анализа затрат, это позволяет анализировать использование сообщений в заполненной емкости, а не только тех, которые выше заполненной емкости для выставления счетов, если это применимо к выбранным моделям лицензирования.

Владелец подписки или любой пользователь с необходимыми разрешениями RBAC (на основе ролей контроль доступа) может настроить отчет в формате CSV со сведениями о выставлении счетов для всей подписки. Отчет можно экспортировать периодически (ежедневно, еженедельно, ежемесячно). Дополнительные сведения см. в статье Руководство по созданию экспортированных данных и управлению ими.

Снимок экрана: экспортируемый CSV-файл

Оценка количества сообщений в Teams

В этом разделе описывается поиск количества сообщений в клиенте Teams. Это поможет оценить затраты на использование лимитных API. Если сообщение извлекается через API с лимитным набором несколько раз, счет выставляется несколько раз. Помните об этом при оценке стоимости на основе количества сообщений в клиенте Teams. Например, если вы вчера вызвали getAllMessages (без фильтров), а затем снова (без фильтров) сегодня, все сообщения, полученные раньше, чем сегодня, будут выставляться дважды. По этой причине при использовании лимитных API рекомендуется использовать фильтры (например, , $filter=lastModifiedDateTime gt 2019-03-17T07:13:28.000z) или уведомления об изменениях, $top=10чтобы избежать многократного получения одного и того же сообщения.

Вы также можете вызвать API getTeamsUserActivityUserDetail или использовать Центр Администратор Microsoft Teams следующим образом:

Примечание: Для просмотра отчета в Центре Администратор Microsoft Teams необходимо быть глобальным администратором, глобальным читателем или администратором службы Teams. Дополнительные сведения см. в статье Использование ролей администратора Teams для управления Teams.

  1. В левой области выберите Аналитика & отчеты об>использовании.
  2. На вкладке Просмотр отчетов в разделе Отчет выберите Действия пользователей Teams.
  3. В разделе Диапазон дат выберите диапазон.
  4. Выберите Запустить отчет.

Снимок экрана: отчет о действиях пользователей Teams

Вопросы и ответы

Сценарий Сведения
Почему количество сообщений выставляется больше, чем количество сообщений в моих Teams? Если приложение получает одно и то же сообщение несколько раз, плата взимается за несколько раз. Один из способов избежать этого — использовать уведомления об изменениях вместо API экспорта. Если необходимо использовать API-интерфейсы экспорта, обязательно используйте фильтры (например, $filter=lastModifiedDateTime, $filter=from).
Действительно ли выставление счетов началось 5 июля? Да, мы поэтапно подгонаем партнеров. Чтобы продолжить доступ, следуйте инструкциям в разделе Включение лимитных API и служб Microsoft 365 , чтобы настроить активную подписку Azure для выставления счетов.
Чего следует ожидать после настройки подписки Azure? Выставление счетов вступает в силу немедленно. Вы можете отслеживать затраты, как описано в разделе Просмотр расходов, выставленных для лимитных API Microsoft Teams выше.
Нужно ли предоставлять подписку Azure, если мое приложение не вызывает лимитные API? Рекомендуется предоставить подписку Azure, так как в большинстве сценариев используются лимитные API.
Что произойдет, если подписка Azure не предоставлена? * Если приложение не вызывает лимитные API, ошибки, связанные с оплатой, не возникают.
* Если параметр модели не передается, evaluation model значение используется по умолчанию.
* При вызове лимитного API через передачу model=Aпредоставьте Microsoft 365 E5 лицензию и подписку Azure.
* При передаче model=B при вызове ЛИМИТных API укажите активную подписку Azure.
Разделы справки создать подписку Azure? Подписка Azure должна быть доступна в том же клиенте, где зарегистрировано приложение. Клиенты с соглашениями MCA или EA могут получить подписку из существующей учетной записи. Также можно создать подписку PAYG, используя кредитную карта или оплату проверка или банковским переводом. Дополнительные сведения см. в статье Включение лимитных API и служб Microsoft 365,а также управление затратами и выставление счетов.
Кто несет ответственность за оплату в случае мультитенантных приложений? Организация, владеющая регистрацией приложения.
Можно ли отличить выставление счетов от мультитенантного или однотенантного приложения? Да, эти сведения должны быть предоставлены как часть сведений о выставлении счетов Azure.
Взимается ли плата, если сообщение не возвращается с помощью какой-либо модели? Чтобы предотвратить частые опросы, с запросов API, возвращающих пустой список сообщений, будет взиматься плата за одно сообщение. В случае evaluation modelс вызовом количество сообщений в месяц на приложение, разрешенное, учитывается в количестве 500 сообщений.
Где можно отслеживать затраты и выставление счетов? Владелец подписки или любой пользователь с соответствующими RBAC (на основе ролей контроль доступа) может использовать средство анализа затрат Azure для отслеживания потребления в день или фильтрации по счетчику, имени службы, идентификатору ресурса среди других параметров. Дополнительные сведения см. в разделе Просмотр расходов, выставленных для лимитных API Microsoft Teams выше.
Есть ли скидка на объем? Применяются фиксированные тарифы.
Зарегистрированы ли эти API в программе Microsoft Azure Consumption Commitment (MACC)? В настоящее время нет.