Exports

Exports Documentation

Client Exports

Opening the App

-- Open the Zelp app
exports['lb-zelp']:openZelpApp()

Description: Opens the Zelp app in the player's phone.

Parameters: None

Returns: boolean - Success status

Example:

-- Open Zelp when player uses a command
RegisterCommand('zelp', function()
    exports['lb-zelp']:openZelpApp()
end)

User Authentication

-- Check if user is logged in
local isLoggedIn = exports['lb-zelp']:isUserLoggedIn()

Description: Checks if the current player has a Zelp account.

Parameters: None

Returns: boolean - True if user is logged in

Example:

-- Check login status before allowing actions
if exports['lb-zelp']:isUserLoggedIn() then
    -- User has Zelp account
else
    -- User needs to create account
end

User Data

-- Get current user data
local userData = exports['lb-zelp']:getCurrentUser()

Description: Retrieves the current user's Zelp account data.

Parameters: None

Returns: table - User account data or nil if not logged in

Example:

local userData = exports['lb-zelp']:getCurrentUser()
if userData then
    print("User: " .. userData.displayName)
    print("Business: " .. tostring(userData.isBusinessAccount))
end

Account Management

-- Create user account
local success = exports['lb-zelp']:createAccount(username, displayName, password)

Description: Creates a new Zelp account for the current player.

Parameters:

  • username (string) - Unique username

  • displayName (string) - Display name

  • password (string) - Account password

Returns: boolean - Success status

Example:

-- Create account from another resource
local success = exports['lb-zelp']:createAccount("john_doe", "John Doe", "password123")
if success then
    print("Account created successfully")
end

Server Exports

User Account Data

-- Get user account data
local accountData = exports['lb-zelp']:getUserAccount(source)

Description: Retrieves Zelp account data for a specific player.

Parameters:

  • source (number) - Player server ID

Returns: table - Account data or nil if not found

Example:

-- Get account data for player
local accountData = exports['lb-zelp']:getUserAccount(source)
if accountData then
    print("Player has Zelp account: " .. accountData.displayName)
end

Business Account Check

-- Check if user is business owner
local isBusiness = exports['lb-zelp']:isBusinessAccount(source)

Description: Checks if a player owns a business account.

Parameters:

  • source (number) - Player server ID

Returns: boolean - True if player has business account

Example:

-- Check business status
if exports['lb-zelp']:isBusinessAccount(source) then
    -- Player owns a business
    -- Give business-specific permissions
end

User Reviews

-- Get user reviews
local reviews = exports['lb-zelp']:getUserReviews(source)

Description: Retrieves all reviews written by a specific player.

Parameters:

  • source (number) - Player server ID

Returns: table - Array of review objects

Example:

-- Get player's reviews
local reviews = exports['lb-zelp']:getUserReviews(source)
for i, review in ipairs(reviews) do
    print("Review " .. i .. ": " .. review.review_text)
end

Business Reviews

-- Get business reviews
local reviews = exports['lb-zelp']:getBusinessReviews(businessId)

Description: Retrieves all reviews for a specific business.

Parameters:

  • businessId (number) - Business ID

Returns: table - Array of review objects

Example:

-- Get reviews for business
local reviews = exports['lb-zelp']:getBusinessReviews(123)
print("Business has " .. #reviews .. " reviews")

Account Creation

-- Create account from server
local success = exports['lb-zelp']:createUserAccount(source, username, displayName, password, isBusiness)

Description: Creates a Zelp account for a player from the server side.

Parameters:

  • source (number) - Player server ID

  • username (string) - Unique username

  • displayName (string) - Display name

  • password (string) - Account password

  • isBusiness (boolean) - Whether it's a business account

Returns: boolean - Success status

Example:

-- Create business account
local success = exports['lb-zelp']:createUserAccount(source, "restaurant", "Best Restaurant", "password", true)
if success then
    print("Business account created")
end

Review Management

-- Create review from server
local success = exports['lb-zelp']:createReview(source, businessId, rating, reviewText, images)

Description: Creates a review for a player from the server side.

Parameters:

  • source (number) - Player server ID

  • businessId (number) - Business ID

  • rating (number) - Rating (1-5)

  • reviewText (string) - Review text

  • images (table) - Array of image URLs (optional)

Returns: boolean - Success status

Example:

-- Create review programmatically
local success = exports['lb-zelp']:createReview(source, 123, 5, "Great service!", {"image1.jpg", "image2.jpg"})
if success then
    print("Review created successfully")
end

Data Validation

-- Validate username
local isValid = exports['lb-zelp']:validateUsername(username)

Description: Validates a username format.

Parameters:

  • username (string) - Username to validate

Returns: boolean - True if valid

Example:

-- Validate username before creating account
if exports['lb-zelp']:validateUsername(username) then
    -- Username is valid
else
    -- Username is invalid
end


For additional export functions or custom integrations, please contact our support team.

Last updated