Beschreibungen auf Englisch
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.
Kanalparameter
Tragen Sie Ihre Werte ein — sie erscheinen im Kanalnamen, im Code darunter und in der Konsole. Sie werden nirgends gesendet und landen nie in der Seiten-URL.
is the numeric id of the key owner, returned by GET /user.
Kanalname für das Abo
private-giftcodes.{userId}
Der Name enthält noch Platzhalter in geschweiften Klammern. Damit lässt sich nicht abonnieren: Der Server autorisiert Kanäle nach exaktem Namen.
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}')
// der führende Punkt gilt für Laravel Echo; pusher-js kennt ihn nicht
.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 aus dem Ereignis pusher:connection_established holen
hello = json.loads(ws.recv())
socket_id = json.loads(hello["data"])["socket_id"]
# 2. privates Abo mit dem eigenen API-Schlüssel autorisieren
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. abonnieren und Ereignisse empfangen
ws.send(json.dumps({"event": "pusher:subscribe",
"data": {"auth": auth, "channel": CHANNEL}}))
while True:
print(ws.recv())Payload-Beispiel
Kanal: private-giftcodes.{userId}
Dies ist ein Beispiel aus der Spezifikation. Es besteht keine Verbindung und es wird auch keine vorgetäuscht: Für ein echtes Abo brauchen Sie Ihren API-Schlüssel.
.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
}
}
}Kanalereignisse: 4
Jedes Ereignis hat einen eigenen Anker, eine vollständige Payload-Tabelle mit Beschreibungen und Enums sowie ein Formbeispiel. Die Namen stehen in Laravel-Echo-Notation — mit führendem Punkt.
.status.changed
Echo: .status.changed · pusher-js: status.changed
A gift code changed status.
Payload-Felder
gift_codeerforderlichobject
currency_asseterforderlichobject
Payload-Beispiel
{
"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
}
}
}Die Werte stammen aus der Spezifikation, soweit vorhanden; der Rest sind typbasierte Platzhalter. Das ist die Form des Ereignisses, keine Aufzeichnung eines echten.
.issued
Echo: .issued · pusher-js: issued
A batch of gift codes was issued: the batch summary, without code values.
Payload-Felder
batcherforderlichobject
currency_asseterforderlichobject
Payload-Beispiel
{
"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
}
}
}Die Werte stammen aus der Spezifikation, soweit vorhanden; der Rest sind typbasierte Platzhalter. Das ist die Form des Ereignisses, keine Aufzeichnung eines echten.
.reseller.application.status.changed
Echo: .reseller.application.status.changed · pusher-js: reseller.application.status.changed
The status of the reseller application changed.
Payload-Felder
applicationerforderlichobject
Payload-Beispiel
{
"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"
}
}Die Werte stammen aus der Spezifikation, soweit vorhanden; der Rest sind typbasierte Platzhalter. Das ist die Form des Ereignisses, keine Aufzeichnung eines echten.
.reseller.status.changed
Echo: .reseller.status.changed · pusher-js: reseller.status.changed
The reseller status changed.
Payload-Felder
resellererforderlichobject
currency_asseterforderlichobject
Payload-Beispiel
{
"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
}
}
}Die Werte stammen aus der Spezifikation, soweit vorhanden; der Rest sind typbasierte Platzhalter. Das ist die Form des Ereignisses, keine Aufzeichnung eines echten.
Alle Kanäle und Verbindungsparameter·POST /broadcasting/auth
Diese Seite einer KI geben
Spezifikation 0.0.1