Requisitos de DSP
Requisitos Funcionales
ID | Tipo | Requisito |
|---|---|---|
1 | Obligatorio | Las transacciones del concesionario deben enviarse todos los días. Opcionalmente, las transacciones no tienen que ser actualizadas cuando el concesionario está cerrado. ❗ No se debe requerir ninguna acción manual del concesionario para que se envíen los datos. La transmisión debe ser completamente automática ❗ |
2 | Obligatorio | Cuando un concesionario consiente el intercambio de datos, todos los datos disponibles en los últimos 4 años deben ser enviados. Si el concesionario opta por no participar en el consentimiento de compartir datos, la transmisión de datos históricos debe detenerse. Requisitos de Datos Históricos:
|
3 | Obligatorio | Su DMS debe ser capaz de reenviar transacciones para un rango de fechas específico. Esta función es manual; la solicitud no se enviará a través de una API. |
4 | Obligatorio | Su DMS debe tener un proceso automatizado para reenviar la solicitud hasta que se reciba un acuse de recibo. |
5 | Obligatorio | Requisito eliminado. |
6 | Obligatorio | Las propiedades opcionales deben incluirse en su carga útil si la información está disponible en su DMS. |
Actividades de Certificación
Esta sección presenta todas las actividades de certificación y validaciones que deben completarse para certificar la API.
Aseguramiento de la Calidad
Las pruebas enumeradas en la tabla a continuación deben completarse con éxito en el entorno de prueba antes de que pueda comenzar la fase piloto del concesionario.
Un aspecto importante de la fase de prueba es verificar que las transacciones recibidas por la API de Transacciones Minoristas correspondan a las transacciones en su DMS.
Debes proporcionar al equipo de DCP las transacciones enviadas desde los datos de origen para lograr esta validación. Puedes:
- Proporcionar un informe.
- Proporcionar las facturas del cliente.
- Proporcionar un archivo de Excel o CVS.
- Mostrar las transacciones en la pantalla de tu DMS durante una sesión en vivo.
- Otros medios aprobados por el equipo de DCP.
Si la validación se realiza durante una sesión en vivo:
❗ ❗ Tienes que preparar Y enviar las transacciones antes de la sesión en vivo ❗ ❗
Durante la sesión en vivo, el número de transacción se utiliza para encontrar los datos en el backend de BRP y validar los datos recibidos comparándolos con la información mostrada en tu DMS.
Nuevamente, el objetivo es verificar que las transacciones recibidas a través de la API de Transacciones Minoristas coincidan con las transacciones en tu DMS.
ID | Prueba | Resultado Esperado |
|---|---|---|
1 | Antes de la sesión en vivo, envía diferentes transacciones, al menos 5 de cada tipo de transacción:
¡Los datos de cada transacción deben ser diferentes! | Los datos se envían y reciben a través de la API. NOTA El escenario para la prueba 4. Ventas de unidades con reparación y piezas incluye a un cliente comprando una unidad e instalando accesorios. |
2 | Cree una transacción de venta de unidad con transacciones de reparación y partes utilizando partes y unidades que no son BRP. | Verifique que las transacciones fueron NO enviadas a través de la API. |
3 | DDurante la sesión en vivo, muestra cada transacción en la pantalla. | Los datos recibidos a través de la API coinciden con la factura mostrada en la pantalla. |
4 | Envía las transacciones de las últimas 3 semanas. | La API recibe los datos. |
5 | Prueba el reintento:
| Verifique que las transacciones se envían cuando la API no está disponible temporalmente. |
6 | Para validar los datos y el proceso, envíe los datos de producción a la prueba entorno durante 1 semana. | Los datos se envían y reciben a través de la API diariamente durante 1 semana. |
7 | Compara las facturas del DMS con los datos recibidos a través de la API. | DCP selecciona de 3 a 5 facturas en los datos recibidos, que se muestran en el DMS. El DMS encuentra una factura para cada uno de estos tipos de transacción:
El DMS envía las facturas, y el equipo de DCP valida los datos recibidos. |
8 | Casos de prueba de validación | Todos los casos de prueba enumerados en el Casos de Prueba de Validación la sección a continuación son ya sea aprobados o no aplicables. |
Piloto de Concesionario
La tabla a continuación describe los parámetros del piloto del concesionario y sus validaciones correspondientes.
Parámetro | Valor |
|---|---|
Medio ambiente | Producción |
Número de concesionarios | 1 a 3 |
Duración | 2 a 4 semanas. BRP y usted acordarán una duración basada en la frecuencia de ventas de los concesionarios seleccionados. |
Validación 1 | Su DMS debe proporcionar datos históricos para cada concesionario seleccionado para el piloto de concesionarios, según lo requerido por requisito 2. |
Validación 2 | Usted habilita la transmisión de datos minoristas para cada concesionario en el piloto. Debes usar datos de producción y enviarlos desde un entorno de producción. |
Validación 3 | BRP monitorea la API RTD para confirmar la transferencia de datos y que no se encuentren errores. BRP valida la calidad de los datos recibidos. Por ejemplo, BRP verifica que no se envíen piezas que no sean de BRP. |
Validación 4 | Debes proporcionar el número de transacciones de cada tipo enviadas a través de la API al final del piloto. El número de transacciones enviadas debe coincidir con el número de transacciones recibidas por BRP. |
Validación 5 | Todos los casos de prueba enumerados en el Casos de Prueba de Validación la sección a continuación son ya sea aprobados o no aplicables. |
Casos de prueba de validación
La tabla a continuación describe todos los casos de prueba realizados sobre los datos de transacciones minoristas durante las fases de Prueba y Piloto de Distribuidores. Las pruebas se realizan sobre los datos recibidos en los últimos 5 a 10 días.
❗ Cuando una prueba falla, puede ser un problema en su DMS, o la falla puede ser causada por cómo el distribuidor utiliza su DMS.
En este último caso, la prueba se marca como "no aplicable".
Prueba # | Nombre de la prueba | Descripción de la prueba | Resultados Esperados |
|---|---|---|---|
0 | Número de transacciones por día | Verifique que se estén subiendo transacciones diariamente durante el período de prueba. | Contar > 0 |
1 | Uso de transacciones | Verifica que haya transacciones | Contar > 0 |
2 | Uso de los consumidores | Verifique que haya objetos de Consumidor | Contar > 0 |
3 | Uso de Piezas | Verifique que haya objetos de Partes | Contar > 0 |
4 | Costos adicionales de partes | Verifique que haya objetos de costos adicionales de piezas | Contar > 0 |
5 | Uso de Unidades | Verifica que haya objetos de Unidades | Contar > 0 |
6 | Uso de Unidades Agregar. Costos | Verifique que hay objetos de Costos Adicionales de Unidades | Contar > 0 |
7 | Uso de intercambio | Verifique que haya objetos de Trade Ins | Contar > 0 |
8 | Uso de trabajos | Verifica que haya objetos Jobs | Contar > 0 |
9 | Trabajos Agregar. Costos Uso | Verifique que hay objetos de Costos Adicionales de Trabajos | Contar > 0 |
10 | Uso de Tarjetas de Tiempo | Verifique que haya objetos de Tarjeta de Tiempo | Contar > 0 |
11 | No hay UUID duplicado | Verifique que los UUID de la transacción sean únicos y no estén duplicados. | El conteo es 0 |
12 | Actualizaciones de transacciones | Verifica que algunas transacciones se hayan actualizado. Esto puede no aplicarse a todos los DMS; algunos pueden no permitir actualizaciones a una transacción. | Contar > 0 |
13 | Fechas de Transacción | Verifique si hay transacciones con una FECHA_CIERRE_TRANSACCIÓN después de la FECHA_APERTURA_TRANSACCIÓN y antes de la FECHA_CARGA. | El conteo es 0 |
14 | Duración de la transacción | Verifique el número de días entre las fechas de transacción de APERTURA y CIERRE. Típicamente, la transacción no debería permanecer abierta por un período prolongado. La prueba FALLA si se encuentran transacciones abiertas durante más de 1000 días. (Este es un número arbitrario de días; asumimos que una transacción no debería estar abierta por más de un año.) | Duración <1000 días |
15 | Fuentes de transacción | Verifique que los valores de origen de la transacción 'En tienda' y 'En línea' se utilicen. En línea es una opción; la prueba se ha APROBADO incluso si no se utiliza en línea. | Contar > 0 |
16 | Transacciones canceladas | Verifique que algunas transacciones tengan el campo CANCEL_FLAG establecido en VERDADERO. | Contar > 0 |
17 | Relación de Cliente/Self/Concesionario | Mira la transacción RTD_CONSUMERS.RECIPIENT para verificar que se utilizan todos los valores (Cliente, Propio y Distribuidor). | Contar > 0 |
18 | hash_del_consumidor <==> id_del_consumidor | Para un concesionario dado, el RTD_CONSUMERS.CONSUMER_ID siempre debe estar vinculado al mismo RTD_CONSUMERS.CONSUMER_HASH, ya que el valor de RTD_CONSUMERS.CONSUMER_HASH se calcula utilizando el correo electrónico y el número de teléfono del consumidor. Busque transacciones con más de una correspondencia entre CONSUMER_HASH y CONSUMER_ID. Si hay más de un CONSUMER_HASH para un CONSUMER_ID, puede ser porque el concesionario tiene múltiples cuentas de consumidor para una persona en su DMS. Si hay más de un CONSUMER_ID para un CONSUMER_HASH, se debe revisar el error, ya que no debería ocurrir. | El conteo es 0 |
19 | Órdenes especiales | Verifique si hay transacciones de Pedidos Especiales. | Contar > 0 |
20 | Validación del precio total de la transacción de partes | El valor TOTAL_CUSTOMER_PRICE en la transacción debe corresponder al total calculado. precio_total_cliente = precio_concesionario * cantidad + costo_adicional Verifique si hay registros donde la diferencia total calculada con el TOTAL_CUSTOMER_PRICE sea mayor que 0.1. | El conteo es 0 |
21 | Código de producto NO-BRP-PARTS emparejado con descripción | Verifique que todos los números de parte de NO-BRP-PARTS se utilicen con una descripción de parte de NO-BRP-PARTS. | El conteo es 0 |
22 | Transacciones con NO-BRP-PARTS | Verifique si hay transacciones con PARTES NO BRP. | Contar > 0 |
23 | Enlaces del número de trabajo asociado | Verifique que todos los valores de RTD_PARTS.ASSOCIATED_JOB_NUMBER en las transacciones de Piezas se encuentren en al menos un RTD_JOBS.JOB_NUMBER. No debería haber ningún RTD_PARTS.ASSOCIATED_JOB_NUMBER que no se encuentre en el RTD_JOBS.JOB_NUMBER. | El conteo es 0 |
24 | EXISTEN PARTES NO BRP con una transacción de UNIDAD o TRABAJO | Verifique que todas las piezas que NO SON PARTES BRP estén vinculadas a transacciones de Unidades o Trabajos. Las piezas que no son BRP no pueden estar en una transacción de piezas por sí solas, estas transacciones no deben ser enviadas. | El conteo es 0 |
25 | Costo adicional con el cálculo de la tarifa | Verifique que para todos los costos adicionales que utilizan una tarifa, el monto sea correcto. CANTIDAD_APLICABLE * TASA = CANTIDAD Cuenta el número de costos adicionales donde la diferencia entre el monto de la carga útil y el monto calculado es mayor que 1. | El conteo es 0 |
26 | Uso de IDs de Leads de Ventas | Verifique si hay transacciones con un valor de SALES_LEAD_ID que no se encuentra en los datos de leads de ventas de BRP. El valor de SALES_LEAD_ID debe ser el ID de cliente potencial de ventas de BRP, pero no siempre está disponible. | El conteo es 0 |
27 | Validación del precio de venta unitario | El valor TOTAL_CUSTOMER_PRICE en la transacción debe corresponder al total calculado. precio_total_cliente = precio_concesionario + costo_adicional - intercambios
Verifique si hay registros donde la diferencia total calculada con el TOTAL_CUSTOMER_PRICE es mayor que 10. | El conteo es 0 |
28 | Todos los campos financiados se proporcionan cuando se utilizan | Verifique si hay transacciones donde los tres campos financiados no están todos proporcionados o no son todos nulos. | El conteo es 0 |
29 | Precio de intercambio positivo | Verifique si hay transacciones de unidad donde el costo de intercambio sea positivo. | El conteo es 0 |
30 | Transacciones de trabajo de garantía encontradas | Verifique que haya transacciones con el flag IS_WARRANTY_JOB en TRUE | Contar > 0 |
31 | No hay números de trabajo duplicados por transacción | Verifique si hay transacciones de JOBS con el mismo JOB_NUMBER. | El conteo es 0 |
32 | El precio total para el cliente es 0 por un trabajo de garantía | Prueba cancelada. El monto total del trabajo del cliente se verifica mediante la prueba 34 | El conteo es 0 |
33 | Validación del precio del trabajo | El valor TOTAL_CUSTOMER_PRICE en la transacción debe corresponder al total calculado. precio_total_cliente = SUM(HORAS_DE_TRABAJO_FACTURADAS * TARIFA_DE_TRABAJO) + costo_adicional Verifique si hay registros donde la diferencia total calculada con el TOTAL_CUSTOMER_PRICE es mayor que 1. | El conteo es 0 |
34 | Máximo un objeto PART NO-BRP por transacción | Verifique si hay transacciones que utilizan más de una pieza que no es BRP-PARTS. La parte NO-BRP-PARTS es un objeto agregado de todas las partes no-BRP utilizadas en la transacción. | El conteo es 0 |
35 | Números de parte de BRP válidos | Todos los números de parte enviados deben ser números de parte válidos de BRP, excepto la parte NON-BRP-PARTS. Verifique si hay transacciones con números de parte inválidos. La prueba fallará si el DMS permite al concesionario crear números de parte de cliente y usarlos en transacciones. | El conteo es 0 |
36 | VINs válidos de BRP | Verifique si hay transacciones de UNITS con un VIN inválido. | El conteo es 0 |
37 | Descuento positivo en costos adicionales | Verifique si hay transacciones con un costo adicional de tipo DESCUENTO y un monto positivo. Un monto de costo adicional de DESCUENTO siempre debe ser negativo. | El conteo es 0 |
38 | Combinaciones válidas de tipos de transacción | Verifique si se utilizan todos los tipos de combinaciones de transacciones. Hay múltiples combinaciones de trabajos, unidades y piezas que esperamos recibir en una transacción. TODOS, SOLO TRABAJOS, TRABAJOS Y PIEZAS, TRABAJOS Y UNIDADES, SOLO PIEZAS, SOLO UNIDADES, UNIDADES Y PIEZAS. Puede que no sea un error si falta una combinación; puede ser porque aún no se han enviado ninguna. | El conteo es 0 |
39 | El campo de tasa en el costo adicional | El campo de tasa de los costos adicionales solo se puede utilizar junto con el campo de monto aplicable. Verifique que no haya transacciones donde uno de los campos esté ausente o vacío. | El conteo es 0 |
40 | Relación de unidades utilizadas | Verifique que haya algunas transacciones de UNIDADES con los valores USADOS en el campo CLASS_CODE. Ignoramos el valor DEMO ya que es menos común. | Contar > 0 |
41 | Uso de la ciudad (opcional) | Verifica si el campo se utiliza al menos una vez. Dado que el campo es opcional, el resultado es NA si el conteo es 0. | Contar > 0 |
42 | Uso del país (opcional) | Verifica si el campo se utiliza al menos una vez. Dado que el campo es opcional, el resultado es NA si el conteo es 0. | Contar > 0 |
43 | Uso de Estado Provincia (opcional) | Verifica si el campo se utiliza al menos una vez. Dado que el campo es opcional, el resultado es NA si el conteo es 0. | Contar > 0 |
44 | Partes asociadas Número de trabajo Uso (opcional) | Verifica si el campo se utiliza al menos una vez. Dado que el campo es opcional, el resultado es NA si el conteo es 0. | Contar > 0 |
45 | Precio de venta sugerido por el fabricante de las piezas (opcional) | Verifica si el campo se utiliza al menos una vez. Dado que el campo es opcional, el resultado es NA si el conteo es 0. | Contar > 0 |
46 | Costo de uso del distribuidor de piezas (opcional) | Verifica si el campo se utiliza al menos una vez. Dado que el campo es opcional, el resultado es NA si el conteo es 0. | Contar > 0 |
47 | Precio del distribuidor de piezas Uso (opcional) | Verifica si el campo se utiliza al menos una vez. Dado que el campo es opcional, el resultado es NA si el conteo es 0. | Contar > 0 |
48 | Uso del odómetro de unidades (opcional) | Verifica si el campo se utiliza al menos una vez. Dado que el campo es opcional, el resultado es NA si el conteo es 0. | Contar > 0 |
49 | Uso de unidades por hora (opcional) | Verifique si el campo se utiliza al menos una vez. Dado que el campo es opcional, el resultado es NA si el conteo es 0. | Contar > 0 |
50 | Uso del ID de Lead de Ventas (opcional) | Verifica si el campo se utiliza al menos una vez. Dado que el campo es opcional, el resultado es NA si el conteo es 0. | Contar > 0 |
51 | Uso del MSRP de unidades (opcional) | Verifica si el campo se utiliza al menos una vez. Dado que el campo es opcional, el resultado es NA si el conteo es 0. | Contar > 0 |
52 | Uso del monto financiado (opcional) | Verifica si el campo se utiliza al menos una vez. Dado que el campo es opcional, el resultado es NA si el conteo es 0. | Contar > 0 |
53 | Uso de la tasa financiada (opcional) | Verifica si el campo se utiliza al menos una vez. Dado que el campo es opcional, el resultado es NA si el conteo es 0. | Contar > 0 |
54 | Uso de Término Financiado (opcional) | Verifica si el campo se utiliza al menos una vez. Dado que el campo es opcional, el resultado es NA si el conteo es 0. | Contar > 0 |
55 | Uso del número de reclamación (opcional) | Verifica si el campo se utiliza al menos una vez. Dado que el campo es opcional, el resultado es NA si el conteo es 0. | Contar > 0 |
56 | Número de serie de trabajos Uso (opcional) | Verifica si el campo se utiliza al menos una vez. Dado que el campo es opcional, el resultado es NA si el conteo es 0. | Contar > 0 |
57 | Uso del odómetro de trabajos (opcional) | Verifica si el campo se utiliza al menos una vez. Dado que el campo es opcional, el resultado es NA si el conteo es 0. | Contar > 0 |
58 | Uso de Horas de Trabajo (opcional) | Verifica si el campo se utiliza al menos una vez. Dado que el campo es opcional, el resultado es NA si el conteo es 0. | Contar > 0 |
59 | Uso del fabricante de trabajos (opcional) | Verifica si el campo se utiliza al menos una vez. Dado que el campo es opcional, el resultado es NA si el conteo es 0. | Contar > 0 |
60 | Uso del Modelo de Empleo (opcional) | Verifica si el campo se utiliza al menos una vez. Dado que el campo es opcional, el resultado es NA si el conteo es 0. | Contar > 0 |
61 | Uso de trabajos por año (opcional) | Verifica si el campo se utiliza al menos una vez. Dado que el campo es opcional, el resultado es NA si el conteo es 0. | Contar > 0 |
62 | Agregar. Costos Tasa Uso (opcional) | Verifica si el campo se utiliza al menos una vez. Dado que el campo es opcional, el resultado es NA si el conteo es 0. | Contar > 0 |
63 | Agregar. Costos aplicables Monto de uso (opcional) | Verifica si el campo se utiliza al menos una vez. Dado que el campo es opcional, el resultado es NA si el conteo es 0. | Contar > 0 |
64 | Uso de tipos de costos adicionales (opcional) | Verifique si se utilizan todos los tipos de costos adicionales. . Impuesto . Logística . Descuento . Otro | Contar > 0 |
65 | VIN único para nuevas unidades | El VIN en una transacción de UNITS utilizando el valor CLASS_CODE NUEVO debe ser único. Verifique que el VIN exacto no se encuentre en otra transacción de UNITS con el valor de CLASS_CODE NUEVO. | El conteo es 0 |
66 | No hay transacciones con solo el encabezado | Verifique que no haya transacciones con solo un encabezado y sin PARTES, TRABAJOS o UNIDADES. Esto puede ocurrir si el DMS envía una transacción después de eliminar todos los elementos que no son BRP, dejando nada atrás. | El conteo es 0 |
67 | Cargas rechazadas | Verifique que no hubo cargas rechazadas. Los payloads rechazados son aquellos con errores a nivel de JSON, que son rechazados por la API, y el DMS recibe un código de estado 400. | El conteo es 0 |
68 | ID del consumidor del huésped | Cuando se realiza una venta de piezas "en efectivo", es decir, no hay una cuenta de consumidor, el ID del consumidor se establece en GUEST y el hash es nulo. | Contar > 0 |