DriveB

33. Plano de Recomendação de Serviços

O módulo Plano de Recomendação de Serviços é responsável pelo gerenciamento das recomendações preventivas de manutenção dos veículos. Ele permite cadastrar, consultar e recuperar planos de recomendação, considerando modelos de veículos, clientes, países, períodos de execução e serviços recomendados pelo fabricante (OEM).


Listar todos os Planos de Recomendação de Serviços

Retorna uma lista paginada com todos os planos de recomendação de serviços cadastrados no sistema.

Endpoint: /api/service-recommendation-plan

Método: GET

Parâmetros:

  • page (query, obrigatório) — Informações de paginação da consulta.

Códigos de resposta:

  • 200 — Planos de recomendação retornados com sucesso.
  • 400 — Requisição inválida.
  • 401 — Não autorizado.
  • 403 — Acesso proibido.
  • 404 — Recurso não encontrado.
  • 500 — Erro interno do servidor.

Response body (exemplo):

{
"totalElements": 0,
"totalPages": 0,
"size": 0,
"content": [
{
"id": 0,
"serviceRecommendationType": {},
"model": {},
"countries": [],
"firstTimeInspection": 0,
"subsequentInspection": 0,
"subsequentTimeInspection": 0,
"description": "string",
"client": {},
"serviceRecommendationPlanPeriods": [],
"serviceRecommendationPlanOems": []
}
],
"number": 0,
"sort": {},
"pageable": {},
"numberOfElements": 0,
"first": true,
"last": true,
"empty": true
}

Response body (erro, exemplo):

{
"message": "string",
"payLoad": "string",
"warning": true
}

Criar um Plano de Recomendação de Serviços

Cria um novo plano de recomendação de serviços contendo informações de inspeções, países, cliente, modelo do veículo, períodos de execução e recomendações OEM.

Endpoint: /api/service-recommendation-plan

Método: POST

Parâmetros:

  • Códigos de resposta não detalhados na documentação de origem.

Request body:

{
"serviceRecommendationTypeId": 0,
"modelId": 0,
"vehicleId": 0,
"countries": [
0
],
"firstTimeInspection": 0,
"subsequentInspection": 0,
"subsequentTimeInspection": 0,
"description": "string",
"clientId": 0,
"serviceRecommendationPlanPeriods": [],
"serviceRecommendationPlanOems": []
}

Response body:

{
"message": "string",
"payLoad": {
"id": 0,
"serviceRecommendationType": {},
"model": {},
"countries": [],
"firstTimeInspection": 0,
"subsequentInspection": 0,
"subsequentTimeInspection": 0,
"description": "string",
"client": {},
"serviceRecommendationPlanPeriods": [],
"serviceRecommendationPlanOems": []
},
"warning": true
}

Consultar Plano de Recomendação por Veículo

Retorna todas as recomendações de manutenção disponíveis para um veículo específico.

Endpoint: /api/service-recommendation-plan/vehicle/{id}

Método: GET

Parâmetros:

  • id (path, obrigatório) — Identificador do veículo.

Códigos de resposta:

  • 200 — Plano de recomendação retornado com sucesso.
  • 400 — Requisição inválida.
  • 401 — Não autorizado.
  • 403 — Acesso proibido.
  • 404 — Recurso não encontrado.
  • 500 — Erro interno do servidor.

Response body (exemplo):

[
{
"id": 0,
"nextServicePredictionId": 0,
"key": "string",
"displayValue": "string",
"enabled": true,
"mandatoryFields": "string",
"timeToService": {
"value": 0,
"unit": "DAY"
},
"nextServiceStatus": "SCHEDULED",
"damageReports": [],
"seasonalNeeds": [],
"oemServices": [],
"isSelected": true
}
]

Consultar Plano de Recomendação por Veículo e Solicitação de Serviço

Retorna as recomendações de manutenção de um veículo considerando uma solicitação de serviço específica.

Endpoint: /api/service-recommendation-plan/vehicle/{id}/{serviceRequestId}

Método: GET

Parâmetros:

  • id (path, obrigatório) — Identificador do veículo.
  • serviceRequestId (path, obrigatório) — Identificador da solicitação de serviço.

Códigos de resposta:

  • 200 — Plano de recomendação retornado com sucesso.
  • 400 — Requisição inválida.
  • 401 — Não autorizado.
  • 403 — Acesso proibida.
  • 404 — Recurso não encontrado.
  • 500 — Erro interno do servidor.

Response body (exemplo):

[
{
"id": 0,
"nextServicePredictionId": 0,
"key": "string",
"displayValue": "string",
"enabled": true,
"mandatoryFields": "string",
"timeToService": {
"value": 0,
"unit": "DAY"
},
"nextServiceStatus": "SCHEDULED",
"damageReports": [],
"seasonalNeeds": [],
"oemServices": [],
"isSelected": true
}
]