Based on the provided schema, here is the technical documentation for the core entities and types available in the Vvveb CMS GraphQL API.
| --- | --- |
| product_id | ID | Unique identifier for the product.
|
| model | String | Product model identifier.
|
| sku | String | Stock Keeping Unit.
|
| price | Float | The current price of the product.
|
| old_price | Float | The original price (useful for showing discounts).
|
| stock_quantity | Int | Number of items currently in stock.
|
| image | String | Path to the main product image.
|
| weight | Float | Physical weight for shipping calculations.
|
| variants | [ProductVariantType] | Available variations (size, color, etc.).
|
| contents | [ProductContentType] | Localized names and descriptions.
|
2. Cart (cart)
Represents a user's active shopping session.
| Field | Type | Description |
|---|---|---|
cart_id |
Id |
Unique identifier for the cart. |
|
| products | [CartProductType] | List of items currently in the cart.
|
| totals | [TotalType] | Breakdown of subtotal, tax, and shipping.
|
| total_price | Float | The grand total amount.
|
| total_formatted | String | Currency-formatted total string.
|
| checkout_url | String | Direct link to the checkout page.
|
📝 Content & Blogging
1. Post (post)
Used for blog articles, news, or generic CMS pages.
| Field | Type | Description |
|---|---|---|
post_id |
ID |
Unique identifier for the post. |
|
| status | String | The post status (e.g., "published", "draft").
|
| comment_count | Int | Total number of approved comments.
|
| created_at | String | Timestamp of post creation.
|
| contents | [PostContentType] | Multi-language content (title, body, slug).
|
| seo | [SeoType] | Metadata for search engine optimization.
|
2. Media (media)
Represents uploaded assets like images and videos.
| Field | Type | Description |
|---|---|---|
media_id |
ID |
Unique identifier. |
|
| file | String | The file path or URL.
|
| type | String | MIME type or category (image, video, etc.).
|
💳 Orders & Customers
Order (order)
A finalized transaction containing snapshot data of the purchase.
Identifiers: Includes order_id, invoice_no, and customer_order_id.
Customer Info: Stores first_name, last_name, email, and phone_number.
Shipping/Billing: Comprehensive address fields including address_1, city, post_code, and country_id.
Financials: Tracks payment_method, shipping_method, total, and currency_id.
Associations: Links to products, shipments, subscriptions, and vouchers.
🛠️ System & Configuration
Localization: Supported via language (codes, locales, RTL support) and currency (symbols, decimal places, exchange values).
Geography: country data including ISO codes and status.
Administration: admin type manages backend users, including role_id, auth_tokens, and failed_logins.
Marketing: coupon management (discount types, usage limits, date ranges) and newsletter_list management.
Customization: field and field_group allow for extensible data models across posts and products.
Pro Tip: Localized Content
Most primary entities (Product, Post, Category) do not store names directly. Instead, they use a contents array (e.g., ProductContentType) which maps content to a specific language_id. Always query the contents field to retrieve the correct translation for your frontend.