回答
Hamibot 脚本 API 的使用主要基于 HTTP 请求,通过特定的接口端点和授权令牌进行交互。以下是核心使用方法和常见接口说明。
1. 授权认证
所有 API 请求都需要在 Header 中包含授权信息。
- Header 键:
Authorization - Header 值:
你的令牌(hmp 开头)
2. 常用接口说明
脚本管理 (Scripts)
- 获取脚本信息:
GET /v1/scripts/脚本_id - 运行脚本:
POST /v1/scripts/脚本_id/run- 支持指定设备列表和脚本配置变量。
- 停止脚本:
DELETE /v1/scripts/脚本_id/run
开发脚本 (DevScripts)
- 创建开发脚本:
POST /v1/devscripts - 删除开发脚本:
DELETE /v1/devscripts/开发脚本_id - 生成优惠码:
POST /v1/devscripts/开发脚本_id/promocode
3. 代码示例
在脚本环境中调用 API 时,需注意 JavaScript 引擎兼容性(使用 var,避免箭头函数)。以下示例展示了如何运行脚本和创建开发脚本。
运行脚本示例:
// 文档地址 https://docs.hamibot.com/
var res = http.request('https://api.hamibot.com/v1/scripts/脚本_id/run', {
method: 'POST',
contentType: 'application/json',
headers: {
authorization: '你的令牌(hmp 开头)',
},
body: JSON.stringify({
devices: [{ _id: 'a51d237e9af41ecc021c9ff6', name: '零号机' }],
}),
});
log(res.body.json());
创建开发脚本示例:
// 文档地址 https://docs.hamibot.com/
var res = http.request('https://api.hamibot.com/v1/devscripts', {
method: 'POST',
headers: {
authorization: '你的令牌(hmp 开头)',
},
body: JSON.stringify({ name: '脚本名字' }),
});
log(res.body.json());
获取脚本信息示例:
// 文档地址 https://docs.hamibot.com/
var res = http.request('https://api.hamibot.com/v1/scripts/脚本_id', {
method: 'GET',
headers: {
authorization: '你的令牌(hmp 开头)',
},
});
log(res.body.json());
4. 注意事项
- 令牌安全: 令牌(hmp 开头)具有权限,请妥善保管,不要泄露。
- 兼容性: 脚本运行环境基于 Rhino 1.7.15,编写代码时避免使用 ES6+ 新特性(如箭头函数、默认参数等)。
- 响应处理: 成功响应通常返回 200、201 或 204 状态码,失败时请检查参数是否正确(如 422 参数错误)。
如需进一步了解具体接口参数或返回值结构,可参考官方文档。
补充回答 1
专属版界面操作可能存在差异,如果无法通过界面复制脚本 ID,可以直接通过 API 获取脚本列表来查找 ID。
获取脚本 ID 方法
调用获取开发脚本列表接口,响应内容中会包含每个脚本的 _id 字段,该字段即为脚本 ID。
接口地址:GET /v1/devscripts
代码示例:
// 文档地址 https://docs.hamibot.com/
var res = http.request('https://api.hamibot.com/v1/devscripts', {
method: 'GET',
headers: {
authorization: '你的令牌(hmp 开头)',
},
});
log(res.body.json());
响应说明:
成功响应后,返回的 JSON 数据中 items 数组包含脚本信息。找到目标脚本名称对应的 _id 值,例如:
{
"count": 1,
"items": [
{
"_id": "bfe67d643ababe0ab6fda054",
"name": "演示脚本"
}
]
}
上述示例中的 bfe67d643ababe0ab6fda054 即为脚本 ID。
后续 API 使用
获取到脚本 ID 后,即可在后续接口调用中替换使用。例如生成优惠码接口:
POST /v1/devscripts/开发脚本_id/promocode
将 URL 中的 开发脚本_id 替换为上面获取到的 _id 值即可。
注意事项
ℹ️ 本回答由 AI 生成,内容仅供参考