API 参考
AvatarShot 为 Second Life 集成提供 REST 接口,包括账户登录流程、Feed 发布以及 Marketplace 自动化。
基础 URL
https://avatarshot.com/api/sl
身份验证
所有需要身份验证的请求都必须包含 API 密钥请求头:
X-Api-Key: YOUR_API_KEY
账户端点
POST /sl/login
为某个化身请求一个一次性登录验证码。
{
"avatar_name": "Slender Huntsman",
"avatar_key": "uuid-here"
}
响应:
{
"success": true,
"code": "123456",
"message": "Use this code on avatarshot.com/verify to login",
"expires_in": 600
}
POST /sl/register
从虚拟世界内快速注册新用户。
POST /sl/status
检查用户是否已注册及其套餐状态。
GET /sl/plans
获取带有 L$ 价格的可用订阅套餐。
POST /sl/payment
处理订阅升级的 L$ 付款。
Feed 端点
POST /sl/feed
从虚拟世界内发布到 Feed。支持图片网址、材质 UUID 或 base64 编码。
{
"avatar_name": "Slender Huntsman",
"caption": "My new look!",
"image_url": "https://example.com/photo.jpg",
"tags": "fashion, secondlife",
"location": "Backdrop City"
}
POST /sl/feed/limit
检查用户剩余的每日发帖额度。
Marketplace 端点
POST /sl/marketplace/purchase
登记一笔虚拟世界内购买(由售货机脚本调用)。
{
"product_id": 123,
"buyer_name": "Customer Name",
"buyer_uuid": "buyer-uuid-here",
"amount": 500,
"transaction_id": "unique-id"
}
响应:
{
"success": true,
"message": "Purchase confirmed! Delivering...",
"order_number": "AS-XXXXXXXX",
"deliver_uuid": "product-inventory-uuid",
"deliver_to": "buyer-uuid"
}
POST /sl/marketplace/product-info
获取用于售货机展示的商品信息。
{ "product_id": 123 }
POST /sl/marketplace/pending-deliveries
获取排队中的发货任务(供发货机器人使用)。
POST /sl/marketplace/confirm-delivery
确认某次发货已发送成功或失败。
{
"delivery_id": 456,
"status": "sent"
}
ANS 端点
POST /sl/ans/{store_key}
接收 SL Marketplace 的购买通知。该网址需配置在你的 SL Marketplace 商家设置中。参见ANS 集成指南。
错误响应
各端点返回的 JSON 负载中包含 success 字段及描述性的 message 值:
{
"success": false,
"message": "Error description here"
}
速率限制
- 登录/注册:每分钟 5 次请求
- Feed 发帖:取决于用户套餐(免费版:每天 10 次,Pro 版:无限制)
- Marketplace:每分钟 60 次请求
对于生产环境的集成,请实现带指数退避的重试机制,并使用请求标识符记录所有失败的调用。