clasific.ar

Acceso directo requerido

Clasificar no puede usarse embebido

Para consultar un vehículo, entrá directamente a clasific.ar.

Ir a Clasificar
clasific.ar

Buscar documentación

Documentación

Para empezar

  • Introducción
  • Quickstart
  • Autenticación

Consultas

  • Consultas de patente
  • Módulos

Módulos

  • Multas
  • VTV / RTO
  • Deuda de patente
  • GNC

Operaciones

  • Operaciones
  • Polling
  • Webhooks

Plataforma

  • Precios y consumo
  • Rate limits
  • Errores
Documentación en Markdown llms.txt
Precios
FlotasMonitoreo de multas, VTV/RTO, documentación y alertas para vehículos de empresa.ConcesionariosCatálogo online, WhatsApp, reportes y herramientas para vender vehículos con más confianza.Soluciones B2BConsultas privadas, reportes masivos y datos vehiculares adaptados a tu operación.
DocumentaciónReferencia de la API, guías de integración y ejemplos para empezar.PreciosCompará planes y cupos para consultas de patente, módulos y reportes.
GuíasMultasIniciar
Ir al contenido

Para empezar

  • Introducción
  • Quickstart
  • Autenticación

Consultas

  • Consultas de patente
  • Módulos

Módulos

  • Multas
  • VTV / RTO
  • Deuda de patente
  • GNC

Operaciones

  • Operaciones
  • Polling
  • Webhooks

Plataforma

  • Precios y consumo
  • Rate limits
  • Errores
Documentación en Markdown llms.txt
Operaciones

Webhooks

Recibí automáticamente el resultado cuando una operación termina.

API v2Actual

Recibir resultados automáticamente#

En lugar de consultar una operación mediante polling, podés configurar una URL para que Clasificar te envíe una notificación cuando el resultado esté disponible.

V1, V2 y Cuenta → Webhook comparten una configuración por cuenta y ambiente, con destinos independientes para Sandbox y Producción. Habilitá el webhook antes de que termine la operación que querés recibir.

Configurar un webhook#

Usá GET /v2/webhooks/config para consultar la configuración y PATCH /v2/webhooks/config para definir o actualizar el destino. La configuración también se administra desde /v1/webhooks/config o Cuenta → Webhook; cambiar la URL, el secreto o la activación afecta a ambas versiones en ese ambiente. La URL debe ser HTTPS y accesible públicamente.

Configurar un webhook
CampoTipoDescripción
urlstring | nullURL de destino, hasta 2048 caracteres. Usá null para quitarla, junto con enabled: false si estaba habilitada.
enabledbooleanHabilita o deshabilita el webhook. Para habilitarlo necesitás una URL.
rotateSecretbooleanCon true genera un nuevo secreto de firma.
Terminal
curl -X PATCH 'https://api.clasific.ar/v2/webhooks/config' \
  -H 'x-api-key: <TU_API_KEY>' \
  -H 'Content-Type: application/json' \
  -d '{"url":"https://tu-dominio.example/webhooks/clasificar","enabled":true}'

Todos los campos del PATCH son opcionales. Los valores omitidos se conservan.

GET y PATCH devuelven url, enabled y secret. El secreto está disponible cada vez que consultás la configuración; no se muestra sólo al crearlo.

Usá secret para verificar las firmas. Guardalo de forma segura en tu servidor y no lo expongas en el frontend. Si lo rotás, las entregas posteriores se firman con el nuevo secreto, incluidos los reintentos.

Eventos#

Las operaciones asincrónicas generan eventos cuando terminan. Las consultas de vehículo que se resuelven de forma inmediata no generan estos eventos.

Eventos
EventoCuándo se envía
modules.completedUna operación de módulos termina como completed o partial.
modules.failedUna operación de módulos termina como failed.
vehicle.completedUna búsqueda asincrónica de vehículo termina correctamente.
vehicle.failedUna búsqueda asincrónica de vehículo termina como failed.
webhook.testSolicitás un evento de prueba.

Una operación modular con estado partial llega mediante modules.completed. Revisá siempre data.status y el estado de cada módulo.

Payload#

Payload
CampoDescripción
idID del evento. Usalo para reconocer duplicados.
typeTipo de evento, por ejemplo modules.completed.
apiVersionVersión de la API: v2.
createdAtFecha y hora del evento en formato ISO.
dataEn eventos de operación, la misma representación de la operación que obtenés mediante polling. En webhook.test contiene un mensaje de prueba.
JSON
{
  "id": "evt_7c62755f-6270-47b1-9c08-503e3e44bcf4",
  "type": "modules.completed",
  "apiVersion": "v2",
  "createdAt": "2026-09-06T12:00:00.000Z",
  "data": {
    "id": "op_92cff723-014a-4b1a-aa26-82bb5287e6aa",
    "kind": "modules",
    "status": "completed",
    "plate": "ZZ000ZZ",
    "modules": {
      "gnc": {
        "status": "completed",
        "data": {
          "total": 0,
          "items": []
        },
        "error": null
      }
    },
    "createdAt": "2026-09-06T12:00:00.000Z",
    "updatedAt": "2026-09-06T12:00:00.000Z"
  }
}

Reintentos y duplicados#

Las entregas pueden repetirse (at-least-once). En algunos casos podés recibir el mismo evento más de una vez: usá payload.id para deduplicarlo y evitar procesarlo de nuevo.

Respondé con cualquier status HTTP 2xx para confirmar la entrega.

Si tu endpoint no responde correctamente, Clasificar vuelve a intentar hasta un máximo de 5 intentos en total, incluido el primero. Al agotar los intentos, la entrega queda como failed.

Verificar la firma#

Verificá la firma antes de procesar cada webhook. Usá el secreto de la configuración y estos headers:

Verificar la firma
HeaderDescripción
x-clasificar-signatureFirma HMAC-SHA256, con formato v1=<hex>.
x-clasificar-timestampTimestamp Unix en segundos, enviado como texto y utilizado para calcular la firma.
x-clasificar-eventTipo de evento con prefijo v2., por ejemplo v2.modules.completed. En payload.type el valor es modules.completed.
x-clasificar-deliveryID de la entrega, sin el prefijo evt_ del ID de evento.

La firma se calcula sobre el timestamp, un punto y el body exacto recibido, codificados en UTF-8. No vuelvas a serializar el JSON antes de verificarlo.

TEXT
signedPayload = timestamp + "." + rawBody
hex = HMAC-SHA256(secret, signedPayload).hex
expectedSignature = "v1=" + hex

Compará expectedSignature con x-clasificar-signature usando una comparación de tiempo constante. Usá el texto de x-clasificar-timestamp tal como lo recibiste.

El prefijo v1= identifica la versión del formato de firma, no la versión de la API. El payload sigue teniendo apiVersion: "v2".

Historial de entregas#

Consultá GET /v2/webhooks/deliveries para revisar entregas recientes de V1 y V2 en el ambiente actual y diagnosticar problemas. La respuesta contiene deliveries, limit y offset.

Historial de entregas
ParámetroValoresPor defecto
limitEntero de 1 a 10025
offsetEntero de 0 a 100000
Datos de referencia
Campo de entregaDescripción
idIdentificador de la entrega.
eventTipo de evento. Los eventos V2 se muestran sin el prefijo v2. del header.
apiVersionVersión que originó el evento: v1 o v2. El payload conserva el formato de esa versión.
statuspending: pendiente o esperando reintento; processed: confirmada con 2xx; failed: agotó los intentos.
attemptsCantidad de intentos realizados.
responseStatusÚltimo código HTTP recibido; puede ser null si no hubo respuesta.
nextAttemptAtFecha prevista para el próximo intento. Revisá status para saber si sigue pendiente.
createdAtFecha de creación de la entrega.
payloadContenido del evento enviado.

El estado de una entrega indica si tu endpoint la recibió; no es el estado de la operación.

Probar la configuración#

Usá POST /v2/webhooks/test para enviar un evento webhook.test a la URL configurada. Requiere una URL y el webhook habilitado; no necesita body.

Terminal
curl -X POST 'https://api.clasific.ar/v2/webhooks/test' \
  -H 'x-api-key: <TU_API_KEY>'

Recibís HTTP 202 con la entrega pendiente:

JSON
{
  "id": "7c62755f-6270-47b1-9c08-503e3e44bcf4",
  "status": "pending"
}

Consultá el historial para comprobar si tu endpoint confirmó la recepción.

Configurar, consultar y probar webhooks no consume consultas de patente ni de módulos. Estas requests sí están sujetas al rate limit de tu cuenta.

  • Referencia de API →
AnteriorPollingSiguientePrecios y consumo
clasific.arDatos vehiculares de Argentina

En esta página

  • Recibir resultados automáticamente
  • Configurar un webhook
  • Eventos
  • Payload
  • Reintentos y duplicados
  • Verificar la firma
  • Historial de entregas
  • Probar la configuración
¿Tu primera integración?Empezá a integrar