WebSocket
Endpoint
wss://api.white.market/ws_endpoint
Example connect
JavaScript
Use https://github.com/centrifugal/centrifuge-js.
const centrifuge = new Centrifuge(wsEndpoint, {
debug: true,
token: token
});
centrifuge.on('connecting', function (ctx) {
addResponse('Init', `connecting: ${ctx.code}, ${ctx.reason}`)
}).on('connected', function (ctx) {
addResponse('Init', `connected over ${ctx.transport}`)
}).on('disconnected', function (ctx) {
addResponse('Init', `disconnected: ${ctx.code}, ${ctx.reason}`)
}).on('publication', function(ctx) {
addResponse('Event', JSON.stringify(ctx));
});
// Subscribe products updates
const marketProductsUpdates = centrifuge.newSubscription('market_products_updates');
marketProductsUpdates.on('publication', function(ctx) {
addResponse('Event', JSON.stringify(ctx));
});
marketProductsUpdates.subscribe();
centrifuge.connect();
Golang
Use https://github.com/centrifugal/centrifuge-go.
Example to use library https://github.com/centrifugal/centrifuge-go/blob/master/examples/token_subscription/main.go
Dart
Use https://github.com/centrifugal/centrifuge-dart.
Swift
Use https://github.com/centrifugal/centrifuge-swift.
Java
Use https://github.com/centrifugal/centrifuge-java.
Example to use library https://github.com/centrifugal/centrifuge-java/blob/master/example/src/main/java/io/github/centrifugal/centrifuge/example/Main.java
Python
Use https://github.com/centrifugal/centrifuge-python.
Example to use library https://github.com/centrifugal/centrifuge-python/blob/master/example.py
Other
Connect to endpoint and send:
{"connect":{"token":"JWT_TOKEN","name":"js"},"id":1}
{"subscribe":{"channel":"market_products_updates"},"id":2}
You will receive messages like below:
{"push":{"channel":"market_products_updates","pub":{"data":{"message":{"type":"market_product_edited","content":{"id":"1ef8d741-8ae1-6af4-b225-0242ac150002","price":"2.10"}}"}}}}
General format
{
"channel":"CHANNEL_NAME",
"pub":{
"data":{
"message":"ENCODED_AND_ESCAPED_JSON_CONTENT"
}
}
}
When receiving, you need to unescape and json decode to get the data
Example
{
"channel":"market_products_updates",
"pub":{
"data":{
"message":"{\"type\":\"market_product_added\",\"content\":{\"id\":\"1ef6c2b5-7f94-67c0-8e23-0242ac15000b\",\"app_id\":\"730\",\"asset_id\":\"36857146063\",\"class_id\":\"469440539\",\"instance_id\":\"302028390\",\"price\":\"0.020\",\"name_hash\":\"G3SG1 | Green Apple (Minimal Wear)\",\"inspect_url\":\"steam:\\\/\\\/rungame\\\/730\\\/76561202255233023\\\/+csgo_econ_action_preview%20S76561198283251328A36857146063D14015389653147072601\",\"delivery_type\":\"semi\"}}"
}
}
}