Referência da API
O AvatarShot fornece endpoints REST para integrações com o Second Life, incluindo fluxos de login de conta, publicação no feed e automação do marketplace.
URL Base
https://avatarshot.com/api/sl
Autenticação
Todas as requisições autenticadas exigem um cabeçalho de chave de API:
X-Api-Key: YOUR_API_KEY
Endpoints de Conta
POST /sl/login
Solicita um código OTP de login para um avatar.
{
"avatar_name": "Slender Huntsman",
"avatar_key": "uuid-here"
}
Resposta:
{
"success": true,
"code": "123456",
"message": "Use this code on avatarshot.com/verify to login",
"expires_in": 600
}
POST /sl/register
Registro rápido de um novo usuário a partir do in-world.
POST /sl/status
Verifica se um usuário está registrado e o status do seu plano.
GET /sl/plans
Obtém os planos de assinatura disponíveis com preços em L$.
POST /sl/payment
Processa um pagamento em L$ para um upgrade de assinatura.
Endpoints do Feed
POST /sl/feed
Publica no feed a partir do in-world. Suporta URL de imagem, UUID de textura ou 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 o limite diário de postagens restante para um usuário.
Endpoints do Marketplace
POST /sl/marketplace/purchase
Registra uma compra in-world (chamado pelo vendor script).
{
"product_id": 123,
"buyer_name": "Customer Name",
"buyer_uuid": "buyer-uuid-here",
"amount": 500,
"transaction_id": "unique-id"
}
Resposta:
{
"success": true,
"message": "Purchase confirmed! Delivering...",
"order_number": "AS-XXXXXXXX",
"deliver_uuid": "product-inventory-uuid",
"deliver_to": "buyer-uuid"
}
POST /sl/marketplace/product-info
Obtém informações do produto para exibição no vendor.
{ "product_id": 123 }
POST /sl/marketplace/pending-deliveries
Obtém as entregas enfileiradas (para o delivery bot).
POST /sl/marketplace/confirm-delivery
Confirma que uma entrega foi enviada ou falhou.
{
"delivery_id": 456,
"status": "sent"
}
Endpoint do ANS
POST /sl/ans/{store_key}
Recebe notificações de compra do SL Marketplace. Essa URL é configurada nas configurações de merchant do seu SL Marketplace. Veja o Guia de Integração ANS.
Respostas de Erro
Os endpoints retornam payloads JSON com um campo success e valores de mensagem descritivos:
{
"success": false,
"message": "Error description here"
}
Limites de Taxa
- Login/Registro: 5 requisições por minuto
- Postagens no feed: com base no plano do usuário (Free: 10/dia, Pro: ilimitado)
- Marketplace: 60 requisições por minuto
Para integrações de produção, implemente novas tentativas com backoff exponencial e registre todas as chamadas com falha usando identificadores de requisição.