REST API v1

Webhook Nhận Thông báo vi phạm mới

RentID tự động gửi thông báo (HTTP POST) đến server của đối tác ngay khi có báo cáo vi phạm mới được phê duyệt. Để nhận dữ liệu theo thời gian thực, đối tác chỉ cần tạo một Webhook URL trên server của mình và cung cấp cho RentID để cấu hình.

1. Thông số kết nối

Thành phần Giá trị quy chuẩn Yêu cầu & Ghi chú
Endpoint Đối tác https://your-domain.com/webhook Đối tác tự thiết lập trên server của mình và cung cấp cho RentID
Method POST RentID luôn gửi dưới dạng HTTP POST
Giao thức HTTPS (bắt buộc) Bắt buộc chứng chỉ SSL/TLS để mã hóa dữ liệu trên đường truyền
Header: X-Api-Key YOUR_PARTNER_API_KEY Khóa đối tác dùng để so khớp xác thực request từ RentID
Mã phản hồi hợp lệ HTTP 2xx (200 hoặc 204) Chấp nhận mọi mã thuộc dải HTTP 2xx (Khuyến nghị 200 OK hoặc 204 No Content). RentID không ràng buộc định dạng Body phản hồi.
Thời gian phản hồi < 3 giây (Timeout: 25s) Server đối tác nên phản hồi nhanh trong < 3s. Thời gian chờ tối đa 25s. RentID tự động thử lại nếu gặp sự cố mạng hoặc timeout.

2. Cấu Trúc Dữ Liệu Payload

Để tuân thủ Nghị định 13/2023/NĐ-CP về bảo vệ dữ liệu cá nhân, thông tin định danh đối tượng được hệ thống RentID tự động che các ký tự nhạy cảm ở giữa:

Thuộc tính Kiểu Mô tả chi tiết
report_code string Mã đơn duy nhất của RentID.
name string | null Họ và tên đối tượng vi phạm.
gender string | null Giới tính đối tượng.
phone string | null Số điện thoại đối tượng.
cccd string | null Số Căn cước công dân / CMND.
email string | null Địa chỉ email đối tượng.
license_number string | null Số Giấy phép lái xe GPLX.
passport_number string | null Số Hộ chiếu.
address string | null Địa chỉ cư trú đầy đủ.
reason string Hành vi vi phạm.
description string | null Mô tả tóm tắt sự việc vi phạm.
approved_at string Thời điểm Admin RentID phê duyệt đơn.
Example Payload (JSON)
{
  "report_code": "RP-20260914-00152",
  "name": "Nguyễn *** An",
  "gender": "Nam",
  "phone": "098***1234",
  "cccd": "0010***345",
  "email": "ng***@gmail.com",
  "license_number": "0101***789",
  "passport_number": null,
  "address": "Số 12 phố ***, Phường Hàng Bạc, Hà Nội",
  "reason": "Mang xe đi cầm cố / Chiếm đoạt tài sản",
  "description": "Khách thuê xe tự lái hiệu Mazda 3 quá hạn 10 ngày không trả, tự ý tháo định vị mang đi cầm đồ...",
  "approved_at": "2026-09-14 11:00:00"
}

3. Quy Chuẩn Phản Hồi Từ Đối Tác

Để xác nhận đã tiếp nhận dữ liệu báo cáo vi phạm thành công từ RentID, server của đối tác cần lưu ý các quy chuẩn sau:

check_circle Mã trạng thái HTTP (Status Code)

Server đối tác cần phản hồi mã trạng thái thuộc dải HTTP 2xx (khuyến nghị 200 OK hoặc 204 No Content). Các mã lỗi 4xx, 5xx hoặc không nhận được phản hồi sẽ được hệ thống RentID tính là gửi thất bại.

schedule Thời gian xử lý & Phản hồi (Response Time)

Hệ thống RentID thiết lập thời gian chờ tối đa là 25 giây (phản hồi trong khoảng thời gian này đều được ghi nhận thành công). Tuy nhiên, đối tác nên phản hồi sớm (khuyến nghị dưới 3 giây) bằng cách đẩy dữ liệu vào Hàng đợi (Queue hoặc Background Task) để xử lý riêng, tránh chạy các tác vụ nặng trực tiếp làm treo hoặc đứt kết nối.

fingerprint Chống xử lý trùng lặp (Idempotency)

Mỗi báo cáo luôn đi kèm một mã định danh duy nhất là report_code (ví dụ: RP-20260914-00152). Đối tác nên lưu và kiểm tra mã này trong cơ sở dữ liệu để tự động bỏ qua nếu nhận được bản tin gửi lại do sự cố mạng.

Ví dụ định dạng dữ liệu trả về (Response Body)

RentID không bắt buộc cấu trúc Response Body. Đối tác có thể để trống hoàn toàn (với mã 204 No Content) hoặc trả về một gói tin JSON đơn giản xác nhận đã nhận:

Example Response (HTTP 200 OK)
{
  "success": true,
  "message": "Webhook received successfully"
}

4. Trình Giả Lập Bắn Webhook (Interactive Sandbox)

Nhập endpoint URL server của bạn để RentID bắn thử dữ liệu báo cáo vi phạm giả lập và kiểm tra khả năng phản hồi trực tiếp:

Kết quả phản hồi từ Server của bạn:

Đăng nhập

error

Hoặc đăng nhập với

Chưa có tài khoản? Đăng ký ngay