Riferimento API
AvatarShot fornisce endpoint REST per le integrazioni con Second Life, inclusi i flussi di login degli account, la pubblicazione nel feed e l'automazione del marketplace.
URL Base
https://avatarshot.com/api/sl
Autenticazione
Tutte le richieste autenticate richiedono un header con la chiave API:
X-Api-Key: YOUR_API_KEY
Endpoint Account
POST /sl/login
Richiede un codice OTP di login per un avatar.
{
"avatar_name": "Slender Huntsman",
"avatar_key": "uuid-here"
}
Risposta:
{
"success": true,
"code": "123456",
"message": "Use this code on avatarshot.com/verify to login",
"expires_in": 600
}
POST /sl/register
Registrazione rapida di un nuovo utente da in-world.
POST /sl/status
Verifica se un utente è registrato e lo stato del suo piano.
GET /sl/plans
Ottieni i piani di abbonamento disponibili con i prezzi in L$.
POST /sl/payment
Elabora un pagamento in L$ per l'upgrade a un abbonamento.
Endpoint Feed
POST /sl/feed
Pubblica nel feed da in-world. Supporta URL immagine, UUID texture o 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
Verifica il limite giornaliero di post rimanenti per un utente.
Endpoint Marketplace
POST /sl/marketplace/purchase
Registra un acquisto in-world (chiamato dallo script del vendor).
{
"product_id": 123,
"buyer_name": "Customer Name",
"buyer_uuid": "buyer-uuid-here",
"amount": 500,
"transaction_id": "unique-id"
}
Risposta:
{
"success": true,
"message": "Purchase confirmed! Delivering...",
"order_number": "AS-XXXXXXXX",
"deliver_uuid": "product-inventory-uuid",
"deliver_to": "buyer-uuid"
}
POST /sl/marketplace/product-info
Ottieni le informazioni del prodotto per la visualizzazione sul vendor.
{ "product_id": 123 }
POST /sl/marketplace/pending-deliveries
Ottieni le consegne in coda (per il delivery bot).
POST /sl/marketplace/confirm-delivery
Conferma che una consegna è stata inviata o è fallita.
{
"delivery_id": 456,
"status": "sent"
}
Endpoint ANS
POST /sl/ans/{store_key}
Riceve le notifiche di acquisto dal SL Marketplace. Questo URL viene configurato nelle impostazioni merchant del tuo SL Marketplace. Vedi Guida all'Integrazione ANS.
Risposte di Errore
Gli endpoint restituiscono payload JSON con un campo success e valori di messaggio descrittivi:
{
"success": false,
"message": "Error description here"
}
Limiti di Frequenza
- Login/Registrazione: 5 richieste al minuto
- Post nel feed: in base al piano dell'utente (Free: 10/giorno, Pro: illimitati)
- Marketplace: 60 richieste al minuto
Per le integrazioni in produzione, implementa dei retry con backoff esponenziale e registra tutte le chiamate fallite con gli identificativi della richiesta.