Aracılığıyla paylaş


Azure İletişim Hizmetleri - Gelişmiş Mesajlaşma olayları

Bu makale, İletişim Hizmetleri Gelişmiş Mesajlaşma olaylarının özelliklerini ve şemasını sağlar. Olay şemalarına giriş için bkz. Azure Event Grid olay şeması.

Olay tipleri

Azure İletişim Hizmetleri aşağıdaki Gelişmiş Mesajlaşma olay türlerini yayar:

Olay türü Açıklama
Microsoft. Communication.AdvancedMessageReceived İletişim Hizmetleri Gelişmiş Mesajlaşma bir ileti aldığında yayımlanır.
Microsoft. Communication.AdvancedMessageDeliveryStatusUpdated İletişim Hizmetleri Gelişmiş Mesajlaşma, daha önce gönderilmiş bir ileti bildirimi için durum güncelleştirmesi aldığında yayımlanır.

Olay yanıtları

Bir olay tetiklendiğinde Event Grid hizmeti bu olayla ilgili verileri abone olan uç noktalara gönderir.

Bu bölüm, bu verilerin her olay için nasıl göründüğüne ilişkin bir örnek içerir.

Microsoft. Communication.AdvancedMessageReceived olayı

İletişim Hizmetleri Gelişmiş Mesajlaşma bir ileti aldığında yayımlanır.

Örnek senaryo: Bir WhatsApp kullanıcısı, bir İletişim Hizmetleri kaynağındaki etkin bir Gelişmiş Mesajlaşma kanalına bağlı bir WhatsApp İş Numarasına Bir WhatsApp iletisi gönderir. Sonuç olarak, kullanıcının WhatsApp iletisinin içeriğini içeren bir Microsoft.Communication.AdvancedMessageReceived yayımlanır.

Öznitelik listesi

Uyarı

Hataya neden olan değişiklik:from Bir WhatsApp kullanıcısı kullanıcı adını benimsediğinde ve telefon numarasını gizlediğinde alan artık boş olabilir. Olay işleyicilerinizi yalnızca öğesine güvenmek yerine yeni fromBSUID alanı kullanacak şekilde fromgüncelleştirin. Daha fazla bilgi için bkz . WhatsApp kullanıcı adları ve BSUID'ler.

Microsoft.Communication.AdvancedMessageReceived olaylarına özgü özniteliklerin ayrıntıları.

Öznitelik Tür Null değeri alabilen Açıklama
channelType string İletinin gönderildiği kanalın kanal türü. Örneğin: "whatsapp".
messageId string İleti alma olayının guid olarak ileti kimliği.
messageType string İleti alma olayının İleti Türü. Örneğin: "interactive", "sticker", "reaction".
kimden string ✔️ İletiyi gönderen gönderen kimliği. Gönderen bir WhatsApp kullanıcı adını benimsediğinde ve telefon numarasını gizlediğinde boş olabilir.
fromBSUID string ✔️ Gönderenin iş kapsamlı kullanıcı kimliği (BSUID). Kullanıcının kullanıcı adını benimseyıp benimsemediğine bakılmaksızın, kullanılabilir olduğunda tüm WhatsApp iletileri için sunulur. Daha fazla bilgi için bkz . WhatsApp kullanıcı adları ve BSUID'ler.
kullanıcısı string guid olarak biçimlendirilmiş, iletiyi alan kanal kimliği.
receivedTimestamp DateTimeOffset İleti alındığında zaman damgası.
content string ✔️ İletideki metin içeriği.
medya MediaContent ✔️ Alınan medyayla ilgili ayrıntıları içerir.
bağlam MessageContext ✔️ Kullanıcının iş iletisine yanıt verme olasılığına karşı yanıt iletisi bağlamı hakkındaki ayrıntıları içerir.
düğme ButtonContent ✔️ Kullanıcının şablon iletisi için seçtiği yanıt düğmesi içeriğinin ayrıntılarını içerir.
etkileşimli InteractiveContent ✔️ buttonReply veya listReply gibi etkileşimli ileti yanıtıyla ilgili ayrıntıları içerir
tepkime ReactionContent ✔️ İş gönderme iletisi üzerinden alınan tepki hakkındaki ayrıntıları içerir.
MediaContent
Öznitelik Tür Null değeri alabilen Açıklama
mimeType string Medyanın MIME türü. Medya indirmeleri için doğru dosya türünü belirlemek için kullanılır.
Kimlik string Medya Kimliği. İndirme için guid olarak biçimlendirilmiş medyayı almak için kullanılır.
fileName string ✔️ Karşıya yüklendiğinde belirtilen temel medya dosyasının dosya adı.
Başlık string ✔️ Destekleniyorsa ve sağlanıyorsa, medya nesnesi için resim yazısı metni.
Animasyonlu string ✔️ Etiket animasyonluysa true olarak ayarlayın; false olarak ayarlayın.
MessageContext
Öznitelik Tür Null değeri alabilen Açıklama
kimden string ✔️ Gelen iletiyi yanıtlayan müşterinin WhatsApp Kimliği.
Kimlik string ✔️ Gelen yanıt için gönderilen iletinin ileti kimliği.
ButtonContent
Öznitelik Tür Null değeri alabilen Açıklama
text string ✔️ Düğmenin metni.
yük string ✔️ kullanıcının seçtiği düğmenin işletme tarafından ayarlanan yükü.
InteractiveContent
Öznitelik Tür Null değeri alabilen Açıklama
Tür InteractiveReplyType ✔️ Etkileşimli içeriğin türü.
buttonReply InteractiveButtonReplyContent ✔️ Müşteri bir düğme seçtiğinde gönderilir.
listReply InteractiveListReplyContent ✔️ Müşteri listeden bir öğe seçtiğinde gönderilir.
InteractiveReplyType
Value Açıklama
buttonReply Etkileşimli içerik bir düğmedir.
listReply Etkileşimli içerik bir listedir.
bilinmiyor Etkileşimli içerik bilinmiyor.
InteractiveButtonReplyContent
Öznitelik Tür Null değeri alabilen Açıklama
Kimlik string ✔️ Düğmenin kimliği.
başlık string ✔️ Düğmenin başlığı.
InteractiveListReplyContent
Öznitelik Tür Null değeri alabilen Açıklama
Kimlik string ✔️ Seçili liste öğesinin kimliği.
başlık string ✔️ Seçili liste öğesinin başlığı.
açıklama string ✔️ Seçili satırın açıklaması.
ReactionContent
Öznitelik Tür Null değeri alabilen Açıklama
messageId string Kullanıcının yanıt verdiği ileti kimliği.
emojisi string ✔️ Emojinin unicode kaçış sırasını temsil eden dize.

Örnekler

Uyarı

Hataya neden olan değişiklik: alanı subject biçimini advancedMessage/sender/{sender@id}/recipient/{channel-id}kullanır. Kullanıcı telefon numarasını gizlediğinde, {sender@id} telefon numarası yerine BSUID içerir. Konuyu ayrıştıran konu filtrelerine veya otomasyon koduna sahip Event Grid abonelikleriniz varsa bunları BSUID değerlerini işleyecek şekilde güncelleştirin. Daha fazla bilgi için bkz . WhatsApp kullanıcı adları ve BSUID'ler.

Kısa mesaj alındı
[{
  "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",
    "messageType": "text",
    "from": "{sender@id}",
    "fromBSUID": "{sender-bsuid}",
    "to": "{channel-id}",
    "receivedTimestamp": "2023-07-06T18:30:19+00:00"
  },
  "eventType": "Microsoft.Communication.AdvancedMessageReceived",
  "dataVersion": "1.0",
  "metadataVersion": "1",
  "eventTime": "2023-07-06T18:30:22.1921716Z"
}]
Alınan Görüntü Medyası iletisi
[{
  "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",
    "messageType": "image",
    "media": {
 "mimeType": "image/jpeg",
 "id": "00000000-0000-0000-0000-000000000000",
 "caption": "This is a media caption"
    },
    "from": "{sender@id}",
    "to": "{channel-id}",
    "receivedTimestamp": "2023-07-06T18:30:19+00:00"
  },
  "eventType": "Microsoft.Communication.AdvancedMessageReceived",
  "dataVersion": "1.0",
  "metadataVersion": "1",
  "eventTime": "2023-07-06T18:30:22.1921716Z"
}]
Belge medya iletisi alındı
{
  "id": "00000000-0000-0000-0000-000000000000",
  "topic": "/subscriptions/{subscription-id}/resourcegroups/acs-cpm-ppe-resources/providers/microsoft.communication/communicationservices/acscpm-whatsup-pperesource",
  "subject": "advancedMessage/sender/14254360097/recipient/75476a19-a68d-4e10-806c-3680f099e069",
  "data": {
    "channelType": "whatsapp",
    "messageType": "document",
    "media": {
 "mimeType": "application/pdf",
 "id": "00000000-0000-0000-0000-000000000000",
 "fileName": "UTSAV Mela 2024  India's Independence Day  Kids Out and About Seattle.pdf"
    },
    "from": "14254360097",
    "to": "{channel-id}",
    "receivedTimestamp": "2024-12-24T06:41:56+00:00"
  },
  "eventType": "Microsoft.Communication.AdvancedMessageReceived",
  "dataVersion": "1.0",
  "metadataVersion": "1",
  "eventTime": "2024-12-24T06:41:59.1218953Z"
}
InteractiveListReplyContent ile alınan yanıt iletisini listeleme
[{
  "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/00000000-0000-0000-0000-000000000000",
  "data": {
    "channelType": "whatsapp",
    "messageType": "interactive",
    "context": {
 "from": "{receiverphonenumber@id}",
 "id": "{reply-message-id}"
    },
    "interactive": {
 "type": "listReply",
 "listReply": {
   "id": "priority_mail",
   "title": "Priority Mail",
   "description": "1–3 Days"
 }
    },
    "from": "{sender@id}",
    "to": "{channel-id}",
    "receivedTimestamp": "2024-12-04T23:53:28+00:00"
  },
  "eventType": "Microsoft.Communication.AdvancedMessageReceived",
  "dataVersion": "1.0",
  "metadataVersion": "1",
  "eventTime": "2024-12-04T23:53:29.3079089Z"
}]
InteractiveButtonReplyContent ile alınan Yanıtla düğmesi iletisi
[{
  "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/00000000-0000-0000-0000-000000000000",
  "data": {
    "channelType": "whatsapp",
    "messageType": "interactive",
    "context": {
 "from": "{receiverphonenumber@id}",
 "id": "{reply-message-id}"
    },
    "interactive": {
 "type": "buttonReply",
 "buttonReply": {
   "id": "agree",
   "title": "Agree"
 }
    },
    "from": "{sender@id}",
    "to": "{channel-id}",
    "receivedTimestamp": "2024-12-04T23:57:04+00:00"
  },
  "eventType": "Microsoft.Communication.AdvancedMessageReceived",
  "dataVersion": "1.0",
  "metadataVersion": "1",
  "eventTime": "2024-12-04T23:57:04.9459858Z"
}]
Yanıt çıkartma iletisi alındı
[{
  "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/00000000-0000-0000-0000-000000000000",
  "data": {
    "channelType": "whatsapp",
    "messageType": "sticker",
    "media": {
 "mimeType": "image/webp",
 "id": "00000000-0000-0000-0000-000000000000",
 "animated": false
    },
    "from": "{sender@id}",
    "to": "{channel-id}",
    "receivedTimestamp": "2024-12-04T23:57:04+00:00"
  },
  "eventType": "Microsoft.Communication.AdvancedMessageReceived",
  "dataVersion": "1.0",
  "metadataVersion": "1",
  "eventTime": "2024-12-04T23:57:04.9459858Z"
}]
Yanıt tepkisi iletisi alındı
[{
  "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/00000000-0000-0000-0000-000000000000",
  "data": {
    "channelType": "whatsapp",
    "messageType": "reaction",
    "reaction": {
 "messageId": "{reply-message-id}",
 "emoji": "👍"
    },
    "from": "{sender@id}",
    "to": "{channel-id}",
    "receivedTimestamp": "2024-12-04T23:57:04+00:00"
  },
  "eventType": "Microsoft.Communication.AdvancedMessageReceived",
  "dataVersion": "1.0",
  "metadataVersion": "1",
  "eventTime": "2024-12-04T23:57:04.9459858Z"
}]
ButtonContent iletisi alındı
[{
  "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/00000000-0000-0000-0000-000000000000",
  "data": {
    "channelType": "whatsapp",
    "messageType": "button",
    "context": {
 "from": "{receiverphonenumber@id}",
 "id": "{reply-message-id}"
    },
    "button": {
 "text": "Yes",
 "payload": "Kat said yes"
    },
    "from": "{sender@id}",
    "to": "{channel-id}",
    "receivedTimestamp": "2024-12-20T04:03:22+00:00"
  },
  "eventType": "Microsoft.Communication.AdvancedMessageReceived",
  "dataVersion": "1.0",
  "metadataVersion": "1",
  "eventTime": "2024-12-20T04:03:22.7978135Z"
}]

Microsoft. Communication.AdvancedMessageDeliveryStatusUpdated olayı

İletişim Hizmetleri Gelişmiş Mesajlaşma, daha önce gönderilmiş bir ileti bildirimi için durum güncelleştirmesi aldığında yayımlanır.

Örnek senaryo: Contoso, bir WhatsApp kullanıcısına WhatsApp iletisi göndermek için WhatsApp Business Hesabına bağlı etkin bir Gelişmiş Mesajlaşma kanalı kullanır. Ardından WhatsApp, Contoso'nun Gelişmiş Mesajlaşma kanalını daha önce gönderilen iletinin durumuyla yanıtlar. Sonuç olarak, ileti durumunu içeren bir Microsoft.Communication.AdvancedMessageDeliveryStatusUpdated olayı yayımlanır.

Öznitelik listesi

Uyarı

Hataya neden olan değişiklik: İleti to bir BSUID'ye gönderildiğinde alan artık boş olabilir. Olay işleyicilerinizi yalnızca öğesine güvenmek yerine yeni toBSUID alanı kullanacak şekilde togüncelleştirin. Daha fazla bilgi için bkz . WhatsApp kullanıcı adları ve BSUID'ler.

Microsoft.Communication.AdvancedMessageReceived olaylarına özgü özniteliklerin ayrıntıları.

Öznitelik Tür Null değeri alabilen Açıklama
channelType string İletinin gönderildiği kanalın kanal türü.
kimden string ✔️ İletiyi gönderen, GUID olarak biçimlendirilmiş kanal kimliği.
kullanıcısı string ✔️ İletinin gönderildiği alıcı kimliği. İleti bir BSUID'ye gönderildiğinde boş olabilir.
toBSUID string ✔️ Alıcının iş kapsamlı kullanıcı kimliği (BSUID). Kullanıcının bir kullanıcı adı benimseyıp benimsemediğine bakılmaksızın kullanılabilir olduğunda sunulur. Daha fazla bilgi için bkz . WhatsApp kullanıcı adları ve BSUID'ler.
receivedTimestamp DateTimeOffset İletinin zaman damgası.
messageId string ✔️ GUID olarak biçimlendirilmiş iletinin kimliği.
durum string ✔️ İletinin durumu. Olası değerler , , SentDeliveredve Readdeğerlerini içerirFailed. Daha fazla bilgi için bkz . Durum.
hata ChannelEventError ✔️ Hatanın ayrıntılarını içerir.
ChannelEventError
Öznitelik Tür Null değeri alabilen Açıklama
channelCode string ✔️ Bu kanalda alınan hata kodu.
channelMessage string ✔️ Bu kanalda alınan hata iletisi.
Durum
Value Açıklama
Gönderildi İleti hizmeti iletiyi alıcıya gönderdi
Teslim edildi İleti alıcısı iletiyi aldı
Okundu İleti alıcısı iletiyi okudu
Başarısız İleti doğru gönderemedi

Örnekler

İleti teslimi için güncelleştirme
[{
  "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}",
    "toBSUID": "{receiver-bsuid}",
    "receivedTimestamp": "2023-07-06T18:42:28+00:00"
  },
  "eventType": "Microsoft.Communication.AdvancedMessageDeliveryStatusUpdated",
  "dataVersion": "1.0",
  "metadataVersion": "1",
  "eventTime": "2023-07-06T18:42:28.8454662Z"
}]
Hatayla ileti teslimi için güncelleştirme
[{
  "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}",
    "toBSUID": "{receiver-bsuid}",
    "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"
}]

Hızlı Başlangıç

Web kancalarını kullanarak Gelişmiş Mesajlaşma olaylarına nasıl abone olunduğunu gösteren hızlı başlangıç için bkz . Hızlı Başlangıç: Gelişmiş Mesajlaşma olaylarını işleme.