# Hantar data transaksi ke sistem lain melalui webhook

> Cara menetapkan Webhook URL pada borang derma supaya Beri Salam menghantar butiran transaksi ke sistem anda.
>
> Source: https://docs.berisalam.com/form-webhook/

Webhook menghantar butiran transaksi borang derma ke sistem anda, contohnya sistem perakaunan atau CRM. Tetapan ini untuk pembangun sistem. Anda memerlukan URL yang boleh menerima data daripada Beri Salam.

## Tetapkan Webhook URL

Ikut langkah ini dalam Beri Salam console.

1. Klik **Donations** → **Forms**.
2. Cari borang anda, kemudian klik **Edit**.
3. Skrol ke bahagian **Additional Settings**.
4. Klik **Webhook**. Panel **Webhook** akan dibuka di sebelah kanan.
5. Dalam medan **Webhook URL**, masukkan alamat sistem anda. Pastikan alamat itu bermula dengan `https://`.
6. Klik **Test Webhook** untuk menghantar data contoh ke URL itu. Butang itu akan menunjukkan **Success!** atau **Failed**.
7. Klik **Save**.

Untuk berhenti menghantar data, kosongkan **Webhook URL** dan klik **Save**.

## Bila data dihantar

Beri Salam menghantar data ke URL anda apabila status transaksi bagi borang ini dikemas kini, contohnya apabila bayaran berjaya atau gagal. Panel **Webhook** menyenaraikan syarat ini:

- Sistem anda mesti membalas dengan kod `200` selepas menerima data.
- Setiap permintaan akan tamat masa selepas 30 saat.
- Jika percubaan pertama gagal, Beri Salam akan menghantar semula data itu secara automatik.

## Data yang dihantar

Setiap penghantaran mengandungi kumpulan data ini:

| **Kumpulan** | Kandungan |
|---|---|
| `form` | Kod dan tajuk borang. |
| `transaction` | Nombor, tarikh, status, amaun, caj payment gateway dan saluran bayaran bagi transaksi itu. |
| `fpx` | Butiran FPX, seperti bank penderma. |
| `manual_bank_transfer` | Butiran pindahan bank manual, jika penderma memilih kaedah ini. |
| `receipt` | Nombor resit, dan link resit bagi transaksi yang berjaya. |
| `participant` | Nama, e-mel, nombor telefon dan alamat penderma. |
| `referral_agent` | Butiran referral agent, jika ada. |
| `donation` | Kempen, pakej, kuantiti dan amaun bagi setiap item sumbangan. |
| `custom_fields` | Jawapan penderma untuk medan tambahan dalam [Donor Details](https://docs.berisalam.com/form-donor-details/). |

Header `X-Webhook-Transaction-ID` mengandungi nombor transaksi.

> **Caution**
> Data ini mengandungi maklumat peribadi penderma. Guna URL `https://` sahaja dan simpan data itu dengan selamat.

## Semak log webhook

Beri Salam merekod setiap penghantaran dalam **Tools** → **Webhook Logs**. Lajur **URL**, **Attempts** dan **Status Code** menunjukkan ke mana data dihantar, berapa kali Beri Salam mencuba, dan respons daripada sistem anda. Klik **Resend** untuk menghantar semula data transaksi itu.

## Isu biasa

### Bagaimana saya tahu webhook berjaya dihantar?

Klik Tools → Webhook Logs. Lajur Status Code dan Attempts menunjukkan hasil setiap penghantaran.

### Bagaimana saya menghantar semula data yang sistem saya tidak sempat terima?

Klik Tools → Webhook Logs, cari transaksi itu, kemudian klik Resend.
