Bowmark AIdocs

CyberPowerPC

Reads and prices CyberPowerPC's real gaming-PC configurators — every component, every option's exact price.

Domain: cyberpowerpc.com

Also known as: CyberPowerPC, cyberpowerpc, Cyber Power PC, CyberPower PC

Call it directly

bowmark.providers.cyberpowerpc.listConfigurators(): Promise<CyberpowerpcConfigurator[]>
bowmark.providers.cyberpowerpc.getConfigurator(slug: string): Promise<CyberpowerpcCatalog>
bowmark.providers.cyberpowerpc.priceBuild(slug: string, selections: Record<string, string>): Promise<CyberpowerpcPriceResult>

Functions

FunctionWhat it does
listConfiguratorsLists every base gaming-PC configurator CyberPowerPC currently sells — AMD and Intel, Mainstream through Extreme — with its slug, current starting price, list price and stock…
getConfiguratorReads one base configurator's whole component tree — every section (CPU, GPU, memory, chassis, storage, ...), every option's exact label, SKU and signed price difference versus that…
priceBuildPrices an exact build for one configurator given a caller's part selections (one option id per section code; any section left out uses its own default). Returns the real live total the…

Types

interface CyberpowerpcConfigurator {
  slug: string;
  name: string;
  url: string;
  price: string | null;
  priceValue: number | null;
  listPrice: string | null;
  listPriceValue: number | null;
  baselineSpecs: string[];
}
interface CyberpowerpcOption {
  id: string;
  name: string;
  sku: string | null;
  priceDifference: number;
  isDefault: boolean;
}
interface CyberpowerpcSection {
  code: string;
  label: string;
  category: "Core Components" | "Accessories" | "Software & Service";
  required: boolean;
  defaultOptionId: string | null;
  options: CyberpowerpcOption[];
}
interface CyberpowerpcCatalog {
  slug: string;
  title: string;
  basePrice: number;
  sections: CyberpowerpcSection[];
}
interface CyberpowerpcPriceResult {
  slug: string;
  basePrice: number;
  totalPrice: number;
  lines: { sectionCode: string; sectionLabel: string; optionId: string; optionName: string; priceDifference: number }[];
}