Inicio»Desarrolladores

Documentación de la API

Administra tu inventario mediante programación -- agrega anuncios, actualiza el estado y sube fotos sin abrir el sitio.

Primeros pasos

  1. Solicita acceso desde Configuración > Acceso a la API.
  2. Un vendedor verificado es aprobado al instante; de lo contrario, revisaremos tu solicitud pronto.
  3. Una vez aprobado, genera tu token -- se muestra exactamente una vez, así que cópialo en un lugar seguro.
  4. Inclúyelo como token Bearer en cada solicitud a los endpoints que aparecen a continuación.

Autenticación

Cada solicitud (excepto los endpoints de referencia públicos) debe incluir tu token en el encabezado Authorization:

Authorization: Bearer osk_your_token_here

Los tokens están vinculados a tu cuenta -- cada anuncio que crees, edites o consultes a través de la API se limita únicamente a tu propio inventario.

Ciclo de vida del anuncio

Un anuncio creado a través de la API siempre comienza como borrador, igual que si lo iniciaras manualmente en el sitio -- no puede publicarse sin al menos una foto, y esta llamada no puede incluir una.

  1. Envía un POST para crear un anuncio nuevo -- se crea como borrador.
  2. Sube una o más fotos a ese anuncio.
  3. Envía un POST con un cambio de estado (p. ej. "AV") para publicarlo.

Endpoints

Obtener tu cuenta

GET/api/v1/me/

La cuenta a la que pertenece tu token

curl https://onlysalvage.com/api/v1/me/ \
  -H "Authorization: Bearer osk_your_token_here"

Valores de los campos

GET/api/v1/schema/choices/

Valores válidos para status, vehicle_type, fuel_type, etc.

curl https://onlysalvage.com/api/v1/schema/choices/

Listar opciones del vehículo

GET/api/v1/options/

Todas las opciones que puede tener un anuncio: consulta los ids y envíalos como "options" al crear o actualizar un anuncio (no requiere token)

curl https://onlysalvage.com/api/v1/options/

Listar marcas

GET/api/inventory/makes/

Lista todas las marcas de vehículos (no requiere token)

curl https://onlysalvage.com/api/inventory/makes/

Listar modelos

GET/api/inventory/models/?make={id}

Lista los modelos de una marca específica (no requiere token)

curl "https://onlysalvage.com/api/inventory/models/?make=21"

Listar tus anuncios

GET/api/v1/listings/

Lista tus propios anuncios -- se puede filtrar, ver más abajo

curl "https://onlysalvage.com/api/v1/listings/?status=AV&min_price=5000" \
  -H "Authorization: Bearer osk_your_token_here"

Crear un anuncio

POST/api/v1/listings/

Crea un anuncio nuevo (siempre comienza como borrador)

curl -X POST https://onlysalvage.com/api/v1/listings/ \
  -H "Authorization: Bearer osk_your_token_here" \
  -H "Content-Type: application/json" \
  -d '{
    "vin": "1HGCM82633A004352",
    "year": 2018,
    "make": 21,
    "model": 186,
    "price": 9500,
    "vehicle_type": "SDN",
    "title_document": "SA"
  }'

Obtener un anuncio

GET/api/v1/listings/{id}/

Obtiene uno de tus anuncios

curl https://onlysalvage.com/api/v1/listings/123/ \
  -H "Authorization: Bearer osk_your_token_here"

Actualizar un anuncio

PATCH/api/v1/listings/{id}/

Edita los campos de un anuncio (se admiten actualizaciones parciales)

curl -X PATCH https://onlysalvage.com/api/v1/listings/123/ \
  -H "Authorization: Bearer osk_your_token_here" \
  -H "Content-Type: application/json" \
  -d '{"price": 8900, "description": "Price reduced -- motivated seller."}'

Eliminar un anuncio

DELETE/api/v1/listings/{id}/

Elimina permanentemente un anuncio y sus fotos

curl -X DELETE https://onlysalvage.com/api/v1/listings/123/ \
  -H "Authorization: Bearer osk_your_token_here"

# 204 No Content on success

Cambiar el estado

POST/api/v1/listings/{id}/status/

Cambia solo el estado de un anuncio

curl -X POST https://onlysalvage.com/api/v1/listings/123/status/ \
  -H "Authorization: Bearer osk_your_token_here" \
  -H "Content-Type: application/json" \
  -d '{"status": "AV"}'

Renovar un anuncio

POST/api/v1/listings/{id}/renew/

Vuelve a subir un anuncio elegible a la parte superior

curl -X POST https://onlysalvage.com/api/v1/listings/123/renew/ \
  -H "Authorization: Bearer osk_your_token_here"

Listar fotos

GET/api/v1/listings/{id}/images/

Lista las fotos de un anuncio

curl https://onlysalvage.com/api/v1/listings/123/images/ \
  -H "Authorization: Bearer osk_your_token_here"

Subir una foto

POST/api/v1/listings/{id}/images/

Sube una foto, por archivo o image_url -- añade photo_type para subir una foto de daños en vez de una foto de galería

curl -X POST https://onlysalvage.com/api/v1/listings/123/images/ \
  -H "Authorization: Bearer osk_your_token_here" \
  -F "file=@photo.jpg"

# or, from an existing hosted URL instead of a local file:
curl -X POST https://onlysalvage.com/api/v1/listings/123/images/ \
  -H "Authorization: Bearer osk_your_token_here" \
  -H "Content-Type: application/json" \
  -d '{"image_url": "https://example.com/photo.jpg"}'

# add photo_type=before_repair to upload a damage photo instead of a
# regular gallery photo (omit it, or send "gallery", for a normal photo):
curl -X POST https://onlysalvage.com/api/v1/listings/123/images/ \
  -H "Authorization: Bearer osk_your_token_here" \
  -F "file=@damage.jpg" \
  -F "photo_type=before_repair"

Eliminar una foto

DELETE/api/v1/listings/{id}/images/{image_id}/

Elimina una sola foto

curl -X DELETE https://onlysalvage.com/api/v1/listings/123/images/456/ \
  -H "Authorization: Bearer osk_your_token_here"

# 204 No Content on success

Subir un documento

POST/api/v1/listings/{id}/documents/

Adjunta un PDF de Carfax, alineación o inspección

# Upload the file...
curl -X POST https://onlysalvage.com/api/v1/listings/123/documents/ \
  -H "Authorization: Bearer osk_your_token_here" \
  -F "type=carfax" \
  -F "file=@carfax.pdf"

# ...or just send a link and we'll fetch it. The link must be publicly
# reachable and point straight at the PDF, not at a preview page.
curl -X POST https://onlysalvage.com/api/v1/listings/123/documents/ \
  -H "Authorization: Bearer osk_your_token_here" \
  -H "Content-Type: application/json" \
  -d '{"type": "carfax", "file_url": "https://example.com/reports/carfax.pdf"}'

Eliminar un documento

DELETE/api/v1/listings/{id}/documents/?type={type}

Elimina un informe de Carfax, alineación o inspección

curl -X DELETE "https://onlysalvage.com/api/v1/listings/123/documents/?type=carfax" \
  -H "Authorization: Bearer osk_your_token_here"

# 204 No Content on success

Cosas que debes saber

  • Las solicitudes están limitadas a 120 por minuto por cuenta.
  • Cada endpoint está limitado a tus propios anuncios -- no hay forma de leer ni modificar el inventario de otro vendedor a través de esta API.
  • Los errores de validación se devuelven como un objeto JSON que asocia los nombres de los campos con los mensajes de error, igual que el resto de la API del sitio.
  • Las respuestas de listado están paginadas (50 por página de forma predeterminada, hasta 200 con ?page_size=); usa los enlaces next/previous devueltos para recorrer el resto.