Skip to main content

Server Callbacks

Callbacks are request/response calls from the client to the server — unlike Server Events, they return a value. RoadPhone registers all of them through the Bridge system:
The Bridge maps callbacks onto the active framework: ESX.TriggerServerCallback, QBCore.Functions.TriggerCallback, lib.callback (Qbox) or an internal net-event protocol (standalone, with a 10s timeout). Because of that, other resources can call these callbacks through their framework’s native callback mechanism as well.Most callbacks return one value; a few return two (e.g. the backup callbacks and roadphone:mechanic:resetPin call cb(success, resultOrError)) — your handler function then receives two arguments.
As with events, identity is server-authoritative: callbacks resolve the caller’s phone number, identifier, job and account sessions from source. Client-supplied account IDs are ignored.
App names and internal identifiers differ on purpose: Connect events still carry the instagram prefix, Glimpse uses snapy, TweetWave uses twitter. Renaming them would break every existing install, so the identifiers stay as they are.

Core Phone

Radio

Bank & Billing

Housing

All delegate to the configured housing-system adapter; write operations enforce ownership in the adapter.

Valet

Backup

Gated by Config.BackupEnabled. These callbacks return two values: cb(success, resultOrMessage).

Cloud Account (RoadID)

Admin

All gated by ACE permission roadphone.phoneadmin.

GPS / Games / Jobs / Custom Apps / GIFs


Messages & Mail

FaceTime

Service (Dispatch & Business)

The management* callbacks are rate-limited and require management permission (job + grade).

Taxi / Calendar / Notes / Reminders / Voice Memos

Music / Crypto / Health / RoadDrop

DarkChat

All rate-limited; every response uses an { ok = bool, error? } envelope (rate_limited, no_phone, not_member, forbidden, …).

Connect

Connect DMs & Live

TweetWave

Glimpse

All resolve identity via the server session; the NUI-supplied accountId is always overridden.

Loop

The short-video app. Gated by Config.Loop; every callback resolves the caller’s Loop account from the server-side session — a client-supplied account ID is never trusted.

Account & profile

Feed & posts

Reactions & comments

Social graph & messages

Sounds & collections

Live

Economy

Moderation

Moderation callbacks require the moderator permission from roadphone:loop:getPermissions — they are not open to every account.

Find My

Location sharing between phone numbers, gated by Config.FindMy. Shares expire on their own; a permanent share is one without a duration.

Addons