Filter by Mode
Filter by Source
Filter by Service
Filter by Provider
Filter by Created
| ID | User | Charge | Link | Start count | Quantity | Service | Status | Remains | Created | Mode | ||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
Loading... | ||||||||||||
| ID | User | Subject | Status
|
Assignee
|
Created | Last update | |
|---|---|---|---|---|---|---|---|
Loading... | |||||||
| ID ⇅ | Username | Balance ⇅ | Spent ⇅ | Status | Created ⇅ | Last auth ⇅ | Discount ⇅ | ||||
|---|---|---|---|---|---|---|---|---|---|---|---|
Loading... | |||||||||||
| ID | User | Balance | Amount | Method | Status
|
Fraud risk | Memo | Created | Updated | Mode |
|---|---|---|---|---|---|---|---|---|---|---|
Loading... | ||||||||||
| ID | Name | Type | Rate | Min | Max | |
|---|---|---|---|---|---|---|
Click Refresh or set a Services API key in Panels settings. | ||||||
Service description
Import service descriptions
(panel_id, service_id). Existing rows are overwritten; other columns are reference-only.Personal
| Reported at | Panel | Service | Reason | Reported by | Status | Resolved | |
|---|---|---|---|---|---|---|---|
Loading... | |||||||
| Name | Services | Stuck after | Slow multiplier | Min orders | Created | |
|---|---|---|---|---|---|---|
Loading profiles… | ||||||
| Name | Users | Min payments | Min spend | Created | |
|---|---|---|---|---|---|
Loading profiles… | |||||
Loading… |
| Name | Competitors | Tracking | Sync every | Created | |
|---|---|---|---|---|---|
Loading… | |||||
Tracked services
| Panel | ID | Service name | Category | Rate | Min / Max |
|---|---|---|---|---|---|
Loading… | |||||
Add competitor panel
/api/v2 on it.
Competitor Tracking — How it works
Data pipeline
- For each competitor panel you add we periodically pull its public services API (
/api/v2?action=services&key=…) — no admin scope required. - Each sync compares the fresh service list against the previous snapshot and writes the diffs to
competitor_service_history. - The first snapshot is silent (so a 5,000-service panel doesn't flood the feed with "added" rows). Real diffs start from the 2nd sync onward.
How profiles work
- Sync every = how often the system re-fetches. The smallest value across all profiles drives the actual cadence (with a 1h floor).
- Track = what gets reported: Price changes (with drop/jump thresholds), Min/Max changes, New services, Removed services.
- Mark-as-seen: opening the profile view marks the current diffs as seen → the
● N newbadge clears. The next sync that detects a new diff lights it up again. - Refresh button triggers an immediate sync, marks-as-seen, and reloads — only changes detected after the click remain.
Change types
- 🟩 New service — competitor added a service (market-entry signal).
- 🟥 Service removed — competitor pulled a service (opportunity).
- ⚠️ Price changed — price move that passes your drop/jump threshold.
- ↔️ Min / Max changed — order quantity range changed.
- ✏️ Name / Category changed — rebrand or recategorization.
Practical flow
- Manage panels → add competitor(s) (public API key is enough).
- New profile → pick competitors, sync interval, track types, thresholds.
- When a profile lights up
● N new→ open it → review → press Refresh to acknowledge.
Competitor panels
/api/v2?action=services) — open a regular customer account on the rival panel and copy its API key. Synced every 12h, manual sync available per row.
| Name | Base URL | Services | Last sync | Status | Enabled | |
|---|---|---|---|---|---|---|
Loading… | ||||||
New competitor profile
| Name | Filters | Window | Created | |
|---|---|---|---|---|
Loading… | ||||
New discovery profile
SMM Panel Discovery — How it works
Discovery pipeline
- Source: Crt.sh (public Certificate Transparency logs) — pulls every SSL certificate issued in the last 24 hours.
- Validation: for each candidate domain, query its NS records via Cloudflare DoH. If NS =
ns1.perfectdns.com→ confirmed Perfect Panel install. - Probe: hit
/api/v2?action=servicesto confirm SMM panel API is up + capture service count. - Score: NS=PP (+5), has API (+5), SMM keywords (+2), title hint (+1) — anything ≥2 is stored.
- Runs once a day (with 10-min boot delay). Use "Run scan now" to trigger manually.
Profiles
- Window = how many hours back to look at the discovery feed.
- Min score = quality threshold. 5+ confirms a real panel, 2-4 leaves a candidate to review.
- Min services count = filter for "serious" panels (≥500 services = real operation).
- Language = HTML lang attribute filter (en/tr/es/…).
- Mark-as-seen: opening or refreshing the profile clears the new-count badge.
Per-row actions
- Visit — open the panel in a new tab.
- Mark interesting — flag for follow-up review.
- Ignore — drop from future reports (stays in DB).
Flagged replies
How to read this report
Tickets mode (AI quality)
- Each staff reply within the window is judged by an LLM (gpt-4.1-mini) using the editable prompt (see Edit AI Prompt).
- Verdicts: 🟢 Good = on-policy, on-topic, professional · 🟡 Mediocre = vague, partial answer or missing educational info · 🔴 Bad = wrong info, off-topic, or rude.
- Flags shown next to the verdict explain the specific issue (e.g.
wrong_info,partial,missing_education). - Each ticket appears once — if a ticket has multiple analyzed replies, the worst verdict is shown.
- Click a row → modal with full reasoning + suggested better reply.
- Welcome auto-messages and Nora AI bot replies are excluded from analysis.
Services mode
- Parses order IDs (6–10 digit numbers) out of customer message bodies for tickets in the window.
- Resolves those order IDs via
orders_cache→ service_id + service_name. - Each row aggregates per service: Tickets = unique tickets mentioning the service, Orders = total order IDs referenced, Reasons = customer complaint types (classified from the message text — refill, speed up, refund, cancel, etc.).
- Tickets whose body isn't in DB yet are fetched live from PP (max 80/req) and cached — subsequent loads are DB-only.
- Click a row → sample tickets for that service (with their order IDs).
- Unresolved = tickets where no order ID could be parsed or matched in
orders_cache(shown in the top meta).
AI Quality Analyzer Prompt
Bu prompt staff yanıtlarını gpt-4o-mini'ye gönderirken kullanılır. Çıktının daima {"verdict":"good|mediocre|bad","flags":[...],"reasoning":"...","suggestion":"..."} JSON şemasında olmasını isteyen kuralı koru. Promptu güncellediğinde, sonraki analiz çağrıları yeni prompt'u kullanır; mevcut DB kayıtları olduğu gibi kalır.
New profile
How to read this report
Goal
Spot top spenders and new high-value sign-ups in any chosen window. Use it to follow up with whales, run welcome offers, or catch new signups depositing big amounts.
Columns
- User — panel + ID + username/email. 🆕 New badge if the user signed up inside the window.
- Joined — sign-up date.
- Payments — count + dollar total inside the window (status=completed only).
- Spend (window) — orders charge sum in the window. The list is sorted by this column DESC.
- Lifetime — `users_cache.spent` (PP-side cumulative spend, all-time).
- Top services — most-used 3 service IDs in the window.
Filters
- Min payments — drop users with fewer payments than this in the window.
- Min spend — drop users whose window spend is below this dollar amount.
- Profile user IDs — restrict the report to specific users (leave empty for all).
Window
Pick 12/24/48/72/96h or a custom value. The report re-aggregates from scratch each time.
How to read this report
Status colors
- 🟢 Healthy — score > 70. No stuck or slow orders, or only marginal.
- 🟡 Warning — score 40–70. Some orders are stuck or significantly slower than the speed in the service name.
- 🔴 Critical — score < 40. Many orders stuck and/or very slow. Investigate the provider; the service may be down.
What counts as "stuck" or "slow"
- Stuck — orders that are currently stuck across the whole catalog (status in
in_progress / pending / processing / awaiting, created more than Stuck after hours ago,remains > 0). The count is window-independent — picking "Last 2h" doesn't hide pre-existing stuck orders. - Slow — orders finished inside the selected window, where completion took longer than
quantity ÷ min-speed × Slow multiplier. The minimum speed is parsed from the service name (e.g.Speed: 5-10K/Day).
Score formula
100 − min(60, stuck × 5) − slow% — each stuck order shaves 5pt off (capped at 60pt), then the slow ratio is subtracted. Stuck weighs heaviest because frozen orders block customers.
How to act
- Open the row's menu to Snooze 24h (hide it) or Copy ID for tickets/messages.
- The red bar at the top appears when one or more services are critical — use it to bulk-snooze or copy all critical IDs at once.
- Adjust thresholds for this profile from Edit (the 12h / 2× / min-orders tuning lives there).
- The report runs against your local order cache — if the data looks stale, resume Sync from Settings → Sync.
Time windows
Each tab re-aggregates from scratch — picking Last 2h shows real-time issues; Last 72h reveals recurring patterns. Use Custom h… for an arbitrary range.
New profile
| Name | URL | Status |
|---|
| Username | Role | Allowed panels |
|---|
Background sync & cache
| Resource | Interval (sec) | Records per fetch | Currently cached | Last fetched | Status |
|---|
Sync engine settings
Activity log
| When | Staff | Action | Details | IP / Device |
|---|---|---|---|---|
| Loading… | ||||
Staff statistics
| Staff | Answered Ticket | Average Response Time (min) |
|---|---|---|
| Loading… | ||
| Title | Body preview |
|---|
| Title | Provider / Model | System prompt preview |
|---|
Translation Language
AI Analysis Prompt
{{subject}}, {{customer}}, {{status}}, {{conversation}}. Leave blank to use the built-in default.AI settings
- (a single dash) to clear a key.| Internal name | Display name | Min | Max | ||
|---|---|---|---|---|---|
| Loading... | |||||
Add payment method
https://hyperspanel.com/adminapi/v2 · Open API documentation X-Api-Key: <token>curl -H "X-Api-Key: $TOKEN" "https://hyperspanel.com/adminapi/v2/orders?order_status=fail&limit=10"| Name | Prefix | Scopes | Panels | Created | Last used | Status | |
|---|---|---|---|---|---|---|---|
Loading... | |||||||
Create API key
My account
Loading... |