Player ID Checker API

Satu endpoint untuk mengecek Player ID dan mendapatkan username — untuk game Higgs Games Island (HGI) dan Royal Dream.

JSON over HTTP Tanpa API key HGI & Royal Dream

Ringkasan

API ini menerima game dan player_id, lalu mengembalikan username pemain kalau ditemukan. Di baliknya API ini memeriksa beberapa layanan sekaligus supaya hasilnya tetap bisa didapat walau salah satu layanan sedang bermasalah — tapi itu semua ditangani di dalam; kamu hanya perlu bicara dengan satu endpoint ini.

Semua contoh di halaman ini memakai http://localhost:8000. Ganti dengan base URL tempat API ini kamu deploy.

Mulai cepat

Kirim game dan player_id sebagai JSON:

cURL
curl -X POST http://localhost:8000/api/check-id \
  -H "Content-Type: application/json" \
  -d '{"game":"HGI","player_id":"93473888"}'
Response
{
  "success": true,
  "code": "SUCCESS",
  "message": "Player ID berhasil ditemukan.",
  "data": {
    "game": "HGI",
    "player_id": "93473888",
    "username": "saldhy026"
  }
}

POSTCek Player ID/api/check-id

Endpoint utama. GET dengan query string juga didukung, khusus untuk keperluan testing di browser.

Parameter

NamaTipeWajibKeterangan
gamestringYaLihat daftar nama game yang diterima di bawah — tidak case-sensitive.
player_idstringYaHanya angka, panjang 4–20 digit.

Nama game yang diterima

GameNilai yang diterima (bebas huruf besar/kecil)
Higgs Games Islandhgi, higgs, higgs_domino, higgs-domino, kartu_higgs, kartu-higgs
Royal Dreamryl, royal, royal_dream, royal-dream

Response sukses — 200

200 OK
{
  "success": true,
  "code": "SUCCESS",
  "message": "Player ID berhasil ditemukan.",
  "data": {
    "game": "HGI",
    "player_id": "93473888",
    "username": "saldhy026"
  }
}

Player ID tidak ditemukan — 404

404 Not Found
{
  "success": false,
  "code": "PLAYER_NOT_FOUND",
  "message": "Player ID tidak ditemukan.",
  "data": {
    "game": "HGI",
    "player_id": "999999999999"
  }
}
data selalu bernilai null pada response gagal, kecuali pada PLAYER_NOT_FOUND yang tetap menyertakan game dan player_id yang dikirim.

Contoh kode

Pilih bahasa yang kamu pakai:

cURL
curl -X POST https://api-domain-kamu.com/api/check-id \
  -H "Content-Type: application/json" \
  -d '{"game":"ROYAL_DREAM","player_id":"25163380"}'
JavaScript (fetch)
const res = await fetch("https://api-domain-kamu.com/api/check-id", {
  method: "POST",
  headers: { "Content-Type": "application/json" },
  body: JSON.stringify({ game: "ROYAL_DREAM", player_id: "25163380" }),
});

const result = await res.json();

if (result.success) {
  console.log(result.data.username);
} else {
  console.log(result.code, result.message);
}
PHP (cURL)
$ch = curl_init("https://api-domain-kamu.com/api/check-id");
curl_setopt_array($ch, [
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_POST => true,
    CURLOPT_HTTPHEADER => ["Content-Type: application/json"],
    CURLOPT_POSTFIELDS => json_encode([
        "game" => "ROYAL_DREAM",
        "player_id" => "25163380",
    ]),
]);

$result = json_decode(curl_exec($ch), true);

if ($result["success"]) {
    echo $result["data"]["username"];
} else {
    echo $result["code"] . ": " . $result["message"];
}

Kode error

Semua response error memakai bentuk yang sama: { success, code, message, data }. Gunakan field code untuk logika program kamu — bukan message, karena isinya bisa berubah.

HTTPCodePenyebab
400GAME_REQUIREDField game tidak dikirim atau kosong.
400PLAYER_ID_REQUIREDField player_id tidak dikirim atau kosong.
400INVALID_GAMENilai game tidak ada di daftar yang didukung.
400INVALID_PLAYER_IDplayer_id bukan angka, atau panjangnya di luar 4–20 digit.
404PLAYER_NOT_FOUNDFormat ID valid, tapi memang tidak ada pemain dengan ID tersebut.
429RATE_LIMITEDTerlalu banyak request dari IP yang sama — lihat bagian rate limit.
503ALL_PROVIDERS_FAILEDSemua layanan pengecekan di belakang layar sedang tidak bisa diakses. Coba lagi beberapa saat.

GETCek status API/health

Dipakai untuk memastikan API-nya sendiri hidup — tidak memeriksa status layanan di belakangnya.

Response
{
  "success": true,
  "code": "ONLINE",
  "message": "API online.",
  "data": { "status": "online" }
}

Rate limit & cache

Setiap IP dibatasi jumlah requestnya per menit. Kalau kena limit, API membalas 429 RATE_LIMITED — tunggu sebentar lalu coba lagi.

Hasil pencarian yang berhasil disimpan sementara, jadi mengecek player_id yang sama berulang dalam waktu singkat akan mendapat jawaban lebih cepat.

Jangan lakukan pengecekan massal ke banyak Player ID sekaligus dalam waktu singkat — di luar soal rate limit, ini juga membebani layanan yang dipakai API ini di belakang layar.

Pertanyaan umum

Kenapa hasilnya PLAYER_NOT_FOUND padahal saya yakin ID-nya benar?
Periksa dulu apakah game yang dikirim sudah sesuai dengan game tempat ID itu terdaftar — ID di HGI dan Royal Dream adalah ruang nomor yang terpisah.

Kenapa kadang saya dapat 503 ALL_PROVIDERS_FAILED?
Artinya semua layanan pengecekan di belakang layar sedang bermasalah bersamaan — biasanya sementara. Coba lagi setelah beberapa saat.

Apakah butuh API key?
Tidak. Endpoint ini terbuka, tapi tetap dibatasi rate limit per IP.