Skip to content

Commit be0153a

Browse files
vikrampraveenVikram Praveen Kumar
andauthored
Bring up the schema for ACS eventgrid events and add chat events (#10552)
* Bring up the schema for ACS eventgrid events and add chat events * Add SMS events schema * Fix schema validation errors Co-authored-by: Vikram Praveen Kumar <[email protected]>
1 parent 1d90950 commit be0153a

File tree

2 files changed

+359
-0
lines changed

2 files changed

+359
-0
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,357 @@
1+
{
2+
"swagger": "2.0",
3+
"info": {
4+
"version": "2018-01-01",
5+
"title": "Schema of Azure Communication Services events published to Azure Event Grid",
6+
"description": "Describes the schema of the Azure Communication Services events published to Azure Event Grid. This corresponds to the Data property of an EventGridEvent."
7+
},
8+
"paths": {},
9+
"definitions": {
10+
"ChatMessageReceivedEventData": {
11+
"description": "Schema of the Data property of an EventGridEvent for an Microsoft.Communication.ChatMessageReceived event.",
12+
"allOf": [
13+
{
14+
"$ref": "#/definitions/ChatMessageEventBaseProperties"
15+
}
16+
],
17+
"properties": {
18+
"messageBody": {
19+
"description": "The body of the chat message",
20+
"type": "string"
21+
}
22+
}
23+
},
24+
"ChatMessageEditedEventData": {
25+
"description": "Schema of the Data property of an EventGridEvent for an Microsoft.Communication.ChatMessageEdited event.",
26+
"allOf": [
27+
{
28+
"$ref": "#/definitions/ChatMessageEventBaseProperties"
29+
}
30+
],
31+
"properties": {
32+
"messageBody": {
33+
"description": "The body of the chat message",
34+
"type": "string"
35+
},
36+
"editTime": {
37+
"description": "The time at which the message was edited",
38+
"format": "date-time",
39+
"type": "string"
40+
}
41+
}
42+
},
43+
"ChatMessageDeletedEventData": {
44+
"description": "Schema of the Data property of an EventGridEvent for an Microsoft.Communication.ChatMessageDeleted event.",
45+
"allOf": [
46+
{
47+
"$ref": "#/definitions/ChatMessageEventBaseProperties"
48+
}
49+
],
50+
"properties": {
51+
"deleteTime": {
52+
"description": "The time at which the message was deleted",
53+
"format": "date-time",
54+
"type": "string"
55+
}
56+
}
57+
},
58+
"ChatThreadCreatedWithUserEventData": {
59+
"description": "Schema of the Data property of an EventGridEvent for an Microsoft.Communication.ChatThreadCreatedWithUser event.",
60+
"allOf": [
61+
{
62+
"$ref": "#/definitions/ChatThreadEventBaseProperties"
63+
}
64+
],
65+
"properties": {
66+
"createdBy": {
67+
"description": "The MRI of the creator of the thread",
68+
"type": "string"
69+
},
70+
"threadType": {
71+
"description": "The type of the thread",
72+
"type": "string"
73+
},
74+
"properties": {
75+
"description": "The thread properties",
76+
"type": "object",
77+
"additionalProperties": {
78+
"type": "object"
79+
}
80+
},
81+
"members": {
82+
"description": "The list of properties of users who are part of the thread",
83+
"type": "array",
84+
"items": {
85+
"$ref": "#/definitions/ChatThreadMemberProperties"
86+
}
87+
}
88+
}
89+
},
90+
"ChatThreadWithUserDeletedEventData": {
91+
"description": "Schema of the Data property of an EventGridEvent for an Microsoft.Communication.ChatThreadWithUserDeleted event.",
92+
"allOf": [
93+
{
94+
"$ref": "#/definitions/ChatThreadEventBaseProperties"
95+
}
96+
],
97+
"properties": {
98+
"deletedBy": {
99+
"description": "The MRI of the user who deleted the thread",
100+
"type": "string"
101+
},
102+
"deleteTime": {
103+
"description": "The deletion time of the thread",
104+
"format": "date-time",
105+
"type": "string"
106+
}
107+
}
108+
},
109+
"ChatThreadPropertiesUpdatedPerUserEventData": {
110+
"description": "Schema of the Data property of an EventGridEvent for an Microsoft.Communication.ChatThreadPropertiesUpdatedPerUser event.",
111+
"allOf": [
112+
{
113+
"$ref": "#/definitions/ChatThreadEventBaseProperties"
114+
}
115+
],
116+
"properties": {
117+
"editedBy": {
118+
"description": "The MRI of the user who updated the thread properties",
119+
"type": "string"
120+
},
121+
"editTime": {
122+
"description": "The time at which the properties of the thread were updated",
123+
"format": "date-time",
124+
"type": "string"
125+
},
126+
"properties": {
127+
"description": "The updated thread properties",
128+
"type": "object",
129+
"additionalProperties": {
130+
"type": "object"
131+
}
132+
}
133+
}
134+
},
135+
"ChatMemberAddedToThreadWithUserEventData": {
136+
"description": "Schema of the Data property of an EventGridEvent for an Microsoft.Communication.ChatMemberAddedToThreadWithUser event.",
137+
"allOf": [
138+
{
139+
"$ref": "#/definitions/ChatThreadEventBaseProperties"
140+
}
141+
],
142+
"properties": {
143+
"time": {
144+
"description": "The time at which the user was added to the thread",
145+
"format": "date-time",
146+
"type": "string"
147+
},
148+
"addedBy": {
149+
"description": "The MRI of the user who added the user",
150+
"type": "string"
151+
},
152+
"member": {
153+
"description": "The details of the user who was added",
154+
"$ref": "#/definitions/ChatThreadMemberProperties"
155+
}
156+
}
157+
},
158+
"ChatMemberRemovedFromThreadForWithUserEventData": {
159+
"description": "Schema of the Data property of an EventGridEvent for an Microsoft.Communication.ChatMemberRemovedFromThreadForWithUser event.",
160+
"allOf": [
161+
{
162+
"$ref": "#/definitions/ChatThreadEventBaseProperties"
163+
}
164+
],
165+
"properties": {
166+
"time": {
167+
"description": "The time at which the user was removed to the thread",
168+
"format": "date-time",
169+
"type": "string"
170+
},
171+
"removedBy": {
172+
"description": "The MRI of the user who removed the user",
173+
"type": "string"
174+
},
175+
"member": {
176+
"description": "The details of the user who was removed",
177+
"$ref": "#/definitions/ChatThreadMemberProperties"
178+
}
179+
}
180+
},
181+
"SMSDeliveryReportReceivedEventData": {
182+
"description": "Schema of the Data property of an EventGridEvent for an Microsoft.Communication.SMSDeliveryReportReceived event.",
183+
"allOf": [
184+
{
185+
"$ref": "#/definitions/SMSEventBaseProperties"
186+
}
187+
],
188+
"properties": {
189+
"deliveryStatus": {
190+
"description": "Status of Delivery",
191+
"type": "string"
192+
},
193+
"deliveryStatusDetails": {
194+
"description": "Details about Delivery Status",
195+
"type": "string"
196+
},
197+
"deliveryAttempts": {
198+
"description": "List of details of delivery attempts made",
199+
"type": "array",
200+
"items": {
201+
"$ref": "#/definitions/SMSDeliveryAttemptProperties"
202+
}
203+
}
204+
}
205+
},
206+
"SMSReceivedEventData": {
207+
"description": "Schema of the Data property of an EventGridEvent for an Microsoft.Communication.SMSReceived event.",
208+
"allOf": [
209+
{
210+
"$ref": "#/definitions/SMSEventBaseProperties"
211+
}
212+
],
213+
"properties": {
214+
"message": {
215+
"description": "The SMS content",
216+
"type": "string"
217+
},
218+
"receivedTimestamp": {
219+
"description": "The time at which the SMS was received",
220+
"format": "date-time",
221+
"type": "string"
222+
}
223+
}
224+
},
225+
"ChatThreadEventBaseProperties": {
226+
"description": "Schema of common properties of all chat thread events",
227+
"allOf": [
228+
{
229+
"$ref": "#/definitions/ChatEventBaseProperties"
230+
}
231+
],
232+
"properties": {
233+
"createTime": {
234+
"description": "The original creation time of the thread",
235+
"format": "date-time",
236+
"type": "string"
237+
},
238+
"version": {
239+
"description": "The version of the thread",
240+
"type": "integer"
241+
}
242+
}
243+
},
244+
"ChatMessageEventBaseProperties": {
245+
"description": "Schema of common properties of all chat message events",
246+
"allOf": [
247+
{
248+
"$ref": "#/definitions/ChatEventBaseProperties"
249+
}
250+
],
251+
"properties": {
252+
"messageId": {
253+
"description": "The chat message id",
254+
"type": "string"
255+
},
256+
"collapseId": {
257+
"description": "The collapse id is used to identify the message threads",
258+
"type": "string"
259+
},
260+
"clientMessageId": {
261+
"description": "The messaged Id generated by the sending client",
262+
"type": "string"
263+
},
264+
"senderId": {
265+
"description": "The MRI of the sender",
266+
"type": "string"
267+
},
268+
"senderDisplayName": {
269+
"description": "The display name of the sender",
270+
"type": "string"
271+
},
272+
"composeTime": {
273+
"description": "The original compose time of the message",
274+
"format": "date-time",
275+
"type": "string"
276+
},
277+
"messageType": {
278+
"description": "The type of the message",
279+
"type": "string"
280+
},
281+
"version": {
282+
"description": "The version of the message",
283+
"type": "integer"
284+
}
285+
}
286+
},
287+
"ChatEventBaseProperties": {
288+
"description": "Schema of common properties of all chat events",
289+
"type": "object",
290+
"properties": {
291+
"recipientId": {
292+
"description": "The MRI of the target user",
293+
"type": "string"
294+
},
295+
"transactionId": {
296+
"description": "The transaction id will be used as co-relation vector",
297+
"type": "string"
298+
},
299+
"threadId": {
300+
"description": "The chat thread id",
301+
"type": "string"
302+
}
303+
}
304+
},
305+
"ChatThreadMemberProperties": {
306+
"description": "Schema of the chat thread member",
307+
"type": "object",
308+
"properties": {
309+
"friendlyName": {
310+
"description": "The name of the user",
311+
"type": "string"
312+
},
313+
"memberId": {
314+
"description": "The MRI of the user",
315+
"type": "string"
316+
}
317+
}
318+
},
319+
"SMSEventBaseProperties": {
320+
"description": "Schema of common properties of all SMS events",
321+
"type": "object",
322+
"properties": {
323+
"messageId": {
324+
"description": "The identity of the SMS message",
325+
"type": "string"
326+
},
327+
"from": {
328+
"description": "The identity of SMS message sender",
329+
"type": "string"
330+
},
331+
"to": {
332+
"description": "The identity of SMS message receiver",
333+
"type": "string"
334+
}
335+
}
336+
},
337+
"SMSDeliveryAttemptProperties": {
338+
"description": "Schema for details of a delivery attempt",
339+
"type": "object",
340+
"properties": {
341+
"timestamp": {
342+
"description": "TimeStamp when delivery was attempted",
343+
"format": "date-time",
344+
"type": "string"
345+
},
346+
"segmentsSucceeded": {
347+
"description": "Number of segments that were successfully delivered",
348+
"type": "integer"
349+
},
350+
"segmentsFailed": {
351+
"description": "Number of segments whose delivery failed",
352+
"type": "integer"
353+
}
354+
}
355+
}
356+
}
357+
}

specification/eventgrid/data-plane/readme.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -59,6 +59,7 @@ input-file:
5959
- Microsoft.MachineLearningServices/stable/2018-01-01/MachineLearningServices.json
6060
- Microsoft.Cache/stable/2018-01-01/RedisCache.json
6161
- Microsoft.Web/stable/2018-01-01/Web.json
62+
- Microsoft.Communication/stable/2018-01-01/AzureCommunicationServices.json
6263
```
6364

6465
---
@@ -141,6 +142,7 @@ input-file:
141142
- $(this-folder)/Microsoft.MachineLearningServices/stable/2018-01-01/MachineLearningServices.json
142143
- $(this-folder)/Microsoft.Cache/stable/2018-01-01/RedisCache.json
143144
- $(this-folder)/Microsoft.Web/stable/2018-01-01/Web.json
145+
- $(this-folder)/Microsoft.Communication/stable/2018-01-01/AzureCommunicationServices.json
144146
145147
```
146148

0 commit comments

Comments
 (0)