@oasisomniverse/web4-api 2.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +464 -0
- package/docs/README.md +52 -0
- package/docs/auth.md +89 -0
- package/docs/getting-started.md +129 -0
- package/docs/modules/Avatar.md +4160 -0
- package/docs/modules/Bridge.md +394 -0
- package/docs/modules/Chat.md +168 -0
- package/docs/modules/Clan.md +552 -0
- package/docs/modules/Competition.md +594 -0
- package/docs/modules/Data.md +796 -0
- package/docs/modules/EOSIO.md +508 -0
- package/docs/modules/Eggs.md +396 -0
- package/docs/modules/Files.md +312 -0
- package/docs/modules/Gifts.md +306 -0
- package/docs/modules/Health.md +90 -0
- package/docs/modules/Holochain.md +374 -0
- package/docs/modules/HyperDrive.md +3857 -0
- package/docs/modules/Karma.md +644 -0
- package/docs/modules/Keys.md +3303 -0
- package/docs/modules/Map.md +1026 -0
- package/docs/modules/Messaging.md +320 -0
- package/docs/modules/Nft.md +2216 -0
- package/docs/modules/OLand.md +425 -0
- package/docs/modules/ONET.md +442 -0
- package/docs/modules/ONODE.md +504 -0
- package/docs/modules/Provider.md +1396 -0
- package/docs/modules/Search.md +69 -0
- package/docs/modules/Seeds.md +167 -0
- package/docs/modules/Settings.md +533 -0
- package/docs/modules/Share.md +64 -0
- package/docs/modules/Social.md +190 -0
- package/docs/modules/Solana.md +150 -0
- package/docs/modules/Stats.md +359 -0
- package/docs/modules/Subscription.md +437 -0
- package/docs/modules/Video.md +150 -0
- package/docs/modules/Wallet.md +1993 -0
- package/index.d.ts +106 -0
- package/index.js +3 -0
- package/index.mjs +4 -0
- package/package.json +120 -0
- package/src/core/httpClient.js +110 -0
- package/src/core/routeHelper.js +50 -0
- package/src/core/tokenStore.js +52 -0
- package/src/core/types.d.ts +18 -0
- package/src/index.js +46 -0
- package/src/modules/Auth.d.ts +28 -0
- package/src/modules/Auth.js +98 -0
- package/src/modules/Avatar.d.ts +192 -0
- package/src/modules/Avatar.js +143 -0
- package/src/modules/Bridge.d.ts +24 -0
- package/src/modules/Bridge.js +35 -0
- package/src/modules/Cargo.js +35 -0
- package/src/modules/Chat.d.ts +15 -0
- package/src/modules/Chat.js +27 -0
- package/src/modules/Clan.d.ts +36 -0
- package/src/modules/Clan.js +41 -0
- package/src/modules/Competition.d.ts +33 -0
- package/src/modules/Competition.js +39 -0
- package/src/modules/Core.js +27 -0
- package/src/modules/Data.d.ts +36 -0
- package/src/modules/Data.js +41 -0
- package/src/modules/EOSIO.d.ts +33 -0
- package/src/modules/EOSIO.js +39 -0
- package/src/modules/Eggs.d.ts +24 -0
- package/src/modules/Eggs.js +33 -0
- package/src/modules/Files.d.ts +24 -0
- package/src/modules/Files.js +33 -0
- package/src/modules/Gifts.d.ts +24 -0
- package/src/modules/Gifts.js +33 -0
- package/src/modules/Health.d.ts +12 -0
- package/src/modules/Health.js +25 -0
- package/src/modules/Holochain.d.ts +27 -0
- package/src/modules/Holochain.js +35 -0
- package/src/modules/HyperDrive.d.ts +237 -0
- package/src/modules/HyperDrive.js +175 -0
- package/src/modules/Karma.d.ts +42 -0
- package/src/modules/Karma.js +45 -0
- package/src/modules/Keys.d.ts +183 -0
- package/src/modules/Keys.js +139 -0
- package/src/modules/Map.d.ts +75 -0
- package/src/modules/Map.js +65 -0
- package/src/modules/Messaging.d.ts +24 -0
- package/src/modules/Messaging.js +33 -0
- package/src/modules/Nft.d.ts +102 -0
- package/src/modules/Nft.js +85 -0
- package/src/modules/OAPP.js +31 -0
- package/src/modules/OLand.d.ts +27 -0
- package/src/modules/OLand.js +35 -0
- package/src/modules/ONET.d.ts +39 -0
- package/src/modules/ONET.js +43 -0
- package/src/modules/ONODE.d.ts +45 -0
- package/src/modules/ONODE.js +47 -0
- package/src/modules/Provider.d.ts +99 -0
- package/src/modules/Provider.js +83 -0
- package/src/modules/Search.d.ts +9 -0
- package/src/modules/Search.js +23 -0
- package/src/modules/Seeds.d.ts +15 -0
- package/src/modules/Seeds.js +27 -0
- package/src/modules/Settings.d.ts +48 -0
- package/src/modules/Settings.js +47 -0
- package/src/modules/Share.d.ts +9 -0
- package/src/modules/Share.js +23 -0
- package/src/modules/Social.d.ts +18 -0
- package/src/modules/Social.js +29 -0
- package/src/modules/Solana.d.ts +12 -0
- package/src/modules/Solana.js +25 -0
- package/src/modules/Stats.d.ts +30 -0
- package/src/modules/Stats.js +37 -0
- package/src/modules/Subscription.d.ts +36 -0
- package/src/modules/Subscription.js +41 -0
- package/src/modules/Telos.js +39 -0
- package/src/modules/Video.d.ts +15 -0
- package/src/modules/Video.js +27 -0
- package/src/modules/Wallet.d.ts +102 -0
- package/src/modules/Wallet.js +85 -0
- package/src/modules/index.js +79 -0
|
@@ -0,0 +1,190 @@
|
|
|
1
|
+
# Social — `oasis.social`
|
|
2
|
+
|
|
3
|
+
Source controller: [`SocialController.cs`](https://github.com/NextGenSoftwareUK/OASIS2/blob/main/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/SocialController.cs)
|
|
4
|
+
Route prefix: `api/social`
|
|
5
|
+
4 operation(s).
|
|
6
|
+
|
|
7
|
+
Every method takes a single args object: any key matching a `{token}` in the route is substituted into the URL; everything else becomes the query string (GET/DELETE) or JSON body (POST/PUT). Every call resolves to the standard OASIS envelope:
|
|
8
|
+
|
|
9
|
+
```ts
|
|
10
|
+
{
|
|
11
|
+
isError: boolean;
|
|
12
|
+
isWarning: boolean;
|
|
13
|
+
message: string;
|
|
14
|
+
errorCode?: string;
|
|
15
|
+
result: T; // see each endpoint's Response section below
|
|
16
|
+
}
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
## Operations
|
|
20
|
+
|
|
21
|
+
### `getRegisteredProviders`
|
|
22
|
+
|
|
23
|
+
Get registered social providers for the current avatar
|
|
24
|
+
|
|
25
|
+
**GET** `api/social/registered-providers`
|
|
26
|
+
|
|
27
|
+
**Request**
|
|
28
|
+
|
|
29
|
+
No request body.
|
|
30
|
+
|
|
31
|
+
**Response**
|
|
32
|
+
|
|
33
|
+
Standard `OASISResult` envelope (see top of this page) with:
|
|
34
|
+
|
|
35
|
+
`result` type: `SocialProvider` (array)
|
|
36
|
+
|
|
37
|
+
| Field | Type |
|
|
38
|
+
| --- | --- |
|
|
39
|
+
| `Id` | `string` |
|
|
40
|
+
| `Name` | `string` |
|
|
41
|
+
| `AccessToken` | `string` |
|
|
42
|
+
| `AvatarId` | `Guid` |
|
|
43
|
+
| `IsActive` | `bool` |
|
|
44
|
+
| `RegisteredAt` | `DateTime` |
|
|
45
|
+
| `Settings` | `Dictionary<string, object>` |
|
|
46
|
+
|
|
47
|
+
**Example**
|
|
48
|
+
|
|
49
|
+
```js
|
|
50
|
+
const { isError, message, result } = await oasis.social.getRegisteredProviders({});
|
|
51
|
+
if (isError) throw new Error(message);
|
|
52
|
+
console.log(result);
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
Example response:
|
|
56
|
+
|
|
57
|
+
```json
|
|
58
|
+
{
|
|
59
|
+
"isError": false,
|
|
60
|
+
"message": "",
|
|
61
|
+
"result": [{ "Id": "example string", "Name": "example string", "AccessToken": "example string", "AvatarId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", "IsActive": true, "RegisteredAt": "2026-01-01T00:00:00Z", "Settings": { "<string>": {} } }]
|
|
62
|
+
}
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
---
|
|
66
|
+
|
|
67
|
+
### `getSocialFeed`
|
|
68
|
+
|
|
69
|
+
Get's the social feed from all registered social providers for the currently logged in avatar
|
|
70
|
+
|
|
71
|
+
**GET** `api/social/social-feed`
|
|
72
|
+
|
|
73
|
+
**Request**
|
|
74
|
+
|
|
75
|
+
No request body.
|
|
76
|
+
|
|
77
|
+
**Response**
|
|
78
|
+
|
|
79
|
+
Standard `OASISResult` envelope (see top of this page) with:
|
|
80
|
+
|
|
81
|
+
`result` type: `SocialPost` (array)
|
|
82
|
+
|
|
83
|
+
| Field | Type |
|
|
84
|
+
| --- | --- |
|
|
85
|
+
| `Id` | `string` |
|
|
86
|
+
| `ProviderId` | `string` |
|
|
87
|
+
| `ProviderName` | `string` |
|
|
88
|
+
| `Content` | `string` |
|
|
89
|
+
| `Timestamp` | `DateTime` |
|
|
90
|
+
| `AvatarId` | `Guid` |
|
|
91
|
+
| `Metadata` | `Dictionary<string, object>` |
|
|
92
|
+
|
|
93
|
+
**Example**
|
|
94
|
+
|
|
95
|
+
```js
|
|
96
|
+
const { isError, message, result } = await oasis.social.getSocialFeed({});
|
|
97
|
+
if (isError) throw new Error(message);
|
|
98
|
+
console.log(result);
|
|
99
|
+
```
|
|
100
|
+
|
|
101
|
+
Example response:
|
|
102
|
+
|
|
103
|
+
```json
|
|
104
|
+
{
|
|
105
|
+
"isError": false,
|
|
106
|
+
"message": "",
|
|
107
|
+
"result": [{ "Id": "example string", "ProviderId": "example string", "ProviderName": "example string", "Content": "example string", "Timestamp": "2026-01-01T00:00:00Z", "AvatarId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", "Metadata": { "<string>": {} } }]
|
|
108
|
+
}
|
|
109
|
+
```
|
|
110
|
+
|
|
111
|
+
---
|
|
112
|
+
|
|
113
|
+
### `registerSocialProvider`
|
|
114
|
+
|
|
115
|
+
Register a given social provider (FaceBook, Twitter, Instagram, LinkedIn, etc)
|
|
116
|
+
|
|
117
|
+
**POST** `api/social/register-social-provider`
|
|
118
|
+
|
|
119
|
+
**Request**
|
|
120
|
+
|
|
121
|
+
Body type: `Dictionary<string, object>` - a key/value map keyed by `string`, each value a `object`.
|
|
122
|
+
|
|
123
|
+
**Response**
|
|
124
|
+
|
|
125
|
+
Standard `OASISResult` envelope (see top of this page) with:
|
|
126
|
+
|
|
127
|
+
`result` type: `bool`
|
|
128
|
+
|
|
129
|
+
**Example**
|
|
130
|
+
|
|
131
|
+
```js
|
|
132
|
+
const { isError, message, result } = await oasis.social.registerSocialProvider({
|
|
133
|
+
providerName: 'example string',
|
|
134
|
+
accessToken: 'example string',
|
|
135
|
+
/* ...request body fields */
|
|
136
|
+
});
|
|
137
|
+
if (isError) throw new Error(message);
|
|
138
|
+
console.log(result);
|
|
139
|
+
```
|
|
140
|
+
|
|
141
|
+
Example response:
|
|
142
|
+
|
|
143
|
+
```json
|
|
144
|
+
{
|
|
145
|
+
"isError": false,
|
|
146
|
+
"message": "",
|
|
147
|
+
"result": true
|
|
148
|
+
}
|
|
149
|
+
```
|
|
150
|
+
|
|
151
|
+
---
|
|
152
|
+
|
|
153
|
+
### `shareHolon`
|
|
154
|
+
|
|
155
|
+
Share a holon to social media
|
|
156
|
+
|
|
157
|
+
**POST** `api/social/share-holon`
|
|
158
|
+
|
|
159
|
+
**Request**
|
|
160
|
+
|
|
161
|
+
Body type: `string` (array)
|
|
162
|
+
|
|
163
|
+
**Response**
|
|
164
|
+
|
|
165
|
+
Standard `OASISResult` envelope (see top of this page) with:
|
|
166
|
+
|
|
167
|
+
`result` type: `bool`
|
|
168
|
+
|
|
169
|
+
**Example**
|
|
170
|
+
|
|
171
|
+
```js
|
|
172
|
+
const { isError, message, result } = await oasis.social.shareHolon({
|
|
173
|
+
holonId: '3fa85f64-5717-4562-b3fc-2c963f66afa6',
|
|
174
|
+
message: 'example string',
|
|
175
|
+
/* ...request body fields */
|
|
176
|
+
});
|
|
177
|
+
if (isError) throw new Error(message);
|
|
178
|
+
console.log(result);
|
|
179
|
+
```
|
|
180
|
+
|
|
181
|
+
Example response:
|
|
182
|
+
|
|
183
|
+
```json
|
|
184
|
+
{
|
|
185
|
+
"isError": false,
|
|
186
|
+
"message": "",
|
|
187
|
+
"result": true
|
|
188
|
+
}
|
|
189
|
+
```
|
|
190
|
+
|
|
@@ -0,0 +1,150 @@
|
|
|
1
|
+
# Solana — `oasis.solana`
|
|
2
|
+
|
|
3
|
+
Source controller: [`SolanaController.cs`](https://github.com/NextGenSoftwareUK/OASIS2/blob/main/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/SolanaController.cs)
|
|
4
|
+
Route prefix: `api/solana`
|
|
5
|
+
2 operation(s).
|
|
6
|
+
|
|
7
|
+
Every method takes a single args object: any key matching a `{token}` in the route is substituted into the URL; everything else becomes the query string (GET/DELETE) or JSON body (POST/PUT). Every call resolves to the standard OASIS envelope:
|
|
8
|
+
|
|
9
|
+
```ts
|
|
10
|
+
{
|
|
11
|
+
isError: boolean;
|
|
12
|
+
isWarning: boolean;
|
|
13
|
+
message: string;
|
|
14
|
+
errorCode?: string;
|
|
15
|
+
result: T; // see each endpoint's Response section below
|
|
16
|
+
}
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
## Operations
|
|
20
|
+
|
|
21
|
+
### `mintNft`
|
|
22
|
+
|
|
23
|
+
Mint NFT (non-fungible token)
|
|
24
|
+
|
|
25
|
+
**POST** `api/solana/Mint`
|
|
26
|
+
|
|
27
|
+
**Request**
|
|
28
|
+
|
|
29
|
+
Body type: `MintWeb3NFTRequest`
|
|
30
|
+
|
|
31
|
+
| Field | Type |
|
|
32
|
+
| --- | --- |
|
|
33
|
+
| `CollectionPublicKey` | `string?` |
|
|
34
|
+
| `Price` | `decimal?` |
|
|
35
|
+
| `Discount` | `decimal?` |
|
|
36
|
+
| `RoyaltyPercentage` | `int?` |
|
|
37
|
+
| `NumberToMint` | `int?` |
|
|
38
|
+
| `StoreNFTMetaDataOnChain` | `bool?` |
|
|
39
|
+
| `OffChainProvider` | `ProviderType?` |
|
|
40
|
+
| `OnChainProvider` | `ProviderType?` |
|
|
41
|
+
| `NFTStandardType` | `NFTStandardType?` |
|
|
42
|
+
| `NFTOffChainMetaType` | `NFTOffChainMetaType?` |
|
|
43
|
+
| `NFTTagsMergeStrategy` | `NFTTagsMergeStrategy` |
|
|
44
|
+
| `NFTMetaDataMergeStrategy` | `NFTMetaDataMergeStrategy` |
|
|
45
|
+
| `WaitTillNFTMinted` | `bool?` |
|
|
46
|
+
| `WaitForNFTToMintInSeconds` | `int?` |
|
|
47
|
+
| `AttemptToMintEveryXSeconds` | `int?` |
|
|
48
|
+
| `WaitTillNFTVerified` | `bool?` |
|
|
49
|
+
| `WaitForNFTToVerifyInSeconds` | `int?` |
|
|
50
|
+
| `AttemptToVerifyEveryXSeconds` | `int?` |
|
|
51
|
+
| `WaitTillNFTSent` | `bool?` |
|
|
52
|
+
| `WaitForNFTToSendInSeconds` | `int?` |
|
|
53
|
+
| `AttemptToSendEveryXSeconds` | `int?` |
|
|
54
|
+
|
|
55
|
+
**Response**
|
|
56
|
+
|
|
57
|
+
Standard `OASISResult` envelope (see top of this page) with:
|
|
58
|
+
|
|
59
|
+
`result` type: `MintNftResult`
|
|
60
|
+
|
|
61
|
+
| Field | Type |
|
|
62
|
+
| --- | --- |
|
|
63
|
+
| `MintAccount` | `string` |
|
|
64
|
+
| `Network` | `string` |
|
|
65
|
+
| `VerifyCollectionTransactionHash` | `string` |
|
|
66
|
+
|
|
67
|
+
**Example**
|
|
68
|
+
|
|
69
|
+
```js
|
|
70
|
+
const { isError, message, result } = await oasis.solana.mintNft({
|
|
71
|
+
collectionPublicKey: "example string",
|
|
72
|
+
price: 1.0,
|
|
73
|
+
discount: 1.0,
|
|
74
|
+
royaltyPercentage: 1,
|
|
75
|
+
numberToMint: 1,
|
|
76
|
+
storeNFTMetaDataOnChain: true,
|
|
77
|
+
offChainProvider: { },
|
|
78
|
+
onChainProvider: { },
|
|
79
|
+
nFTStandardType: { },
|
|
80
|
+
nFTOffChainMetaType: { },
|
|
81
|
+
nFTTagsMergeStrategy: { },
|
|
82
|
+
nFTMetaDataMergeStrategy: { },
|
|
83
|
+
waitTillNFTMinted: true,
|
|
84
|
+
waitForNFTToMintInSeconds: 1,
|
|
85
|
+
attemptToMintEveryXSeconds: 1,
|
|
86
|
+
waitTillNFTVerified: true,
|
|
87
|
+
waitForNFTToVerifyInSeconds: 1,
|
|
88
|
+
attemptToVerifyEveryXSeconds: 1,
|
|
89
|
+
waitTillNFTSent: true,
|
|
90
|
+
waitForNFTToSendInSeconds: 1,
|
|
91
|
+
attemptToSendEveryXSeconds: 1
|
|
92
|
+
});
|
|
93
|
+
if (isError) throw new Error(message);
|
|
94
|
+
console.log(result);
|
|
95
|
+
```
|
|
96
|
+
|
|
97
|
+
Example response:
|
|
98
|
+
|
|
99
|
+
```json
|
|
100
|
+
{
|
|
101
|
+
"isError": false,
|
|
102
|
+
"message": "",
|
|
103
|
+
"result": { "MintAccount": "example string", "Network": "example string", "VerifyCollectionTransactionHash": "example string" }
|
|
104
|
+
}
|
|
105
|
+
```
|
|
106
|
+
|
|
107
|
+
---
|
|
108
|
+
|
|
109
|
+
### `sendTransaction`
|
|
110
|
+
|
|
111
|
+
Handles a transaction between accounts with a specific Lampposts size
|
|
112
|
+
|
|
113
|
+
**POST** `api/solana/Send`
|
|
114
|
+
|
|
115
|
+
**Request**
|
|
116
|
+
|
|
117
|
+
Body type: `SendTransactionRequest`
|
|
118
|
+
|
|
119
|
+
| Field | Type |
|
|
120
|
+
| --- | --- |
|
|
121
|
+
| `Lampposts` | `ulong` |
|
|
122
|
+
|
|
123
|
+
**Response**
|
|
124
|
+
|
|
125
|
+
Standard `OASISResult` envelope (see top of this page) with:
|
|
126
|
+
|
|
127
|
+
`result` type: `SendTransactionResult`
|
|
128
|
+
|
|
129
|
+
_No fields._
|
|
130
|
+
|
|
131
|
+
**Example**
|
|
132
|
+
|
|
133
|
+
```js
|
|
134
|
+
const { isError, message, result } = await oasis.solana.sendTransaction({
|
|
135
|
+
lampposts: /* <ulong> */
|
|
136
|
+
});
|
|
137
|
+
if (isError) throw new Error(message);
|
|
138
|
+
console.log(result);
|
|
139
|
+
```
|
|
140
|
+
|
|
141
|
+
Example response:
|
|
142
|
+
|
|
143
|
+
```json
|
|
144
|
+
{
|
|
145
|
+
"isError": false,
|
|
146
|
+
"message": "",
|
|
147
|
+
"result": { }
|
|
148
|
+
}
|
|
149
|
+
```
|
|
150
|
+
|
|
@@ -0,0 +1,359 @@
|
|
|
1
|
+
# Stats — `oasis.stats`
|
|
2
|
+
|
|
3
|
+
Source controller: [`StatsController.cs`](https://github.com/NextGenSoftwareUK/OASIS2/blob/main/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/StatsController.cs)
|
|
4
|
+
Route prefix: `api/stats`
|
|
5
|
+
8 operation(s).
|
|
6
|
+
|
|
7
|
+
Every method takes a single args object: any key matching a `{token}` in the route is substituted into the URL; everything else becomes the query string (GET/DELETE) or JSON body (POST/PUT). Every call resolves to the standard OASIS envelope:
|
|
8
|
+
|
|
9
|
+
```ts
|
|
10
|
+
{
|
|
11
|
+
isError: boolean;
|
|
12
|
+
isWarning: boolean;
|
|
13
|
+
message: string;
|
|
14
|
+
errorCode?: string;
|
|
15
|
+
result: T; // see each endpoint's Response section below
|
|
16
|
+
}
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
## Operations
|
|
20
|
+
|
|
21
|
+
### `getChatStats`
|
|
22
|
+
|
|
23
|
+
Get chat statistics for an avatar
|
|
24
|
+
|
|
25
|
+
**GET** `api/stats/chat-stats/{avatarId}`
|
|
26
|
+
|
|
27
|
+
Route parameters:
|
|
28
|
+
|
|
29
|
+
| Field | Type |
|
|
30
|
+
| --- | --- |
|
|
31
|
+
| `avatarId` | `Guid` |
|
|
32
|
+
|
|
33
|
+
**Request**
|
|
34
|
+
|
|
35
|
+
No request body.
|
|
36
|
+
|
|
37
|
+
**Response**
|
|
38
|
+
|
|
39
|
+
Standard `OASISResult` envelope (see top of this page) with:
|
|
40
|
+
|
|
41
|
+
`result` type: `Dictionary<string, object>` - a key/value map keyed by `string`, each value a `object`.
|
|
42
|
+
|
|
43
|
+
**Example**
|
|
44
|
+
|
|
45
|
+
```js
|
|
46
|
+
const { isError, message, result } = await oasis.stats.getChatStats({
|
|
47
|
+
avatarId: '<avatarId>'
|
|
48
|
+
});
|
|
49
|
+
if (isError) throw new Error(message);
|
|
50
|
+
console.log(result);
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
Example response:
|
|
54
|
+
|
|
55
|
+
```json
|
|
56
|
+
{
|
|
57
|
+
"isError": false,
|
|
58
|
+
"message": "",
|
|
59
|
+
"result": { "<string>": {} }
|
|
60
|
+
}
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
---
|
|
64
|
+
|
|
65
|
+
### `getGiftStats`
|
|
66
|
+
|
|
67
|
+
Get gift statistics for an avatar
|
|
68
|
+
|
|
69
|
+
**GET** `api/stats/gift-stats/{avatarId}`
|
|
70
|
+
|
|
71
|
+
Route parameters:
|
|
72
|
+
|
|
73
|
+
| Field | Type |
|
|
74
|
+
| --- | --- |
|
|
75
|
+
| `avatarId` | `Guid` |
|
|
76
|
+
|
|
77
|
+
**Request**
|
|
78
|
+
|
|
79
|
+
No request body.
|
|
80
|
+
|
|
81
|
+
**Response**
|
|
82
|
+
|
|
83
|
+
Standard `OASISResult` envelope (see top of this page) with:
|
|
84
|
+
|
|
85
|
+
`result` type: `Dictionary<string, object>` - a key/value map keyed by `string`, each value a `object`.
|
|
86
|
+
|
|
87
|
+
**Example**
|
|
88
|
+
|
|
89
|
+
```js
|
|
90
|
+
const { isError, message, result } = await oasis.stats.getGiftStats({
|
|
91
|
+
avatarId: '<avatarId>'
|
|
92
|
+
});
|
|
93
|
+
if (isError) throw new Error(message);
|
|
94
|
+
console.log(result);
|
|
95
|
+
```
|
|
96
|
+
|
|
97
|
+
Example response:
|
|
98
|
+
|
|
99
|
+
```json
|
|
100
|
+
{
|
|
101
|
+
"isError": false,
|
|
102
|
+
"message": "",
|
|
103
|
+
"result": { "<string>": {} }
|
|
104
|
+
}
|
|
105
|
+
```
|
|
106
|
+
|
|
107
|
+
---
|
|
108
|
+
|
|
109
|
+
### `getKarmaHistory`
|
|
110
|
+
|
|
111
|
+
Get karma history for an avatar
|
|
112
|
+
|
|
113
|
+
**GET** `api/stats/karma-history/{avatarId}`
|
|
114
|
+
|
|
115
|
+
Route parameters:
|
|
116
|
+
|
|
117
|
+
| Field | Type |
|
|
118
|
+
| --- | --- |
|
|
119
|
+
| `avatarId` | `Guid` |
|
|
120
|
+
|
|
121
|
+
**Request**
|
|
122
|
+
|
|
123
|
+
Query parameters:
|
|
124
|
+
|
|
125
|
+
| Field | Type |
|
|
126
|
+
| --- | --- |
|
|
127
|
+
| `limit` | `int (optional)` |
|
|
128
|
+
|
|
129
|
+
**Response**
|
|
130
|
+
|
|
131
|
+
Standard `OASISResult` envelope (see top of this page) with:
|
|
132
|
+
|
|
133
|
+
`result` type: `Dictionary<string, object>` - a key/value map keyed by `string`, each value a `object`.
|
|
134
|
+
|
|
135
|
+
**Example**
|
|
136
|
+
|
|
137
|
+
```js
|
|
138
|
+
const { isError, message, result } = await oasis.stats.getKarmaHistory({
|
|
139
|
+
avatarId: '<avatarId>',
|
|
140
|
+
limit: 1
|
|
141
|
+
});
|
|
142
|
+
if (isError) throw new Error(message);
|
|
143
|
+
console.log(result);
|
|
144
|
+
```
|
|
145
|
+
|
|
146
|
+
Example response:
|
|
147
|
+
|
|
148
|
+
```json
|
|
149
|
+
{
|
|
150
|
+
"isError": false,
|
|
151
|
+
"message": "",
|
|
152
|
+
"result": { "<string>": {} }
|
|
153
|
+
}
|
|
154
|
+
```
|
|
155
|
+
|
|
156
|
+
---
|
|
157
|
+
|
|
158
|
+
### `getKarmaStats`
|
|
159
|
+
|
|
160
|
+
Get karma statistics for an avatar
|
|
161
|
+
|
|
162
|
+
**GET** `api/stats/karma-stats/{avatarId}`
|
|
163
|
+
|
|
164
|
+
Route parameters:
|
|
165
|
+
|
|
166
|
+
| Field | Type |
|
|
167
|
+
| --- | --- |
|
|
168
|
+
| `avatarId` | `Guid` |
|
|
169
|
+
|
|
170
|
+
**Request**
|
|
171
|
+
|
|
172
|
+
No request body.
|
|
173
|
+
|
|
174
|
+
**Response**
|
|
175
|
+
|
|
176
|
+
Standard `OASISResult` envelope (see top of this page) with:
|
|
177
|
+
|
|
178
|
+
`result` type: `Dictionary<string, object>` - a key/value map keyed by `string`, each value a `object`.
|
|
179
|
+
|
|
180
|
+
**Example**
|
|
181
|
+
|
|
182
|
+
```js
|
|
183
|
+
const { isError, message, result } = await oasis.stats.getKarmaStats({
|
|
184
|
+
avatarId: '<avatarId>'
|
|
185
|
+
});
|
|
186
|
+
if (isError) throw new Error(message);
|
|
187
|
+
console.log(result);
|
|
188
|
+
```
|
|
189
|
+
|
|
190
|
+
Example response:
|
|
191
|
+
|
|
192
|
+
```json
|
|
193
|
+
{
|
|
194
|
+
"isError": false,
|
|
195
|
+
"message": "",
|
|
196
|
+
"result": { "<string>": {} }
|
|
197
|
+
}
|
|
198
|
+
```
|
|
199
|
+
|
|
200
|
+
---
|
|
201
|
+
|
|
202
|
+
### `getKeyStats`
|
|
203
|
+
|
|
204
|
+
Get key statistics for an avatar
|
|
205
|
+
|
|
206
|
+
**GET** `api/stats/key-stats/{avatarId}`
|
|
207
|
+
|
|
208
|
+
Route parameters:
|
|
209
|
+
|
|
210
|
+
| Field | Type |
|
|
211
|
+
| --- | --- |
|
|
212
|
+
| `avatarId` | `Guid` |
|
|
213
|
+
|
|
214
|
+
**Request**
|
|
215
|
+
|
|
216
|
+
No request body.
|
|
217
|
+
|
|
218
|
+
**Response**
|
|
219
|
+
|
|
220
|
+
Standard `OASISResult` envelope (see top of this page) with:
|
|
221
|
+
|
|
222
|
+
`result` type: `Dictionary<string, object>` - a key/value map keyed by `string`, each value a `object`.
|
|
223
|
+
|
|
224
|
+
**Example**
|
|
225
|
+
|
|
226
|
+
```js
|
|
227
|
+
const { isError, message, result } = await oasis.stats.getKeyStats({
|
|
228
|
+
avatarId: '<avatarId>'
|
|
229
|
+
});
|
|
230
|
+
if (isError) throw new Error(message);
|
|
231
|
+
console.log(result);
|
|
232
|
+
```
|
|
233
|
+
|
|
234
|
+
Example response:
|
|
235
|
+
|
|
236
|
+
```json
|
|
237
|
+
{
|
|
238
|
+
"isError": false,
|
|
239
|
+
"message": "",
|
|
240
|
+
"result": { "<string>": {} }
|
|
241
|
+
}
|
|
242
|
+
```
|
|
243
|
+
|
|
244
|
+
---
|
|
245
|
+
|
|
246
|
+
### `getLeaderboardStats`
|
|
247
|
+
|
|
248
|
+
Get leaderboard statistics for an avatar
|
|
249
|
+
|
|
250
|
+
**GET** `api/stats/leaderboard-stats/{avatarId}`
|
|
251
|
+
|
|
252
|
+
Route parameters:
|
|
253
|
+
|
|
254
|
+
| Field | Type |
|
|
255
|
+
| --- | --- |
|
|
256
|
+
| `avatarId` | `Guid` |
|
|
257
|
+
|
|
258
|
+
**Request**
|
|
259
|
+
|
|
260
|
+
No request body.
|
|
261
|
+
|
|
262
|
+
**Response**
|
|
263
|
+
|
|
264
|
+
Standard `OASISResult` envelope (see top of this page) with:
|
|
265
|
+
|
|
266
|
+
`result` type: `Dictionary<string, object>` - a key/value map keyed by `string`, each value a `object`.
|
|
267
|
+
|
|
268
|
+
**Example**
|
|
269
|
+
|
|
270
|
+
```js
|
|
271
|
+
const { isError, message, result } = await oasis.stats.getLeaderboardStats({
|
|
272
|
+
avatarId: '<avatarId>'
|
|
273
|
+
});
|
|
274
|
+
if (isError) throw new Error(message);
|
|
275
|
+
console.log(result);
|
|
276
|
+
```
|
|
277
|
+
|
|
278
|
+
Example response:
|
|
279
|
+
|
|
280
|
+
```json
|
|
281
|
+
{
|
|
282
|
+
"isError": false,
|
|
283
|
+
"message": "",
|
|
284
|
+
"result": { "<string>": {} }
|
|
285
|
+
}
|
|
286
|
+
```
|
|
287
|
+
|
|
288
|
+
---
|
|
289
|
+
|
|
290
|
+
### `getStatsForCurrentLoggedInAvatar`
|
|
291
|
+
|
|
292
|
+
Get comprehensive stats for the currently logged in avatar
|
|
293
|
+
|
|
294
|
+
**GET** `api/stats/get-stats-for-current-logged-in-avatar`
|
|
295
|
+
|
|
296
|
+
**Request**
|
|
297
|
+
|
|
298
|
+
No request body.
|
|
299
|
+
|
|
300
|
+
**Response**
|
|
301
|
+
|
|
302
|
+
Standard `OASISResult` envelope (see top of this page) with:
|
|
303
|
+
|
|
304
|
+
`result` type: `Dictionary<string, object>` - a key/value map keyed by `string`, each value a `object`.
|
|
305
|
+
|
|
306
|
+
**Example**
|
|
307
|
+
|
|
308
|
+
```js
|
|
309
|
+
const { isError, message, result } = await oasis.stats.getStatsForCurrentLoggedInAvatar({});
|
|
310
|
+
if (isError) throw new Error(message);
|
|
311
|
+
console.log(result);
|
|
312
|
+
```
|
|
313
|
+
|
|
314
|
+
Example response:
|
|
315
|
+
|
|
316
|
+
```json
|
|
317
|
+
{
|
|
318
|
+
"isError": false,
|
|
319
|
+
"message": "",
|
|
320
|
+
"result": { "<string>": {} }
|
|
321
|
+
}
|
|
322
|
+
```
|
|
323
|
+
|
|
324
|
+
---
|
|
325
|
+
|
|
326
|
+
### `getSystemStats`
|
|
327
|
+
|
|
328
|
+
Get system-wide statistics
|
|
329
|
+
|
|
330
|
+
**GET** `api/stats/system-stats`
|
|
331
|
+
|
|
332
|
+
**Request**
|
|
333
|
+
|
|
334
|
+
No request body.
|
|
335
|
+
|
|
336
|
+
**Response**
|
|
337
|
+
|
|
338
|
+
Standard `OASISResult` envelope (see top of this page) with:
|
|
339
|
+
|
|
340
|
+
`result` type: `Dictionary<string, object>` - a key/value map keyed by `string`, each value a `object`.
|
|
341
|
+
|
|
342
|
+
**Example**
|
|
343
|
+
|
|
344
|
+
```js
|
|
345
|
+
const { isError, message, result } = await oasis.stats.getSystemStats({});
|
|
346
|
+
if (isError) throw new Error(message);
|
|
347
|
+
console.log(result);
|
|
348
|
+
```
|
|
349
|
+
|
|
350
|
+
Example response:
|
|
351
|
+
|
|
352
|
+
```json
|
|
353
|
+
{
|
|
354
|
+
"isError": false,
|
|
355
|
+
"message": "",
|
|
356
|
+
"result": { "<string>": {} }
|
|
357
|
+
}
|
|
358
|
+
```
|
|
359
|
+
|