InventoryPurchase inventory.purchase@1
Generated at from
openvibe-contracts v0.419.0 and
openvibe-sdk v0.161.0.
- Version
- 1.0.0
- Owner
- inventory
- Visibility
- public
- Status
- active
- Compatibility
- backward
- Schema
https://openvibe.network/contracts/inventory/purchase.v1.json
Universal wallet: inventory.purchase. Personal bearer reads and purchases; server-side reviewed prices.
Fields
| Field | Type | Required | Description | Constraints |
|---|---|---|---|---|
id | string | yes |
| |
subject | string | yes |
| |
item_id | string | yes |
| |
name | string | yes | ||
issuer | string | yes | ||
currency | enum | yes |
| |
amount | integer | yes |
| |
status | enum | yes |
| |
instance_id | one of | yes | ||
payment_id | string | null | yes |
Examples
From the contract's own test fixtures: valid ones validate, rejected ones must fail.
Valid: example
{
"id": "isp_00000000000000000000000001",
"subject": "usr_00000000000000000000000001",
"item_id": "itd_00000000000000000000000001",
"name": "Rainbow",
"issuer": "service:live",
"currency": "vibes",
"amount": 50,
"status": "pending",
"instance_id": null,
"payment_id": null
}Rejected: invalid-value
{
"id": "isp_00000000000000000000000001",
"subject": "usr_00000000000000000000000001",
"item_id": "itd_00000000000000000000000001",
"name": "Rainbow",
"issuer": "service:live",
"currency": "vibes",
"amount": 0,
"status": "pending",
"instance_id": null,
"payment_id": null
}Rejected: missing
{}Validate
const contracts = require('openvibe-contracts');
contracts.validate('inventory.purchase@1', value); // { valid, errors: [{ path, message }] }