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.
Funcionalidades Principais
Abaixo estão os atalhos para as operações mais utilizadas neste módulo:
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 }]