Custom Header & Security

Rekomendasi penggunaan custom header dan keamanan endpoint Webhook.

Webhook mengirim request ke endpoint eksternal menggunakan header JSON default dan custom header yang Anda atur di konfigurasi webhook.

Header Default

Setiap pengiriman webhook menggunakan header default:

http
Content-Type: application/json

Menambahkan Custom Header

Custom header dapat digunakan untuk kebutuhan autentikasi endpoint tujuan.

Contoh:

Header NameHeader Value
AuthorizationBearer token-rahasia
X-Webhook-Tokentoken-rahasia
X-Sourcesejoli

Contoh request yang dikirim:

http
POST /webhooks/sejoli HTTP/1.1
Host: api.example.com
Content-Type: application/json
Authorization: Bearer token-rahasia
X-Source: sejoli

Rekomendasi Keamanan

Gunakan beberapa praktik berikut saat menerima webhook:

  • Gunakan endpoint HTTPS.
  • Tambahkan token rahasia melalui custom header.
  • Validasi token di server penerima.
  • Batasi data payload hanya ke data yang diperlukan.
  • Jangan menaruh credential sensitif di payload.
  • Simpan log penerimaan webhook di sistem tujuan untuk audit.
  • Jika memungkinkan, batasi akses endpoint berdasarkan IP server WordPress.

Contoh Validasi Header di Endpoint Tujuan

Contoh sederhana di PHP:

php
$token = $_SERVER['HTTP_X_WEBHOOK_TOKEN'] ?? '';

if ($token !== 'token-rahasia') {
    http_response_code(401);
    echo json_encode(['success' => false, 'message' => 'Unauthorized']);
    exit;
}

$payload = json_decode(file_get_contents('php://input'), true);

http_response_code(200);
echo json_encode(['success' => true]);

Status Response yang Disarankan

Endpoint tujuan sebaiknya mengembalikan status 2xx jika payload berhasil diterima.

Contoh response sukses:

json
{
  "success": true,
  "message": "Webhook accepted"
}

Jika endpoint mengembalikan 5xx, 408, atau 429, Webhook dapat menjadwalkan percobaan ulang sesuai konfigurasi retry.

Last updated Jul 7, 2026