Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update teams-licenses.md #9105

Merged
merged 11 commits into from
Feb 28, 2024
23 changes: 12 additions & 11 deletions api-reference/beta/api/chats-getallmessages.md
Original file line number Diff line number Diff line change
Expand Up @@ -35,29 +35,30 @@ GET /users/{id | user-principal-name}/chats/getAllMessages

## Optional query parameters

This method supports [date range parameters](/graph/query-parameters) to customize the response, as shown in the following example.

```http
GET /users/{id}/chats/getAllMessages?$top=50&$filter=lastModifiedDateTime gt 2020-06-04T18:03:11.591Z and lastModifiedDateTime lt 2020-06-05T21:00:09.413Z
```
Use the `model` query parameter to specify the [payment model](/graph/teams-licenses) that applies to your scenario, as shown in the following examples.
You can use the `model` query parameter, which supports the values `A` and `B`, based on the preferred [licensing and payment model](/graph/teams-licenses),
as shown in the following examples.
If no `model` parameter is specified, [evaluation mode](/graph/teams-licenses#evaluation-mode-default-requirements) will be used.

```http
GET /users/{id | user-principal-name}/chats/getAllMessages?model=A
GET /users/{id | user-principal-name}/chats/getAllMessages?model=B
```
>**Note:** If you don't specify a payment model in your query, the default [evaluation mode](/graph/teams-licenses#evaluation-mode-default-requirements) will be used.

This method supports different filtering scenarios:
This operation also supports [date range parameters](/graph/query-parameters) to customize the response, as shown in the following example.

``` http
GET /users/{id}/chats/getAllMessages?$top=50&$filter=lastModifiedDateTime gt 2020-06-04T18:03:11.591Z and lastModifiedDateTime lt 2020-06-05T21:00:09.413Z
```
This method also supports `$filter`. The following table lists examples.

|Scenario | Filter parameter |Possible values |
|Scenario | `$filter` parameter |Possible values |
|:-----------------------------------------|:---------------------------------------------------------------------------------------|:-----------------------------------------------------------------------------------------------------------|
|Get messages sent by user identity type |$filter=from/user/userIdentityType eq '{teamworkUserIdentityType}' |aadUser, onPremiseAadUser, anonymousGuest, federatedUser, personalMicrosoftAccountUser, skypeUser, phoneUser|
|Get messages sent by application type |$filter=from/application/applicationIdentityType eq '{teamworkApplicationIdentity}' |aadApplication, bot, tenantBot, office365Connector, outgoingWebhook |
|Get messages sent by user id |$filter=from/user/id eq '{oid}' ||
|Get messages sent by user ID |$filter=from/user/id eq '{oid}' ||
|Get control(system event) messages |$filter=messageType eq 'systemEventMessage' ||
|Exclude control (system event) messages |$filter=messageType ne 'systemEventMessage' ||
>**Note:** These filter clauses can be joined using the `or` operator. A filter clause can appear more than once in a query, and it can filter on a different value each time it appears within the query.
>**Note:** These filter clauses can be joined by using the `or` operator. A filter clause can appear more than once in a query, and it can filter on a different value each time it appears within the query.

## Request headers
| Header | Value |
Expand Down
6 changes: 2 additions & 4 deletions api-reference/v1.0/api/chats-getallmessages.md
Original file line number Diff line number Diff line change
Expand Up @@ -33,16 +33,14 @@ GET /users/{id | user-principal-name}/chats/getAllMessages

## Optional query parameters

You can use `model` query parameter, which supports the values `A` and `B`, based on the preferred [licensing and payment model](/graph/teams-licenses),
You can use the `model` query parameter, which supports the values `A` and `B`, based on the preferred [licensing and payment model](/graph/teams-licenses),
as shown in the following examples.
If no `model` is specified, [evaluation mode](/graph/teams-licenses#evaluation-mode-default-requirements) is used.
If no `model` parameter is specified, [evaluation mode](/graph/teams-licenses#evaluation-mode-default-requirements) is used.

```http
GET /users/{id | user-principal-name}/chats/getAllMessages?model=A
GET /users/{id | user-principal-name}/chats/getAllMessages?model=B
```
If no `model` is specified, [evaluation mode](/graph/teams-licenses#evaluation-mode-default-requirements) is used.

This operation also supports [date range parameters](/graph/query-parameters) to customize the response, as shown in the following example.

``` http
Expand Down
5 changes: 3 additions & 2 deletions concepts/teams-licenses.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,8 +18,8 @@ The following table lists the APIs and [change notification](/graph/api/subscrip
|:------------------|:---------------|
| [Change notification](/graph/api/subscription-post-subscriptions) `resources`: <ul><li>/chats/getAllMessges</li><li>/teams/getAllMessages</li><li>/chats/getAllMembers</li><li>/teams/getAllMembers</li></ul> | A, B |
| [Change notification](/graph/api/subscription-post-subscriptions) `resources`: <ul><li>/users/{user-id}/chats/getAllMessages</li><li>/me/chats/getAllMessages</li><li>/appCatalogs/teamsApps/{app-id}/installedToChats</li><li>/appCatalogs/teamsApps/{app-id}/installedToChats/getAllMessages</li><li>/appCatalogs/teamsApps/{app-id}/installedToChats/getAllMembers</li></ul> | B |
| APIs: <ul><li>[GET /users/{user-id}/chats/getAllMessages](/graph/api/chats-getallmessages)</li><li>[GET /users/{user-id}/chats/getAllRetainedMessages](/graph/api/chat-getallretainedmessages)</li><li>[GET /me/chats/getAllMessages](/graph/api/chats-getallmessages)</li><li>[GET /teams/{team-id}/channels/getAllMessages](/graph/api/channel-getallmessages)</li><li>[GET /teams/{team-id}/channels/getAllRetainedMessages](/graph/api/channel-getallretainedmessages)</li><li>[GET /teamwork/deletedTeams/{deletedTeamId}/channels/getAllMessages](/graph/api/deletedteam-getallmessages)</li></ul> | A, B |
| APIs, when updating the `policyViolation` property: <ul><li>[PATCH /teams/{team-id}/channels/{channel-id}/messages/{message-id}](/graph/api/chatmessage-update)</li><li>[PATCH /teams/(team-id)/channels/{channel-id}/messages/{message-id}/replies/{reply-id}](/graph/api/chatmessage-update)</li><li>[PATCH /chats/{chatThread-id}/messages/{message-id}](/graph/api/chatmessage-update)</li></ul> | A |
| [Export APIs](/microsoftteams/export-teams-content): <ul><li>[GET /users/{user-id}/chats/getAllMessages](/graph/api/chats-getallmessages)</li><li>[GET /users/{user-id}/chats/getAllRetainedMessages](/graph/api/chat-getallretainedmessages)</li><li>[GET /me/chats/getAllMessages](/graph/api/chats-getallmessages)</li><li>[GET /teams/{team-id}/channels/getAllMessages](/graph/api/channel-getallmessages)</li><li>[GET /teams/{team-id}/channels/getAllRetainedMessages](/graph/api/channel-getallretainedmessages)</li><li>[GET /teamwork/deletedTeams/{deletedTeamId}/channels/getAllMessages](/graph/api/deletedteam-getallmessages)</li></ul> | A, B |
| PATCH APIs, when updating the `policyViolation` property: <ul><li>[PATCH /teams/{team-id}/channels/{channel-id}/messages/{message-id}](/graph/api/chatmessage-update)</li><li>[PATCH /teams/(team-id)/channels/{channel-id}/messages/{message-id}/replies/{reply-id}](/graph/api/chatmessage-update)</li><li>[PATCH /chats/{chatThread-id}/messages/{message-id}](/graph/api/chatmessage-update)</li></ul> | A |
| Teams meeting APIs: <ul><li>[GET /users/{userId}/onlineMeetings/{meetingId}/transcripts/{transcriptId}/content](/graph/api/calltranscript-get#example-2-get-a-calltranscript-content)</li><li>[GET /users/{userId}/onlineMeetings/{meetingId}/transcripts/{transcriptId}/metadataContent](/graph/api/calltranscript-get#example-4-get-a-calltranscript-metadatacontent)</li><li>[GET /users/{userId}/onlineMeetings/{meetingId}/recordings/{recordingId}/content](/graph/api/callrecording-get#example-2-get-callrecording-content)</li></ul> | No model parameter |

> [!NOTE]
Expand Down Expand Up @@ -209,6 +209,7 @@ You can also call the [getTeamsUserActivityUserDetail](/graph/api/reportroot-get

| Scenario | Details |
|:-------------------------|:--------|
| Why was the number of messages billed higher than the number of messages in my Teams? | If your app is retrieving the same message multiple times, it would be billed for multiple times. One way to avoid this is to use [change notification](/graph/api/subscription-post-subscriptions) instead of [Export APIs](/microsoftteams/export-teams-content). If you must use Export APIs, make sure to use filters (e.g. `$filter=lastModifiedDateTime`, `$filter=from`). |
| Did billing actually started on July 5? | Yes, we're onboarding partners in phases. For continued access, follow the instructions on [Enable metered Microsoft 365 APIs and services](/graph/metered-api-setup) to set up an active Azure subscription for billing purposes.
| What should I expect after setting up an Azure subscription? | Billing is effective immediately. You can monitor the costs as described in the [View the costs billed for the metered Microsoft Teams APIs](#view-the-costs-billed-for-the-metered-microsoft-teams-apis) section above. |
| Do I need to provide an Azure subscription if my application isn't calling metered APIs? | We recommend that you provide an Azure subscription because most scenarios use metered APIs. |
Expand Down
Loading