Zurück zur Startseite

TopRP API Dokumentation

Vote-Reward System für FiveM Server

Quick Start

  1. 1Aktiviere "Vote-Belohnungs-Codes" in deinem Server-Dashboard
  2. 2Generiere einen API Key im Dashboard
  3. 3Integriere das Script in deinen FiveM Server
  4. 4Spieler erhalten nach dem Vote einen Code → lösen ihn mit /topvote ein

API Endpoints

POST/api/user/vote-codes

Löst einen Vote-Code ein. Gibt Erfolg oder Fehlermeldung zurück.

Request Body:

{
  "code": "ABC12345"
}

Response (Erfolg):

{
  "success": true,
  "message": "Code erfolgreich eingelöst!",
  "discordId": "847905528764170270",
  "serverName": "Funtopia RP"
}

Response (Fehler):

{
  "success": false,
  "error": "Code nicht gefunden"
}

// Weitere Fehlermeldungen:
// "Code wurde bereits eingelöst"
// "Code ist abgelaufen"
// "Code fehlt"
GET/api/user/vote-codes?code=ABC12345

Prüft ob ein Code gültig ist (ohne ihn einzulösen).

Response:

{
  "valid": true,
  "isRedeemed": false,
  "isExpired": false,
  "discordId": "847905528764170270",
  "serverName": "Funtopia RP"
}

FiveM Integration

Beispiel: ESX Server Script

-- server.lua
local ESX = exports['es_extended']:getSharedObject()

RegisterCommand('topvote', function(source, args)
    local code = args[1]
    if not code then
        TriggerClientEvent('esx:showNotification', source, '~r~Bitte Code eingeben: /topvote CODE')
        return
    end
    
    local postData = json.encode({ code = code })
    
    PerformHttpRequest('https://toprp.de/api/user/vote-codes', function(status, response)
        local data = json.decode(response)
        
        if data and data.success then
            -- Belohnung vergeben
            local xPlayer = ESX.GetPlayerFromId(source)
            xPlayer.addAccountMoney('bank', 5000, 'Vote Belohnung')
            TriggerClientEvent('esx:showNotification', source, '~g~Vote-Belohnung erhalten! +$5000')
        else
            local error = data and data.error or 'Unbekannter Fehler'
            TriggerClientEvent('esx:showNotification', source, '~r~' .. error)
        end
    end, 'POST', postData, { ['Content-Type'] = 'application/json' })
end, false)

Tipp: Du kannst unser fertiges Script verwenden! Es enthält Cooldowns, verschiedene Belohnungstypen und mehr. Kontaktiere uns im Discord für das vollständige Script.

HTTP Status Codes

200Code erfolgreich eingelöst
400Code fehlt, bereits eingelöst oder abgelaufen
404Code nicht gefunden
500Server-Fehler

API Key (Optional)

Für die Code-Einlösung ist kein API Key erforderlich. Der API Key kann aber für erweiterte Funktionen verwendet werden.

API Key generieren:

  1. 1. Gehe zu deinem Dashboard
  2. 2. Scrolle zum Bereich "Vote-Reward API"
  3. 3. Klicke auf "API Key generieren"
  4. 4. Kopiere den Key (wird nur einmal angezeigt!)

Verwendung:

headers = {
    ['Content-Type'] = 'application/json',
    ['Authorization'] = 'Bearer trp_live_xxxxxxxxxxxx'
}

Brauchst du Hilfe?

Bei Fragen zur API-Integration oder Problemen mit dem Vote-System, kontaktiere uns über Discord.

Discord beitreten