Endpoint tambahan Webhook untuk menerima sink dan membaca feed log webhook.
Webhook menyediakan endpoint REST tambahan dengan namespace:
/wp-json/sejoli-notify/v1
Endpoint ini dapat digunakan untuk kebutuhan integrasi tertentu, terutama ketika aplikasi eksternal perlu membaca log webhook secara incremental.
Sink Endpoint
POST /wp-json/sejoli-notify/v1/sink
Contoh URL lengkap:
https://domain-anda.com/wp-json/sejoli-notify/v1/sink
Response sukses:
Endpoint sink mengembalikan status sukses dan dapat digunakan sebagai target sederhana untuk skenario tertentu.
Feed Endpoint
GET /wp-json/sejoli-notify/v1/feed
Endpoint feed digunakan untuk membaca log webhook berdasarkan webhook_id dan cursor since_id.
Autentikasi Feed
Endpoint feed membutuhkan API key dengan format yang sama seperti API:
Alternatif:
Scope yang dibutuhkan:
Query Parameters
| Parameter | Tipe | Wajib | Default | Keterangan |
|---|
webhook_id | integer | Ya | - | ID konfigurasi webhook. |
since_id | integer | Tidak | 0 | Cursor log terakhir yang sudah dibaca. |
limit | integer | Tidak | 100 | Jumlah data, maksimum 250. |
status | string | Tidak | success | Filter status. Kirim kosong untuk semua status. |
Contoh Request
curl \
-H "Authorization: Bearer sejoliapi_xxxxxxxx_secret" \
"https://domain-anda.com/wp-json/sejoli-notify/v1/feed?webhook_id=123&since_id=0&limit=100"
Contoh Response
{
"success": true,
"data": [
{
"id": 10,
"type": "ORDER.NEW",
"at": "2026-07-07 10:00:00",
"status": "success",
"code": 200,
"data": {
"event": "ORDER.NEW",
"data": {
"ID": 123
},
"object_id": 123
}
}
],
"next_since": 10
}
Error Umum
Jika webhook_id tidak dikirim:
{
"success": false,
"message": "missing webhook_id"
}
Jika API key tidak dikirim:
{
"code": "rest_forbidden",
"message": "Authorization header missing.",
"data": {
"status": 401
}
}
Jika scope tidak cukup:
{
"code": "rest_forbidden",
"message": "Insufficient scope.",
"data": {
"status": 403
}
}