跳转到内容
Tutorial

如何使用 Botoi TypeScript SDK 和 5 个真实示例

| 7 min read

安装 @botoi/sdk,调用 150 多个具有完全类型安全、自动重试和零依赖性的端点。 包括五个复制粘贴示例。

TypeScript code in a VS Code editor
Photo by Safar Safarov on Unsplash

您正在构建 Node.js 应用程序,需要验证电子邮件、捕获屏幕截图、检测 PII 支持票证,或生成收据二维码。 你可以写 fetch 包装纸, 处理重试、解析错误,并希望类型与 API 保持同步。 或者你可以安装 一包。

@botoi/sdk 包给你输入 通过自动重试、错误类和零依赖性访问 150 多个端点。 这个帖子走起来 通过五个复制粘贴示例,您今天就可以发布。

安装并初始化

SDK读取 BOTOI_API_KEY 默认情况下来自您的环境。 没有 API 密钥? 匿名 访问速度为每分钟 5 个请求,每天 100 个。 该包具有零依赖性并且 需要 Node.js 20+。

今天您可以构建的五件事

在登录之前扫描用户输入的 PII

支持票证包含客户不假思索地粘贴的电子邮件、电话号码和 SSN。 如果您记录这些有效负载,您就存储了您从未要求过的 PII。 这 pii.detect 方法查找敏感数据,以便您可以在它到达数据库之前对其进行编辑。

回复:

每个发现都包含实体 type, 匹配的 value,以及 start/end 字符位置。 使用这些偏移量来替换敏感的 文本与 [REDACTED] 在写入日志之前。

从 API 响应生成 Zod 模式

您从第三方 API 获取 JSON 并需要运行时验证。 手写 Zod 模式 30 字段 Stripe 付款意图需要您没有的时间。 这 schema.jsonToZod 方法从任何 JSON 对象生成架构。

输出:

将输出粘贴到您的代码库中,添加 import { z } from "zod",还有你 在 30 秒内获得运行时验证的类型。 处理嵌套对象和数组 递归地。

检测竞争对手使用的技术堆栈

竞争对手研究通常意味着打开 DevTools 并根据脚本标签进行猜测。 这 techDetect.detect 方法扫描 URL 并返回分类结果; 框架, 分析、CDN、托管提供商等。

回复:

每种技术都包含置信度分数和类别。 对于销售情报、市场有用 研究或审核您自己的堆栈。

以编程方式捕获全页屏幕截图

社交预览图像、PDF 报告、视觉回归测试。 他们都需要屏幕截图。 这 screenshot.capture 方法返回一个二进制 Response 反对你可以 直接写入磁盘。

二进制端点(屏幕截图、PDF、图像)返回原始数据 Response。 称呼 .arrayBuffer() 获取字节。 端点支持自定义视口、全页 捕获和 PNG/JPEG/WebP 格式。

将 QR 码生成为 SVG

收据、活动门票、营销材料。 二维码随处可见。 这 qr.generate 方法默认返回 SVG,这意味着无限缩放和微小 文件大小。

SVG 输出是一个独立的字符串,您可以嵌入 HTML、保存到文件或包含在 一个 PDF 文件。 自定义颜色、纠错级别和尺寸均可配置。

帮助您恢复的错误处理

SDK 导出每种故障模式的类型化错误类。 您可以捕获特定错误并 对速率限制、身份验证失败和超时的响应不同。

SDK 使用指数退避自动重试 429 和 5xx 错误(默认情况下最多尝试 3 次)。 大多数暂时性故障都可以在您的代码不触及它们的情况下得到解决。 这 BotoiRateLimitError 包括一个 retryAfter 属性在几秒钟内完成,因此您可以构建基于队列的后备 适用于大容量工作负载。

配置选项

最简单的配置从环境中读取所有内容:

BOTOI_API_KEY 在你的 .env 文件并且 SDK 会拾取它 自动。 不需要构造函数参数。

包含什么

该 SDK 公开了 87 个资源命名空间,涵盖查找、文本处理、开发人员实用程序、 安全和验证、图像生成和存储服务。 每个方法都是完全类型化的; 将鼠标悬停在编辑器中的任何调用上即可查看请求参数和响应形状。

一些可以开始使用的命名空间:

  • botoi.ip, botoi.email, botoi.dns 用于查找
  • botoi.hash, botoi.jwt, botoi.uuid 对于开发人员实用程序
  • botoi.pii, botoi.encrypt, botoi.validate 为了安全
  • botoi.qr, botoi.screenshot, botoi.og 用于图像生成
  • botoi.schema, botoi.json, botoi.csv 用于数据转换

请参阅完整的 SDK 参考: /sdk/,或浏览该包 新项目管理

FAQ

SDK 是否可以在没有 API 密钥的情况下工作?
是的。 匿名访问每分钟提供 5 个请求,每天提供 100 个请求。 传递 API 密钥以获得更高的限制。
当 API 返回 429 时会发生什么?
SDK 捕获它并以指数退避重试,尊重 Retry-After 标头。 您可以配置 maxRetries(默认值:3)。
我可以在浏览器中使用SDK吗?
SDK 面向 Node.js 20+。 对于浏览器使用,直接使用 fetch 调用 REST API。
如何处理屏幕截图和二维码等二进制响应?
二进制端点返回一个 Response 对象。 对于图像调用 .arrayBuffer() ,对于 SVG 字符串调用 .text() 。
有Python SDK吗?
还没有。 REST API 适用于任何支持 HTTP 的语言。 curl 示例位于 API 文档中。

开始使用 botoi 构建

150+ 个 API 端点,涵盖查询、文本处理、图片生成和开发者工具。免费套餐,无需信用卡。