PintarVibe | Dokumentasi API

Dokumentasi REST API

Selamat datang di dokumentasi API PintarVibe. API ini memungkinkan Anda untuk mengintegrasikan platform e-course dengan sistem eksternal seperti aplikasi mobile, website, atau sistem informasi lainnya.

Fitur Pro

Akses API hanya tersedia untuk tenant dengan paket Pro. Upgrade paket Anda untuk mengaktifkan fitur ini.

Base URL

https://pintarvibe.com/api/v1/{tenant_slug}

Autentikasi

Semua request API harus menyertakan API key di header Authorization menggunakan Bearer token.

Header
Authorization: Bearer YOUR_API_KEY
Accept: application/json
Content-Type: application/json

Mendapatkan API Key

  1. Login ke panel admin tenant Anda
  2. Buka menu Pengaturan → API
  3. Klik Generate API Key
  4. Simpan key dengan aman (hanya ditampilkan sekali)

Rate Limiting

API memiliki batasan jumlah request untuk menjaga performa dan keamanan sistem.

GET Request Baca

1,000 / menit

POST/PUT/DELETE Request Tulis

100 / menit

Jika melebihi batas, API akan mengembalikan response 429 Too Many Requests. Header response menyertakan informasi remaining quota dan reset time.

Penanganan Error

API menggunakan HTTP status code standar untuk menandakan keberhasilan atau kegagalan request.

Status Code Deskripsi
200 Request berhasil
201 Resource berhasil dibuat
400 Bad Request - Parameter tidak valid
401 Unauthorized - API key tidak valid
403 Forbidden - Tidak memiliki izin
404 Not Found - Resource tidak ditemukan
422 Validation Error - Data tidak valid
429 Too Many Requests - Rate limit terlampaui
500 Server Error - Kesalahan internal
Contoh Error Response
{
    "success": false,
    "message": "Kursus tidak ditemukan",
    "errors": null
}

📚 Courses

Endpoint untuk mengelola data kursus.

GET /courses
Daftar semua kursus

Query Parameters

status Filter: draft, published, archived
search Cari berdasarkan judul/deskripsi
per_page Jumlah item per halaman (max: 100)
page Nomor halaman
Contoh Request
curl -X GET "https://pintarvibe.com/api/v1/tenant-slug/courses?status=published&per_page=10" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Accept: application/json"
GET /courses/{id}
Detail kursus
POST /courses
Buat kursus baru

Body Parameters

title * Judul kursus
description Deskripsi kursus
price * Harga kursus
status draft, published, archived
level beginner, intermediate, advanced
PUT /courses/{id}
Update kursus
DELETE /courses/{id}
Hapus kursus
GET /courses/{id}/statistics
Statistik kursus

👥 Students

Endpoint untuk mengelola data siswa.

GET /students
Daftar semua siswa
GET /students/{id}
Detail siswa
POST /students
Buat siswa baru
GET /students/{id}/progress
Progress belajar siswa

📝 Enrollments

Endpoint untuk mengelola pendaftaran kursus.

GET /enrollments
Daftar enrollment
POST /enrollments
Daftarkan siswa ke kursus
POST /enrollments/bulk
Bulk enrollment (max 100)

🏆 Certificates

Endpoint untuk mengelola sertifikat.

GET /certificates
Daftar sertifikat
POST /certificates
Terbitkan sertifikat
GET /certificates/verify/{number}
Verifikasi sertifikat

📅 Events

Endpoint untuk mengelola event/webinar.

GET /events
Daftar event
POST /events/{id}/register
Daftarkan peserta event
GET /events/{id}/attendees
Daftar peserta event

❓ Quizzes

Endpoint untuk mengakses data quiz (read-only).

GET /quizzes
Daftar quiz
GET /quizzes/{id}/questions
Daftar pertanyaan
GET /quizzes/{id}/statistics
Statistik quiz

Butuh Bantuan?

Tim support kami siap membantu Anda mengintegrasikan API PintarVibe dengan sistem Anda.