Référence API
AvatarShot fournit des points de terminaison REST pour les intégrations Second Life, incluant les flux de connexion de compte, la publication sur le feed et l'automatisation du marketplace.
URL de base
https://avatarshot.com/api/sl
Authentification
Toutes les requêtes authentifiées nécessitent un en-tête de clé API :
X-Api-Key: YOUR_API_KEY
Points de terminaison de compte
POST /sl/login
Demande un code OTP de connexion pour un avatar.
{
"avatar_name": "Slender Huntsman",
"avatar_key": "uuid-here"
}
Réponse :
{
"success": true,
"code": "123456",
"message": "Use this code on avatarshot.com/verify to login",
"expires_in": 600
}
POST /sl/register
Inscrit rapidement un nouvel utilisateur depuis l'in-world.
POST /sl/status
Vérifie si un utilisateur est inscrit et son statut d'abonnement.
GET /sl/plans
Récupère les formules d'abonnement disponibles avec les prix en L$.
POST /sl/payment
Traite un paiement en L$ pour une mise à niveau d'abonnement.
Points de terminaison Feed
POST /sl/feed
Publie sur le feed depuis l'in-world. Prend en charge l'URL d'image, l'UUID de texture ou le 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
Vérifie la limite quotidienne de publications restante pour un utilisateur.
Points de terminaison Marketplace
POST /sl/marketplace/purchase
Enregistre un achat in-world (appelé par le script vendor).
{
"product_id": 123,
"buyer_name": "Customer Name",
"buyer_uuid": "buyer-uuid-here",
"amount": 500,
"transaction_id": "unique-id"
}
Réponse :
{
"success": true,
"message": "Purchase confirmed! Delivering...",
"order_number": "AS-XXXXXXXX",
"deliver_uuid": "product-inventory-uuid",
"deliver_to": "buyer-uuid"
}
POST /sl/marketplace/product-info
Récupère les informations du produit pour l'affichage vendor.
{ "product_id": 123 }
POST /sl/marketplace/pending-deliveries
Récupère les livraisons en file d'attente (pour le delivery bot).
POST /sl/marketplace/confirm-delivery
Confirme qu'une livraison a été envoyée ou a échoué.
{
"delivery_id": 456,
"status": "sent"
}
Point de terminaison ANS
POST /sl/ans/{store_key}
Reçoit les notifications d'achat du SL Marketplace. Cette URL est configurée dans les paramètres de votre compte marchand SL Marketplace. Voir le Guide d'intégration ANS.
Réponses d'erreur
Les points de terminaison renvoient des payloads JSON avec un champ success et des valeurs de message descriptives :
{
"success": false,
"message": "Error description here"
}
Limites de débit
- Connexion/Inscription : 5 requêtes par minute
- Publications feed : selon la formule de l'utilisateur (Gratuit : 10/jour, Pro : illimité)
- Marketplace : 60 requêtes par minute
Pour les intégrations en production, mettez en place des tentatives avec un délai exponentiel et journalisez tous les appels échoués avec des identifiants de requête.