vendetusautos

← docs

Embed

Tres opciones para mostrar tus avisos en tu propio sitio web — desde la más simple (script de una línea) hasta máximo control (API + render propio).

1. Loader JS (recomendado)

Pegá esto donde quieras que aparezca el aviso. Funciona en cualquier sitio (Wordpress, Shopify, HTML estático, etc).

<div data-vendetus-car="mi-auto-slug"></div>
<script src="https://vendetus.autos/embed.js" async></script>

Opcional data-height="700" para ajustar altura. El loader crea un iframe responsivo y se reescanéa al agregar elementos dinámicamente (apps SPA).

2. iframe directo

Sin script externo, cero JS:

<iframe
  src="https://vendetus.autos/embed/car/mi-auto-slug"
  width="100%"
  height="560"
  style="border:0; border-radius:8px;"
></iframe>

3. API pública + render propio

Si querés diseño propio, tirá los datos vía la Public API. Toda la API requiere API key — generala en app.vendetus.autos/integrations (Pro o Dealer). Mejor práctica: usá la key desde tu backend, no la expongas en el browser.

// Server-side (Node, Bun, Deno, edge)
const res = await fetch(
  "https://api.vendetus.autos/v1/public/cars/mi-auto-slug",
  { headers: { Authorization: `Bearer ${process.env.VENDETUS_API_KEY}` } }
);
const { car } = await res.json();

// car.photos[0].url → URL directa al hero
// car.price, car.currency, car.title, car.description, etc.
// car.public_url → link al aviso full

Recibir preguntas y ofertas desde tu sitio

Tu form puede postear directo a nuestros endpoints públicos. Las respuestas le llegan al vendedor en su bandeja en vendetus.autos.

El form en tu sitio (browser) postea a un endpoint tuyo, y tu backend (con la API key) reenvía a vendetus. Así la key nunca queda expuesta.

// En tu backend (Node, Bun, edge):

// Pregunta pública (aparece también en la página del auto)
await fetch(`https://api.vendetus.autos/v1/public/cars/${carId}/comments`, {
  method: "POST",
  headers: {
    Authorization: `Bearer ${process.env.VENDETUS_API_KEY}`,
    "Content-Type": "application/json",
  },
  body: JSON.stringify({
    author_name: "Juan",
    author_email: "juan@example.com",
    body: "Está disponible? Acepta permuta?",
  }),
});

// Oferta
await fetch(`https://api.vendetus.autos/v1/public/cars/${carId}/offers`, {
  method: "POST",
  headers: {
    Authorization: `Bearer ${process.env.VENDETUS_API_KEY}`,
    "Content-Type": "application/json",
  },
  body: JSON.stringify({
    type: "cash",
    cash_amount: 22000,
    cash_currency: "USD",
    contact_name: "Juan",
    contact_email: "juan@example.com",
  }),
});

Endpoints públicos

MétodoRutaQué hace
GET/v1/public/cars/:slugOrIdDetalle del auto con fotos (URLs directas)
GET/v1/public/cars/:id/commentsPreguntas públicas en el auto
POST/v1/public/cars/:id/commentsCrear pregunta (rate-limit 5/min por IP)
POST/v1/public/cars/:id/offersCrear oferta (rate-limit 3/min por IP)

Analítica

Para ver cuántas visitas / ofertas / preguntas recibió tu auto desde embeds y desde la página oficial, usá el endpoint autenticado:

curl "https://api.vendetus.autos/v1/cars/<id>/analytics?days=7" \
  -H "Authorization: Bearer pcsk_..."

(Requiere API key — Pro o Dealer.)

CORS

Todos los endpoints /v1/public/* responden con Access-Control-Allow-Origin: * y soportan OPTIONS preflight. Pero como requieren API key, el patrón recomendado es proxiar desde tu backend para no exponer la key en el browser.

Skill para AI agents

Si tu equipo trabaja con Claude / Cursor / Copilot, copiá SKILL.md del paquete @vendetus/mcp en tu carpeta .claude/skills/. El agente aprende endpoints, patrones y workflows para integrar vendetus en tu sitio.