|
1
|
--- |
|
2
|
title: "ProcureNet Vector Store: Indexes and Buyer Data Flow" |
|
3
|
sidebarTitle: "Vector Store" |
|
4
|
description: "Understand how ProcureNet's four vector indexes power buyer resolution, contract validation, localization, and entitlements in your checkout flows." |
|
5
|
--- |
|
6
|
|
|
7
|
ProcureNet uses a local-first vector store to power AI-driven lookups for buyer profiles, contract rules, translations, and entitlements. The store operates alongside the OpenClaw agent swarm, meaning reads are low-latency and survive network interruptions. You do not write vectors yourself — the platform populates and queries the store automatically based on the data you supply to the orchestration API. |
|
8
|
|
|
9
|
## The Four Indexes |
|
10
|
|
|
11
|
The vector store contains four named indexes. Each serves a distinct role in the orchestration pipeline. |
|
12
|
|
|
13
|
<CardGroup cols={2}> |
|
14
|
<Card title="wcs_profiles" icon="user"> |
|
15
|
**Type: `scoring`** |
|
16
|
|
|
17
|
Stores buyer identity signals used by the Wallet Confidence Score engine to resolve sessions as `resolved`, `partial`, or `anonymous`. The richer the identity data you pass to `/api/v7/orchestrate`, the more accurately this index can identify returning buyers. |
|
18
|
</Card> |
|
19
|
<Card title="contract_rules" icon="file-contract"> |
|
20
|
**Type: `validation`** |
|
21
|
|
|
22
|
Holds procurement contract terms and validation logic. Checked during state transitions to ensure orders comply with applicable rules before advancing to the next stage. |
|
23
|
</Card> |
|
24
|
<Card title="translations" icon="language"> |
|
25
|
**Type: `i18n`** |
|
26
|
|
|
27
|
Contains localized strings for checkout UI flows. Enables ProcureNet to serve the correct language and locale to buyers without round-trips to a remote translation service. |
|
28
|
</Card> |
|
29
|
<Card title="entitlements" icon="badge-check"> |
|
30
|
**Type: `authorization`** |
|
31
|
|
|
32
|
Controls which features and funding methods a buyer or account can access. Queried when you call the funding-method endpoint to verify the buyer is permitted to use the selected payment method. |
|
33
|
</Card> |
|
34
|
</CardGroup> |
|
35
|
|
|
36
|
--- |
|
37
|
|
|
38
|
## How Each Index Affects Your Integration |
|
39
|
|
|
40
|
The indexes work together as a pipeline. Understanding their roles helps you pass the right data at the right time. |
|
41
|
|
|
42
|
<Steps> |
|
43
|
<Step title="Buyer signals flow into wcs_profiles"> |
|
44
|
When you call `POST /api/v7/orchestrate`, ProcureNet uses the identity |
|
45
|
signals you supply in the `hints` object — `customerId`, `email`, `phone`, |
|
46
|
and `deviceId` — to query the `wcs_profiles` index and calculate the |
|
47
|
Wallet Confidence Score. A richer profile means a higher score and a |
|
48
|
`resolved` session mode. |
|
49
|
</Step> |
|
50
|
<Step title="contract_rules validates state transitions"> |
|
51
|
Before the state machine advances on `POST /api/v7/sessions/{id}/transition`, |
|
52
|
applicable rules from `contract_rules` are retrieved and evaluated. If your |
|
53
|
order violates a procurement rule, the transition is rejected with a |
|
54
|
validation error. |
|
55
|
</Step> |
|
56
|
<Step title="translations localise the checkout flow"> |
|
57
|
ProcureNet resolves the buyer's locale from session context and queries the |
|
58
|
`translations` index to return correctly localised strings. No action is |
|
59
|
required from you — locale handling is automatic. |
|
60
|
</Step> |
|
61
|
<Step title="entitlements gate funding methods"> |
|
62
|
When you call `POST /api/v7/sessions/{id}/funding-method`, ProcureNet |
|
63
|
queries the `entitlements` index against the buyer's session to confirm |
|
64
|
the requested payment method is permitted. Requests for unauthorised |
|
65
|
methods are rejected with a `403` response. |
|
66
|
</Step> |
|
67
|
</Steps> |
|
68
|
|
|
69
|
--- |
|
70
|
|
|
71
|
## Vector Item Fields |
|
72
|
|
|
73
|
Every item stored in any index shares the same shape. These fields are managed by ProcureNet — you reference them only when reading diagnostic output or support responses. |
|
74
|
|
|
75
|
<ResponseField name="id" type="string" required> |
|
76
|
A unique identifier for this vector item within its index. |
|
77
|
</ResponseField> |
|
78
|
|
|
79
|
<ResponseField name="payload" type="object" required> |
|
80
|
Metadata attached to the vector item. Shape varies by index type — |
|
81
|
for example, `wcs_profiles` payloads contain buyer signal fields, while |
|
82
|
`contract_rules` payloads contain rule predicates. |
|
83
|
</ResponseField> |
|
84
|
|
|
85
|
<ResponseField name="updatedAt" type="string (ISO 8601)" required> |
|
86
|
Timestamp of the last write to this item. |
|
87
|
</ResponseField> |
|
88
|
|
|
89
|
<ResponseField name="ttlSeconds" type="integer"> |
|
90
|
Optional expiry in seconds from `updatedAt`. When set, the item is |
|
91
|
automatically evicted from the index once the TTL elapses. Commonly applied |
|
92
|
to `wcs_profiles` items for short-lived anonymous sessions. |
|
93
|
</ResponseField> |
|
94
|
|
|
95
|
--- |
|
96
|
|
|
97
|
<Note> |
|
98
|
The vector store is managed internally by OpenClaw agents — you do not write vectors directly. Buyer data you pass to `POST /api/v7/orchestrate` is used to populate and query profiles automatically. |
|
99
|
</Note> |
|
100
|
|
|
101
|
<Tip> |
|
102
|
If buyer lookups are returning `anonymous` mode unexpectedly, ensure you are passing all four identity signals — `customerId`, `email`, `phone`, and `deviceId` — in the `hints` object of your orchestration request. Missing signals reduce the Wallet Confidence Score and may drop the session below the `resolved` threshold of 100 points. |
|
103
|
</Tip> |