---
title: Jenis event
description: Referensi untuk jenis event webhook IDCloud — payload proses selesai, gagal, dan perubahan status.
canonical: https://developer.unico.io/id/dual-api/developers/webhooks-and-events/event-types
locale: id
generated_by: markdown-export
---

Payload webhook mendeskripsikan transisi status suatu proses. Halaman ini mendokumentasikan skema payload dan enumerasi lengkap nilai `lastEvent`.

### Skema payload

| Field | Type | Deskripsi |
|---|---|---|
| `processId` | `string` (UUID) | ID transaksi. |
| `state` | `string` | Status terkini transaksi. Saat ini: `PROCESS_STATE_FINISHED`. |
| `flow` | `string` | Flow yang dieksekusi untuk transaksi ini (misalnya, `id`, `idtoken`). |
| `lastEvent` | `string` | Event terakhir dari transaksi. **Hanya dikembalikan ketika proses kedaluwarsa sebelum pengguna menyelesaikan flow.** |
| `lastEventDescription` | `string` | Deskripsi `lastEvent` yang dapat dibaca manusia. **Hanya dikembalikan ketika proses kedaluwarsa sebelum pengguna menyelesaikan flow.** |

:::note[Kosakata status]
Field `state` dalam payload webhook menggunakan prefiks `PROCESS_STATE_*`. Ini adalah kosakata yang berbeda dari field `result` dan `status` yang dikembalikan oleh endpoint GetProcess, yang menggunakan `PROCESS_RESULT_*`. Jangan memperlakukan keduanya sebagai hal yang dapat dipertukarkan.
:::

### Contoh payload

#### Selesai — berhasil

```json
{
  "processId": "8263a268-5388-492a-bca2-28e1ff4a69f0",
  "state": "PROCESS_STATE_FINISHED",
  "flow": "id"
}
```

#### Selesai — kedaluwarsa

```json
{
  "processId": "8263a268-5388-492a-bca2-28e1ff4a69f0",
  "state": "PROCESS_STATE_FINISHED",
  "flow": "id",
  "lastEvent": "EVENT_TYPE_SESSION_ENDED",
  "lastEventDescription": "Session ended by timeout or by new session created"
}
```

### Enumerasi lastEvent

Daftar lengkap nilai yang dapat muncul di `lastEvent`:

| Event | Deskripsi |
|---|---|
| `EVENT_TYPE_PROCESS_CREATED` | Proses dibuat |
| `EVENT_TYPE_QR_CODE_READ` | QR code telah dibaca |
| `EVENT_TYPE_PROCESS_STARTED_BY_USER` | Proses dimulai oleh pengguna |
| `EVENT_TYPE_IDENTITY_VALIDATION_STEP_FINISHED` | Langkah validasi identitas selesai |
| `EVENT_TYPE_DOCUMENT_STEP_STARTED` | Langkah dokumen telah dimulai |
| `EVENT_TYPE_DOCUMENT_PHOTO_CAPTURED` | Foto dokumen diambil |
| `EVENT_TYPE_DOCUMENT_UPLOADED_FROM_GALLERY` | Dokumen diunggah dari galeri |
| `EVENT_TYPE_DOCUMENT_STEP_FINISHED` | Langkah dokumen selesai |
| `EVENT_TYPE_SESSION_ENDED` | Sesi berakhir karena timeout atau karena sesi baru dibuat |
| `EVENT_TYPE_ERROR_ON_DOCUMENT_STEP` | Terjadi kesalahan pada langkah dokumen |

:::secondary[Penanganan yang dapat dikonfigurasi]
Kumpulan event dapat berkembang. Perlakukan event yang direspons oleh endpoint Anda sebagai **konfigurasi**, bukan konstanta yang di-hardcode — dengan begitu event baru dapat diaktifkan tanpa perlu melakukan deploy.
:::

### Membaca hasil proses lengkap

Payload webhook menandakan bahwa proses telah selesai, tetapi tidak menyertakan hasilnya. Untuk mengambil hasil — beserta data tangkapan, skor biometrik, field dokumen, dll. — panggil endpoint **GetProcess** yang sesuai:

- Untuk flow visual / Web & Native: lihat [Referensi API > Web & Native > GET /v1/process/&#123;id&#125;](/dual-api/developers/api-reference/web-sdk).
- Untuk flow non-visual / API: lihat [Referensi API > API > GET /processes/v1/&#123;id&#125;](/dual-api/developers/api-reference/api).