Bahasa Indonesia
Atur Webhook
PUT/session/webhookAtur ke mana Zate harus ngabarin pesan masuk. Tiap sesi punya webhook sendiri: isi url server kamu dan token rahasia, nanti event pesan baru, edit, hapus, dan dibaca di chat pribadi bakal di-POST ke URL itu dengan token di header x-token.
Isi event, cara verifikasi, dan aturan retry-nya dibahas lengkap di Terima Pesan (Webhook).
Detail Endpoint
- Base URL:
https://api-zate.azickri.com - Header:
id,session-id, danContent-Type: application/json
Header
| Header | Tipe | Wajib | Keterangan |
|---|---|---|---|
id | string | Ya | id dari Buat Session. |
session-id | string | Ya | sessionId dari Buat Session. |
Request Body
| Kolom | Tipe | Wajib | Keterangan |
|---|---|---|---|
url | string | Ya | URL penerima, diawali http:// atau https://. Isi string kosong buat matiin webhook. |
token | string | Ya | Token rahasia yang dikirim di header x-token tiap request. Isi string kosong buat matiin webhook. |
url dan token harus sama-sama diisi, atau sama-sama kosong. Ngisi salah satu aja bakal ditolak, soalnya request tanpa token nggak bisa diverifikasi server kamu.
Contoh Request
bash
curl -X PUT "https://api-zate.azickri.com/session/webhook" \
-H "id: YOUR_ID" \
-H "session-id: YOUR_SESSION_ID" \
-H "Content-Type: application/json" \
-d '{"url":"https://example.com/webhook/zate","token":"rahasia-banget-123"}'javascript
import axios from 'axios';
const response = await axios.put(
'https://api-zate.azickri.com/session/webhook',
{
url: 'https://example.com/webhook/zate',
token: 'rahasia-banget-123',
},
{
headers: {
'id': 'YOUR_ID',
'session-id': 'YOUR_SESSION_ID',
},
},
);
console.log(response.data);javascript
const response = await fetch('https://api-zate.azickri.com/session/webhook', {
method: 'PUT',
headers: {
'id': 'YOUR_ID',
'session-id': 'YOUR_SESSION_ID',
'Content-Type': 'application/json',
},
body: JSON.stringify({
url: 'https://example.com/webhook/zate',
token: 'rahasia-banget-123',
}),
});
const data = await response.json();
console.log(data);json
{
"url": "",
"token": ""
}Response
json
{
"id": "68b3f0a2c1d4e5f6a7b8c9d0"
}json
// Cuma salah satu yang diisi
{
"statusCode": 400,
"message": "url and token must be both filled, or both empty to turn the webhook off"
}
// URL nggak valid
{
"statusCode": 400,
"message": "url must be an http or https url"
}
// Kolom nggak dikirim sama sekali
{
"statusCode": 400,
"message": "url must be a string\ntoken must be a string"
}json
{
"statusCode": 404,
"message": "session not found"
}| Kolom | Tipe | Keterangan |
|---|---|---|
id | string | ID sesi. |
Pengaturan yang sekarang aktif bisa dicek di kolom webhook pada Ambil Session.
Yang Perlu Diingat
- Nyalain atau matiin webhook mulai dari detik itu. Pesan sebelum webhook dinyalain nggak ikut dikirim.
- Ganti URL atau token aja nggak ngulang dari awal. Event yang belum kekirim tetap lanjut ke URL yang baru.
- Alamat lokal boleh, misalnya
http://127.0.0.1:3000/webhookkalau penerimanya ada di server yang sama. Tapi kalau lewat internet, pakaihttps, soalnya token ikut di setiap request. - Webhook cuma buat chat pribadi. Pesan di grup dan channel nggak dikirim.