const socket = new WebSocket('wss://gateway.truckershub.in/'); socket.addEventListener("open", () => { socket.send( JSON.stringify({ type: "AUTH", data: { subscribe_to: { all_drivers: true, }, game: "ets2" }, }), ); }); socket.addEventListener("message", ({ data: message }) => { let { type, data } = JSON.parse(message); if (type === "AUTH_ACK") { setInterval(() => { socket.send( JSON.stringify({ type: "HEART_BEAT", }), ); }, data.heartbeat_interval * 1000); } if (type === "PLAYER_DATA" || type === "NEW_EVENT") { console.log(data) } });
Type: AUTH
Parameter | Type | Optional |
---|---|---|
subscribe_to.all_drivers
|
Boolean
|
Yes
|
subscribe_to.to_drivers
|
Array
|
Yes
|
subscribe_to.to_driver
|
String
|
Yes
|
subscribe_to.to_company
|
Number
|
Yes
|
game
|
String
(ets2 or ats)
|
Yes
|
Type: AUTH_ACK
Type: PLAYER_DATA
Type: PLAYER_ONLINE
Type: PLAYER_OFFLINE
Type: NEW_EVENT
Parameter | Type |
---|---|
id
|
Number
|
TMPID
|
Number
|
name
|
String
|
ownerID
|
Number
|
owner
|
String
|
country
|
String
|
logo
|
String
|
banner
|
String
|
description
|
String
|
website
|
String
|
social.discord
|
String
|
social.youtube
|
String
|
social.twitch
|
String
|
social.instagram
|
String
|
social.twitter
|
String
|
social.facebook
|
String
|
statistics.distance
|
Number
|
statistics.earnings
|
Number
|
statistics.xp
|
Number
|
statistics.THP
|
Number
|
statistics.cargoMass
|
Number
|
statistics.fuel
|
Number
|
statistics.jobs
|
Number
|
statistics.revenue
|
Number
|
statistics.online
|
Number
|
createdAt
|
String
|
awards
|
Array
|
banlist
|
Array
|
goal.limit
|
Number
|
goal.gtype
|
String
|
Parameter | Type |
---|---|
autoParked
|
Boolean
|
isTruckersMP
|
Boolean
|
isConvoyFeature
|
Boolean
|
isSpecial
|
Boolean
|
isOffer
|
Boolean
|
isSim
|
Boolean
|
driver
|
Driver Object
|
source.city.id
|
String
|
source.city.name
|
String
|
source.company.id
|
String
|
source.company.name
|
String
|
destination.city.id
|
String
|
destination.city.name
|
String
|
destination.company.id
|
String
|
destination.company.name
|
String
|
cargo.id
|
String
|
cargo.name
|
String
|
cargo.mass
|
Number
|
cargo.unit_mass
|
Number
|
cargo.damage
|
Number
|
cargo.language
|
String
|
truck.ownTruck
|
Boolean
|
truck.ownTruckID
|
Number
|
truck.id
|
String
|
truck.name
|
String
|
truck.model.id
|
String
|
truck.model.name
|
String
|
truck.odometer
|
Number
|
truck.initialOdometer
|
Number
|
truck.current_damage.cabin
|
Number
|
truck.current_damage.chassis
|
Number
|
truck.current_damage.engine
|
Number
|
truck.current_damage.transmission
|
Number
|
truck.current_damage.wheels
|
Number
|
truck.current_damage.total
|
Number
|
truck.licensePlate.value
|
String
|
truck.licensePlate.country.id
|
String
|
truck.licensePlate.country.name
|
String
|
trailer.name
|
String
|
trailer.bodyType
|
String
|
trailer.chainType
|
String
|
trailer.wheels
|
Number
|
trailer.brand.id
|
String
|
trailer.brand.name
|
String
|
trailer.damage.cargo
|
Number
|
trailer.damage.chassis
|
Number
|
trailer.damage.wheels
|
Number
|
trailer.damage.total
|
Number
|
trailer.licensePlate.value
|
String
|
trailer.licensePlate.country.name
|
String
|
trailer.licensePlate.country.id
|
String
|
game.id
|
String
|
game.name
|
String
|
game.version
|
String
|
multiplayer.type
|
String
|
multiplayer.server
|
String
|
multiplayer.playerID
|
Number
|
market.id
|
String
|
market.name
|
String
|
topSpeed
|
Number
(in meters per second).
|
avgSpeed
|
Number
(in meters per second).
|
income
|
Number
($ for ATS & € for ETS2).
|
distanceDriven
|
Number
(in km).
|
plannedDistance
|
Number
(in km).
|
fuel.current
|
Number
|
fuel.burned
|
Number
|
fuel.purchased
|
Number
|
realtime.start
|
Date
|
realtime.end
|
Date
|
realtime.timeTaken
|
Number
|
expectedDeliveryTimestamp
|
Number
|
deliveredTimestamp
|
Number
|
earnedXP
|
Number
|
events
|
Array
|
mods
|
Array
|
clientVersion
|
String
|
THP
|
Number
|
THP_details
|
Object
|
revenue
|
Number
|
revenue_details
|
Object
|
rating
|
Number
|
jobID
|
Number
|
Parameter | Type |
---|---|
scenario
|
String
|
status
|
String
|
score
|
Number
|
totalScore
|
Number
|
driver
|
Driver Object
|
truck.id
|
String
|
truck.name
|
String
|
truck.model.id
|
String
|
truck.model.name
|
String
|
truck.odometer
|
Number
|
truck.initialOdometer
|
Number
|
truck.current_damage.cabin
|
Number
|
truck.current_damage.chassis
|
Number
|
truck.current_damage.engine
|
Number
|
truck.current_damage.transmission
|
Number
|
truck.current_damage.wheels
|
Number
|
truck.current_damage.total
|
Number
|
trailer.name
|
String
|
trailer.bodyType
|
String
|
trailer.chainType
|
String
|
trailer.wheels
|
Number
|
trailer.brand.id
|
String
|
trailer.brand.name
|
String
|
trailer.damage.chassis
|
Number
|
trailer.damage.wheels
|
Number
|
trailer.damage.total
|
Number
|
game.id
|
String
|
game.name
|
String
|
game.version
|
String
|
realtime.start
|
Date
|
realtime.end
|
Date
|
realtime.timeTaken
|
Number
|
goal_values
|
Array
|
goal_scores
|
Array
|
clientVersion
|
String
|
THP
|
Number
|
THP_details
|
Object
|
scenarioID
|
Number
|
Parameter | Type |
---|---|
username
|
String
|
steamID
|
String
|
userID
|
Number
|
avatar
|
String
|
country
|
String
|
countryCode
|
String
|
timezone
|
String
|
utcOffset
|
String
|
games
|
Array
|
client.isInstalled
|
Boolean
|
client.version
|
String
|
client.branch
|
String
|
client.isLatest
|
Boolean
|
client.lastActive
|
Date
|
isBanned
|
Boolean
|
awards
|
Array
|
awards.image
|
String
|
awards.title
|
String
|
awards.amount
|
String
|
awards.date
|
String
|
awards.time
|
Number
|
level
|
Number
|
skills
|
Skilles Object
|
statistics.THP.max
|
Number
|
statistics.THP.avg
|
Number
|
statistics.THP.min
|
Number
|
statistics.THP.total
|
Number
|
statistics.rating.max
|
Number
|
statistics.rating.avg
|
Number
|
statistics.rating.min
|
Number
|
statistics.distance.max
|
Number
|
statistics.distance.avg
|
Number
|
statistics.distance.min
|
Number
|
statistics.distance.total
|
Number
|
statistics.income.max
|
Number
|
statistics.income.avg
|
Number
|
statistics.income.min
|
Number
|
statistics.income.total
|
Number
|
statistics.revenue.max
|
Number
|
statistics.revenue.avg
|
Number
|
statistics.revenue.min
|
Number
|
statistics.revenue.total
|
Number
|
statistics.XP.max
|
Number
|
statistics.XP.avg
|
Number
|
statistics.XP.min
|
Number
|
statistics.XP.total
|
Number
|
statistics.weight.max
|
Number
|
statistics.weight.avg
|
Number
|
statistics.weight.min
|
Number
|
statistics.weight.total
|
Number
|
statistics.fuelBurned.max
|
Number
|
statistics.fuelBurned.avg
|
Number
|
statistics.fuelBurned.min
|
Number
|
statistics.fuelBurned.total
|
Number
|
statistics.speed.max
|
Number
|
statistics.speed.avg
|
Number
|
statistics.speed.min
|
Number
|
statistics.jobs
|
Number
|
balance
|
Number
|
Parameter | Type |
---|---|
driver
|
String
|
game
|
String
|
data
|
Driver Object
|
Parameter | Type |
---|---|
driver
|
String
|
game
|
String
|
data
|
Driver Object
|
Parameter | Type |
---|---|
type
|
String
|
driver
|
String
|
game
|
String
|
details.expectedDeliveryTimestamp
|
Object
|
details.plannedDistance
|
Object
|
details.cargo
|
Object
|
details.isSpecial
|
Boolean
|
details.destination.city
|
Object
|
details.destination.company
|
Object
|
details.source.city
|
Object
|
details.source.company
|
Object
|
details.market
|
Object
|
details.income
|
Number
|
details.autoLoaded
|
Boolean
|
Parameter | Type |
---|---|
type
|
String
|
driver
|
String
|
game
|
String
|
details.expectedDeliveryTimestamp
|
Object
|
details.plannedDistance
|
Object
|
details.cargo
|
Object
|
details.isSpecial
|
Boolean
|
details.destination.city
|
Object
|
details.destination.company
|
Object
|
details.source.city
|
Object
|
details.source.company
|
Object
|
details.market
|
Object
|
details.income
|
Number
|
details.penalty
|
Number
|
details.startedTimestamp
|
Object
|
details.cancelledTimestamp
|
Object
|
Parameter | Type |
---|---|
type
|
String
|
driver
|
String
|
game
|
String
|
details.cabin
|
Number
(Multiply by 100 to get %)
|
details.chassis
|
Number
(Multiply by 100 to get %)
|
details.engine
|
Number
(Multiply by 100 to get %)
|
details.transmission
|
Number
(Multiply by 100 to get %)
|
details.wheels
|
Number
(Multiply by 100 to get %)
|
details.total
|
Number
(Multiply by 100 to get %)
|
Parameter | Type |
---|---|
vtcID
|
Number
|
headquater
|
String
|
headquaterATS
|
String
|
balance
|
Number
|
cities
|
Array
|
cities.name
|
String
|
cities.id
|
String
|
cities.game
|
Number
|
cities.companies
|
Array
|
jobs
|
Simulation Job Object
|
market
|
Simulation Job Object
|
finance
|
Simulation Finances Object
|
Parameter | Type |
---|---|
id
|
Number
|
TMPID
|
Number
|
vtc.id
|
Number
|
vtc.name
|
String
|
vtc.logo
|
String
|
user.userID
|
Number
|
user.username
|
String
|
game
|
String
|
server
|
String
|
title
|
String
|
description
|
String
|
meetupTime
|
Date
|
startTime
|
Date
|
source.city
|
String
|
source.location
|
String
|
destination.city
|
String
|
destination.location
|
String
|
banner
|
String
|
route
|
String
|
eventType
|
String
|
dlcs
|
Array
|
links.communication
|
String
|
links.external
|
String
|
isSlot
|
Boolean
|
slotURL
|
Array
|
slotBookings
|
Array
|
attendances.users
|
Array
|
attendances.vtcs
|
Array
|
created
|
Date
|
updated
|
Date
|
slotCount
|
Number
|
In case of any issues faced feel free to ask out in our discord server .