Skip to content

Commit 4338090

Browse files
authored
docs(xsolla): correct primary keys for project-scoped Store tables (#21311)
Subscription tables use (project_id, id). The virtual_items, virtual_currencies, and bundles tables use (project_id, sku). Add the Store tables to the project-scoped table list and the project fan-out list. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Generated-By: PostHog Desktop Task-Id: c1243541-bce8-467b-8aac-dc76c8e0e0be Co-authored-by: posthog[bot] <206114724+posthog[bot]@users.noreply.github.com>
1 parent f0680a1 commit 4338090

1 file changed

Lines changed: 11 additions & 8 deletions

File tree

‎contents/docs/cdp/sources/xsolla.md‎

Lines changed: 11 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ availability:
99
sourceId: Xsolla
1010
---
1111

12-
The Xsolla connector syncs your payment and subscription data into PostHog, including transactions, subscriptions, payouts, reports, promotions, projects, and per-project subscription details.
12+
The Xsolla connector syncs your payment and subscription data into PostHog, including transactions, subscriptions, payouts, reports, promotions, projects, and per-project subscription and Store details.
1313

1414
## Prerequisites
1515

@@ -52,13 +52,16 @@ These tables read data at the merchant level:
5252

5353
### Project-scoped tables
5454

55-
These tables are read once per project that the merchant owns. Each row includes a `project_id` column, and the primary key is `(project_id, id)` because the Xsolla API does not guarantee globally unique IDs across projects.
55+
These tables are read once per project that the merchant owns. Each row includes a `project_id` column, and the primary key includes `project_id` because the Xsolla API does not guarantee globally unique IDs across projects. Subscription tables use `(project_id, id)`. Store tables use `(project_id, sku)`.
5656

57-
| Table | Description | Sync |
58-
| ----------------------- | -------------------------------------- | ------------ |
59-
| `subscription_payments` | Subscription charges for each project | Full refresh |
60-
| `subscription_plans` | Subscription plans for each project | Full refresh |
61-
| `subscription_products` | Subscription products for each project | Full refresh |
57+
| Table | Description | Primary key | Sync |
58+
| ----------------------- | ----------------------------------------- | ------------------- | ------------ |
59+
| `subscription_payments` | Subscription charges for each project | `(project_id, id)` | Full refresh |
60+
| `subscription_plans` | Subscription plans for each project | `(project_id, id)` | Full refresh |
61+
| `subscription_products` | Subscription products for each project | `(project_id, id)` | Full refresh |
62+
| `virtual_items` | Store virtual items for each project | `(project_id, sku)` | Full refresh |
63+
| `virtual_currencies` | Store virtual currencies for each project | `(project_id, sku)` | Full refresh |
64+
| `bundles` | Store bundles for each project | `(project_id, sku)` | Full refresh |
6265

6366
## Sync details
6467

@@ -68,4 +71,4 @@ These tables are read once per project that the merchant owns. Each row includes
6871

6972
- **Resumable syncs** – If a sync is interrupted, it resumes from the last completed window, project, and page offset on the next run.
7073

71-
- **Project fan-out** – For project-scoped tables (`subscription_payments`, `subscription_plans`, `subscription_products`), PostHog first lists the merchant's projects, then reads each project in turn.
74+
- **Project fan-out** – For project-scoped tables (`subscription_payments`, `subscription_plans`, `subscription_products`, `virtual_items`, `virtual_currencies`, `bundles`), PostHog first lists the merchant's projects, then reads each project in turn.

0 commit comments

Comments
 (0)