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.

Cần hỗ trợ tích hợp?

Đội ngũ kỹ thuật QuestLab sẵn sàng hỗ trợ bạn 1-1 trong quá trình tích hợp.