bot.gamelab.cz/v1 · REST API pro odesílání notifikací do mobilní aplikace
Beta · v1Každé zařízení s nainstalovanou aplikací má unikátní token. Token slouží jako identifikátor – zpráva odeslaná s daným tokenem se zobrazí právě na tom zařízení.
Token má formát UUID nebo alfanumerického řetězce délky 8–64 znaků, například:
776452ea-b3c1-4d2e-9f01-7w1e92d626ca
Nejjednodušší metoda – vše je přímo v URL. Vhodné pro browserové záložky, webhook URL v jednoduchých službách nebo rychlé testování.
https://bot.gamelab.cz/v2/send.php?msg=Zpráva&t=VÁŠ_TOKEN
| Parametr | Typ | Popis |
|---|---|---|
msg | povinný | Text zprávy |
t | povinný | Token zařízení |
msg je potřeba URL-enkódovat. Většina prohlížečů a nástrojů to udělá automaticky.Hlavní endpoint podporuje tři různé formáty těla požadavku.
POST /v2/sendMessage.php?token=VÁŠ_TOKEN Host: bot.gamelab.cz Content-Type: application/json { "msg": "Server je přetížen!" }
POST /v2/sendMessage.php?token=VÁŠ_TOKEN Host: bot.gamelab.cz Content-Type: application/x-www-form-urlencoded msg=Server+je+p%C5%99et%C3%AD%C5%BEen%21
POST /v2/sendMessage.php?token=VÁŠ_TOKEN Host: bot.gamelab.cz Content-Type: text/plain Server je přetížen!
| Parametr | Kde | Popis |
|---|---|---|
token | GET query | povinný — token zařízení |
msg | tělo / JSON | povinný — text notifikace |
Alternativní kanál – stačí odeslat e-mail na dedikovanou adresu. Vhodné pro systémy, které umí odesílat e-maily, ale nemají přímý přístup na HTTP API.
To: notification@gamelab.cz Subject: 776452ea-b3c1-4d2e-9f01-7w1e92d626ca Body: Záloha databáze proběhla úspěšně.
E-maily jsou zpracovávány periodicky (cron). Doručení může trvat až 1 minutu od odeslání.
Ideální pro bash skripty, cron joby a serverový monitoring.
curl -X POST \ "https://bot.gamelab.cz/v2/sendMessage.php?token=VÁŠ_TOKEN" \ -H "Content-Type: application/json" \ -d '{"msg":"Disk je plný na 95%!"}'
#!/bin/bash TOKEN="VÁŠ_TOKEN" USAGE=$(df / | awk 'END{print $5}' | tr -d '%') if [ "$USAGE" -gt 90 ]; then curl -s -X POST \ "https://bot.gamelab.cz/v2/sendMessage.php?token=$TOKEN" \ -H "Content-Type: application/json" \ -d "{\"msg\":\"⚠️ Disk ${USAGE}% plný na $(hostname)\"}" fi
- name: Notify on deploy run: | curl -s -X POST \ "https://bot.gamelab.cz/v2/sendMessage.php?token=${{ secrets.NOTIFY_TOKEN }}" \ -H "Content-Type: application/json" \ -d "{\"msg\":\"✅ Deploy dokončen: $GITHUB_REF_NAME\"}"
function sendNotification(string $token, string $msg): bool { $ch = curl_init("https://bot.gamelab.cz/v2/sendMessage.php?token=" . urlencode($token)); curl_setopt_array($ch, [ CURLOPT_POST => true, CURLOPT_RETURNTRANSFER => true, CURLOPT_TIMEOUT => 5, CURLOPT_HTTPHEADER => ['Content-Type: application/json'], CURLOPT_POSTFIELDS => json_encode(['msg' => $msg]), ]); $response = curl_exec($ch); $code = curl_getinfo($ch, CURLINFO_HTTP_CODE); curl_close($ch); return $code === 200; } // Použití: sendNotification("VÁŠ_TOKEN", "Nová objednávka #1042 přijata!");
$token = "VÁŠ_TOKEN"; $msg = "Platba přijata!"; file_get_contents( "https://bot.gamelab.cz/v2/sendMessage.php?token=" . urlencode($token), false, stream_context_create([ 'http' => [ 'method' => 'POST', 'header' => 'Content-Type: application/json', 'content' => json_encode(['msg' => $msg]), ] ]) );
import requests def notify(token: str, msg: str) -> bool: r = requests.post( f"https://bot.gamelab.cz/v2/sendMessage.php", params={"token": token}, json={"msg": msg}, timeout=5 ) return r.status_code == 200 # Použití: notify("VÁŠ_TOKEN", "Cena BTC klesla pod 50 000 USD!")
from apscheduler.schedulers.blocking import BlockingScheduler import requests, psutil TOKEN = "VÁŠ_TOKEN" def check_cpu(): usage = psutil.cpu_percent(interval=1) if usage > 80: requests.post( "https://bot.gamelab.cz/v2/sendMessage.php", params={"token": TOKEN}, json={"msg": f"🔥 CPU vytížení: {usage}%"}, timeout=5 ) scheduler = BlockingScheduler() scheduler.add_job(check_cpu, "interval", minutes=1) scheduler.start()
{
"status": "done",
"message": "Message saved",
"msg": "text vaší zprávy"
}
| Kód | Situace |
|---|---|
200 | Zpráva uložena a odeslána do aplikace |
400 | Chybí parametr token nebo msg |
403 | Token neexistuje nebo není zaregistrován |
500 | Interní chyba serveru (DB) |
Token nebyl předán. Zkontrolujte, že je token v GET parametru URL nebo v těle požadavku.
Token nebyl nalezen v databázi. Ověřte, že aplikace provedla registraci zařízení a token opisujete správně (case-sensitive).
Tělo požadavku je prázdné. Ujistěte se, že posíláte neprázdný msg.
Zkontrolujte, že předmět e-mailu obsahuje pouze token, bez dalšího textu. Zpracování probíhá přes cron – počkejte až 1 minutu.