Thử Web Push & tạo khoá VAPID online miễn phí

Tạo khoá VAPID và gửi thông báo Web Push tới subscription của trình duyệt, mã hoá payload theo RFC 8291, có TTL, urgency và topic.

Công cụ miễn phí: 20 request mỗi phút.

Kết quả

Bấm “Chạy” để xem kết quả.

Gọi không tham số (hoặc action=generate_keys) để nhận một cặp khoá VAPID P-256 mới dạng base64url: public_key dùng làm applicationServerKey khi gọi pushManager.subscribe() trên trình duyệt, private_key giữ ở máy chủ của bạn. Khoá chỉ được tạo cho phản hồi này, không bao giờ được lưu hay ghi log.

action=send gửi thông báo tới một subscription (JSON PushSubscription lấy từ trình duyệt: endpoint + keys.p256dh + keys.auth) hoặc tối đa 50 subscriptions. payload (văn bản hoặc JSON, tối đa 4.078 byte) được mã hoá aes128gcm (RFC 8291) bằng WebCrypto ECDH, HKDF, AES-GCM, và yêu cầu được ký bằng JWT VAPID ES256 (RFC 8292) từ đối tượng vapid của bạn (subject = địa chỉ liên hệ mailto: hoặc https:, public_key, private_key). Đặt ttl (giây, mặc định 86400), urgency (very-low, low, normal, high) và topic (thay thế tin chưa giao có cùng topic).

Mỗi kết quả có mã HTTP status của dịch vụ push; gone: true (404 / 410) nghĩa là subscription đã hết hạn và nên xoá. action=encrypt trả về body đã mã hoá và header mà không gửi, để gỡ lỗi hoặc tự gửi. Không có gì được lưu: subscription và khoá chỉ tồn tại trong yêu cầu.

Dùng trong code của bạn

curl -X POST "https://apibox.io.vn/v1/web-push" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"action":"send","subscription":{"endpoint":"https://fcm.googleapis.com/fcm/send/abc","keys":{"p256dh":"BCVxsr7N_eNgVRqvHtD0zTZsEc6-VV-JvLexhqUzORcxaOzi6-AYWXvTBHm4bjyPjs7Vd8pZGH6SRpkNtoIAiw4","auth":"BTBZMqHH6r4Tts7J_aSIgg"}},"payload":{"title":"Đơn hàng #1024","body":"Đã giao thành công"},"ttl":3600,"urgency":"high","vapid":{"subject":"mailto:ops@example.com","public_key":"BECWGWmqQ8K_C-FP8oHoC2GdtyNmQRTEHe8z3qsK5VDKHjkpMUG-RRrKyy-jczLPSqC1y15k6r_iPaGLt39VFOw","private_key":"(your private key)"}}'

Tài liệu API → Nhận API key miễn phí

Hỏi đáp

Có lưu khoá riêng VAPID hay subscription của tôi không?

Không. Khoá và subscription chỉ dùng trong yêu cầu, không ghi vào bộ nhớ hay log. Hãy gửi kèm trong mỗi lần gọi.

Dùng được với trình duyệt nào?

Mọi trình duyệt hỗ trợ Push API chuẩn có VAPID: Chrome / Edge (FCM), Firefox (Mozilla autopush), Safari 16+ (Apple), Opera, Samsung Internet. Endpoint trong subscription quyết định dịch vụ push.

Mã 410 nghĩa là gì?

Dịch vụ push báo subscription không còn tồn tại (người dùng huỷ đăng ký hoặc xoá dữ liệu trình duyệt). Kết quả có gone: true; hãy xoá subscription đó khỏi cơ sở dữ liệu.