

Pemberitahuan akhir dukungan: Pada 31 Maret 2027, AWS akan mengakhiri dukungan untuk Amazon WorkMail. Setelah 31 Maret 2027, Anda tidak akan lagi dapat mengakses WorkMail konsol Amazon atau WorkMail sumber daya Amazon. Untuk informasi selengkapnya, lihat [dukungan WorkMail akhir Amazon](https://docs.aws.amazon.com/workmail/latest/adminguide/workmail-end-of-support.html). 

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

# Bekerja dengan notifikasi
<a name="notifications"></a>

Dengan API Pemberitahuan WorkMail Push Amazon, Anda dapat menerima pemberitahuan push tentang perubahan di kotak pesan, termasuk pembaruan email dan kalender baru. Anda harus mendaftarkan URLs (atau responden pemberitahuan push) untuk menerima pemberitahuan. Dengan fitur ini, pengembang dapat membuat aplikasi responsif untuk WorkMail pengguna Amazon, karena aplikasi dengan cepat diberitahu tentang perubahan dari kotak surat pengguna.

Untuk informasi selengkapnya, lihat [Langganan notifikasi, peristiwa kotak pesan, dan EWS di Exchange](https://msdn.microsoft.com/en-us/library/office/dn458791(v=exchg.150).aspx).

Anda dapat berlangganan folder tertentu, seperti Kotak Masuk atau Kalender, atau ke semua folder untuk peristiwa perubahan kotak pesan (termasuk Mail Baru, Dibuat, dan Dimodifikasi).

Anda dapat menggunakan perpustakaan klien seperti [EWS Java API](https://github.com/OfficeDev/ews-java-api) atau [EWS C\$1 API terkelola](https://msdn.microsoft.com/en-us/library/office/dn567668(v=exchg.150).aspx) untuk mengakses fitur ini. [Contoh aplikasi lengkap dari push responder, yang dikembangkan menggunakan AWS Lambda dan API Gateway (menggunakan kerangka AWS Serverless), tersedia di halaman. AWS GitHub ](https://github.com/aws-samples/amazon-workmail-demo-ews-push-notifications) Menggunakan API EWS Java.

Berikut ini adalah contoh permintaan langganan push:

```
<?xml version="1.0" encoding="UTF-8"?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:t="http://schemas.microsoft.com/exchange/services/2006/types">
   <soap:Body>
      <m:Subscribe xmlns:m="http://schemas.microsoft.com/exchange/services/2006/messages">
         <m:PushSubscriptionRequest>
            <t:FolderIds>
               <t:DistinguishedFolderId Id="inbox" />
            </t:FolderIds>
            <t:EventTypes>
               <t:EventType>NewMailEvent</t:EventType>
               <t:EventType>CopiedEvent</t:EventType>
               <t:EventType>CreatedEvent</t:EventType>
               <t:EventType>DeletedEvent</t:EventType>
               <t:EventType>ModifiedEvent</t:EventType>
               <t:EventType>MovedEvent</t:EventType>
            </t:EventTypes>
            <t:StatusFrequency>1</t:StatusFrequency>
            <t:URL>https://YOUR_PUSH_RESPONDER_URL</t:URL>
         </m:PushSubscriptionRequest>
      </m:Subscribe>
   </soap:Body>
</soap:Envelope>
```

Berikut ini adalah hasil permintaan berlangganan yang berhasil:

```
<?xml version="1.0" encoding="UTF-8"?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
   <Header xmlns="http://schemas.xmlsoap.org/soap/envelope/">
      <ServerVersionInfo xmlns="http://schemas.microsoft.com/exchange/services/2006/types" MajorVersion="14" MinorVersion="2" MajorBuildNumber="390" Version="Exchange2010_SP2" MinorBuildNumber="3" />
   </Header>
   <soap:Body>
      <m:SubscribeResponse xmlns:m="http://schemas.microsoft.com/exchange/services/2006/messages" xmlns:t="http://schemas.microsoft.com/exchange/services/2006/types">
         <m:ResponseMessages>
            <m:SubscribeResponseMessage ResponseClass="Success">
               <m:ResponseCode>NoError</m:ResponseCode>
               <m:SubscriptionId>hKJETtoAdi9PPW0tZDQ4MThmMDoVYB</m:SubscriptionId>
               <m:Watermark>AAAAAAA=</m:Watermark>
            </m:SubscribeResponseMessage>
         </m:ResponseMessages>
      </m:SubscribeResponse>
   </soap:Body>
</soap:Envelope>
```

Setelah itu, notifikasi dikirim ke URL yang ditentukan dalam permintaan langganan. Berikut ini adalah contoh pemberitahuan:

```
<soap:Envelope
    xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
    <soap:Header>
        <t:RequestServerVersion
            xmlns:t="http://schemas.microsoft.com/exchange/services/2006/types"
            xmlns:m="http://schemas.microsoft.com/exchange/services/2006/messages" Version="Exchange2010_SP2">
        </t:RequestServerVersion>
    </soap:Header>
    <soap:Body>
        <m:SendNotification
            xmlns:t="http://schemas.microsoft.com/exchange/services/2006/types"
            xmlns:m="http://schemas.microsoft.com/exchange/services/2006/messages">
            <m:ResponseMessages>
                <m:SendNotificationResponseMessage ResponseClass="Success">
                    <m:ResponseCode>NoError</m:ResponseCode>
                    <m:Notification>
                        <t:SubscriptionId>hKJETtoAdi9PPW0tZDQ4MThmMDoVYB</t:SubscriptionId>
                        <t:PreviousWatermark>ygwAAAAAAAA=</t:PreviousWatermark>
                        <t:MoreEvents>false</t:MoreEvents>
                        <t:ModifiedEvent>
                            <t:Watermark>ywwAAAAAAAA=</t:Watermark>
                            <t:TimeStamp>2018-02-02T15:15:14Z</t:TimeStamp>
                            <t:FolderId Id="AAB2L089bS1kNDgxOGYwOGE5OTQ0="></t:FolderId>
                            <t:ParentFolderId Id="AAB2L089bS1kNDgxOGYwOGE="></t:ParentFolderId>
                        </t:ModifiedEvent>
                    </m:Notification>
                </m:SendNotificationResponseMessage>
            </m:ResponseMessages>
        </m:SendNotification>
    </soap:Body>
</soap:Envelope>
```

Untuk mengetahui bahwa responden pemberitahuan push telah menerima pemberitahuan, ia harus membalas dengan yang berikut:

```
<?xml version="1.0"?>
  <s:Envelope xmlns:s= "http://schemas.xmlsoap.org/soap/envelope/">
    <s:Body>
      <SendNotificationResult xmlns="http://schemas.microsoft.com/exchange/services/2006/messages">
        <SubscriptionStatus>OK</SubscriptionStatus>
      </SendNotificationResult>
    </s:Body>
  </s:Envelope>
```

Untuk berhenti berlangganan menerima pemberitahuan push, klien harus mengirim respons berhenti berlangganan di `SubscriptionStatus` bidang, mirip dengan yang berikut ini:

```
<?xml version="1.0"?>
  <s:Envelope xmlns:s= "http://schemas.xmlsoap.org/soap/envelope/">
    <s:Body>
      <SendNotificationResult xmlns="http://schemas.microsoft.com/exchange/services/2006/messages">
        <SubscriptionStatus>Unsubscribe</SubscriptionStatus>
      </SendNotificationResult>
    </s:Body>
  </s:Envelope>
```

Untuk memverifikasi kesehatan responden pemberitahuan push Anda, Amazon WorkMail mengirimkan “detak jantung” (juga disebut a`StatusEvent`). Frekuensi yang dikirim bersamanya ditentukan oleh parameter `StatusFrequency` yang disediakan dalam permintaan langganan semula. Misalnya, jika `StatusFrequency` sama**1**, a `StatusEvent` dikirim setiap 1 menit. Nilai ini dapat berkisar antara 1 dan 1440 menit. Ini `StatusEvent` terlihat seperti berikut:

```
<?xml version="1.0 (http://www.w3.org/TR/REC-xml/)" encoding="utf-8"?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Header>
    <t:RequestServerVersion xmlns:t="http://schemas.microsoft.com/exchange/services/2006/types" xmlns:m="http://schemas.microsoft.com/exchange/services/2006/messages" Version="Exchange2010_SP2"/>
</soap:Header>
<soap:Body>
    <m:SendNotification xmlns:t="http://schemas.microsoft.com/exchange/services/2006/types" xmlns:m="http://schemas.microsoft.com/exchange/services/2006/messages">
    <m:ResponseMessages>
        <m:SendNotificationResponseMessage ResponseClass="Success">
            <m:ResponseCode>NoError</m:ResponseCode>
            <m:Notification>
                <t:SubscriptionId>hKJETtoAdi9PPW0tZDQ4MThmMDoVYB</t:SubscriptionId>
                <t:PreviousWatermark>AAAAAAAAAAA=</t:PreviousWatermark>
                <t:MoreEvents>false</t:MoreEvents>
                <t:StatusEvent>
                    <t:Watermark>AAAAAAAAAAA=</t:Watermark>
                </t:StatusEvent>
            </m:Notification>
        </m:SendNotificationResponseMessage>
    </m:ResponseMessages>
</m:SendNotification>
</soap:Body>
</soap:Envelope>
```

Jika responden notifikasi push klien gagal merespons dengan `OK` status yang sama seperti sebelumnya, notifikasi akan dicoba ulang selama maksimal beberapa menit. `StatusFrequency` Misalnya, jika `StatusFrequency` sama dengan 5, dan notifikasi pertama gagal, itu dicoba maksimum selama 5 menit dengan backoff eksponensial antara setiap percobaan kembali. Jika notifikasi tidak dikirimkan setelah waktu coba lagi berakhir, langganan tidak valid dan tidak ada pemberitahuan baru yang dikirimkan. Anda harus membuat langganan baru untuk terus menerima notifikasi tentang peristiwa kotak pesan. Saat ini, Anda dapat berlangganan maksimal tiga langganan per kotak surat.