> ## Documentation Index
> Fetch the complete documentation index at: https://help.dingtalk.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Ikhtisar Event Subscription

> Langganan peristiwa DingTalk memungkinkan aplikasi Anda menerima notifikasi penting dari platform DingTalk secara real-time — dari perubahan struktur departemen hingga absensi karyawan, untuk integrasi mendalam dan kolaborasi bisnis.

## Apa itu Langganan peristiwa

Langganan peristiwa DingTalk adalah layanan yang disediakan oleh DingTalk Open Platform. Layanan ini memungkinkan developer menerima berbagai notifikasi penting yang dihasilkan platform DingTalk secara real-time di dalam aplikasi mereka sendiri. Dengan menyiapkan langganan peristiwa, aplikasi Anda dapat mendengarkan peristiwa yang terjadi di DingTalk, seperti perubahan struktur departemen, absensi karyawan, dan pencatatan waktu kerja, lalu merespons dan memprosesnya dengan cepat di dalam aplikasi Anda. Dengan kemampuan ini, aplikasi perusahaan Anda dapat berintegrasi lebih dalam dengan platform DingTalk untuk mencapai berbagi informasi dan kolaborasi bisnis.

## **Kasus Penggunaan**

### Skenario peristiwa Kontak

Ketika ada karyawan baru yang bergabung atau karyawan yang keluar, aplikasi Anda harus segera memperbarui data pengguna. Dalam kasus ini, langgani peristiwa terkait Kontak. Alih-alih menarik dan membandingkan data Kontak secara berkala, Anda menerima informasi Kontak yang berubah secara real-time dan menyinkronkannya.

### Skenario peristiwa Grup

Untuk merespons tindakan pengguna dalam sebuah grup dengan cepat, langgani peristiwa. Sebagai contoh, ketika seorang pengguna bergabung ke sebuah obrolan grup, aplikasi Anda dapat melanggani peristiwa terkait di bawah IM Chat Management dan mengirim pesan sambutan kepada pengguna saat mereka masuk ke obrolan grup.

Untuk peristiwa lainnya, lihat Ikhtisar Langganan peristiwa.

## **Metode Langganan**

| | **Push Mode Stream** | **Push HTTP** |
| - | - | - |
| Pengantar | Mode Stream adalah metode integrasi yang disediakan oleh DingTalk Open Platform. Mode ini mendengarkan callback langganan peristiwa. Saat Anda menggunakan mode Stream untuk terhubung, DingTalk Open Platform berkomunikasi dengan aplikasi Anda melalui koneksi WebSocket. Mode Stream sangat menurunkan hambatan integrasi dan mengurangi ketergantungan pada sumber daya. Anda tidak memerlukan server publik, alamat IP, domain, atau sumber daya lainnya—cukup integrasikan SDK DingTalk Open Platform. | Push HTTP berlaku untuk deployment on-premises. Peristiwa didorong ke sistem bisnis Anda melalui permintaan HTTP POST terenkripsi. |
| Aplikasi yang Berlaku | - Aplikasi internal - Aplikasi perusahaan pihak ketiga | - Aplikasi internal |
| Konfigurasi | [Konfigurasikan Push Stream (Direkomendasikan)](https://help.dingtalk.io/zh/open/dingstart/configure-stream-push.md) | [Konfigurasikan Push HTTP](https://help.dingtalk.io/zh/open/dingstart/configure-http-push.md) |
| Keamanan | Tidak perlu mengekspos IP publik, sehingga terlindung dari serangan. Lapisan transport menggunakan enkripsi TLS, dan setiap koneksi diautentikasi sepenuhnya. | Saluran data adalah saluran publik yang menimbulkan biaya trafik, memiliki Tingkat Keamanan yang rendah, dan menawarkan efisiensi yang rendah. |
| Enkripsi dan Dekripsi | Tidak diperlukan enkripsi atau dekripsi; Anda menerima data peristiwa yang rinci secara langsung. | Data yang didorong dienkripsi. Developer harus memverifikasi tanda tangan serta melakukan enkripsi dan dekripsi sendiri, dengan mengimplementasikan logika verifikasi tanda tangan, enkripsi, dan dekripsi dalam bahasa pemrograman yang mereka pilih. |

## **Aturan Langganan**

Langganan peristiwa DingTalk memungkinkan Anda berlangganan sesuai kebutuhan. Aturan spesifiknya adalah sebagai berikut.

### **Sintaks**

Aturan pencocokan langganan peristiwa menggunakan sintaks Glob untuk pencocokan pola. Glob adalah metode pencocokan yang mirip dengan ekspresi reguler, tetapi dengan sintaks yang lebih intuitif dan sederhana. Dalam aturan Glob, Anda dapat menggunakan karakter khusus seperti `*`, `?`, `{}`, dan `[]` untuk mendefinisikan pola. Dalam pemfilteran kustom peristiwa DingTalk, hanya karakter `*` dan `{}` yang digunakan untuk memfilter peristiwa secara presisi.

**Catatan**

Jika tidak ada aturan yang dikonfigurasi, atau semua aturan yang dikonfigurasi dihapus, semua peristiwa dari tipe tersebut akan didorong.

* **Tanda bintang tunggal** `*`

Mencocokkan sejumlah karakter berapa pun, termasuk tanpa karakter. Ini tidak mencakup batas jalur `/` atau `\`. Sebagai contoh, `/path/*/abc` mencocokkan `/path/a/abc`, `/path/b/abc`, dan seterusnya.

* **Tanda bintang ganda** `**`

  Mirip dengan tanda bintang tunggal, tetapi dapat melewati batas jalur dan umumnya digunakan untuk mencocokkan beberapa tingkat direktori. Sebagai contoh, `/path/**/abc` dapat mencocokkan `/eventkey/a/abc`, `/eventkey/b/abc`, `/eventkey/a/b/abc`, `/eventkey/a/b/c/abc`, dan seterusnya.
* **Kurung kurawal** `{}`

  Kurung kurawal menentukan sekumpulan pencocokan sub-pola. Sebagai contoh, `{sun,moon,stars}` mencocokkan `sun`, `moon`, dan `stars`, dan `&#123;temp*, tmp*&#125;` mencocokkan string apa pun yang diawali dengan `temp` atau `tmp`.

Jika Anda perlu berlangganan peristiwa persetujuan sesuai kebutuhan, lihat contoh **Peristiwa Persetujuan** berikut:

| **Tipe peristiwa** | **Deskripsi** | **Deskripsi Aturan** | **Contoh** |
| - | - | - | - |
| **Mulai/Akhiri/Batalkan Tugas Persetujuan** | Peristiwa mulai, akhiri, atau batalkan sebuah tugas untuk templat persetujuan tertentu di bawah suatu kategori bisnis. | `/v1.0/event/bpms_task_change/bizCategoryId/&#123;bizCategoryId&#125;/processCode/&#123;processCode&#125;/type/&#123;type&#125;` | `/v1.0/event/bpms_task_change/bizCategoryId/&#123;bizCategoryId&#125;/processCode/PROC-EA*****F-885E-47AA-AEB9-8F59CB10E309/type/start` |
| Peristiwa mulai, akhiri, atau batalkan sebuah tugas di bawah templat persetujuan tertentu, dicocokkan langsung menggunakan kode templat persetujuan `processCode`. | `/v1.0/event/bpms_task_change/processCode/&#123;processCode&#125;/type/&#123;type&#125;` | `/v1.0/event/bpms_task_change/processCode/PROC-EA*****F-885E-47AA-AEB9-8F59CB10E309/type/start` | |
| **Mulai/Akhiri/Hentikan Instans Persetujuan** | Peristiwa mulai, akhiri, atau hentikan sebuah instans untuk templat persetujuan tertentu di bawah suatu kategori bisnis. | `/v1.0/event/bpms_instance_change/bizCategoryId/&#123;bizCategoryId&#125;/processCode/&#123;processCode&#125;/type/&#123;type&#125;` | `/v1.0/event/bpms_instance_change/bizCategoryId/&#123;bizCategoryId&#125;/processCode/PROC-EA*****F-885E-47AA-AEB9-8F59CB10E309/type/start` |
| Peristiwa mulai, akhiri, atau hentikan sebuah instans di bawah templat persetujuan tertentu, dicocokkan langsung menggunakan kode templat persetujuan `processCode`. | `/v1.0/event/bpms_instance_change/processCode/&#123;processCode&#125;/type/&#123;type&#125;` | `/v1.0/event/bpms_instance_change/processCode/PROC-EA*****F-885E-47AA-AEB9-8F59CB10E309/type/start` | |

Untuk informasi parameter terkait, lihat Peristiwa Persetujuan.

## **Proses Langganan**


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.