@datviet/nbp-sdk 0.0.327 → 0.0.329
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 +12 -9
- package/package.json +1 -1
- package/v2/gen/sdk.gen.d.ts +1 -0
- package/v2/gen/sdk.gen.js +1 -0
- package/v2/gen/types.gen.d.ts +3 -0
package/README.md
CHANGED
|
@@ -26,16 +26,19 @@ Khoá gắn chết vào một workspace — không cần gửi `X-Workspace-ID`,
|
|
|
26
26
|
```ts
|
|
27
27
|
import { createOpencodeClient } from "@datviet/nbp-sdk/v2/client"
|
|
28
28
|
|
|
29
|
-
const
|
|
29
|
+
const client = createOpencodeClient({
|
|
30
30
|
baseUrl: "https://nbp.datviet.ai",
|
|
31
31
|
headers: { Authorization: `Bearer ${process.env.NBP_API_KEY}` },
|
|
32
32
|
throwOnError: true,
|
|
33
33
|
})
|
|
34
34
|
|
|
35
|
-
const listings = await nbp.listings.list({ limit: 20 })
|
|
36
|
-
const clients = await nbp.clients.list({ limit: 20 })
|
|
35
|
+
const listings = await client.nbp.listings.list({ limit: 20 })
|
|
36
|
+
const clients = await client.nbp.clients.list({ limit: 20 })
|
|
37
37
|
```
|
|
38
38
|
|
|
39
|
+
Endpoint bất động sản nằm dưới namespace `nbp` (`client.nbp.listings`, `client.nbp.clients`,
|
|
40
|
+
`client.nbp.tasks`…); còn `workspaces`, `session`, `agent` nằm thẳng ở gốc.
|
|
41
|
+
|
|
39
42
|
Tham số đi **phẳng** — không bọc `query` / `body`. SDK tự xếp cái nào vào query, cái nào vào body.
|
|
40
43
|
|
|
41
44
|
Hai mức quyền, chọn lúc tạo khoá:
|
|
@@ -60,7 +63,7 @@ const auth = createNbpAuth({
|
|
|
60
63
|
redirectURI: `${location.origin}/auth/callback`,
|
|
61
64
|
})
|
|
62
65
|
|
|
63
|
-
const
|
|
66
|
+
const client = createOpencodeClient({ baseUrl: "https://nbp.datviet.ai", fetch: auth.fetch })
|
|
64
67
|
|
|
65
68
|
// Nút đăng nhập
|
|
66
69
|
await auth.login()
|
|
@@ -70,7 +73,7 @@ const params = new URLSearchParams(location.search)
|
|
|
70
73
|
const ok = await auth.handleCallback(params.get("code")!, params.get("state") ?? undefined)
|
|
71
74
|
|
|
72
75
|
// Chọn workspace rồi mọi request sau đó tự mang X-Workspace-ID
|
|
73
|
-
const ws = await
|
|
76
|
+
const ws = await client.workspaces.list()
|
|
74
77
|
auth.setWorkspace(ws.data!.data[0]!.id)
|
|
75
78
|
```
|
|
76
79
|
|
|
@@ -94,7 +97,7 @@ CORS đã mở cho `*.datviet.ai`, `*.ankapong.com` và mọi `http://localhost:
|
|
|
94
97
|
|
|
95
98
|
```ts
|
|
96
99
|
// Tin mới nhất, có ảnh, nhà phố dưới 10 tỷ ở Quận 2
|
|
97
|
-
const res = await nbp.listings.list({
|
|
100
|
+
const res = await client.nbp.listings.list({
|
|
98
101
|
limit: 12,
|
|
99
102
|
sortBy: "time_created",
|
|
100
103
|
sortDirection: "desc",
|
|
@@ -105,17 +108,17 @@ const res = await nbp.listings.list({
|
|
|
105
108
|
})
|
|
106
109
|
|
|
107
110
|
// Tạo tin (khoá phải là "Đọc & ghi")
|
|
108
|
-
await nbp.listings.create({
|
|
111
|
+
await client.nbp.listings.create({
|
|
109
112
|
price: 8_500_000_000,
|
|
110
113
|
tags: { category: "sale", property_type: "house", district: "Quận 2", area: 80 },
|
|
111
114
|
})
|
|
112
115
|
|
|
113
116
|
// Quản lý khoá API — chỉ JWT của owner/admin gọi được, khoá `sk-` bị chặn 403
|
|
114
|
-
await
|
|
117
|
+
await client.workspaces.apiKeys.list({ id: workspaceID })
|
|
115
118
|
```
|
|
116
119
|
|
|
117
120
|
Tag lưu trong DB bằng **key tiếng Anh** (`"house"`), UI hiện nhãn Việt (`"Nhà phố"`) — nhớ gửi key.
|
|
118
121
|
|
|
119
122
|
## Bản `v2` vs bản gốc
|
|
120
123
|
|
|
121
|
-
`@datviet/nbp-sdk/v2/client` là bản đang dùng (client theo class, `nbp.listings.list()`). Export ở root (`@datviet/nbp-sdk`) là bản cũ kế thừa từ opencode, giữ cho tương thích — code mới dùng `/v2/client`.
|
|
124
|
+
`@datviet/nbp-sdk/v2/client` là bản đang dùng (client theo class, `client.nbp.listings.list()`). Export ở root (`@datviet/nbp-sdk`) là bản cũ kế thừa từ opencode, giữ cho tương thích — code mới dùng `/v2/client`.
|
package/package.json
CHANGED
package/v2/gen/sdk.gen.d.ts
CHANGED
|
@@ -1350,6 +1350,7 @@ export declare class Clients extends HeyApiClient {
|
|
|
1350
1350
|
interactionsFeed<ThrowOnError extends boolean = false>(parameters?: {
|
|
1351
1351
|
directory?: string;
|
|
1352
1352
|
limit?: number;
|
|
1353
|
+
offset?: number;
|
|
1353
1354
|
}, options?: Options<never, ThrowOnError>): import("./client/types.gen.js").RequestResult<NbpClientsInteractionsFeedResponses, unknown, ThrowOnError, "fields">;
|
|
1354
1355
|
/**
|
|
1355
1356
|
* List clients
|
package/v2/gen/sdk.gen.js
CHANGED
package/v2/gen/types.gen.d.ts
CHANGED
|
@@ -1191,6 +1191,7 @@ export type Task = {
|
|
|
1191
1191
|
clientId?: string | null;
|
|
1192
1192
|
clientName?: string | null;
|
|
1193
1193
|
listingId?: string | null;
|
|
1194
|
+
listingCode?: string | null;
|
|
1194
1195
|
createdAt: string;
|
|
1195
1196
|
updatedAt: string;
|
|
1196
1197
|
};
|
|
@@ -6208,6 +6209,7 @@ export type NbpClientsStatsResponses = {
|
|
|
6208
6209
|
bySourceChannel: {
|
|
6209
6210
|
[key: string]: number;
|
|
6210
6211
|
};
|
|
6212
|
+
pipelineValue: number;
|
|
6211
6213
|
};
|
|
6212
6214
|
};
|
|
6213
6215
|
export type NbpClientsStatsResponse = NbpClientsStatsResponses[keyof NbpClientsStatsResponses];
|
|
@@ -6234,6 +6236,7 @@ export type NbpClientsInteractionsFeedData = {
|
|
|
6234
6236
|
query?: {
|
|
6235
6237
|
directory?: string;
|
|
6236
6238
|
limit?: number;
|
|
6239
|
+
offset?: number;
|
|
6237
6240
|
};
|
|
6238
6241
|
url: "/nbp/clients/interactions";
|
|
6239
6242
|
};
|