ChellStore Developer Reference

API Reseller Netflix: Docs & Testbench

Dokumentasi spesifikasi teknis REST API ChellStore. Gunakan endpoint ini untuk menghubungkan bot Telegram, toko WhatsApp otomatis, atau web jualan Anda langsung ke inventory akun Netflix bergaransi resmi, check session, dispatch stok, dan auto-replace garansi via Invoice ID.

Harga Paket
Rp 150.000 / 30 hari
Daily Quota
2.000 req / hari
Cache Latency
15 - 30 ms (Turso)
Protokol
TLS 1.3 • JSON
Production Base URL https://chellhub.web.id/api/v1

Autentikasi & HTTP Headers

Semua request privat wajib menyertakan API Key pada header HTTP. Jangan pernah membocorkan API Key di repository publik.

Header Wajib: X-API-Key

Kirimkan token lisensi yang Anda peroleh dari bot Telegram pada setiap HTTP request ke endpoint bertanda Auth Required.

X-API-Key: csk_live_9f82ab4c...

Idempotency-Key (Rekomendasi)

Gunakan UUID unik pada endpoint pembayaran/dispatch untuk mencegah pemotongan kuota atau klaim dobel bila jaringan reseller mengalami timeout.

Idempotency-Key: 7b3e210a-8d14-41ac...
Header Tipe Wajib Deskripsi & Aturan
X-API-Key string Wajib Lisensi autentikasi reseller aktif. Otomatis menolak request bila masa aktif lisensi habis (HTTP 401).
Content-Type string Wajib (POST) Wajib bernilai application/json untuk semua endpoint dengan request body.
Idempotency-Key string Opsional Kunci unik per transaksi untuk mencegah double charge / duplicate dispatch pada network retry.

Kuota Harian & Rate Limiting

Setiap API Key mendapatkan jatah 2.000 requests per hari dengan kuota reset otomatis pukul 00:00 WIB.

Gateway menyertakan metadata kuota pada setiap response header agar bot Anda dapat memantau sisa kuota secara berkala:

X-RateLimit-Limit: 2000
X-RateLimit-Remaining: 1942
X-RateLimit-Reset: 1735689600 (Unix Timestamp)

Katalog 7 Endpoint REST API

Spesifikasi lengkap method, path, parameter body, dan response JSON dari Gateway.

GET /api/v1/health
Tanpa Kuota Publik

Memeriksa kesehatan gateway, status koneksi database cache Turso, serta beban antrean pemrosesan worker.

cURL Request
curl -s https://chellhub.web.id/api/v1/health
Response (HTTP 200 OK)
{
  "ok": true,
  "gateway": "up",
  "version": "1.0.0",
  "timestamp": 1735640100,
  "pending_jobs": 0
}
GET /api/v1/stock
Tanpa Kuota Fast-Path Cache

Mengambil jumlah ketersediaan stok akun Netflix siap pakai dari edge cache Turso dengan latensi 15-30ms.

cURL Request
curl -s https://chellhub.web.id/api/v1/stock
Response (HTTP 200 OK)
{
  "ok": true,
  "premium_ready": 48,
  "standard_ready": 12,
  "cached_at": 1735640102
}
POST /api/v1/check
Auth Required 1 Kuota

Memvalidasi string cookie Netscape atau JSON session Netflix secara real-time untuk memastikan sesi masih aktif dan mendeteksi paket langganan.

ParameterTipeWajibDeskripsi
cookie string Wajib String cookie format Netscape / curl cookie file atau JSON array token NetflixId.
Request Body (JSON)
{
  "cookie": ".netflix.com\tTRUE\t/\tFALSE\t0\tNetflixId\tv%3D2%26ct%3D..."
}
Response (HTTP 200 OK)
{
  "valid": true,
  "plan": "PREMIUM_4K_UHD",
  "country": "ID",
  "screens_max": 4,
  "checked_at": 1735640120
}
POST /api/v1/convert
Auth Required 1 Kuota

Mengonversi sesi cookie mentah menjadi tautan instan Fast Login berenkripsi sekali pakai, sehingga pembeli Anda dapat langsung masuk tanpa input manual.

ParameterTipeWajibDeskripsi
cookie string Wajib String cookie Netflix aktif yang hendak diterbitkan login tokennya.
Request Body
{
  "cookie": ".netflix.com\tTRUE\t/\tFALSE\t0\tNetflixId\tv%3D2%26ct%3D..."
}
Response (HTTP 200 OK)
{
  "ok": true,
  "token": "fl_tok_89fa1182bc99",
  "fast_login_url": "https://chellhub.web.id/login?token=fl_tok_89fa1182bc99",
  "expires_in": 3600
}
POST /api/v1/dispatch
Auth Required 1 Kuota

Mengambil stok akun dari inventory dan secara otomatis mendaftarkan garansi resmi dengan mengaitkan external_invoice_id toko Anda.

ParameterTipeWajibDeskripsi
plan string Wajib Pilihan paket: "Premium" atau "Standard".
qty integer Wajib Jumlah akun yang diambil (maksimal 5 akun per request).
external_invoice_id string Wajib Nomor invoice unik dari bot/toko reseller Anda (contoh: INV-BOT-9812).
warranty_days integer Opsional Masa aktif garansi dalam hari (default 30 hari).
Request Body
{
  "plan": "Premium",
  "qty": 1,
  "external_invoice_id": "INV-BOT-9812",
  "warranty_days": 30
}
Response (HTTP 200 OK)
{
  "dispatched": true,
  "invoice_id": "INV-BOT-9812",
  "plan": "Premium",
  "account": {
    "email": "user.9281@domain.com",
    "cookie": ".netflix.com\tTRUE...",
    "fast_login_url": "https://chellhub.web.id/login?token=fl_tok_89fa1182bc99"
  },
  "warranty_until": 1738232100,
  "claims_remaining": 1
}
POST /api/v1/warranty/verify
Auth Required 1 Kuota

Memeriksa kevalidan sesi akun terkait invoice. Jika terbukti sesi mati dan masa garansi masih berlaku, sistem otomatis menerbitkan akun pengganti (auto-replace).

ParameterTipeWajibDeskripsi
invoice_id string Wajib Nomor invoice eksternal yang diterbitkan saat pemanggilan /dispatch.
auto_replace boolean Opsional Bila true, otomatis mengambil akun baru saat sesi lama terbukti mati.
Request Body
{
  "invoice_id": "INV-BOT-9812",
  "auto_replace": true
}
Response (HTTP 200 OK)
{
  "verified": true,
  "session_alive": false,
  "replaced": true,
  "new_account": {
    "email": "fresh.312@domain.com",
    "cookie": ".netflix.com\tTRUE...",
    "fast_login_url": "https://chellhub.web.id/login?token=fl_tok_fresh912"
  },
  "remaining_warranty_days": 21
}
POST /api/v1/warranty/status
Bebas Kuota Pengecekan Status

Mengecek sisa masa berlaku garansi dan kuota klaim invoice tanpa memotong kuota harian API Key.

ParameterTipeWajibDeskripsi
invoice_id string Wajib Nomor invoice yang hendak dicek statusnya.
Request Body
{
  "invoice_id": "INV-BOT-9812"
}
Response (HTTP 200 OK)
{
  "invoice_id": "INV-BOT-9812",
  "status": "ACTIVE",
  "days_remaining": 24,
  "claims_count": 0,
  "max_claims": 1
}
TMail Engine • REST API & Webhook

TMail Disposable Email API

Spesifikasi REST API untuk membuat kotak masuk disposable email acak/kustom secara instan, menerima email verifikasi real-time, dan mengekstrak kode OTP numerik secara otomatis untuk pipeline automasi pengujian akun.

Protokol
TLS 1.3 • JSON
Retensi Buffer
30 Menit / Sesi
Latensi Inbox
< 50 ms (In-Memory)
Ekstraksi OTP
Otomatis (Regex 4-8 Digit)
Production TMail Endpoint Base https://chellhub.web.id/api/tmail
POST /api/tmail/generate
Bebas Auth Instant Mailbox

Membuat sesi kotak masuk email sekali pakai baru. Parameter prefix dan domain bersifat opsional; jika dikosongkan sistem secara otomatis mengenerate kombinasi nama acak unik anti-tabrakan.

ParameterTipeWajibDeskripsi
prefix string Opsional Nama awal alamat email (mis: tester.user). Jika kosong, digenerate acak 8 karakter.
domain string Opsional Domain tujuan (default: chellhub.web.id). Harus domain yang terdaftar dalam active MX pool.
Request Body
{
  "prefix": "qa-netflix-test",
  "domain": "chellhub.web.id"
}
Response (HTTP 200 OK)
{
  "status": "success",
  "email": "qa-netflix-test@chellhub.web.id",
  "domain": "chellhub.web.id",
  "expires_in_seconds": 1800,
  "created_at": "2026-10-10T02:00:00.000Z"
}
GET /api/tmail/inbox/:email
Bebas Auth Auto-Parsed OTP

Mengambil seluruh daftar pesan masuk yang diterima oleh alamat target. Server secara otomatis menjalankan pemindaian ekspresi reguler (regex) pada subjek dan badan email untuk mengekstrak kode verifikasi OTP (4-8 digit).

ParameterTipeWajibDeskripsi
:email string (path) Wajib Alamat email lengkap target kotak masuk (URL-encoded). Contoh: user%40chellhub.web.id
cURL Request
curl -X GET \
  https://chellhub.web.id/api/tmail/inbox/qa-netflix-test@chellhub.web.id
Response (HTTP 200 OK)
{
  "status": "success",
  "email": "qa-netflix-test@chellhub.web.id",
  "count": 1,
  "messages": [
    {
      "id": "msg_918231",
      "from": "info@mailer.netflix.com",
      "subject": "Kode Masuk Sementara Anda: 829401",
      "otp_code": "829401",
      "snippet": "Gunakan kode verifikasi berikut untuk mengaktifkan profil perangkat...",
      "received_at": "2026-10-10T02:01:14.000Z"
    }
  ]
}
DELETE /api/tmail/clear/:email
Bebas Auth Purge Mailbox

Menghapus semua antrean email yang tersimpan di dalam memori untuk alamat email bersangkutan. Berguna untuk me-reset mailbox sebelum menjalankan test case registrasi berikutnya.

ParameterTipeWajibDeskripsi
:email string (path) Wajib Alamat email yang kotaknya akan dibersihkan.
cURL Request
curl -X DELETE \
  https://chellhub.web.id/api/tmail/clear/qa-netflix-test@chellhub.web.id
Response (HTTP 200 OK)
{
  "status": "success",
  "message": "Kotak masuk berhasil dibersihkan",
  "cleared_email": "qa-netflix-test@chellhub.web.id"
}

Pola Deteksi Regex OTP

Server memindai pesan masuk menggunakan heuristik kontekstual untuk mendeteksi digit kode verifikasi secara presisi:

Regex: /(?:code|kode|pin|otp|verifikasi)[\s:=]+(\d{4,8})\b/i

Jika kata kunci kontekstual tidak ditemukan, fallback scan menggunakan boundary angka independen /\b(\d{4,8})\b/.

Rekomendasi Polling Interval

Gunakan polling loop asinkron saat menunggu email masuk dengan interval 3 detik dan batas retry timeout 60-90 detik.

Polling Interval: 3.000 ms • Max Timeout: 60 Detik

Segera panggil endpoint DELETE /clear/:email setelah kode OTP berhasil diperoleh untuk membebaskan memory buffer server.

Session Guard Extension • Manifest V3

Panduan & Spesifikasi Ekstensi Browser

Dokumentasi arsitektur injeksi sesi 1-klik, protokol proteksi pengikatan perangkat (Hardware ID / HWID), format cookie jar yang didukung, serta panduan pemasangan Developer Mode di browser Google Chrome, Microsoft Edge, dan Brave.

Target Platform
Chromium Chrome, Edge
Manifest Spec
Manifest V3 (Worker)
Hardware Binding
1 Token : 1 Device
Injeksi Latency
< 150 ms (Native API)

Arsitektur Manifest V3 & Service Worker

Ekstensi dibangun sepenuhnya di atas standar Manifest V3 terbaru tanpa background page lawas yang boros RAM. Semua operasi injeksi dieksekusi melalui Service Worker event-driven yang hanya aktif saat tombol dipicu.

Scope Izin: *://*.netflix.com/* • Storage: Local Isolated

Jaminan Privasi & Zero-Telemetry

Ekstensi ChellStore tidak memindai histori penjelajahan, tidak menyimpan username/password, dan tidak mentransmisikan data analitik ke server pihak ketiga manapun. Komunikasi lisensi dienkripsi via TLS 1.3 end-to-end.

Zero Data Telemetry • Strict Domain Scoping

Protokol Pengikatan Perangkat (HWID Binding Policy)

Setiap License Key yang diterbitkan memiliki aturan kepemilikan 1 Token = 1 Perangkat. Saat kunci pertama kali diaktivasi pada ekstensi, hash identitas unik browser diikat secara permanen ke server database ChellStore.

Fase StatusKondisi ServerRespon Ekstensi
TOKEN_ISSUED Kunci lisensi baru dibuat, belum ada HWID terikat. Menyimpan HWID lokal perangkat ke database saat tombol "Aktifkan" diklik.
HWID_MATCH HWID yang dikirim cocok dengan HWID database. Status OK (HTTP 200), sesi cookie langsung diinjeksi ke browser.
HWID_MISMATCH Token dicoba digunakan di laptop/browser lain. Ditolak (HTTP 403 Forbidden: "Lisensi telah terikat pada perangkat lain").
TOKEN_EXPIRED Masa berlaku sewa 30 hari telah berakhir. Ditolak (HTTP 401 Unauthorized: "Masa aktif lisensi telah habis").
Catatan Pindah Perangkat: Jika Anda menginstal ulang sistem operasi atau berpindah laptop, hubungi customer support resmi di Telegram @Cel4u untuk permintaan reset HWID resmi.

Panduan Pemasangan Developer Mode (Chrome & Edge)

Ikuti 6 langkah mudah berikut untuk memasang paket ekstensi ChellStore langsung di peramban Chromium Anda:

1

Unduh Paket Arsip Ekstensi

Unduh file chell-session-guard.zip melalui tombol resmi di halaman /extension.

2

Ekstrak File ZIP ke Folder Komputer

Klik kanan file arsip zip yang telah diunduh, lalu pilih Extract All (Ekstrak Semua) ke direktori lokal (misal: C:\ChellExtension).

3

Buka Halaman Pengelolaan Ekstensi Browser

Buka tab baru, ketikkan chrome://extensions (untuk Google Chrome & Brave) atau edge://extensions (untuk Microsoft Edge), lalu tekan Enter.

4

Aktifkan Mode Pengembang (Developer Mode)

Nyalakan saklar Developer mode (Mode pengembang) yang terletak di pojok kanan atas halaman ekstensi.

5

Muat Ekstensi yang Belum Dibongkar (Load Unpacked)

Klik tombol Load unpacked (Muat yang belum dibongkar) di sudut kiri atas, lalu arahkan ke folder hasil ekstrak pada Langkah 2.

6

Sematkan Ikon Ekstensi & Masukkan License Key

Klik ikon puzzle di toolbar browser Anda, klik tombol pin di samping Chell Session Guard, buka popup ekstensi, masukkan token lisensi Anda, dan klik Aktifkan Sesi.

Troubleshooting & Solusi Kendala

Kondisi ini terjadi bila browser memperbarui ekstensi di latar belakang saat tab lama masih terbuka. Cukup lakukan refresh penuh (tekan Ctrl + F5) pada tab browser Netflix Anda.
Pastikan peramban Anda tidak memblokir cookie pihak ketiga (third-party cookies). Coba bersihkan cache situs pada chrome://settings/content/all?searchSubpage=netflix.com, lalu klik kembali tombol injeksi pada ekstensi.
Sangat aman. Ekstensi ChellStore hanya meniru proses handshake login sesi resmi tanpa memodifikasi skrip atau DOM halaman streaming Netflix.

Interactive Testbench & Console

Uji coba langsung response HTTP dan latensi gateway secara real-time dari browser Anda.

Target: /api/v1/health
Menunggu Request 0 ms
Quota: -
// Klik tombol "Kirim Request" di sebelah kiri untuk melihat response live dari gateway.

Kamus Status Kode HTTP

Daftar kode respons standar yang dikembalikan gateway untuk mempermudah error handling di aplikasi Anda.

StatusArtiPenyebab & Solusi Penanganan
200 OK Berhasil Request diproses sukses dan data dikembalikan sesuai format JSON.
400 Bad Request Format Tidak Valid Parameter body kosong, bukan JSON valid, atau parameter wajib tidak ada.
401 Unauthorized Key Tidak Valid Header X-API-Key tidak disertakan atau masa aktif langganan reseller telah habis.
403 Forbidden Akses Ditolak API Key terdeteksi disalahgunakan atau status langganan dibekukan oleh sistem.
413 Payload Too Large Ukuran Berlebih Ukuran cookie atau JSON request melebihi batas toleransi 64KB.
429 Rate Limit Batas Kuota Tercapai Batas 2.000 request per hari terlampaui. Periksa header Retry-After atau tunggu reset pukul 00:00 WIB.
502 Bad Gateway Upstream Error Koneksi worker verifikasi sesi Netflix sedang mengalami timeout. Coba ulangi dengan Idempotency-Key.
504 Timeout Waktu Habis Proses validasi melebihi 10 detik. Periksa kembali stabilitas jaringan atau hubungi admin.

Contoh Integrasi Multi-Bahasa

Contoh kode siap pakai untuk mengambil stok dan menerbitkan akun pada bot toko Anda.

curl -X POST https://chellhub.web.id/api/v1/dispatch \
  -H "Content-Type: application/json" \
  -H "X-API-Key: csk_live_YOUR_KEY_HERE" \
  -H "Idempotency-Key: $(uuidgen)" \
  -d '{
    "plan": "Premium",
    "qty": 1,
    "external_invoice_id": "INV-BOT-1049",
    "warranty_days": 30
  }'
import crypto from 'node:crypto';

async function dispatchNetflixAccount(invoiceId) {
  const response = await fetch('https://chellhub.web.id/api/v1/dispatch', {
    method: 'POST',
    headers: {
      'Content-Type': 'application/json',
      'X-API-Key': process.env.CHELL_API_KEY,
      'Idempotency-Key': crypto.randomUUID()
    },
    body: JSON.stringify({
      plan: 'Premium',
      qty: 1,
      external_invoice_id: invoiceId,
      warranty_days: 30
    })
  });

  if (!response.ok) {
    throw new Error(`API Error: ${response.status} ${response.statusText}`);
  }

  const data = await response.json();
  console.log('Stok berhasil diambil:', data.account.email);
  return data;
}
import uuid
import requests

def dispatch_account(api_key: str, invoice_id: str):
    url = "https://chellhub.web.id/api/v1/dispatch"
    headers = {
        "Content-Type": "application/json",
        "X-API-Key": api_key,
        "Idempotency-Key": str(uuid.uuid4())
    }
    payload = {
        "plan": "Premium",
        "qty": 1,
        "external_invoice_id": invoice_id,
        "warranty_days": 30
    }
    
    res = requests.post(url, json=payload, headers=headers, timeout=10)
    res.raise_for_status()
    return res.json()
<?php
$apiKey = getenv('CHELL_API_KEY');
$invoiceId = 'INV-BOT-' . rand(1000, 9999);

$ch = curl_init('https://chellhub.web.id/api/v1/dispatch');
curl_setopt_array($ch, [
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_POST => true,
    CURLOPT_HTTPHEADER => [
        'Content-Type: application/json',
        'X-API-Key: ' . $apiKey,
        'Idempotency-Key: ' . bin2hex(random_bytes(16))
    ],
    CURLOPT_POSTFIELDS => json_encode([
        'plan' => 'Premium',
        'qty' => 1,
        'external_invoice_id' => $invoiceId,
        'warranty_days' => 30
    ]),
    CURLOPT_TIMEOUT => 10
]);

$response = curl_exec($ch);
$httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);

$result = json_decode($response, true);
print_r($result);

FAQ Reseller & Teknis

Pertanyaan teknis yang paling sering diajukan reseller saat integrasi bot dan sistem toko.

Gateway mendukung 2 format utama: format standar Netscape cookie file (tab-separated) yang dihasilkan oleh extension browser seperti Cookie-Editor, serta format JSON array objek cookie ([{"name": "NetflixId", "value": "..."}]).
Bot Anda cukup memanggil POST /api/v1/warranty/verify dengan menyertakan invoice_id transaksi tersebut. Gateway akan mengaudit sesi akun secara otomatis. Jika terbukti sesi mati dan masa garansi masih ada, akun pengganti langsung dikembalikan dalam response yang sama.
Gateway akan mengembalikan status HTTP 429 Too Many Requests. Kuota akan otomatis di-reset menjadi 2.000 pada pukul 00:00 WIB. Jika bot Anda membutuhkan kuota lebih besar, Anda dapat membeli paket tambahan melalui bot Telegram.
Ya. Field external_invoice_id hanya digunakan sebagai kunci relasi garansi antara sistem Anda dan inventory ChellStore. Kami tidak meminta nama atau data pribadi pembeli akhir Anda.