Azure Communication Services - 고급 메시징 이벤트
이 문서에서는 Communication Services 고급 메시징 이벤트에 대한 속성 및 스키마를 제공합니다. 이벤트 스키마에 대한 소개는 Azure Event Grid 이벤트 스키마를 참조하세요.
일정 유형
Azure Communication Services는 다음과 같은 고급 메시징 이벤트 유형을 제공합니다.
이벤트 유형 | 설명 |
---|---|
Microsoft.Communication.AdvancedMessageReceived | Communication Services 고급 메시징이 메시지를 받을 때 게시됩니다. |
Microsoft.Communication.AdvancedMessageDeliveryStatusUpdated | Communication Services 고급 메시징이 이전에 보낸 메시지 알림의 상태 업데이트를 받을 때 게시됩니다. |
Microsoft.Communication.AdvancedMessageAnalysisCompleted(미리 보기) | Communication Service가 고객 메시지를 사용하여 AI 분석을 완료할 때 게시됩니다. |
이벤트 응답
이벤트가 트리거될 때 Event Grid 서비스는 해당 이벤트에 대한 데이터를 구독 엔드포인트로 보냅니다.
이 섹션에는 각 이벤트에 대한 데이터가 어떻게 표시되는지 예가 포함되어 있습니다.
Microsoft.Communication.AdvancedMessageReceived 이벤트
Communication Services 고급 메시징이 메시지를 받을 때 게시됩니다.
예시 시나리오: WhatsApp 사용자가 Communication Services 리소스에서 활성 고급 메시징 채널에 연결된 WhatsApp 비즈니스 번호로 WhatsApp 메시지를 보냅니다. 결과적으로 사용자의 WhatsApp 메시지 내용이 포함된 Microsoft.Communication.AdvancedMessageReceived
이(가) 게시됩니다.
특성 목록
Microsoft.Communication.AdvancedMessageReceived
이벤트와 관련된 특성의 세부 정보입니다.
특성 | Type | Nullable | 설명 |
---|---|---|---|
channelType | string |
✔️ | 메시지가 전송된 채널의 채널 유형입니다. 예: "whatsapp". |
보낸 사람 | string |
✔️ | 메시지를 보낸 사람의 보낸 사람 ID입니다. |
끝 | string |
✔️ | GUID로 형식이 지정된 메시지를 받은 채널 ID입니다. |
receivedTimestamp | DateTimeOffset |
✔️ | 메시지의 타임스탬프입니다. |
content | string |
✔️ | 메시지의 텍스트 콘텐츠입니다. |
미디어 | MediaContent |
✔️ | 받은 미디어의 세부 정보를 포함합니다. |
context | MessageContext |
✔️ | 받은 미디어의 세부 정보를 포함합니다. |
단추 | ButtonContent |
✔️ | 받은 미디어의 세부 정보를 포함합니다. |
대화형 | InteractiveContent |
✔️ | 받은 미디어의 세부 정보를 포함합니다. |
MediaContent
특성 | Type | Nullable | 설명 |
---|---|---|---|
mimeType | string |
❌ | 미디어의 MIME 형식입니다. 미디어 다운로드 시 올바른 파일 형식을 확인하는 데 사용됩니다. |
id | string |
❌ | Media ID. 다운로드할 미디어를 검색하는 데 사용되며 GUID로 형식이 지정됩니다. |
fileName | string |
✔️ | 업로드할 때 지정된 기본 미디어 파일의 파일 이름입니다. |
caption | string |
✔️ | 지원되고 제공된 경우 미디어 개체의 캡션 텍스트입니다. |
MessageContext
특성 | Type | Nullable | 설명 |
---|---|---|---|
보낸 사람 | string |
✔️ | 인바운드 메시지에 회신한 고객의 WhatsApp ID입니다. |
id | string |
✔️ | 인바운드 회신을 위해 보낸 메시지의 메시지 ID입니다. |
ButtonContent
특성 | Type | Nullable | 설명 |
---|---|---|---|
text | string |
✔️ | 단추의 텍스트입니다. |
payload | string |
✔️ | 사용자가 선택한 버튼의 비즈니스에서 설정한 페이로드입니다. |
InteractiveContent
특성 | Type | Nullable | 설명 |
---|---|---|---|
type | InteractiveReplyType |
✔️ | 대화형 콘텐츠의 형식입니다. |
buttonReply | InteractiveButtonReplyContent |
✔️ | 고객이 단추를 선택할 때 전송됩니다. |
listReply | InteractiveListReplyContent |
✔️ | 고객이 목록에서 항목을 선택할 때 전송됩니다. |
InteractiveReplyType
값 | 설명 |
---|---|
buttonReply | 대화형 콘텐츠는 단추입니다. |
listReply | 대화형 콘텐츠는 목록입니다. |
알 수 없음 | 대화형 콘텐츠를 알 수 없습니다. |
InteractiveButtonReplyContent
특성 | Type | Nullable | 설명 |
---|---|---|---|
id | string |
✔️ | 단추의 ID입니다. |
title | string |
✔️ | 단추의 제목입니다. |
InteractiveListReplyContent
특성 | Type | Nullable | 설명 |
---|---|---|---|
id | string |
✔️ | 선택한 목록 항목의 ID입니다. |
title | string |
✔️ | 선택한 목록 항목의 제목입니다. |
description | string |
✔️ | 선택한 행에 대한 설명입니다. |
예제
받은 문자 메시지
[{
"id": "00000000-0000-0000-0000-000000000000",
"topic": "/subscriptions/{subscription-id}/resourcegroups/{resourcegroup-name}/providers/microsoft.communication/communicationservices/{communication-services-resource-name}",
"subject": "advancedMessage/sender/{sender@id}/recipient/11111111-1111-1111-1111-111111111111",
"data": {
"content": "Hello",
"channelType": "whatsapp",
"from": "{sender@id}",
"to": "11111111-1111-1111-1111-111111111111",
"receivedTimestamp": "2023-07-06T18:30:19+00:00"
},
"eventType": "Microsoft.Communication.AdvancedMessageReceived",
"dataVersion": "1.0",
"metadataVersion": "1",
"eventTime": "2023-07-06T18:30:22.1921716Z"
}]
받은 미디어 메시지
[{
"id": "00000000-0000-0000-0000-000000000000",
"topic": "/subscriptions/{subscription-id}/resourcegroups/{resourcegroup-name}/providers/microsoft.communication/communicationservices/{communication-services-resource-name}",
"subject": "advancedMessage/sender/{sender@id}/recipient/11111111-1111-1111-1111-111111111111",
"data": {
"channelType": "whatsapp",
"media": {
"mimeType": "image/jpeg",
"id": "22222222-2222-2222-2222-222222222222",
"caption": "This is a media caption"
},
"from": "{sender@id}",
"to": "11111111-1111-1111-1111-111111111111",
"receivedTimestamp": "2023-07-06T18:30:19+00:00"
},
"eventType": "Microsoft.Communication.AdvancedMessageReceived",
"dataVersion": "1.0",
"metadataVersion": "1",
"eventTime": "2023-07-06T18:30:22.1921716Z"
}]
Microsoft.Communication.AdvancedMessageDeliveryStatusUpdated event
Communication Services 고급 메시징이 이전에 보낸 메시지 알림의 상태 업데이트를 받을 때 게시됩니다.
예시 시나리오: Contoso는 WhatsApp 비즈니스 계정에 연결된 활성 고급 메시징 채널을 사용하여 WhatsApp 사용자에게 WhatsApp 메시지를 보냅니다. 그러면 WhatsApp은 이전에 보낸 메시지의 상태와 함께 Contoso의 고급 메시징 채널에 답장을 보냅니다. 따라서 메시지 상태를 포함하는 Microsoft.Communication.AdvancedMessageDeliveryStatusUpdated
이벤트가 게시됩니다.
특성 목록
Microsoft.Communication.AdvancedMessageReceived
이벤트와 관련된 특성의 세부 정보입니다.
특성 | Type | Nullable | 설명 |
---|---|---|---|
channelType | string |
✔️ | 메시지가 전송된 채널의 채널 유형입니다. |
보낸 사람 | string |
✔️ | GUID로 형식이 지정된 메시지를 보낸 채널 ID입니다. |
끝 | string |
✔️ | 메시지가 전송된 받는 사람 ID입니다. |
receivedTimestamp | DateTimeOffset |
✔️ | 메시지의 타임스탬프입니다. |
messageId | string |
✔️ | GUID로 서식이 지정된 메시지의 ID입니다. |
status | string |
✔️ | 메시지의 상태입니다. 가능한 값은 Sent , Delivered , Read 및 Failed 입니다. 자세한 내용은 상태를 참조하세요. |
error | ChannelEventError |
✔️ | 오류의 세부 정보를 포함합니다. |
ChannelEventError
특성 | Type | Nullable | 설명 |
---|---|---|---|
channelCode | string |
✔️ | 이 채널에서 받은 오류 코드입니다. |
channelMessage | string |
✔️ | 이 채널에서 받은 오류 메시지입니다. |
상태
값 | 설명 |
---|---|
전송됨 | 메시징 서비스가 받는 사람에게 메시지를 보냄 |
전달됨 | 메시지의 수신자가 메시지를 받음 |
읽기 | 메시지의 수신자가 메시지를 읽음 |
실패함 | 메시지 제대로 전달 실패 |
예제
메시지 배달 업데이트
[{
"id": "00000000-0000-0000-0000-000000000000",
"topic": "/subscriptions/{subscription-id}/resourcegroups/{resourcegroup-name}/providers/microsoft.communication/communicationservices/{communication-services-resource-name}",
"subject": "advancedMessage/22222222-2222-2222-2222-222222222222/status/Sent",
"data": {
"messageId": "22222222-2222-2222-2222-222222222222",
"status": "Sent",
"channelType": "whatsapp",
"from": "{sender@id}",
"to": "{receiver@id}",
"receivedTimestamp": "2023-07-06T18:42:28+00:00"
},
"eventType": "Microsoft.Communication.AdvancedMessageDeliveryStatusUpdated",
"dataVersion": "1.0",
"metadataVersion": "1",
"eventTime": "2023-07-06T18:42:28.8454662Z"
}]
실패한 메시지 배달 업데이트
[{
"id": "00000000-0000-0000-0000-000000000000",
"topic": "/subscriptions/{subscription-id}/resourcegroups/{resourcegroup-name}/providers/microsoft.communication/communicationservices/acsxplatmsg-test",
"subject": "advancedMessage/22222222-2222-2222-2222-222222222222/status/Failed",
"data": {
"messageId": "22222222-2222-2222-2222-222222222222",
"status": "Failed",
"channelType": "whatsapp",
"from": "{sender@id}",
"to": "{receiver@id}",
"receivedTimestamp": "2023-07-06T18:42:28+00:00",
"error": {
"channelCode": "131026",
"channelMessage": "Message Undeliverable."
}
},
"eventType": "Microsoft.Communication.AdvancedMessageDeliveryStatusUpdated",
"dataVersion": "1.0",
"metadataVersion": "1",
"eventTime": "2023-07-06T18:42:28.8454662Z"
}]
Microsoft.Communication.AdvancedMessageAnalysisCompleted(미리 보기) 이벤트
Communication Service가 고객 메시지를 사용하여 AI 분석을 완료할 때 게시됩니다.
예제 시나리오: WhatsApp에 사용자가 메시지 분석 기능을 옵트인한 Communication Services 리소스의 활성 고급 메시징 채널에 연결된 WhatsApp에 비즈니스 번호로 WhatsApp 메시지를 보냅니다. 따라서 사용자의 WhatsApp 메시지 분석과 함께 Microsoft.Communication.AdvancedMessageAnalysisCompleted가 게시됩니다.
특성 목록
Microsoft.Communication.AdvancedMessageAnalysisCompleted
이벤트와 관련된 특성의 세부 정보입니다.
특성 | Type | Nullable | 설명 |
---|---|---|---|
channelType | string |
✔️ | 메시지가 전송된 채널의 채널 유형입니다. |
보낸 사람 | string |
✔️ | GUID로 형식이 지정된 메시지를 보낸 채널 ID입니다. |
끝 | string |
✔️ | 메시지가 전송된 받는 사람 ID입니다. |
receivedTimestamp | DateTimeOffset |
✔️ | 메시지의 타임스탬프입니다. |
originalMessage | string |
✔️ | 원래 사용자 메시지입니다. |
intentAnalysis | string |
✔️ | 받은 사용자 메시지의 의도 분석입니다. |
languageDetection | LanguageDetection |
✔️ | 받은 사용자 메시지의 언어 검색을 포함합니다. |
extractedKeyPhrases | List<string> |
✔️ | 받은 사용자 메시지의 핵심 구를 포함합니다. |
LanguageDetection
attribute | Type | Nullable | 설명 |
---|---|---|---|
language | string |
✔️ | 검색된 언어입니다. |
ConfidenceScore | float |
✔️ | 검색된 언어의 신뢰도 점수입니다. |
변환 | string |
✔️ | 메시지 번역입니다. |
예제
메시지 분석 완료
[{
"id": "df1c2d92-6155-4ad7-a865-cb8497106c52",
"topic": "/subscriptions/{subscription-id}/resourcegroups/{resourcegroup-name}/providers/microsoft.communication/communicationservices/acsxplatmsg-test",
"subject": "advancedMessage/sender/{sender@id}/recipient/00000000-0000-0000-0000-000000000000",
"data": {
"originalMessage": "Hello, could u help me order some flowers for Mother’s Day?",
"channelType": "whatsapp",
"languageDetection": {
"language": "English",
"confidenceScore": 0.99
},
"intentAnalysis": "Order request: The customer is contacting customer service to request assistance with ordering flowers for Mother's Day.",
"extractedKeyPhrases": [
"order",
"flowers",
"Mother's Day"
],
"from": "{sender@id}",
"to": "00000000-0000-0000-0000-000000000000",
"receivedTimestamp": "2024-07-05T19:10:35.28+00:00"
},
"eventType": "Microsoft.Communication.AdvancedMessageAnalysisCompleted",
"dataVersion": "1.0",
"metadataVersion": "1",
"eventTime": "2024-07-05T19:10:35.2806524Z"
}]
빠른 시작
웹후크를 사용하여 고급 메시징 이벤트를 구독하는 방법을 보여 주는 빠른 시작은 빠른 시작: 고급 메시징 이벤트 처리를 참조하세요.