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.
Authorization: Bearer YOUR_API_KEY
Accept: application/json
Content-Type: application/json
Mendapatkan API Key
- Login ke panel admin tenant Anda
- Buka menu Pengaturan → API
- Klik Generate API Key
- Simpan key dengan aman (hanya ditampilkan sekali)
Rate Limiting
API memiliki batasan jumlah request untuk menjaga performa dan keamanan sistem.
1,000 / menit
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 |
{
"success": false,
"message": "Kursus tidak ditemukan",
"errors": null
}
📚 Courses
Endpoint untuk mengelola data kursus.
/courses
Query Parameters
status |
Filter: draft, published, archived |
search |
Cari berdasarkan judul/deskripsi |
per_page |
Jumlah item per halaman (max: 100) |
page |
Nomor halaman |
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"
/courses/{id}
/courses
Body Parameters
title * |
Judul kursus |
description |
Deskripsi kursus |
price * |
Harga kursus |
status |
draft, published, archived |
level |
beginner, intermediate, advanced |
/courses/{id}
/courses/{id}
/courses/{id}/statistics
👥 Students
Endpoint untuk mengelola data siswa.
/students
/students/{id}
/students
/students/{id}/progress
📝 Enrollments
Endpoint untuk mengelola pendaftaran kursus.
/enrollments
/enrollments
/enrollments/bulk
🏆 Certificates
Endpoint untuk mengelola sertifikat.
/certificates
/certificates
/certificates/verify/{number}
📅 Events
Endpoint untuk mengelola event/webinar.
/events
/events/{id}/register
/events/{id}/attendees
❓ Quizzes
Endpoint untuk mengakses data quiz (read-only).
/quizzes
/quizzes/{id}/questions
/quizzes/{id}/statistics
Butuh Bantuan?
Tim support kami siap membantu Anda mengintegrasikan API PintarVibe dengan sistem Anda.