@datviet/nbp-sdk 0.0.327 → 0.0.328

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.
Files changed (2) hide show
  1. package/README.md +12 -9
  2. package/package.json +1 -1
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 nbp = createOpencodeClient({
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 nbp = createOpencodeClient({ baseUrl: "https://nbp.datviet.ai", fetch: auth.fetch })
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 nbp.workspaces.list()
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 nbp.workspaces.apiKeys.list({ id: workspaceID })
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
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@datviet/nbp-sdk",
3
- "version": "0.0.327",
3
+ "version": "0.0.328",
4
4
  "description": "TypeScript SDK cho NBP API (nbp.datviet.ai) — listings, clients, tasks, agent sessions.",
5
5
  "license": "MIT",
6
6
  "type": "module",