APIリファレンス
AvatarShotは、アカウントログインフロー、フィード投稿、マーケットプレイス自動化を含む、Second Life連携向けのREST エンドポイントを提供しています。
ベースURL
https://avatarshot.com/api/sl
認証
認証が必要なすべてのリクエストには、APIキーのヘッダーが必要です。
X-Api-Key: YOUR_API_KEY
アカウントエンドポイント
POST /sl/login
アバター用のログインOTPコードをリクエストします。
{
"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$支払いを処理します。
フィードエンドポイント
POST /sl/feed
インワールドからフィードに投稿します。画像URL、テクスチャ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
ユーザーの1日あたりの残り投稿可能数を確認します。
マーケットプレイスエンドポイント
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
キューに入っている配送情報を取得します(Delivery Bot用)。
POST /sl/marketplace/confirm-delivery
配送が送信済み、または失敗したことを確認します。
{
"delivery_id": 456,
"status": "sent"
}
ANSエンドポイント
POST /sl/ans/{store_key}
SL Marketplaceの購入通知を受け取ります。このURLはSL Marketplaceのマーチャント設定内で設定します。詳細はANS統合ガイドを参照してください。
エラーレスポンス
エンドポイントはsuccessフィールドと説明的なメッセージを含むJSONを返します。
{
"success": false,
"message": "Error description here"
}
レート制限
- ログイン/登録:1分あたり5リクエスト
- フィード投稿:ユーザーのプランに応じて異なります(無料:1日10件、Pro:無制限)
- マーケットプレイス:1分あたり60リクエスト
本番環境での連携では、エクスポネンシャルバックオフによるリトライを実装し、失敗したすべての呼び出しをリクエスト識別子とともにログに記録してください。