DriveB

32. Serviços

Este módulo é responsável pelo gerenciamento dos serviços de manutenção disponíveis na plataforma. Ele permite consultar serviços cadastrados, pesquisar preços por oficina, recuperar valores padrão, localizar sinônimos, realizar pesquisas e obter informações utilizadas durante a criação e aprovação de orçamentos.

O módulo de Serviços centraliza todas as operações relacionadas aos serviços executados nas ordens de serviço, incluindo consulta de preços, cadastro, localização e pesquisa dos serviços disponíveis.


Consultar preço de um serviço por oficina

Retorna os valores praticados por uma oficina específica para um determinado serviço, considerando também a solicitação de serviço informada.

Endpoint: /api/services/{serviceId}/car-workshops/{carWorkshopId}/prices

Método: GET

Parâmetros:

  • serviceId (path, obrigatório, integer) — Identificador do serviço.
  • carWorkshopId (path, obrigatório, integer) — Identificador da oficina.
  • serviceRequestId (query, obrigatório, integer) — Identificador da solicitação de serviço.

Códigos de resposta:

  • 200 — Price updated.
  • 400 — Bad request.
  • 401 — Unauthorized.
  • 403 — Forbidden.
  • 500 — Unknown Server Error.

Response body:

{
"regionVariableId": 0,
"regionId": 0,
"clientPrice": 0,
"carworkshopPrice": 0,
"intermediationFee": 0,
"admFee": 0,
"driveBMargin": 0,
"codeCurrency": "string",
"currencyId": 0,
"tag": "string",
"isDefault": true,
"tire": true
}

Consultar entidade específica por Id

Retorna todas as informações de um serviço cadastrado, incluindo seus nomes internacionalizados e código interno.

Endpoint: /api/services/{id}

Método: GET

Parâmetros:

  • id (path, obrigatório, integer) — Identificador da entidade.

Códigos de resposta:

  • 200 — Return specific entity.
  • 403 — Unauthorized.
  • 500 — Unknown Server Error.

Response body (exemplo):

{
"id": 0,
"displayName": "string",
"interFieldValues": [
{
"interFieldNameId": 0,
"translatableEntityId": 0,
"interFieldName": {
"id": null,
"featureName": null,
"fieldName": null,
"localeId": null,
"locale": null
},
"value": "string"
}
],
"serviceCode": "string"
}

Consultar sinônimos de um serviço

Retorna todos os sinônimos cadastrados para um determinado serviço.

Endpoint: /api/services/{id}/synonyms

Método: GET

Parâmetros:

  • id (path, obrigatório, integer) — Identificador do serviço.

Códigos de resposta:

  • 200 — Synonym Values.
  • 403 — Unauthorized.
  • 500 — Unknown Server Error.

Response body (exemplo):

[
{
"id": 0,
"translatableEntityId": 0,
"value": "string"
}
]

Consultar preço padrão por região

Retorna o preço padrão configurado para um serviço na região padrão, considerando a moeda informada.

Endpoint: /api/services/{id}/default-price

Método: GET

Parâmetros:

  • id (path, obrigatório, integer) — Identificador do serviço.
  • currencyCode (query, obrigatório, string) — Código da moeda.

Códigos de resposta:

  • 200 — Find price by default region.
  • 403 — Unauthorized.
  • 500 — Unknown Server Error.

Response body (exemplo):

{
"regionVariableId": 0,
"regionId": 0,
"clientPrice": 0,
"carworkshopPrice": 0,
"intermediationFee": 0,
"admFee": 0,
"driveBMargin": 0,
"codeCurrency": "string",
"currencyId": 0,
"tag": "string",
"isDefault": true,
"tire": true
}

Consultar todos os campos internacionalizados

Retorna todos os campos internacionalizados disponíveis para os serviços cadastrados.

Endpoint: /api/services/inter-field-names

Método: GET

Parâmetros:

  • Este endpoint não recebe parâmetros.

Códigos de resposta:

  • 200 — International field names.
  • 403 — Unauthorized.
  • 500 — Unknown Server Error.

Response body (exemplo):

[
{
"id": 0,
"featureName": "string",
"fieldName": "string",
"localeId": 0,
"locale": {
"id": 0,
"code": "string",
"description": "string",
"displayName": "string"
}
}
]

Pesquisar serviços utilizando filtros

Retorna uma lista paginada de serviços de acordo com os filtros informados.

Endpoint: /api/services/filters

Método: GET

Parâmetros:

  • serviceFilterDTO (query, obrigatório) — Objeto contendo os filtros da pesquisa.
  • page (query, obrigatório) — Informações de paginação.

Códigos de resposta:

  • 200 — Services.
  • 400 — Bad request.
  • 401 — Unauthorized.
  • 403 — Forbidden.
  • 500 — Unknown Server Error.

Response body (exemplo):

{
"totalElements": 0,
"totalPages": 0,
"size": 0,
"content": [
{
"id": 0,
"displayName": "string",
"interFieldValues": [],
"serviceCode": "string"
}
],
"number": 0,
"sort": {
"empty": true,
"sorted": true,
"unsorted": true
},
"pageable": {
"offset": 0,
"sort": {
"empty": true,
"sorted": true,
"unsorted": true
},
"pageNumber": 0,
"unpaged": true,
"paged": true,
"pageSize": 0
},
"numberOfElements": 0,
"first": true,
"last": true,
"empty": true
}

Localizar serviço por nome

Realiza a pesquisa de serviços por nome para preenchimento automático (autocomplete).

Endpoint: /api/services/autocomplete

Método: GET

Parâmetros:

  • serviceFilterDTO (query, obrigatório) — Objeto contendo os critérios de pesquisa.

Códigos de resposta:

  • 200 — Find service by name.
  • 403 — Unauthorized.
  • 500 — Unknown Server Error.

Response body (exemplo):

[
{
"display": "string",
"value": 0
}
]