@realforce-software/api-client 0.0.11 → 0.0.12
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 +50 -21
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
# Realforce API - TypeScript SDK
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
TypeScript client SDK for the Realforce API.
|
|
4
4
|
|
|
5
|
-
**Version:** 0.0.
|
|
5
|
+
**Version:** 0.0.12
|
|
6
6
|
|
|
7
7
|
## Installation
|
|
8
8
|
|
|
@@ -10,34 +10,61 @@ Auto-generated TypeScript / JavaScript client SDK for the Realforce API.
|
|
|
10
10
|
npm install @realforce-software/api-client
|
|
11
11
|
```
|
|
12
12
|
|
|
13
|
-
##
|
|
13
|
+
## Authentication
|
|
14
|
+
|
|
15
|
+
Use a Realforce **Personal Access Token (PAT)** — tokens are prefixed `rfk_`
|
|
16
|
+
or `rfp_`. Generate one in the Realforce dashboard. Send it as a Bearer token
|
|
17
|
+
in the `Authorization` header.
|
|
14
18
|
|
|
15
19
|
```typescript
|
|
16
|
-
import
|
|
20
|
+
import axios from 'axios';
|
|
21
|
+
import { RealforceApiClient } from '@realforce-software/api-client';
|
|
17
22
|
|
|
18
|
-
const
|
|
19
|
-
|
|
20
|
-
headers: { Authorization: `Bearer ${yourJwtToken}` }
|
|
23
|
+
const http = axios.create({
|
|
24
|
+
headers: { Authorization: 'Bearer rfk_xxxxxxxxxxxxxxxx' }
|
|
21
25
|
});
|
|
22
26
|
|
|
23
|
-
const
|
|
27
|
+
const client = new RealforceApiClient('https://api.realforce.com', http);
|
|
24
28
|
```
|
|
25
29
|
|
|
26
|
-
##
|
|
30
|
+
## Workspace ID
|
|
31
|
+
|
|
32
|
+
Most endpoints are scoped to a workspace. The generated client surfaces this as
|
|
33
|
+
an `x_Workspace_ID` parameter (string GUID) on each method — pass the workspace
|
|
34
|
+
your token has access to on every call:
|
|
35
|
+
|
|
36
|
+
```typescript
|
|
37
|
+
const workspaceId = '00000000-0000-0000-0000-000000000000';
|
|
38
|
+
const agent = await client.getAgent(agentId, workspaceId);
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
## Quick Start
|
|
42
|
+
|
|
43
|
+
```typescript
|
|
44
|
+
import axios from 'axios';
|
|
45
|
+
import { RealforceApiClient } from '@realforce-software/api-client';
|
|
46
|
+
|
|
47
|
+
const http = axios.create({
|
|
48
|
+
headers: { Authorization: 'Bearer rfk_xxxxxxxxxxxxxxxx' }
|
|
49
|
+
});
|
|
50
|
+
|
|
51
|
+
const client = new RealforceApiClient('https://api.realforce.com', http);
|
|
27
52
|
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
53
|
+
const workspaceId = '...';
|
|
54
|
+
const agents = await client.queryAgents(workspaceId, {});
|
|
55
|
+
```
|
|
31
56
|
|
|
32
57
|
## Error Handling
|
|
33
58
|
|
|
59
|
+
The SDK throws `ApiException` for non-2xx responses, surfacing the status code
|
|
60
|
+
and parsed body:
|
|
61
|
+
|
|
34
62
|
```typescript
|
|
35
63
|
try {
|
|
36
|
-
const result = await client.
|
|
64
|
+
const result = await client.getAgent(agentId, workspaceId);
|
|
37
65
|
} catch (error: any) {
|
|
38
|
-
if (error.
|
|
39
|
-
console.error(
|
|
40
|
-
console.error('Body:', error.response.data);
|
|
66
|
+
if (error.status) {
|
|
67
|
+
console.error(`HTTP ${error.status}:`, error.response);
|
|
41
68
|
} else if (error.request) {
|
|
42
69
|
console.error('No response received:', error.request);
|
|
43
70
|
} else {
|
|
@@ -48,17 +75,19 @@ try {
|
|
|
48
75
|
|
|
49
76
|
## Custom Axios Instance
|
|
50
77
|
|
|
78
|
+
The constructor's second argument accepts any pre-configured `AxiosInstance`,
|
|
79
|
+
so you can attach interceptors, set timeouts, retry, etc.:
|
|
80
|
+
|
|
51
81
|
```typescript
|
|
52
82
|
import axios from 'axios';
|
|
53
|
-
import {
|
|
83
|
+
import { RealforceApiClient } from '@realforce-software/api-client';
|
|
54
84
|
|
|
55
|
-
const
|
|
56
|
-
baseURL: 'https://api.realforce.com',
|
|
85
|
+
const http = axios.create({
|
|
57
86
|
timeout: 30000,
|
|
58
87
|
headers: { Authorization: `Bearer ${token}` }
|
|
59
88
|
});
|
|
60
89
|
|
|
61
|
-
const client = new
|
|
90
|
+
const client = new RealforceApiClient('https://api.realforce.com', http);
|
|
62
91
|
```
|
|
63
92
|
|
|
64
93
|
## Requirements
|
|
@@ -73,4 +102,4 @@ const client = new PropertyClient({}, customAxios);
|
|
|
73
102
|
|
|
74
103
|
---
|
|
75
104
|
|
|
76
|
-
*This SDK
|
|
105
|
+
*This SDK is automatically generated from the Realforce OpenAPI spec.*
|