DRT 公众 API
从 OpenAPI 光谱生成的用于输入 API 客户端的统一国家防范机制软件包 .
该套件通过下列方式提供打字获得公共服务的机会: fetch。 。 。 .
* 安装
npm install @drttix/drt-sdk
使用量
import { DRT } from "@drttix/drt-sdk";
DRT.init({
shopperGuid: "your-shopper-guid",
accountId: "your-account-id",
apiKey: "your-api-key",
});
const theme = await DRT.shopper.account.getTheme();
为许多店员/账户服务的后端
默认 SDK 是一个单通: 一个 sphoperGuid/ accountId 整个
进程,一次通过 DRT.init()。一个代理代表
许多不同的店主可以选择 shopperScope: 'per-request' 相反,
通过 { shopperGuid, accountId } 作为每个shopper的最后一个参数
电话 :
import { DRT } from "@drttix/drt-sdk";
DRT.init({ apiKey: "your-api-key", shopperScope: "per-request" });
await DRT.shopper.product.addProduct(productBody, {
shopperGuid: req.shopperGuid,
accountId: req.accountId,
});
apiKey 仍然被设置在一次内——它识别了您的后端,而不是
hopper. shopperGuid编号 :accountId 是唯一成为
按要求计算。 门户和扫描仪不受影响,仍为单吨扫描仪.
API 密钥
DRT.init({ apiKey }) 强制性(2.0.0). 每一个服务电话——shopper,
门户和扫描仪都一样——抛出 DRT SDK not initialized 直到它运行;
没有无键模式。 只有门户和扫描仪的消费者通过
shopperScope: 'per-request' 因此,不需要 shopper 证书在init.
Shopper API 拒绝所有没有带活键的请求
apikey 页眉,并仅纪念它为它发布的域的密钥
(单位:千美元)recital_ticketing.dbo.shopper_api_key) (中文(简体) ). 钥匙看起来像
drt_shopper_de1ab347f47c…跨DRT服务的公约是阅读
从 DRT_API_KEY 环境变量(在 Azure DevOps: SDK
并传递给 DRT.init数字 :
DRT.init({ apiKey: process.env.DRT_API_KEY, shopperScope: "per-request" });
浏览器 不需要更多: 浏览器设置 Origin 标题本身,
而这正是API与密钥允许域的匹配.
服务器 (节点后端, 脚本) 发送否 Origin所以他们必须宣布
sDK 发送的 x-drt-domain数字 :
DRT.init({
apiKey: process.env.DRT_API_KEY,
domain: "tap-to-pay.drttix.com",
shopperScope: "per-request",
});
缺少的密钥, 未知的或已失效的密钥, 或密钥没有的域
允许全部回答 401 与 errorCode INVALID_API_KEY 或者说
API_KEY_DOMAIN_NOT_ALLOWED。 。 。 .
地方发展(仅开发者)
对于针对本地 API 服务器的 SDK 贡献者测试 :
// Option 1: Use localhost:3000
process.env.DRT_API_LOCAL = "true";
// Option 2: Use a custom base URL
process.env.DRT_API_BASE_URL = "http://localhost:8080";
import { DRT } from "@drttix/drt-sdk";
或者通过命令行 :
# Use localhost:3000
DRT_API_LOCAL=true npx tsx test.ts
# Use custom base URL
DRT_API_BASE_URL=http://localhost:8080 npx tsx test.ts
Npm 运行生成 Npm 登录 增量包.lock 版本 Npm 发布