Skip to main content

Welcome to OPS Workspace

This guide will walk you through logging into OPS Workspace and accessing your first application. You’ll be operational in just a few steps.
Before you begin, ensure you have received your login credentials from your supervisor. If you don’t have credentials yet, contact your team administrator.

Login to OPS Workspace

1

Navigate to the Hub

Open your web browser and go to the OPS Workspace hub:
https://your-ops-workspace-domain.com/
You’ll see the login screen with the OPS Workspace branding.OPS Workspace Login
2

Enter Your Credentials

Fill in your username and password in the login form:
index.html
<form id="loginForm">
    <input type="text" id="username" placeholder="Usuario" required>
    <input type="password" id="password" placeholder="Contraseña" required>
    <button type="submit" class="btn-primary" id="loginBtn">Ingresar</button>
</form>
Click the Ingresar button to authenticate.
Passwords are case-sensitive. Make sure Caps Lock is off and enter your credentials exactly as provided.
3

Authentication Process

When you submit the form, your credentials are sent to the authentication API:
index.html
const res = await fetch(`${API_BASE}/auth/login`, {
    method: 'POST',
    headers: { 'Content-Type': 'application/json' },
    body: JSON.stringify({
        username: document.getElementById('username').value.trim(),
        password: document.getElementById('password').value
    })
});

const data = await res.json();
if (!res.ok) throw new Error(data.error || "Credenciales incorrectas");

// Store authentication token and user data
localStorage.setItem('token', data.token);
localStorage.setItem('user', JSON.stringify(data.user));
The system validates your credentials and returns:
  • A JWT authentication token (for secure API access)
  • Your user profile (name, username, role)
The authentication token is automatically stored in your browser and used for all subsequent requests.
4

Access the Dashboard

Upon successful login, you’ll be redirected to your personalized dashboard:
index.html
function mostrarDashboard(user) {
    loginView.style.display = 'none';
    dashboardView.style.display = 'block';
    
    // Display user's first name in navbar
    const primerNombre = user.fullName.split(' ')[0];
    document.getElementById('triggerName').textContent = primerNombre;

    // Set role badge with color coding
    const roleBadge = document.getElementById('profileRole');
    roleBadge.textContent = user.role.toUpperCase();
}
Your dashboard displays:
  • Your name and role badge in the navbar
  • Available applications based on your role
  • Quick access cards to each application

Understanding Your Role

Your access level is determined by your assigned role. Here’s what you’ll see:
Full Platform AccessAs a Supervisor, you have access to:
  • ✅ Cashouts application (submit and review)
  • ✅ Operapedia (view and edit)
  • ✅ Team management panel
  • ✅ Statistics and analytics
  • ✅ User creation and deletion
Your role badge appears in blue:
index.html
if (user.role === 'supervisor') {
    roleBadge.style.background = 'rgba(94, 106, 210, 0.15)';
    roleBadge.style.color = '#6f7bf0';
    roleBadge.style.border = '1px solid rgba(94, 106, 210, 0.3)';
    
    // Show team management button
    manageTeamBtn.style.display = 'block';
}

Accessing Applications

Click on the Cashouts card from your dashboard:
index.html
<a href="/cashouts/" class="app-card" id="card-cashouts">
    <div class="app-icon">🌴</div>
    <h3 class="app-title">Cashouts</h3>
    <p class="app-desc">Sistema de registro y verificación de cashouts en tiempo real con sincronización a Google Sheets.</p>
</a>
This opens the Cashouts application where you can:
  • Submit new cashout requests
  • Review pending cashouts (if authorized)
  • View statistics and leaderboards
  • Check cashout rules by company
When you access Cashouts, your authentication token is automatically passed, and the application pre-fills your operator name based on your logged-in identity.
Click on the Operapedia card from your dashboard:
index.html
<a href="/operapedia/" class="app-card" id="card-operapedia">
    <div class="app-icon">📓</div>
    <h3 class="app-title">Operapedia</h3>
    <p class="app-desc">Panel de credenciales, métodos de pago, promociones y catálogo de juegos de nuestras compañías.</p>
</a>
This opens Operapedia where you can:
  • Search and view game credentials
  • Check payment methods and limits
  • Review active promotions
  • Access terms and conditions
  • View company contact channels

Your Profile Menu

In the top-right corner of the dashboard, you’ll find your profile menu:
index.html
<div class="profile-trigger" id="profileTrigger" onclick="toggleProfileMenu()">
    <span style="font-size: 18px;">👤</span>
    <span id="triggerName" style="font-weight: 600;">Nombre</span>
    <span style="font-size: 10px; opacity: 0.5;"></span>
</div>
Click on your name to view:
  • Your full name
  • Username
  • Role badge
  • Cerrar Sesión (logout) button

Logging Out

To end your session securely:
1

Open Profile Menu

Click on your name in the top-right corner to expand the dropdown menu.
2

Click Cerrar Sesión

Click the red Cerrar Sesión button at the bottom of the dropdown.
3

Session Cleared

Your authentication token and user data are removed from localStorage:
index.html
function logout() {
    localStorage.removeItem('token');
    localStorage.removeItem('user');
    location.reload();
}
You’ll be redirected to the login screen.
Always log out when using a shared computer to protect your account security.

Quick Tips

Common causes:
  • Incorrect credentials: Double-check your username and password
  • Caps Lock is on: Passwords are case-sensitive
  • Account not created: Contact your supervisor to create your account
  • Network issues: Verify you can reach https://general-cashouts.onrender.com/api
If the error persists, check the browser console for detailed error messages.
Application visibility is controlled by your role:
  • Chats role: Only sees Operapedia
  • Analista role: Sees both Cashouts and Operapedia
  • Supervisor role: Sees all applications plus team management
If you believe your role is incorrect, contact your supervisor.
JWT tokens expire after a period of inactivity. When this happens:
cashouts/index.html
async function apiFetch(endpoint, options = {}) {
    const response = await fetch(`${API_BASE}${endpoint}`, { ...options, headers });
    
    // Auto-logout on token expiration
    if (response.status === 401 || response.status === 403) {
        cerrarSesion();
        throw new Error("Sesión expirada o acceso denegado");
    }
    return response;
}
You’ll be automatically logged out and redirected to the hub. Simply log in again to continue.
Yes! Your authentication token is stored locally in each browser. You can:
  • Log in on multiple devices simultaneously
  • Switch between desktop and mobile
  • Access from different browsers
Each device maintains its own session independently.

Troubleshooting

If you encounter issues during login:

Error: “Credenciales incorrectas”

index.html
const data = await res.json();
if (!res.ok) throw new Error(data.error || "Credenciales incorrectas");
Solution: Verify your username and password are correct. Contact your supervisor if you’ve forgotten your credentials.

Error: “Sesión expirada o acceso denegado”

This occurs when:
  • Your JWT token has expired
  • Your account permissions have changed
  • Your account was deactivated
Solution: Log in again to get a fresh token. If the issue persists, contact your supervisor.

Application not loading after login

Check the browser console for errors. Common causes:
  • API endpoint unreachable: Network connectivity issue
  • Blocked by CORS: Browser security restriction
  • Invalid token: Token was corrupted in localStorage
Solution: Try clearing your browser cache and localStorage, then log in again.

Next Steps

Now that you’re logged in, explore the platform:

Submit a Cashout

Learn how to create and submit cashout requests

Search Credentials

Find game credentials and company information in Operapedia

Review Queue

Supervisors and Analistas: Review pending cashouts

View Statistics

Analyze performance metrics and leaderboards
Pro Tip: Bookmark the OPS Workspace hub URL for quick access. Your login session persists across browser restarts until you explicitly log out or the token expires.

Build docs developers (and LLMs) love