Skip to content

Commit 4237e6c

Browse files
authored
Merge pull request #245078 from kperla97/patch-10
Update concepts.md
2 parents 93e5f4c + 0789056 commit 4237e6c

File tree

3 files changed

+899
-17
lines changed

3 files changed

+899
-17
lines changed

articles/communication-services/concepts/chat/concepts.md

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ author: kperla97
66
manager: sundraman
77
services: azure-communication-services
88
ms.author: chpalm
9-
ms.date: 05/09/2023
9+
ms.date: 07/18/2023
1010
ms.topic: conceptual
1111
ms.service: azure-communication-services
1212
ms.subservice: chat
@@ -25,7 +25,6 @@ The Chat APIs provide an **auto-scaling** service for persistently stored text a
2525
- **Service & Bot Extensibility** - REST APIs and server SDKs allow services to send and receive messages. It is easy to add bots with [Azure Bot Framework integration](../../quickstarts/chat/quickstart-botframework-integration.md).
2626

2727

28-
2928
## Chat overview
3029

3130
Chat conversations happen within **chat threads**. Chat threads have the following properties:
@@ -53,17 +52,17 @@ For customers that use Virtual appointments, refer to our Teams Interoperability
5352

5453
There are two core parts to chat architecture: 1) Trusted Service and 2) Client Application.
5554

56-
:::image type="content" source="../../media/chat-architecture.svg" alt-text="Diagram showing Communication Services' chat architecture.":::
55+
:::image type="content" source="../../media/chat-architecture-updated.svg" alt-text="Diagram showing Communication Services' chat architecture.":::
5756

5857
- **Trusted service:** To properly manage a chat session, you need a service that helps you connect to Communication Services by using your resource connection string. This service is responsible for creating chat threads, adding and removing participants, and issuing access tokens to users. More information about access tokens can be found in our [access tokens](../../quickstarts/identity/access-tokens.md) quickstart.
59-
- **Client app:** The client application connects to your trusted service and receives the access tokens that are used by users to connect directly to Communication Services. After creating the chat thread and adding users as participants, they can use the client application to connect to the chat thread and send messages. Use real-time notifications feature, which we discuss below, in your client application to subscribe to message & thread updates from other participants.
58+
- **Client app:** The client application connects to your trusted service and receives the access tokens that are used by users to connect directly to Communication Services. After creating the chat thread and adding users as participants, they can use the client application to connect to the chat thread and send messages. Real-time notifications in your client application can be used to subscribe to message & thread updates from other participants.
6059

6160

6261
## Message types
6362

6463
As part of message history, Chat shares user-generated messages and system-generated messages. System messages are generated when a chat thread is updated and identify when a participant was added or removed or when the chat thread topic was updated. When you call `List Messages` or `Get Messages` on a chat thread, the result contains both kind of messages in chronological order.
6564

66-
For user-generated messages, the message type can be set in `SendMessageOptions` when sending a message to chat thread. If no value is provided, Communication Services will default to `text` type. Setting this value is important when sending HTML. When `html` is specified, Communication Services sanitize the content to ensure that it's rendered safely on client devices.
65+
For user-generated messages, the message type can be set in `SendMessageOptions` when sending a message to chat thread. If no value is provided, Communication Services defaults to `text` type. Setting this value is important when sending HTML. When `html` is specified, Communication Services sanitize the content to ensure that it's rendered safely on client devices.
6766
- `text`: A plain text message composed and sent by a user as part of a chat thread.
6867
- `html`: A formatted message using html, composed and sent by a user as part of chat thread.
6968

@@ -75,16 +74,15 @@ Types of system messages:
7574
## Real-time notifications
7675

7776
JavaScript Chat SDK supports real-time notifications. This feature lets clients listen to Communication Services for real-time updates and incoming messages to a chat thread without having to poll the APIs.
78-
Use an Event Grid resource to subscribe to chat related events (post operation) which can be plugged into your custom application notification service. You will need to validate(../../how-tos/event-grid/view-events-request-bin.md) and locally test events(../../how-tos/event-grid/local-testing-event-grid.md) once you set up the event grid resource to ensure that events are being sent.
7977

8078
The client app can subscribe to following events:
8179
- `chatMessageReceived` - when a new message is sent to a chat thread by a participant.
8280
- `chatMessageEdited` - when a message is edited in a chat thread.
8381
- `chatMessageDeleted` - when a message is deleted in a chat thread.
8482
- `typingIndicatorReceived` - when another participant sends a typing indicator to the chat thread.
8583
- `readReceiptReceived` - when another participant sends a read receipt for a message they have read.
86-
- `chatThreadCreated` - when a chat thread is created by a Communication Services user.
87-
- `chatThreadDeleted` - when a chat thread is deleted by a Communication Services user.
84+
- `chatThreadCreated` - when a Communication Services user creates a chat thread.
85+
- `chatThreadDeleted` - when a Communication Services user deletes a chat thread.
8886
- `chatThreadPropertiesUpdated` - when chat thread properties are updated; currently, only updating the topic for the thread is supported.
8987
- `participantsAdded` - when a user is added as a chat thread participant.
9088
- `participantsRemoved` - when an existing participant is removed from the chat thread.
@@ -94,7 +92,9 @@ The client app can subscribe to following events:
9492
> [!NOTE]
9593
> Real time notifications are not to be used with server applications.
9694
97-
For more information, see [Server Events](../../../event-grid/event-schema-communication-services.md?bc=/azure/bread/toc.json&toc=/azure/communication-services/toc.json).
95+
## Server events
96+
97+
This feature lets server applications listen to events such as when a message is sent and when a participant is joining or leaving the chat. Server applications can react to these events, adding/removing participants to the chat, archiving chats, performing analysis, and many other scenarios for orchestration. To see what kinds of chat events can be used by developers, see [Server Events](../../../event-grid/event-schema-communication-services.md?bc=/azure/bread/toc.json&toc=/azure/communication-services/toc.json).
9898

9999
## Push notifications
100100

@@ -103,7 +103,7 @@ Android and iOS Chat SDKs support push notifications. To send push notifications
103103
IOS and Android SDK support the below event:
104104
- `chatMessageReceived` - when a new message is sent to a chat thread by a participant.
105105

106-
Android SDK supports additional events:
106+
Android SDK supports extra events:
107107
- `chatMessageEdited` - when a message is edited in a chat thread.
108108
- `chatMessageDeleted` - when a message is deleted in a chat thread.
109109
- `chatThreadCreated` - when a Communication Services user creates a chat thread.

articles/communication-services/concepts/chat/sdk-features.md

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ manager: chpalm
77
services: azure-communication-services
88

99
ms.author: chpalm
10-
ms.date: 06/30/2021
10+
ms.date: 07/18/2023
1111
ms.topic: conceptual
1212
ms.service: azure-communication-services
1313
ms.subservice: chat
@@ -20,7 +20,7 @@ Azure Communication Services Chat SDKs can be used to add rich, real-time chat t
2020

2121
## Chat SDK capabilities
2222

23-
The following list presents the set of features that are currently available in the Communication Services chat SDKs.
23+
The following table presents the set of features that are currently available in the Communication Services chat SDKs.
2424

2525
| Group of features | Capability | Azure CLI | JavaScript | Java | .NET | Python | iOS | Android |
2626
|-----------------|-------------------|---|---|-----|----|-----|----|----|
@@ -36,28 +36,29 @@ The following list presents the set of features that are currently available in
3636
| | Update the content of your sent message | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
3737
| | Delete a message you previously sent | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
3838
| | Read receipts for messages that have been read by other participants in a chat | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
39-
| | Get notified when participants are actively typing a message in a chat thread || ✔️ |||| ✔️ | ✔️ |
39+
| | Get notified when participants are actively typing a message in a chat thread || ✔️ | || | ✔️ | ✔️ |
4040
| | Get all messages in a chat thread | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
4141
| | Send Unicode emojis as part of message content | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
4242
| | Add metadata to chat messages || ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
4343
| | Add display name to typing indicator notification || ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
4444
|Real-time notifications (enabled by proprietary signaling package**)| Chat clients can subscribe to get real-time updates for incoming messages and other operations occurring in a chat thread. To see a list of supported updates for real-time notifications, see [Chat concepts](concepts.md#real-time-notifications) || ✔️ |||| ✔️ | ✔️ |
4545
|Mobile push notifications with Notification Hub | The Chat SDK provides APIs allowing clients to be notified for incoming messages and other operations occurring in a chat thread by connecting an Azure Notification Hub to your Communication Services resource. In situations where your mobile app is not running in the foreground, patterns are available to [fire pop-up notifications](../notifications.md) ("toasts") to inform end-users, see [Chat concepts](concepts.md#push-notifications). |||||| ✔️ | ✔️ |
46-
| Server Events with Event Grid | Use the chat events available in Azure Event Grid to plug custom notification services or post that event to a webhook to execute business logic like updating CRM records after a chat is finished || ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
4746
| Reporting </br>(This info is available under Monitoring tab for your Communication Services resource on Azure portal) | Understand API traffic from your chat app by monitoring the published metrics in Azure Metrics Explorer and set alerts to detect abnormalities | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
4847
| | Monitor and debug your Communication Services solution by enabling diagnostic logging for your resource | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
4948

50-
**The proprietary signaling package is implemented using web sockets. It will fallback to long polling if web sockets are unsupported.
49+
> [!NOTE]
50+
>The proprietary signaling package is implemented using web sockets. It will fallback to long polling if web sockets are unsupported.
5151
5252
## JavaScript Chat SDK support by OS and browser
5353

54-
The following table represents the set of supported browsers and versions which are currently available.
54+
The following table represents the set of supported browsers and versions, which are currently available.
5555

5656
| | Windows | macOS | Ubuntu | Linux | Android | iOS | iPad OS|
5757
|--------------------------------|----------------|--------------|-------|------|------|------|-------|
5858
| **Chat SDK** | Firefox*, Chrome*, new Edge | Firefox*, Chrome*, Safari* | Chrome* | Chrome* | Chrome* | Safari* | Safari* |
5959

60-
*Note that the latest version is supported in addition to the previous two releases.<br/>
60+
> [!NOTE]
61+
> The latest version is supported in addition to the previous two releases.
6162
6263
## Next steps
6364

0 commit comments

Comments
 (0)