Requisitos de DSP
Requisitos Funcionais
ID | Tipo | Requisito |
|---|---|---|
1 | Obrigatório | As transações do revendedor devem ser enviadas todos os dias. Opcionalmente, as transações não precisam ser atualizadas quando a concessionária está fechada. ❗ Nenhuma ação manual do revendedor deve ser necessária para que os dados sejam enviados. A transmissão deve ser totalmente automática ❗ |
2 | Obrigatório | Quando um revendedor consente com o compartilhamento de dados, todos os dados disponíveis nos últimos 4 anos devem ser enviados. Se o revendedor optar por não compartilhar os dados, a transmissão de dados históricos deve parar. Requisitos de Dados Históricos:
|
3 | Obrigatório | Seu DMS deve ser capaz de reenviar transações para um intervalo de datas específico. Esta função é manual; a solicitação não será enviada através de uma API. |
4 | Obrigatório | Seu DMS deve ter um processo automatizado para reenviar a solicitação até que um reconhecimento seja recebido. |
5 | Obrigatório | Requisito excluído. |
6 | Obrigatório | As propriedades opcionais devem ser incluídas em sua carga útil se as informações estiverem disponíveis em seu DMS. |
Atividades de Certificação
Esta seção apresenta todas as atividades de certificação e validações que devem ser concluídas para certificar a API.
Garantia de Qualidade
Os testes listados na tabela abaixo devem ser concluídos com sucesso no ambiente de teste antes que você possa iniciar a fase piloto do revendedor.
Um aspecto importante da fase de teste é verificar se as transações recebidas pela API de Transações de Varejo correspondem às transações em seu DMS.
Você deve fornecer à equipe DCP as transações enviadas dos dados de origem para alcançar essa validação. Você pode:
- Fornecer um relatório.
- Fornecer as faturas do cliente.
- Fornecer um arquivo Excel ou CVS.
- Mostrar as transações na tela em seu DMS durante uma sessão ao vivo.
- Outros meios aprovados pela equipe DCP.
Se a validação for feita durante uma sessão ao vivo:
❗ ❗ Você tem que preparar E enviar as transações antes da sessão ao vivo ❗ ❗
Durante a sessão ao vivo, o número da transação é usado para encontrar os dados no backend do BRP e validar os dados recebidos comparando-os com as informações exibidas no seu DMS.
Novamente, o objetivo é verificar se as transações recebidas através da API de Transações de Varejo correspondem às transações no seu DMS.
ID | Teste | Resultado Esperado |
|---|---|---|
1 | Antes da sessão ao vivo, envie diferentes transações, pelo menos 5 de cada tipo de transação:
Os dados de cada transação devem ser diferentes! | Os dados são enviados e recebidos através da API. NOTA O cenário para o teste 4. Vendas de unidades com reparo e peças inclui um cliente comprando uma unidade e instalando acessórios. |
2 | Crie uma transação de venda de unidade com transações de reparo e peças usando peças e unidades que não são BRP. | Verifique se as transações foram NÃO enviadas através da API. |
3 | DDurante a sessão ao vivo, mostre cada transação na tela. | Os dados recebidos através da API correspondem à fatura exibida na tela. |
4 | Envie as transações das últimas 3 semanas. | A API recebe os dados. |
5 | Teste a nova tentativa:
| Verifique se as transações são enviadas quando a API está temporariamente indisponível. |
6 | Para validar os dados e o processo, envie os dados de produção para o ambiente de teste por 1 semana. | Os dados são enviados e recebidos através da API diariamente por 1 semana. |
7 | Compare faturas do DMS com os dados recebidos através da API. | O DCP seleciona de 3 a 5 faturas nos dados recebidos, que são exibidas no DMS. O DMS encontra uma fatura para cada um desses tipos de transação:
O DMS envia as faturas, e a equipe DCP valida os dados recebidos. |
8 | Casos de Teste de Validação | Todos os casos de teste listados no Casos de Teste de Validação a seção abaixo são ou aprovados ou não aplicáveis. |
Piloto de Revendedor
A tabela abaixo descreve os parâmetros do piloto do revendedor e suas validações correspondentes.
Parâmetro | Valor |
|---|---|
Ambiente | Produção |
Número de revendedores | 1 a 3 |
Duração | 2 a 4 semanas. A BRP e você concordarão com uma duração com base na frequência de vendas dos concessionários selecionados. |
Validação 1 | Seu DMS deve fornecer dados históricos para cada concessionário selecionado para o piloto de concessionário, conforme exigido por requisito 2. |
Validação 2 | Você habilita a transmissão de dados de varejo para cada revendedor no piloto. Você deve usar dados de produção e enviá-los de um ambiente de produção. |
Validação 3 | O BRP monitora a API RTD para confirmar a transferência de dados e que nenhum erro é encontrado. O BRP valida a qualidade dos dados recebidos. Por exemplo, o BRP verifica se nenhuma peça que não seja do BRP é enviada. |
Validação 4 | Você deve fornecer o número de transações de cada tipo enviadas através da API no final do piloto. O número de transações enviadas deve corresponder ao número de transações recebidas pelo BRP. |
Validação 5 | Todos os casos de teste listados no Casos de Teste de Validação a seção abaixo são ou aprovados ou não aplicáveis. |
Casos de Teste de Validação
A tabela abaixo descreve todos os casos de teste realizados nos dados de transações de varejo durante as fases de Teste e Piloto do Dealer. Os testes são realizados nos dados recebidos nos últimos 5 a 10 dias.
❗ Quando um teste falha, pode ser um problema no seu DMS, ou a falha pode ser causada pela forma como o dealer usa seu DMS.
Neste último caso, o teste é marcado como "não aplicável".
Teste # | Nome do Teste | Descrição do Teste | Resultados Esperados |
|---|---|---|---|
0 | Número de transações por dia | Verifique se há transações carregadas diariamente durante o período de teste. | Contar > 0 |
1 | Uso de Transações | Verifique se há transações | Contagem > 0 |
2 | Uso dos Consumidores | Verifique se há objetos Consumer | Contar > 0 |
3 | Uso de Peças | Verifique se há objetos de Partes | Contagem > 0 |
4 | Custos Adicionais de Peças | Verifique se há objetos de Custos Adicionais de Peças | Contar > 0 |
5 | Uso de Unidades | Verifique se há objetos de Unidades | Contar > 0 |
6 | Uso de Unidades Adicionais. Custos | Verifique se há objetos de Custos Adicionais de Unidades | Contagem > 0 |
7 | Uso de Troca | Verifique se há objetos de Troca | Contar > 0 |
8 | Uso de Empregos | Verifique se existem objetos Jobs | Contar > 0 |
9 | Custos de Adição de Empregos | Verifique se há objetos de Custos Adicionais de Trabalhos | Contagem > 0 |
10 | Uso de Cartões de Ponto | Verifique se existem objetos de Cartão de Ponto | Contagem > 0 |
11 | Sem UUID duplicado | Verifique se os UUIDs da transação são únicos e não estão duplicados. | A contagem é 0 |
12 | Atualizações de transação | Verifique se algumas transações foram atualizadas. Isso pode não se aplicar a todos os DMSs; alguns podem não permitir atualizações em uma transação. | Contagem > 0 |
13 | Datas da Transação | Verifique se há transações com uma DATA_FECHAMENTO_TRANSAÇÃO após DATA_ABERTURA_TRANSAÇÃO e antes da DATA_UPLOAD. | A contagem é 0 |
14 | Duração da transação | Verifique o número de dias entre as datas de transação ABERTURA e FECHAMENTO. Normalmente, a transação não deve permanecer aberta por um período prolongado. O teste FALHOU se forem encontradas transações abertas por mais de 1000 dias. (Este é um número arbitrário de dias; assumimos que uma transação não deve ser aberta por mais de um ano.) | Duração <1000 dias |
15 | Fontes de transação | Verifique se os valores de origem da transação 'Em Loja' e 'Online' estão sendo utilizados. Online é uma opção; o teste é APROVADO mesmo que Online não seja utilizado. | Contagem > 0 |
16 | Transações canceladas | Verifique se algumas transações têm o campo CANCEL_FLAG definido como VERDADEIRO. | Contagem > 0 |
17 | Relação de Cliente/Auto/Revendedor | Olhe para a transação RTD_CONSUMERS.RECIPIENT para verificar se todos os valores estão sendo utilizados (Cliente, Próprio e Revendedor). | Contar > 0 |
18 | hash_do_consumidor <==> id_do_consumidor | Para um determinado revendedor, o RTD_CONSUMERS.CONSUMER_ID deve sempre estar vinculado ao mesmo RTD_CONSUMERS.CONSUMER_HASH, uma vez que o valor de RTD_CONSUMERS.CONSUMER_HASH é calculado usando o e-mail e o número de telefone do consumidor. Procure transações com mais de uma correspondência entre CONSUMER_HASH e CONSUMER_ID. Se houver mais de um CONSUMER_HASH para um CONSUMER_ID, pode ser porque o revendedor tem várias contas de consumidor para uma pessoa em seu DMS. Se houver mais de um CONSUMER_ID para um CONSUMER_HASH, o erro deve ser analisado, pois isso não deveria acontecer. | A contagem é 0 |
19 | Pedidos especiais | Verifique se há transações de Pedidos Especiais. | Contar > 0 |
20 | Validação do preço total da transação de peças | O valor TOTAL_CUSTOMER_PRICE na transação deve corresponder ao total calculado. preço_total_cliente = preço_concessionária * quantidade + custo_adicional Verifique se há registros onde a diferença total calculada com o TOTAL_CUSTOMER_PRICE é superior a 0,1. | A contagem é 0 |
21 | Código do produto NÃO-BRP-PARTS emparelhado com a descrição | Verifique se todos os números de peça NON-BRP-PARTS estão sendo usados com uma descrição de peça NON-BRP-PARTS. | A contagem é 0 |
22 | Transações com PEÇAS-NÃO-BRP | Verifique se há transações com PEÇAS-NÃO-BRP. | Contagem > 0 |
23 | Links do número de trabalho associado | Verifique se todos os valores de RTD_PARTS.ASSOCIATED_JOB_NUMBER nas transações de Peças são encontrados em pelo menos um RTD_JOBS.JOB_NUMBER. Não deve haver RTD_PARTS.ASSOCIATED_JOB_NUMBER não encontrado no RTD_JOBS.JOB_NUMBER. | A contagem é 0 |
24 | PARTES NÃO-BRP existem com uma transação de UNIDADE ou TRABALHO | Verifique se todas as peças que NÃO SÃO PARTES BRP estão vinculadas a transações de Unidades ou Trabalhos. Peças que não são BRP não podem estar em uma transação de peças sozinhas, essas transações não devem ser enviadas. | A contagem é 0 |
25 | Custo adicional com o cálculo da taxa | Verifique se todos os custos adicionais que utilizam uma taxa estão corretos. VALOR_APLICÁVEL * TAXA = VALOR Conte o número de custos adicionais onde a diferença entre o valor da carga e o valor calculado é superior a 1. | A contagem é 0 |
26 | Uso de IDs de Leads de Vendas | Verifique se há transações com um valor de SALES_LEAD_ID que não é encontrado nos dados de leads de vendas do BRP. O valor de SALES_LEAD_ID deve ser o ID do lead de vendas da BRP, mas nem sempre está disponível. | A contagem é 0 |
27 | Validação do preço de venda unitário | O valor TOTAL_CUSTOMER_PRICE na transação deve corresponder ao total calculado. preço_total_do_cliente = preço_do_concessionário + custo_adicional - trocas
Verifique se há registros onde a diferença total calculada com o TOTAL_CUSTOMER_PRICE é superior a 10. | A contagem é 0 |
28 | Todos os campos financiados são fornecidos quando utilizados | Verifique se há transações onde os três campos financiados não estão todos fornecidos ou não estão todos nulos. | A contagem é 0 |
29 | Preço de troca positivo | Verifique se há transações de Unidade onde o custo de troca é positivo. | A contagem é 0 |
30 | Transações de trabalho de garantia encontradas | Verifique se há transações com o sinalizador IS_WARRANTY_JOB como VERDADEIRO | Contar > 0 |
31 | Sem números de trabalho duplicados por transação | Verifique se há transações de JOBS com o mesmo JOB_NUMBER. | A contagem é 0 |
32 | O preço total do cliente é 0 para um trabalho de garantia | Teste cancelado. O valor total do trabalho do cliente é verificado pelo teste 34 | A contagem é 0 |
33 | Validação do preço do trabalho | O valor TOTAL_CUSTOMER_PRICE na transação deve corresponder ao total calculado. preço_total_cliente = SOMA(HORAS_TRABALHADAS_FATURADAS * TAXA_DE_TRABALHO) + custo_adicional Verifique se há registros onde a diferença total calculada com o TOTAL_CUSTOMER_PRICE é superior a 1. | A contagem é 0 |
34 | Máximo de um objeto PART NÃO-BRP por transação | Verifique se há transações usando mais de uma peça que não seja BRP-PARTS. A parte NON-BRP-PARTS é um objeto agregado de todas as partes não-BRP usadas na transação. | A contagem é 0 |
35 | Números de peça BRP válidos | Todos os números de peça enviados devem ser números de peça BRP válidos, exceto a peça NON-BRP-PARTS. Verifique se há transações com números de peça inválidos. O teste falhará se o DMS permitir que o revendedor crie números de peças de clientes e os use em transações. | A contagem é 0 |
36 | VINs válidos de BRP | Verifique se há transações de UNIDADES com um VIN inválido. | A contagem é 0 |
37 | Desconto positivo sobre custos adicionais | Verifique se há transações com um custo adicional do tipo DESCONTO e um valor positivo. Um valor de custo adicional de DESCONTO deve sempre ser negativo. | A contagem é 0 |
38 | Combinações válidas de tipos de transação | Verifique se todos os tipos de combinações de transações estão sendo utilizados. Existem várias combinações de trabalhos, unidades e peças que esperamos receber em uma transação. TODAS, APENAS TRABALHOS, TRABALHOS E PEÇAS, TRABALHOS E UNIDADES, APENAS PEÇAS, APENAS UNIDADES, UNIDADES E PEÇAS. Pode não ser um erro se uma combinação estiver faltando; pode ser porque nenhuma foi enviada ainda. | A contagem é 0 |
39 | O campo de taxa no custo adicional | O campo de taxa dos custos adicionais só pode ser usado em conjunto com o campo de valor aplicável. Verifique se não há transações onde um dos campos está faltando ou vazio. | A contagem é 0 |
40 | Relação de unidades utilizadas | Verifique se há algumas transações de UNIDADES com os valores USADOS no campo CLASS_CODE. Ignoramos o valor DEMO, pois é menos comum. | Contar > 0 |
41 | Uso da Cidade (opcional) | Verifique se o campo é usado pelo menos uma vez. Como o campo é opcional, o resultado é NA se a contagem for 0. | Contagem > 0 |
42 | Uso do País (opcional) | Verifique se o campo é usado pelo menos uma vez. Como o campo é opcional, o resultado é NA se a contagem for 0. | Contar > 0 |
43 | Uso de Estado e Província (opcional) | Verifique se o campo é usado pelo menos uma vez. Como o campo é opcional, o resultado é NA se a contagem for 0. | Contagem > 0 |
44 | Partes Associadas Número do Trabalho Uso (opcional) | Verifique se o campo é usado pelo menos uma vez. Como o campo é opcional, o resultado é NA se a contagem for 0. | Contar > 0 |
45 | Preço de venda sugerido para o consumidor (MSRP) de peças (opcional) | Verifique se o campo é usado pelo menos uma vez. Como o campo é opcional, o resultado é NA se a contagem for 0. | Contar > 0 |
46 | Custo de uso do revendedor de peças (opcional) | Verifique se o campo é usado pelo menos uma vez. Como o campo é opcional, o resultado é NA se a contagem for 0. | Contagem > 0 |
47 | Preço do Revendedor de Peças Uso (opcional) | Verifique se o campo é usado pelo menos uma vez. Como o campo é opcional, o resultado é NA se a contagem for 0. | Contagem > 0 |
48 | Uso do Odômetro de Unidades (opcional) | Verifique se o campo é usado pelo menos uma vez. Como o campo é opcional, o resultado é NA se a contagem for 0. | Contagem > 0 |
49 | Uso de Horas de Unidades (opcional) | Verifique se o campo é usado pelo menos uma vez. Como o campo é opcional, o resultado é NA se a contagem for 0. | Contar > 0 |
50 | Uso do ID do Lead de Vendas (opcional) | Verifique se o campo é usado pelo menos uma vez. Como o campo é opcional, o resultado é NA se a contagem for 0. | Contar > 0 |
51 | Uso do MSRP das unidades (opcional) | Verifique se o campo é usado pelo menos uma vez. Como o campo é opcional, o resultado é NA se a contagem for 0. | Contagem > 0 |
52 | Uso do Montante Financiado (opcional) | Verifique se o campo é usado pelo menos uma vez. Como o campo é opcional, o resultado é NA se a contagem for 0. | Contar > 0 |
53 | Uso da Taxa Financiada (opcional) | Verifique se o campo é usado pelo menos uma vez. Como o campo é opcional, o resultado é NA se a contagem for 0. | Contagem > 0 |
54 | Uso de Termo Financiado (opcional) | Verifique se o campo é usado pelo menos uma vez. Como o campo é opcional, o resultado é NA se a contagem for 0. | Contar > 0 |
55 | Uso do Número da Reclamação (opcional) | Verifique se o campo é usado pelo menos uma vez. Como o campo é opcional, o resultado é NA se a contagem for 0. | Contar > 0 |
56 | Número de Série de Empregos Uso (opcional) | Verifique se o campo é usado pelo menos uma vez. Como o campo é opcional, o resultado é NA se a contagem for 0. | Contar > 0 |
57 | Uso do Odômetro de Trabalho (opcional) | Verifique se o campo é usado pelo menos uma vez. Como o campo é opcional, o resultado é NA se a contagem for 0. | Contagem > 0 |
58 | Uso de Horas de Trabalho (opcional) | Verifique se o campo é usado pelo menos uma vez. Como o campo é opcional, o resultado é NA se a contagem for 0. | Contagem > 0 |
59 | Uso do Fabricante de Empregos (opcional) | Verifique se o campo é usado pelo menos uma vez. Como o campo é opcional, o resultado é NA se a contagem for 0. | Contagem > 0 |
60 | Uso do Modelo de Empregos (opcional) | Verifique se o campo é usado pelo menos uma vez. Como o campo é opcional, o resultado é NA se a contagem for 0. | Contagem > 0 |
61 | Ano de Uso de Empregos (opcional) | Verifique se o campo é usado pelo menos uma vez. Como o campo é opcional, o resultado é NA se a contagem for 0. | Contar > 0 |
62 | Adicionar. Taxa de Custos de Uso (opcional) | Verifique se o campo é usado pelo menos uma vez. Como o campo é opcional, o resultado é NA se a contagem for 0. | Contar > 0 |
63 | Adicionar. Custos Aplicáveis Montante Uso (opcional) | Verifique se o campo é usado pelo menos uma vez. Como o campo é opcional, o resultado é NA se a contagem for 0. | Contar > 0 |
64 | Uso de tipos de custo adicionais (opcional) | Verifique se todos os tipos de custos adicionais estão sendo utilizados. . Imposto . Logística . Desconto . Outro | Contar > 0 |
65 | VIN exclusivo para novas unidades | O VIN em uma transação UNITS usando o valor CLASS_CODE NOVO deve ser único. Verifique se o VIN exato não é encontrado em outra transação de UNIDADES com o valor de CLASS_CODE NOVO. | A contagem é 0 |
66 | Sem transações apenas com o cabeçalho | Verifique se não há transações com apenas um cabeçalho e sem PARTES, TRABALHOS ou UNIDADES. Isso pode ocorrer se o DMS enviar uma transação após remover todos os elementos que não são BRP, não deixando nada para trás. | A contagem é 0 |
67 | Carga rejeitada | Verifique se não houve cargas rejeitadas. Os payloads rejeitados são aqueles com erros no nível JSON, que são rejeitados pela API, e o DMS recebe um código de status 400. | A contagem é 0 |
68 | ID do Consumidor do Convidado | Quando uma venda de peças é feita "em dinheiro", ou seja, não há conta de consumidor, o ID do consumidor é definido como CONVIDADO e o hash é nulo. | Contar > 0 |