Açıklamalar İngilizce
private-giftcodes.{userId}
Gift codes and reseller status of the key owner: a batch issued, a code changing status, the reseller status and the reseller application changing. Events never carry code values, only masks; the full code comes from GET /reseller/codes and GET /reseller/codes/{uuid}. Key permission: reseller.read.
Kanal parametreleri
Değerlerinizi girin — kanal adında, aşağıdaki kodda ve konsolda görünürler. Hiçbir yere gönderilmez ve asla sayfa adresine yazılmazlar.
is the numeric id of the key owner, returned by GET /user.
Abone olunacak kanal adı
private-giftcodes.{userId}
Adda hâlâ süslü parantez içinde yer tutucular var. Bu adla abone olamazsınız: sunucu kanalları tam ad eşleşmesiyle yetkilendirir.
import Pusher from 'pusher-js';
const pusher = new Pusher('7c4dd881d8116ac76fe89aff71d8c2ff', {
wsHost: 'ws.lumean.app',
wsPort: 443, wssPort: 443,
forceTLS: true,
enabledTransports: ['ws', 'wss'],
cluster: '',
channelAuthorization: {
endpoint: 'https://api.lumean.app/api/public/broadcasting/auth',
headers: { 'X-API-KEY': 'YOUR_API_KEY' },
},
});
const channel = pusher.subscribe('private-giftcodes.{userId}');
channel.bind('status.changed', (data) => {
console.log(data);
});import Echo from 'laravel-echo';
import Pusher from 'pusher-js';
window.Pusher = Pusher;
const echo = new Echo({
broadcaster: 'pusher',
key: '7c4dd881d8116ac76fe89aff71d8c2ff',
wsHost: 'ws.lumean.app',
wsPort: 443, wssPort: 443,
forceTLS: true,
enabledTransports: ['ws', 'wss'],
cluster: '',
authEndpoint: 'https://api.lumean.app/api/public/broadcasting/auth',
auth: { headers: { 'X-API-KEY': 'YOUR_API_KEY' } },
});
echo.private('giftcodes.{userId}')
// baştaki nokta Laravel Echo içindir; pusher-js'te yoktur
.listen('.status.changed', (e) => {
console.log(e);
});# pip install websocket-client requests
import json, requests, websocket
APP_KEY = "7c4dd881d8116ac76fe89aff71d8c2ff"
WS_URL = "wss://ws.lumean.app:443/app/" + APP_KEY + "?protocol=7&client=python&version=1.0"
CHANNEL = "private-giftcodes.{userId}"
ws = websocket.create_connection(WS_URL)
# 1. socket_id değerini pusher:connection_established olayından alın
hello = json.loads(ws.recv())
socket_id = json.loads(hello["data"])["socket_id"]
# 2. özel aboneliği API anahtarınızla yetkilendirin
auth = requests.post("https://api.lumean.app/api/public/broadcasting/auth",
headers={"X-API-KEY": "YOUR_API_KEY"},
data={"socket_id": socket_id, "channel_name": CHANNEL},
).json()["auth"]
# 3. abone olun ve olayları dinleyin
ws.send(json.dumps({"event": "pusher:subscribe",
"data": {"auth": auth, "channel": CHANNEL}}))
while True:
print(ws.recv())Payload örneği
Kanal: private-giftcodes.{userId}
Bu, spesifikasyondan bir örnektir. Bağlantı yok ve taklit de edilmiyor: gerçekten abone olmak için API anahtarınız gerekir.
.status.changed
{
"gift_code": {
"uuid": "a2467160-ceab-4ab6-8095-7a0fafda7648",
"code_masked": "LUM-****-****-SNKG",
"nominal": 10000000000,
"nominal_formatted": 100000000,
"source": "purchase",
"funding": "crypto",
"status": "active",
"activatable_at": "2026-10-10T14:47:14+00:00",
"redeemed_at": "2026-10-10T14:48:14+00:00",
"cancelled_at": "2026-10-10T14:48:14+00:00",
"created_at": "2026-10-10T14:48:14+00:00",
"currency_asset": {
"code": "LUMC",
"precision": 2
}
}
}Kanal olayları: 4
Her olayın kendi çapa bağlantısı, açıklamalar ve enum değerleriyle tam bir payload tablosu ve örnek bir yapısı vardır. Adlar Laravel Echo gösteriminde, yani baştaki noktayla gösterilir.
.status.changed
Echo: .status.changed · pusher-js: status.changed
A gift code changed status.
Payload alanları
gift_codezorunluobject
currency_assetzorunluobject
Payload örneği
{
"gift_code": {
"uuid": "a2467160-ceab-4ab6-8095-7a0fafda7648",
"code_masked": "LUM-****-****-SNKG",
"nominal": 10000000000,
"nominal_formatted": 100000000,
"source": "purchase",
"funding": "crypto",
"status": "active",
"activatable_at": "2026-10-10T14:47:14+00:00",
"redeemed_at": "2026-10-10T14:48:14+00:00",
"cancelled_at": "2026-10-10T14:48:14+00:00",
"created_at": "2026-10-10T14:48:14+00:00",
"currency_asset": {
"code": "LUMC",
"precision": 2
}
}
}Değerler, spesifikasyonda bulunduğu yerde oradan alınır; geri kalanlar türe dayalı yer tutuculardır. Bu, olayın yapısıdır, gerçek bir olayın kaydı değildir.
.issued
Echo: .issued · pusher-js: issued
A batch of gift codes was issued: the batch summary, without code values.
Payload alanları
batchzorunluobject
currency_assetzorunluobject
Payload örneği
{
"batch": {
"uuid": "0a926d68-e974-4220-aab2-7952b111f170",
"source": "purchase",
"codes_count": 1,
"nominal_total": 0,
"nominal_total_formatted": 0,
"created_at": "2026-10-10T14:48:13+00:00",
"currency_asset": {
"code": "LUMC",
"precision": 2
}
}
}Değerler, spesifikasyonda bulunduğu yerde oradan alınır; geri kalanlar türe dayalı yer tutuculardır. Bu, olayın yapısıdır, gerçek bir olayın kaydı değildir.
.reseller.application.status.changed
Echo: .reseller.application.status.changed · pusher-js: reseller.application.status.changed
The status of the reseller application changed.
Payload alanları
applicationzorunluobject
Payload örneği
{
"application": {
"id": 14,
"status": "pending",
"admin_comment": "example",
"reviewed_at": "2026-10-10T14:48:15+00:00",
"created_at": "2026-10-10T14:48:15+00:00"
}
}Değerler, spesifikasyonda bulunduğu yerde oradan alınır; geri kalanlar türe dayalı yer tutuculardır. Bu, olayın yapısıdır, gerçek bir olayın kaydı değildir.
.reseller.status.changed
Echo: .reseller.status.changed · pusher-js: reseller.status.changed
The reseller status changed.
Payload alanları
resellerzorunluobject
currency_assetzorunluobject
Payload örneği
{
"reseller": {
"id": 1,
"status": "active",
"discount_bps": 0,
"blocked_reason": "example",
"approved_at": "2026-10-12T15:55:20+00:00",
"currency_asset": {
"code": "LUMC",
"precision": 2
}
}
}Değerler, spesifikasyonda bulunduğu yerde oradan alınır; geri kalanlar türe dayalı yer tutuculardır. Bu, olayın yapısıdır, gerçek bir olayın kaydı değildir.
Tüm kanallar ve bağlantı parametreleri·POST /broadcasting/auth
Bu sayfayı yapay zekâya verin
spesifikasyon 0.0.1