LMS Platform Integration
Integrate Looping Binary's authentication and coin system into your Learning Management System.
What You Get
- Single sign-on for all students and instructors
- Authentication for students and instructors
- Role-based access for course areas
- Real-time balance checking
Step 1: User Authentication
Allow students to log in using Looping Binary authentication:
JavaScript
// Login user
const response = await fetch('https://api.loopingbinary.com/api/auth/login', {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify(({
email: 'student@example.com',
password: 'password123'
})
});
const { user, token } = await response.json();
// Store token for future requests
localStorage.setItem('lb_token', token);
localStorage.setItem('user', JSON.stringify(user));Step 2: Check Student Balance
Before displaying course prices, check if student has sufficient coins:
JavaScript
// Check student's coin balance
const balanceResponse = await fetch('https://api.loopingbinary.com/api/wallets/me', {
headers: {
'Authorization': 'Bearer ' + token
}
});
const { balance } = await balanceResponse.json();
// Display balance to student
console.log(`You have $${balance} LB Coins`);Step 3: Process Course Purchase
When student enrolls in a course, transfer coins to Course Treasury:
JavaScript
// Student purchases course
const coursePrice = 50; // LB Coins
const courseName = 'Advanced JavaScript Course';
const purchaseResponse = await fetch('https://api.loopingbinary.com/api/coins/transfer-to-treasury', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'Authorization': 'Bearer ' + token
},
body: JSON.stringify(({
treasuryType: 'COURSE',
amount: coursePrice,
reason: `Purchase: $${courseName}`
})
});
if (purchaseResponse.ok) {
// Enroll student in course
await enrollStudentInCourse(user.id, courseId);
console.log('✓ Enrollment successful!');
} else {
console.log('✗ Insufficient balance');
}Integration Best Practices
- Always verify coin balance before allowing purchase
- Store transaction IDs for refund purposes
- Implement error handling for insufficient balance
- Log all course enrollments with transaction references
- Display clear balance information to students
- Provide "Add Coins" link for low balance users