Webhook Tester – xem request HTTP online
Nhận một URL riêng, gửi webhook tới đó (Stripe, GitHub, PayPal, SePay, ứng dụng của bạn…) và xem method, header, body theo thời gian thực.
Webhook Tester cung cấp các endpoint tạm ("bin") để debug webhook và HTTP callback. POST /v1/webhooks tạo một bin và trả về URL nhận request https://apibox.io.vn/hook/<id> kèm link trang xem trực tiếp. Cấu hình Stripe, GitHub, cổng thanh toán hay dịch vụ của bạn gửi về URL đó: URL chấp nhận mọi method HTTP và mọi đường dẫn con, ghi lại method, path, query string, header, IP và quốc gia của bên gửi cùng body (tối đa 256 KB; body nhị phân được lưu dạng base64).
Xem các request đã bắt bằng GET /v1/webhooks/<id>/requests (mới nhất trước, limit 1–100, mặc định 20). Truyền since (ngày ISO hoặc Unix giây) để chỉ lấy request mới khi polling. GET /v1/webhooks liệt kê các bin đang hoạt động, PATCH /v1/webhooks/<id> đổi phản hồi mà URL nhận trả về (response_status, response_body, response_content_type, name) để giả lập lỗi và cơ chế retry, DELETE /v1/webhooks/<id>/requests xoá lịch sử và DELETE /v1/webhooks/<id> xoá bin.
Bin tạo bằng API key tồn tại 30 ngày. Mỗi bin giữ các request mới nhất theo gói – Free 50, Starter 500, Pro 2.000 – và bạn có tối đa 2, 10 hoặc 50 bin hoạt động với gói Free, Starter, Pro. URL nhận chấp nhận tối đa 60 request mỗi phút cho mỗi bin.
Dùng trong code của bạn
curl -X POST "https://apibox.io.vn/v1/webhooks" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"name":"Stripe test","response_status":200,"response_body":"{\"received\":true}"}'const res = await fetch('https://apibox.io.vn/v1/webhooks', {
method: 'POST',
headers: {
Authorization: 'Bearer YOUR_API_KEY',
'Content-Type': 'application/json',
},
body: JSON.stringify({
"name": "Stripe test",
"response_status": 200,
"response_body": "{\"received\":true}"
}),
});
const data = await res.json();
console.log(data);import requests
res = requests.post(
"https://apibox.io.vn/v1/webhooks",
headers={"Authorization": "Bearer YOUR_API_KEY"},
json={"name": "Stripe test", "response_status": 200, "response_body": "{\"received\":true}"},
timeout=30,
)
print(res.json())<?php
$ch = curl_init('https://apibox.io.vn/v1/webhooks');
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_HTTPHEADER => ['Authorization: Bearer YOUR_API_KEY', 'Content-Type: application/json'],
CURLOPT_POSTFIELDS => '{"name":"Stripe test","response_status":200,"response_body":"{\\"received\\":true}"}',
]);
$response = curl_exec($ch);
print_r(json_decode($response, true));Hỏi đáp
Test webhook khi chưa có server public thế nào?
Tạo một bin (POST /v1/webhooks, hoặc dùng công cụ Webhook Tester online), dán URL https://apibox.io.vn/hook/<id> vào trang cấu hình của nhà cung cấp rồi kích hoạt một sự kiện. Request sẽ hiện trên trang xem chỉ sau vài giây.
Có đổi được phản hồi mà URL webhook trả về không?
Được. Gọi PATCH /v1/webhooks/<id> với response_status (100–599), response_body (tối đa 10.000 ký tự) và response_content_type. Mặc định là 200 với {"ok":true}.
Request đã bắt được lưu bao lâu?
Bin tạo qua API tồn tại 30 ngày và giữ 50 / 500 / 2.000 request mới nhất tuỳ gói (Free / Starter / Pro). Request cũ hơn được tự động xoá.