Microsoft Teams API 的支付模型和许可要求

本文介绍 Microsoft Graph 中 Microsoft Teams API 的支付模型和许可要求。 有关 Microsoft Graph 中按流量计费的 API 和服务的高级说明,请参阅 Microsoft Graph 中按流量计费的 API 和服务概述

某些 API 提供通过 model 查询参数选择许可和支付模型的选项;其他 API 仅支持一种模型,或者不支持许可和支付模型。

下表列出了当前支持付款模型的 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
B
导出 API A、B
更新 policyViolation 属性时,PATCH API: A
Teams 会议 API: 无模型参数

注意

若要为应用程序设置有效的 Azure 订阅以进行计费,请参阅 启用按流量计费的 Microsoft 365 API 和服务。 有关详细信息,请参阅 付款和计费更新

支付模型

以下付款模型可用:

注意

若要为已订阅的更改通知资源添加或更改付款模型,必须使用新的付款模型创建新的更改通知订阅;更新现有更改通知不起作用。

model=A 要求

model=A 限于执行安全性或符合性功能的应用程序。 有关详细信息,请参阅 Microsoft Azure Services 产品条款的安全与合规性应用程序部分的 API 条款。

以下 API 支持 model=A 参数。

API 或更改通知resources 需要许可证的人员 种子设定容量 其他用途的价格 备注
更改通知resources
  • /chats/getAllMessges
  • /teams/getAllMessages
邮件发件人 每个应用每月 (800 条消息×支持启用 DLP 的许可证) 每条消息 0.00075 美元 种子设定容量与 conversationMember 更改通知共享
更改通知resources
  • /chats/getAllMembers
  • /teams/getAllMembers
租户中的任何用户 每个应用每月 (800 个通知×支持 DLP 的许可证) 每条通知 0.00075 美元 种子设定容量与 chatMessage 更改通知共享
Api: 已命名用户 每个应用每月 (1600 条消息×已启用 DLP 的受支持许可证) 每条消息 0.00075 美元 命名用户是在 GET 请求 URL 中标识的用户。 返回空列表的请求按一条消息收费。 种子设定容量与通道导出共享。
Api: 任何团队成员 每个应用每月 (1600 条消息×已启用 DLP 的受支持许可证) 每条消息 0.00075 美元 返回空列表的请求按一条消息收费。 种子设定容量与聊天导出共享。
更新 属性时 API policyViolation 邮件发件人 每个应用每月 (800 条消息×支持启用 DLP 的许可证) 每条消息 0.00075 美元

model=A 需要的许可证

用户需要支持 Microsoft Communications DLP 服务计划的许可证,例如其中一个 受支持的许可证。 需要许可证的用户因 API 而异;有关详细信息,请参阅model=A要求

来宾用户不受这些许可要求的约束。 同样地,从租户外部发送的消息(联合聊天)不受约束。 消耗计量仍适用。

租户所有者 (而不是应用所有者) 负责确保用户获得适当的许可。 管理员可以使用 Teams 管理中心的信息保护许可证报告来查看哪些用户没有受支持的许可证。

许多受支持的许可证提供免费试用版。 例如,Office 365 E5购买”按钮下有一个免费试用链接。

你可能有资格通过 Microsoft 365 开发人员计划获得一个;有关详细信息,请参阅 常见问题解答。 或者,可以 注册 1 个月的免费试用版或购买 Microsoft 365 计划

注意

必须先启用 Microsoft 通信 DLP 服务计划 ,然后才能获得许可。 可以在Microsoft Entra 管理中心Microsoft 365 管理中心中管理许可证。 还可以使用 Microsoft Graph Graph REST API 和 PowerShell SDK 将许可证分配给组帐户。

model=B 要求

model=B 仅限于不执行安全性或合规性功能的应用程序。 有关详细信息,请参阅 Microsoft Azure Services 产品条款的安全与合规性应用程序部分的 API 条款。

以下 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 条消息 不适用
Teams 会议脚本 API: 每个应用每个租户每月 600 分钟 不适用
Teams 会议录制 API: 每个应用每个租户每月 600 分钟 不适用

种子设定容量

种子设定容量是应用在对消耗量计费之前可以使用的容量。 容量在租户级别进行池化 - 租户中所有用户的种子设定容量与租户中的应用使用情况进行比较。 种子设定容量是每个租户的每个应用 - 如果另一个应用用完,一个应用不会耗尽种子容量。种子设定容量在每个日历月开始时重置,任何未使用的金额都不会结转到下个月。

付款模型 用例 种子设定容量 需要许可证 需要 Azure 订阅
model=A 安全性和合规性 请参阅 model=A 要求 是 (Microsoft 365 E5 符合条件的许可证)
model=B 备份和还原、迁移、情绪分析、分析和见解

种子设定的容量不适用于 Teams 会议 API。 有关详细信息,请参阅 会议 API 的付款要求

满足 API 的付款要求

本部分介绍 Teams 会议脚本和录制 API 的付款要求。 这些 API 不支持模型 A 和模型 B 支付模型,任何应用程序都可以使用,而不管用例如何。

这些 API 支持应用无需配置 Azure 计费即可使用的 评估模式 。 下表汇总了评估模式行为。

Azure 计费设置 结果
未配置 评估模式容量可供下载。 除此之外,API 会失败,错误代码 402 (“需要付款”) 。
已配置 无限制的会议内容可供下载,并根据每分钟内容定价,如下表所述。 工程 RPS 限制仍适用。

下表列出了使用适用于 beta 和 v1.0 终结点的 Teams 会议 API 的价格。

API 种子设定容量 使用价格 注释
Teams 会议录制 API: 每分钟 0.003 美元 持续时间向下舍入到最接近的分钟。
Teams 会议脚本 API: 每分钟 0.0022 美元 持续时间向下舍入到最接近的分钟。

付款和计费

如果应用程序正在使用或将要使用上述任何 API 或更改通知resources,则必须按照 启用按流量计费的 Microsoft 365 API 和服务 中所述的步骤设置有效的 Azure 订阅以进行计费。

拥有应用注册的组织负责付款。 Azure 订阅也应在同一租户中处于活动状态。 对于多租户应用,注册应用的组织可能不同于运行应用的组织。

如果检测到不正确的许可,API 调用将失败,并且不会返回数据。 具体而言,对于大多数 API,尝试为未授权用户获取消息将导致 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 许可证或未启用 DLP 的情况下传递 ...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 在评估模型中的成功并不保证调用在种子设定容量内。

查看按流量计费的 Microsoft Teams API 的成本

本部分介绍如何监视按流量计费的 Microsoft Teams API 的成本。

订阅所有者或具有适当 RBAC (基于角色访问控制) 权限的任何人,可以使用成本分析跟踪按流量计费的 API 使用情况,如下所示:

  1. 登录到 Azure 门户网站,网址:https://portal.azure.com
  2. 转到 “成本管理 + 计费 > 成本管理 > 成本分析”。
  3. 对于顶部附近的筛选器,请选择“ 服务名称:Microsoft Graph 服务”。
  4. 对于右侧附近的“ 分组依据 ”下拉菜单,选择“ 计量”。

此视图提供了一种观察一段时间内每天 API 使用量的便捷方法。

还可以使用底部附近的饼图,使用 “资源”“计量” 筛选器进一步细分分析成本。

Azure 门户中“成本管理和计费”页的屏幕截图

有关成本管理的详细信息,请参阅 成本管理 + 计费文档

监视按流量计费的 Teams API 所计费的消息数

本部分介绍如何监视按流量计费的 Teams API 计费的消息数。 与成本分析不同,这允许你分析种子容量内消息的使用情况,而不仅仅是那些高于种子设定容量的消息(如果适用于所选许可模型)。

订阅所有者或具有所需 RBAC (基于角色访问控制) 权限的任何人,可以设置 CSV 格式的报告,其中包含整个订阅的计费详细信息。 可以定期 (每日、每周、每月) 导出报表。 有关详细信息,请参阅 教程:创建和管理导出的数据

导出的 CSV 文件的屏幕截图

估计 Teams 中的消息数

本部分介绍如何在 Teams 租户中查找消息数。 这可以帮助你估算使用按流量计费的 API 的成本。 如果多次通过按流量计费的 API 检索消息,则会多次计费。 根据 Teams 租户中的消息数估算成本时,请记住这一点。 例如,如果在昨天调用 getAllMessages 了没有任何筛选器 () ,然后在今天) 没有任何筛选器 (再次调用,则之前的所有邮件都将计费两次。 因此,在使用按流量计费的 API 时,建议使用筛选器 (例如 $top=10$filter=lastModifiedDateTime gt 2019-03-17T07:13:28.000z) 或更改通知 ,以避免多次检索同一消息。

还可以调用 getTeamsUserActivityUserDetail API,也可以使用 Microsoft Teams 管理员中心,如下所示:

注意:必须是全局管理员、全局读者或 Teams 服务管理员,才能在 Microsoft Teams 管理员中心查看报表。 有关详细信息,请参阅 使用 Teams 管理员角色管理 Teams

  1. 在左窗格中,选择“ 分析”& 报告>使用情况报告
  2. 在“ 查看报表 ”选项卡上的“ 报表”下,选择 “Teams 用户活动”。
  3. “日期范围”下,选择一个区域。
  4. 选择 “运行报表”。

Teams 用户活动报告的屏幕截图

常见问题解答

应用场景 详细信息
为什么计费的消息数高于 Teams 中的消息数? 如果应用多次检索同一消息,则会多次收费。 避免这种情况的一种方法是使用 更改通知 ,而不是 导出 API。 如果必须使用导出 API,请确保使用筛选器 (,例如 、 $filter=lastModifiedDateTime$filter=from) 。
计费实际上是从 7 月 5 日开始的吗? 是的,我们将分阶段加入合作伙伴。 若要继续访问,请按照 启用按流量计费的 Microsoft 365 API 和服务 中的说明设置活动 Azure 订阅以进行计费。
设置 Azure 订阅后应期待什么? 计费立即生效。 可以按上述 查看按流量计费的 Microsoft Teams API 的成本部分中所述监视成本。
如果我的应用程序未调用按流量计费的 API,是否需要提供 Azure 订阅? 建议提供 Azure 订阅,因为大多数方案使用按流量计费的 API。
如果未提供 Azure 订阅,会发生什么情况? * 如果应用程序未调用按流量计费的 API,则不会发生与付款相关的错误。
* 如果未传递模型参数,则 evaluation model 默认使用值。
* 如果调用通过 的按流量计费的 model=AAPI,请提供Microsoft 365 E5符合条件的许可证和 Azure 订阅。
* 如果在调用按流量计费的 API 时传递 model=B ,请提供有效的 Azure 订阅。
如何实现创建 Azure 订阅? Azure 订阅必须在注册应用的同一租户中可用。 具有 MCA 或 EA 协议的客户可以从其现有帐户获取订阅。 也可以使用信用卡创建 PAYG 订阅,或者通过检查或电汇付款。 有关详细信息,请参阅 启用按流量计费的 Microsoft 365 API 和服务 以及 成本管理和计费
对于多租户应用,谁负责付款? 拥有应用注册的组织。
是否可以将计费与多租户或单租户应用区分开来? 是的,此信息必须作为 Azure 计费详细信息的一部分提供。
当未使用任何模型返回消息时,是否有费用? 为了阻止频繁 轮询,返回空消息列表的 API 请求将按一条消息收费。 对于 , evaluation model调用将计入每个应用允许的每月 500 条消息。
在哪里可以监视成本和计费? 订阅所有者或具有适当 RBAC (基于角色访问控制) 的任何人都可以使用 Azure 成本分析工具来跟踪每天的消耗量,或者按计量、服务名称、资源 ID 和其他参数进行筛选。 有关更多详细信息,请参阅查看上述 按流量计费的 Microsoft Teams API 的费用。
是否有批量折扣? 适用统一费率。
这些 API 是否在 Microsoft Azure 消耗承诺 (MACC) 计划中注册? 目前不能。