

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

# Aliran acara Amazon Connect Cases
<a name="case-event-streams"></a>

Aliran peristiwa Amazon Connect Cases memberi Anda pembaruan hampir real-time saat kasus dibuat atau dimodifikasi dalam domain Kasus Amazon Connect Anda. Peristiwa yang dipublikasikan ke aliran termasuk acara sumber daya ini:
+ Kasus dibuat
+ Kasus dimodifikasi
+ Item terkait (Komentar, Panggilan, Obrolan, Tugas) ditambahkan ke kasus

Anda dapat menggunakan aliran peristiwa kasus untuk mengintegrasikan aliran ke dalam solusi data lake Anda, membuat dasbor yang menampilkan metrik kinerja kasus, menerapkan aturan bisnis atau tindakan otomatis berdasarkan peristiwa kasus, dan mengonfigurasi alat peringatan untuk memicu pemberitahuan khusus aktivitas kasus tertentu.

**Topics**
+ [Siapkan aliran acara kasus](case-event-streams-enable.md)
+ [Izinkan Kasus mengirim pembaruan ke Contact Lens aturan](cases-rules-integration-onboarding.md)
+ [Muatan dan skema acara kasus](case-event-streams-sample.md)

# Mengatur aliran acara Amazon Connect Cases
<a name="case-event-streams-enable"></a>

Topik ini menjelaskan cara mengatur dan menggunakan stream peristiwa kasus. Beberapa langkah orientasi mengharuskan Anda untuk memanggil [Amazon Connect Cases APIs](https://docs.aws.amazon.com/cases/latest/APIReference/Welcome.html).

## Langkah 1: Buat instans Amazon Connect dan aktifkan Profil Pelanggan
<a name="step1-case-event-streams-enable"></a>

1. Pastikan Anda memiliki instans Amazon Connect yang berfungsi di salah satu Wilayah AWS tempat Kasus tersedia. Lihat [Ketersediaan kasus menurut Wilayah](regions.md#cases_region).

1. Aktifkan Profil Pelanggan Amazon Connect. Untuk petunjuk, lihat [Aktifkan Profil Pelanggan untuk instans Amazon Connect](enable-customer-profiles.md).

   Kasus Amazon Connect memerlukan Profil Pelanggan karena setiap kasus harus dikaitkan dengan profil pelanggan dari layanan Profil Pelanggan.

## Langkah 2: Tambahkan domain Kasus ke instans Amazon Connect
<a name="step2-case-event-streams-enable"></a>

Untuk petunjuk, lihat [Aktifkan Kasus menggunakan konsol Amazon Connect](enable-cases.md).

Jika Anda ingin menambahkan domain kasus menggunakan API, lihat API di *Referensi [CreateDomain](https://docs.aws.amazon.com/cases/latest/APIReference/API_CreateDomain.html)API Amazon Connect Cases*. 

## Langkah 3: Buat template kasus
<a name="step3-case-event-streams-enable"></a>

[Buat template kasus](case-templates.md). Pada *Langkah 6: Aliran peristiwa kasus uji*, Anda akan menggunakan template. 

Jika Anda ingin membuat template kasus menggunakan API, lihat API di *Referensi [CreateTemplate](https://docs.aws.amazon.com/cases/latest/APIReference/API_CreateTemplate.html)API Amazon Connect Cases*. 

## Langkah 4: Aktifkan aliran peristiwa kasus dan penyiapan untuk menerima acara ke dalam antrian SQS
<a name="step4-case-event-streams-enable"></a>

Jalankan perintah berikut untuk mengaktifkan aliran peristiwa kasus untuk domain Kasus Anda. Setelah perintah ini berjalan, ketika kasus dibuat atau diperbarui, sebuah peristiwa dipublikasikan ke bus default EventBridge layanan di akun Anda (harus Wilayah AWS sama dengan domain Kasus Anda).

```
aws connectcases put-case-event-configuration --domain-id dad5efb6-8485-4a55-8241-98a88EXAMPLE --event-bridge enabled=true
```

Secara default, peristiwa yang diterbitkan oleh Kasus Amazon Connect hanya berisi metadata tentang kasus tersebut, seperti,`templateId`,,`caseId`, `caseArn``approximateChangeTime`, dan lainnya. Anda dapat menjalankan perintah berikut untuk mendapatkan informasi lebih lanjut tentang kasus (pada saat acara dibuat) untuk dimasukkan dalam acara tersebut.

**catatan**  
Jika Anda ingin menyertakan bidang kustom dalam acara tersebut, gunakan ID bidang kustom. Untuk petunjuk tentang cara menemukan ID bidang kustom, lihat[Temukan ID bidang khusus](cases-block.md#get-case-properties-find-uuid). 

```
# You can include any other field defined in your cases domain in the fields section.
# To list the fields that are defined in your cases domain, call the Cases ListFields API.
# To include case fields that you create (custom fields) in the event, enter the custom field ID.
aws connectcases put-case-event-configuration --domain-id YOUR_CASES_DOMAIN_ID --event-bridge "{
    \"enabled\": true, 
    \"includedData\": {
       \"caseData\": {
          \"fields\": [
          {
          \"id\": \"status\"
          },
          {
          \"id\": \"title\"
          },
          {
          \"id\": \"customer_id\"
          },
         {
          \"id\": \"your custom field ID\"
          }
        ]
      },
      \"relatedItemData\": {
      \"includeContent\": true
      }
    }
  }"
```

Selanjutnya, buat antrean Amazon SQS dan tetapkan itu sebagai target untuk peristiwa Amazon Connect Cases di EventBridge bus Anda sehingga semua peristiwa kasus dikirimkan ke antrian SQS untuk diproses nanti.

```
# Create an SQS queue
aws sqs create-queue --queue-name case-events-queue --attributes "{\"Policy\": \"{ \\\"Version\\\": \\\"2012-10-17\\\", \\\"Statement\\\": [{ \\\"Sid\\\": \\\"case-event-subscription\\\", \\\"Effect\\\": \\\"Allow\\\", \\\"Principal\\\": { \\\"Service\\\": \\\"events.amazonaws.com\\\"}, \\\"Action\\\": \\\"SQS:SendMessage\\\", \\\"Resource\\\": \\\"*\\\"}]}\"}"

# Create an rule on the EventBridge default bus that represents the case events
aws events put-rule --name case-events-to-sqs-queue --event-pattern "{\"source\": [\"aws.cases\"]}" --state ENABLED

# Ask event bridge to publish case events to the SQS queue.
aws events put-targets --rule case-events-to-sqs-queue --target "[{
\"Id\": \"target-1\",
\"Arn\": \"arn:aws:sqs:The AWS Region of your Amazon Connect instance:your AWS account ID:case-events-queue\"
}]"
```

## Langkah 5: Aliran peristiwa kasus uji
<a name="step5-case-event-streams-enable"></a>

Gunakan aplikasi agen Amazon Connect untuk: 

1. Terima kontak obrolan.

1. Buat profil pelanggan dan kaitkan dengan kontak obrolan.

1. Buat kasing. 
**catatan**  
Tombol **Buat kasus** **pada tab Kasus** tidak aktif sampai Anda menerima kontak dan mengaitkan kontak tersebut dengan profil pelanggan.

Arahkan ke konsol Amazon SQS dan periksa apakah peristiwa kasus (type:`CASE.CREATED`) untuk kasus yang baru dibuat tersedia di Antrian SQS Anda. Demikian pula, Anda dapat memodifikasi kasus yang dibuat di atas dan mendapatkan peristiwa kasus yang sesuai (type:`CASE.UPDATED`) dalam antrian SQS Anda. Anda dapat mengaitkan kontak dengan kasus ini, dan memberikan komentar pada kasus tersebut untuk mendapatkan peristiwa kasus untuk tindakan tersebut juga.

## Langkah 6: Gunakan kasus untuk aliran peristiwa kasus
<a name="step6-case-event-streams-enable"></a>

Aliran peristiwa kasus mempublikasikan peristiwa setiap kali kasus dibuat, kasus diperbarui, kontak dikaitkan dengan kasus, dan komentar ditambahkan pada kasus. Anda dapat menggunakan acara ini untuk:
+ Metrik, analitik, dan dasbor
+ Buat Aplikasi yang memberi tahu pengguna (misalnya, mengirim email)
+ Tindakan otomatis yang dipicu berdasarkan jenis pembaruan kasus tertentu

Misalnya, Anda dapat menggunakan target SQS pada EventBridge (seperti yang ditunjukkan pada langkah 4) untuk menyimpan sementara peristiwa kasus dalam antrean SQS, dan menggunakan fungsi Lambda untuk memproses peristiwa di SQS untuk membangun aplikasi khusus seperti mengirim email ke pelanggan ketika kasus mereka diperbarui, secara otomatis menyelesaikan tugas apa pun yang terkait dengan kasus, dan banyak lagi. Demikian pula, Anda dapat menggunakan target Firehose EventBridge untuk menyimpan peristiwa kasus ke dalam bucket S3 dan kemudian menggunakan for ETL, Athena AWS Glue untuk analitik ad-hoc, dan Quick for dashboard.

# Izinkan Kasus Amazon Connect mengirim pembaruan ke Contact Lens aturan
<a name="cases-rules-integration-onboarding"></a>

**catatan**  
Untuk melakukan instruksi dalam prosedur ini, Anda harus memiliki keterampilan pengembang, atau berpengalaman dengan Amazon Connect CLI.

Selesaikan prosedur satu kali ini sehingga pengguna Anda dapat mengatur aturan yang berjalan saat kasus dibuat atau diperbarui. 

1. Verifikasi Kasus Amazon Connect [diaktifkan](enable-cases.md) untuk instans Amazon Connect Anda. 

1. Selesaikan langkah-langkah untuk mengaktifkan aliran peristiwa Amazon Connect Cases. Untuk mengetahui informasi selengkapnya, lihat [Mengatur aliran acara Amazon Connect Cases](case-event-streams-enable.md). Perhatikan perubahan berikut pada prosedur:

   1. Anda dapat melewati bagian yang meminta Anda untuk membuat antrian SQS, karena tidak diperlukan.

   1. Jalankan perintah `put-case-event-configuration` CLI untuk menyertakan semua informasi bidang kasus dalam acara tersebut. Pastikan untuk menyertakan semua bidang yang Anda butuhkan agar mesin Rules berfungsi.
**catatan**  
Untuk memastikan bahwa aturan Pelanggaran Kasus SLA berfungsi dengan baik, Anda harus `relatedItemData.includeContent` menyetelnya`true`, seperti yang ditunjukkan pada contoh berikut.

      ```
      aws connectcases put-case-event-configuration --domain-id 01310a0e-24ba-4a3c-89e9-9e1daeaxxxx --event-bridge "{
          \"enabled\": true, 
          \"includedData\": {
             \"caseData\": {
                 \"fields\": [
                   {
                     \"id\": \"status\"
                   },
                   {
                     \"id\": \"title\"
                   },
                   {
                     \"id\": \"assigned_queue\"
                   },
                   {
                     \"id\": \"assigned_user\"
                   },
                   {
                     \"id\": \"case_reason\"
                   },
                   {
                     \"id\": \"last_closed_datetime\"
                   },
                   {
                     \"id\": \"created_datetime\"
                   },
                   {
                     \"id\": \"last_updated_datetime\"
                   },
                   {
                     \"id\": \"reference_number\"
                   },
                   {
                     \"id\": \"summary\"
                   }
                 ]
            },
            \"relatedItemData\": {
            \"includeContent\": true
            }
          }
        }"
      ```

   1. Jika ada bidang kasus khusus, pastikan untuk menyertakan ID bidang kustom array bidang di payload sebelumnya juga. Anda dapat menemukan bidang IDs dengan menjalankan perintah `list-fields` CLI berikut:

      ```
      aws connectcases list-fields --domain-id 01310a0e-24ba-4a3c-89e9-9e1daeaxxxx
      ```

   1. Ulangi langkah 2 jika Anda perlu menambahkan bidang khusus baru. 

1. Buat panggilan [CreateEventIntegration](https://docs.aws.amazon.com/appintegrations/latest/APIReference/API_CreateEventIntegration.html)API, atau jalankan perintah `create-event-integration` CLI, seperti yang ditunjukkan pada perintah contoh berikut.
   + Muatan:

     ```
     aws appintegrations create-event-integration --name amazon-connect-cases --description amazon-connect-cases --event-filter '{"Source":"aws.cases"}' --event-bridge-bus default
     ```
   + Outputnya akan terlihat mirip dengan sampel berikut:

     ```
     {
         "EventIntegrationArn": "arn:aws:app-integrations:us-west-2:111222333444:event-integration/amazon-connect-cases"
     }
     ```

1. Buat panggilan [CreateIntegrationAssociation](https://docs.aws.amazon.com/connect/latest/APIReference/API_CreateIntegrationAssociation.html)API, atau jalankan perintah `create-integration-association` CLI, seperti yang ditunjukkan pada perintah contoh berikut.
   + Muatan:

     `IntegrationArn`Ini adalah respon yang Anda dapatkan dari langkah 3.

     ```
     aws connect create-integration-association --instance-id bba5df5c-6a5f-421f-a81d-9c16402xxxx --integration-type EVENT --integration-arn arn:aws:app-integrations:us-west-2:111222333444:event-integration/amazon-connect-cases --source-type CASES
     ```
   + Outputnya akan mirip dengan sampel berikut:

     ```
     {
         "IntegrationAssociationId": "d49048cd-497d-4257-ab5c-8de797a123445",
         "IntegrationAssociationArn": "arn:aws:connect:us-west-2:111222333444:instance/bba5df5c-6a5f-421f-a81d-9c16402bxxxx/integration-association/d49048cd-497d-4257-ab5c-8de797a123445"
     }
     ```

Pengguna Anda sekarang harus dapat membuat aturan yang berjalan saat kasus dibuat atau diperbarui.

# Payload dan skema peristiwa kasus di Amazon Connect Cases
<a name="case-event-streams-sample"></a>

Ketika Anda meminta untuk menyertakan data kasus dalam muatan peristiwa, data mencerminkan versi kasus setelah pengeditan tertentu. 

Batas default Amazon Connect Cases menjamin bahwa muatan akan kurang dari 256KB (ukuran maksimum suatu EventBus peristiwa). Karena Anda dapat menyesuaikan model objek kasus (misalnya, Anda dapat menentukan bidang khusus pada objek kasus untuk menangkap informasi spesifik bisnis), skema peristiwa kasus mencerminkan penyesuaian yang dibuat untuk objek kasus seperti yang ditunjukkan dalam contoh berikut (misalnya, lihat bagaimana spesifik pelanggan UUIDs digunakan sebagai properti JSON). 

## Contoh payload peristiwa kasus untuk sumber daya kasus
<a name="example-case-event-payload"></a>

```
// Given the limits on the "includedData" configuration
// this payload is guaranteed to less than 256KB at launch.
{
    "version": "0",
    "id": "event ID",
    "detail-type": "Amazon Connect Cases Change",
    "source": "aws.cases",
    "account": "your AWS account ID",
    "time": "2022-03-16T23:43:26Z",
    "region": "The AWS Region of your Amazon Connect instance",
    "resources": [
        "arn:aws:cases:your Amazon Connect AWS Region:your AWS account ID:domain/case domain ID",
        "arn:aws:cases:your Amazon Connect AWS Region:your AWS account ID:domain/case domain ID/case/case ID"
    ],
    "detail": {
        "version": "0",
        "eventType": "CASE.UPDATED",
        "approximateChangeTime": "2022-03-16T23:16:57.893Z",  // Can be used for ordering
        "changedFieldIds": ["status", "last_updated_datetime"],
        "performedBy": {
            "user": {
                "userArn": "arn:aws:connect:your Amazon Connect AWS Region:your AWS account ID:instance/connect instance ID/user/connect user ID"        
            },
            "iamPrincipalArn": "arn:aws:iam::your Amazon Connect AWS Region:role/role name"
        },       
        "case": {
            "caseId": "case ID",
            "templateId": "template ID",
            "createdDateTime": "2022-03-16T23:16:57.893Z",
            
            // This section contains only non-null field values for the 
            // fields that customers have configured in the "includedData".
           
            // Field values included in this section reflects the case
            // after this particular change is applied.
            "fields": {
                "status": {
                    "value": {
                        "stringValue": "open"
                   }
                },
                "case_reason": {
                    "value": {
                        "stringValue": "Shipment lost"
                    }
                },
                "custom-field-uuid-1": {
                    "value": {
                        "stringValue": "Customer didn't receive the product"
                    }
                }
            }
        }
    }
}
```

## Contoh payload peristiwa kasus untuk sumber daya item terkait
<a name="example-case-event-payload"></a>

```
// Given the limits on the "includedData" configuration
// this payload is guaranteed to less than 256KB
{
    "version": "0",
    "id": "event ID",
    "detail-type": "Amazon Connect Cases Change",
    "source": "aws.cases",
    "account": "your AWS account ID",
    "time": "2022-03-16T23:43:26Z",
    "region": "The AWS Region of your Amazon Connect instance",
    "resources": [
        "arn:aws:cases:your Amazon Connect AWS Region:your AWS account ID:domain/case domain ID",
        "arn:aws:cases:your Amazon Connect AWS Region:your AWS account ID:domain/case domain ID/case/case ID/related-item/related-item ID"
    ],
    
    "detail": {   
        "version": "0",
        "eventType": "RELATED_ITEM.CREATED",
        "approximateChangeTime": "2022-03-16T23:16:57.893Z", // Can be used for ordering
        "changedAttributes": ["comment.commentText"],
        "performedBy": {
            "user": {
                "userArn": "arn:aws:connect:your Amazon Connect AWS Region:your AWS account ID:instance/connect instance ID/user/connect user ID"        
            },
            "iamPrincipalArn": "arn:aws:iam::your Amazon Connect AWS Region:role/role name"
        },        
        "relatedItem": {
            "relatedItemType": "Comment",
            "relatedItemId": "related-item ID",
            "caseId": "case id that this related item is a sub-resource of",
            "createdDateTime": "2022-03-16T23:16:57.893Z",
            
            // This section includes any attributes that customers have configured
            // in the "includedData" configuration.
            "comment": {               
                "body": "Gave a $5 refund to customer to make them happy",
            },
            
            // if the related item was of type contact.
            // "contact": {
            //      "contactArn": ".......",
            // }
        }
    }
}
```

## Contoh payload peristiwa kasus untuk sumber daya kasus yang dilakukan oleh entitas kustom
<a name="example-case-event-payload-case-resource-custom-entity"></a>

```
// Given the limits on the "includedData" configuration
// this payload is guaranteed to less than 256KB at launch.
{
    "version": "0",
    "id": "event ID",
    "detail-type": "Amazon Connect Cases Change",
    "source": "aws.cases",
    "account": "your AWS account ID",
    "time": "2022-03-16T23:43:26Z",
    "region": "The AWS Region of your Amazon Connect instance",
    "resources": [
        "arn:aws:cases:your Amazon Connect AWS Region:your AWS account ID:domain/case domain ID",
        "arn:aws:cases:your Amazon Connect AWS Region:your AWS account ID:domain/case domain ID/case/case ID"
    ],
    "detail": {
        "version": "0",
        "eventType": "CASE.UPDATED",
        "approximateChangeTime": "2022-03-16T23:16:57.893Z",  // Can be used for ordering
        "changedFieldIds": ["status", "last_updated_datetime"],
        "performedBy": {
            "user": {
                "customEntity": "your custom entity"        
            },
            "iamPrincipalArn": "arn:aws:iam::your Amazon Connect AWS Region:role/role name"
        },       
        "case": {
            "caseId": "case ID",
            "templateId": "template ID",
            "createdDateTime": "2022-03-16T23:16:57.893Z",
            
            // This section contains only non-null field values for the 
            // fields that customers have configured in the "includedData".
           
            // Field values included in this section reflects the case
            // after this particular change is applied.
            "fields": {
                "status": {
                    "value": {
                        "stringValue": "open"
                   }
                },
                "case_reason": {
                    "value": {
                        "stringValue": "Shipment lost"
                    }
                },
                "custom-field-uuid-1": {
                    "value": {
                        "stringValue": "Customer didn't receive the product"
                    }
                }
            }
        }
    }
}
```