Documentação da API

Referência da
API de Integração.

Integre os endpoints de provador virtual diretamente no fluxo do seu aplicativo móvel ou plataforma proprietária.

Autenticação Pública

Todas as requisições públicas do widget devem ser enviadas com a query ou propriedade de corpo `public_key`. As chamadas de backend são restritas e protegidas por regras de Row-Level Security no Supabase PostgreSQL.

Base URL: https://vistoo.online
POST/api/widget/session

Inicializa ou recupera uma sessão de visitante ativa baseada no token e dispositivo, verificando as permissões da chave pública.

Request Headers:

  • Content-Type: application/json
cURL Request
curl -X POST https://vistoo.online/api/widget/session \
  -H "Content-Type: application/json" \
  -d '{"public_key": "vistoo_pub_dev123", "session_token": "token_123", "privacy_mode": "disposable"}'
JSON Response
{
  "success": true,
  "session_id": "7b47b2c0-82a1-4351-a903-8d02e8cb9bca",
  "privacy_mode": "disposable"
}
POST/api/widget/tryon-job

Cria um job de simulação de provador virtual inteligente na fila de renderização. Consome 1 crédito reservado da organização.

Request Headers:

  • Content-Type: application/json
cURL Request
curl -X POST https://vistoo.online/api/widget/tryon-job \
  -H "Content-Type: application/json" \
  -d '{"public_key": "vistoo_pub_dev123", "session_token": "token_123", "product_id": "FIT-512", "selected_size": "M", "selected_preset_id": "ana"}'
JSON Response
{
  "success": true,
  "job_id": "e43b1742-df21-4f11-9a74-c36eb9cf2992",
  "status": "queued"
}
GET/api/widget/tryon-status

Consulta o status e o progresso percentual de renderização do job de try-on. Realiza chamadas JIT se o provedor for o Replicate.

Query Parameters:

  • public_key=vistoo_pub_dev123
  • job_id=e43b1742-df21-4f11-9a74-c36eb9cf2992
cURL Request
curl -X GET "https://vistoo.online/api/widget/tryon-status?public_key=vistoo_pub_dev123&job_id=e43b1742-df21-4f11-9a74-c36eb9cf2992"
JSON Response
{
  "success": true,
  "status": "ready",
  "progress": 100,
  "error_message": null
}