Tài liệu kỹ thuật cho Publisher
Tài liệu tích hợp SDK & API
Hướng dẫn từng bước để tích hợp QuestLab vào ứng dụng hoặc website của bạn. Dành cho đội ngũ kỹ thuật và nhà phát triển.
Bắt đầu nhanh
1
Đăng ký
Tạo tài khoản Publisher
2
Nhận API Key
Lấy credentials từ Dashboard
3
Tích hợp SDK
Cài đặt theo hướng dẫn
4
Go Live
Bật cho user và nhận tiền
Yêu cầu hệ thống
Mobile SDK
- iOS 13+ / Android API 21+
- Swift 5+ hoặc Kotlin 1.6+
- Unity 2020.3+ (plugin riêng)
- React Native 0.70+ (bridge)
Web SDK / API
- Trình duyệt hiện đại (ES6+)
- HTTPS bắt buộc
- REST API v2 (JSON)
- Webhook / S2S Postback
Hướng dẫn tích hợp
1. Nhúng Script
Thêm đoạn script sau vào thẻ <head> của website:
index.html
html
<script src="https://sdk.questlab.vn/v2/questlab.min.js"></script>
<script>
QuestLab.init({
publisherId: 'YOUR_PUBLISHER_ID',
apiKey: 'YOUR_API_KEY',
environment: 'production'
});
</script>2. Hiển thị Survey Router
Nhúng widget khảo sát vào vị trí mong muốn:
survey-widget.js
javascript
// Hiển thị Survey Router tại element cụ thể
QuestLab.renderSurveyRouter('#survey-container', {
userId: 'USER_UNIQUE_ID',
theme: 'light', // 'light' | 'dark' | 'auto'
locale: 'vi',
maxSurveys: 5,
onComplete: (reward) => {
console.log('User earned:', reward.amount, reward.currency);
// Cộng thưởng cho user của bạn tại đây
},
onError: (err) => {
console.error('Survey error:', err.message);
}
});3. Hiển thị Offerwall
Mở Offerwall dạng popup hoặc inline:
offerwall.js
javascript
// Mở Offerwall dạng popup
QuestLab.showOfferwall({
userId: 'USER_UNIQUE_ID',
mode: 'popup', // 'popup' | 'inline' | 'fullscreen'
categories: ['survey', 'signup', 'install'],
onReward: (reward) => {
// Callback khi user hoàn thành nhiệm vụ
updateUserBalance(reward.amount);
}
});
// Hoặc render inline
QuestLab.renderOfferwall('#offerwall-container', {
userId: 'USER_UNIQUE_ID',
mode: 'inline'
});Giao thức & Bảo mật
Xác thực HMAC-SHA256
Mọi postback callback đều được ký bằng HMAC-SHA256 với Secret Key. Xác thực signature trước khi cộng thưởng cho user để tránh gian lận.
HTTPS bắt buộc
Tất cả API endpoints và postback URLs phải sử dụng HTTPS. Chứng chỉ SSL/TLS hợp lệ là yêu cầu bắt buộc.
Rate Limiting
API giới hạn 100 requests/phút cho mỗi API Key. Sử dụng caching để tối ưu. Liên hệ nếu cần nâng hạn mức.
Idempotency
Mỗi postback có transaction_id duy nhất. Kiểm tra trùng lặp trước khi xử lý để tránh cộng thưởng hai lần.
