SDK 未發布

具型別的用戶端,始終保持同步。

Python 和 TypeScript 用戶端和 API 出自同一份原始碼,所以不可能和真實行為對不上。程式碼已經有了,也有閘門擋住飄移,但套件還沒上架到 registry。

籌備中任何套件。 用戶端已經產生,一旦和路由表對不上,CI 就會讓建置失敗。只是 untactit-sdk 目前既不在 PyPI 也不在 npm 上 —— 與其讓你安裝時才發現,不如先說清楚。套件上線之前,直接用 REST API 就行。

怎麼造出來的

由程式生成,而非手工撰寫。

兩個用戶端都出自產生 OpenAPI 文件的同一份定義。手工維護的 SDK 兩個版本就會落後於 API,而這個落差在你的程式碼出問題之前是看不見的 —— 出問題的不是我們這邊。

這也代表 API 介面一穩定,兩種語言就會同時推出,而不會有一邊落後。

已承諾的範圍

Python 3.9+
全面提供型別提示,採 MIT 授權
TypeScript / Node 18+
支援 ESM 與 CJS,並提供完整型別定義
具型別的錯誤
依類別分支處理,不必解析訊息字串
自動重試
針對 429 與 5xx 採退避重試,並公開限制資訊

生成出來的樣子

實際使用時會是什麼樣子。

現在先公開,讓你在它問世之前就能判斷是否適合你的程式碼庫。

Python
from untactit import Client

c = Client(token="YOUR_TOKEN")

for a in c.assets.list(layer="company", status="live"):
    print(f"{a.name} v{a.version} -> {a.targets}")

draft = c.assets.get("pricing-objection-handler")
c.assets.propose(draft.id, note="Updated Q3 pricing")
TypeScript
import { Untactit } from "untactit-sdk";

const c = new Untactit({ token: process.env.TOKEN! });

const assets = await c.assets.list({
  layer: "company",
  status: "live",
});

團隊將用它建置什麼

三種模式就涵蓋了大部分需求,每一種都只要十來行程式碼。

從 CI 部署

將提升與部署納入你的發布流程,讓代理指令與依賴它們的程式碼一同上線。

將稽核紀錄送進你的技術堆疊

依排程輪詢稽核端點,並轉送到你的資安團隊原本就在看的地方。這一項今天用純 HTTP 就能做到。

自訂儀表板

依部門的涵蓋率、依平台的偏移狀況、六個月無人碰過的資產 — 你的團隊真正需要的視角。


其他語言

此 API 是基於 HTTPS 的純 REST,因此任何 HTTP 用戶端都能使用,未來也一樣。我們會維護 Python 與 TypeScript,因為那正是我們自身工具所使用的 — 維護一個我們自己從不執行的用戶端,等於發布一個我們從未測試過的用戶端。

若你希望這裡列出 Go、Ruby 或 Rust 的用戶端,請來信 [email protected]。我們會附上連結,並在 API 變更發布前先行告知。

你的代理在跑什麼,不必再用猜的。

連接一個工作區,大約十分鐘,團隊實際在用的每一項技能、規則與記憶就全部看得到。

免費開始→ 與我們談談

免信用卡,直接搭配你現有的工具。