DriveB

17. CarWorkshop

Este módulo permite gerenciar oficinas, consultar informações detalhadas, administrar contatos, configurar agendas, pesquisar oficinas, importar e exportar dados, além de controlar clientes bloqueados e serviços oferecidos.


Consultar oficina por ID

Recupere todas as informações de uma oficina a partir do seu identificador.

Endpoint: /api/car-workshops/{id}

Método: GET

Parâmetros:

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

Request payload:

true

Response body:

{
"id": 0,
"sapId": 0,
"corporateName": "string",
"tradingName": "string",
"taxIdentifier": "string",
"phone": "string",
"email": "string",
...
}

Atualizar oficina

Atualize as informações de uma oficina existente.

Endpoint: /api/car-workshops/{id}

Método: PUT

Parâmetros:

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

Request payload:

{
"id": 0,
"sapId": 0,
"corporateName": "string",
"tradingName": "string",
"taxIdentifier": "string",
"phone": "string",
"email": "string",
"address": {
"id": 0,
"street": "string",
"zipCode": "string",
"number": "string",
"district": "string",
"complement": "string",
"cityId": 0,
"city": {
"id": 0,
"name": "string",
"state": null
},
"cityName": "string",
"stateName": "string",
"countryName": "string",
"ibgeCode": "string"
},
"regionServiceId": 0,
"regionPartId": 0,
"defaultRegionServiceId": 0,
"defaultRegionPartId": 0,
"purchaseOrder": 0,
"isBlocked": true,
"employeeContacts": [
{
"id": 0,
"sub": "string",
"name": "string",
"email": "string",
"username": "string",
"clientId": 0,
"localeId": 0,
"localeCode": "string",
"carWorkshopId": 0,
"type": "string",
"isApprover": true,
"countryCode": "string",
"termsAndConditions": 0,
"franchiseId": "string",
"givenName": "string",
"familyName": "string",
"landlinePhone": "string",
"mobilePhone": "string",
"version": 0,
"active": true,
"databaseCarWorkshopId": 0,
"phoneCode": "string",
"responsability": "CONSULTANT",
"external": true,
"isFavorite": true
}
],
"stateRegistration": "string",
"latitude": 0,
"longitude": 0,
"modelCategories": [
{
"carWorkshopId": 0,
"modelCategoryId": 0
}
],
"ownerName": "string",
"ownerMobilePhone": "string",
"ownerEmail": "string",
"concept": "NETWORK",
"serviceTypes": [
{
"carWorkshopId": 0,
"serviceType": "string"
}
],
"category": {
"id": 0,
"code": "string"
},
"network": {
"id": 0,
"name": "string",
"concept": "NETWORK",
"concessionary": true
},
"blockedBrands": [
{
"carWorkshopId": 0,
"brandId": 0
}
],
"version": 0,
"subsidiaryCorporateName": "string",
"subsidiaryTaxIdentifier": "string",
"subsidiarySapId": 0,
"subsidiaryPurchaseOrder": 0,
"isParent": true,
"parent": {
"id": 0,
"corporateName": "string",
"tradingName": "string"
},
"subsidiaries": [
{
"id": 0,
"corporateName": "string",
"tradingName": "string"
}
],
"isOffline": true,
"isFee": true,
"checkoutType": "YES",
"isMargin": true,
"googleMapsId": "string",
"bcsAccountId": "string",
"bcsExternalId": "string",
"isFavorite": true,
"carWorkshopOriginId": 0,
"franchiseId": 0,
"noIntermediation": true,
"isPrimaryOrigin": true,
"municipalRegistration": "string",
"taxRegime": "SIMPLE_NATIONAL",
"franchiseName": "string",
"priceTypes": [
"FEE"
],
"fee_workshop_settings": {
"fee01Tire": 0,
"fee02Tire": 0,
"client_increase_fee_percent": 0,
"workshop_discount_fee_percent": 0,
"has_client_admin_fee": true,
"client_fee_type": "PERCENT",
"client_fee_value": 0,
"has_application_cap": true,
"application_cap_value": 0,
"model_fee": "DEFAULT"
}
}

Response body:

{
"message": "string",
"payLoad": {
"id": 0,
"sapId": 0,
"corporateName": "string",
"tradingName": "string",
"taxIdentifier": "string",
"phone": "string",
"email": "string",
"address": {
"id": 0,
"street": "string",
"zipCode": "string",
"number": "string",
"district": "string",
"complement": "string",
"cityId": 0,
"city": null,
"cityName": "string",
"stateName": "string",
"countryName": "string",
"ibgeCode": "string"
},
"regionServiceId": 0,
"regionPartId": 0,
"defaultRegionServiceId": 0,
"defaultRegionPartId": 0,
"purchaseOrder": 0,
"isBlocked": true,
"employeeContacts": [
{
"id": null,
"sub": null,
"name": null,
"email": null,
"username": null,
"clientId": null,
"localeId": null,
"localeCode": null,
"carWorkshopId": null,
"type": null,
"isApprover": null,
"countryCode": null,
"termsAndConditions": null,
"franchiseId": null,
"givenName": null,
"familyName": null,
"landlinePhone": null,
"mobilePhone": null,
"version": null,
"active": null,
"databaseCarWorkshopId": null,
"phoneCode": null,
"responsability": null,
"external": null,
"isFavorite": null
}
],
"stateRegistration": "string",
"latitude": 0,
"longitude": 0,
"modelCategories": [
{
"carWorkshopId": null,
"modelCategoryId": null
}
],
"ownerName": "string",
"ownerMobilePhone": "string",
"ownerEmail": "string",
"concept": "NETWORK",
"serviceTypes": [
{
"carWorkshopId": null,
"serviceType": null
}
],
"category": {
"id": 0,
"code": "string"
},
"network": {
"id": 0,
"name": "string",
"concept": "NETWORK",
"concessionary": true
},
"blockedBrands": [
{
"carWorkshopId": null,
"brandId": null
}
],
"version": 0,
"subsidiaryCorporateName": "string",
"subsidiaryTaxIdentifier": "string",
"subsidiarySapId": 0,
"subsidiaryPurchaseOrder": 0,
"isParent": true,
"parent": {
"id": 0,
"corporateName": "string",
"tradingName": "string"
},
"subsidiaries": [
{
"id": null,
"corporateName": null,
"tradingName": null
}
],
"isOffline": true,
"isFee": true,
"checkoutType": "YES",
"isMargin": true,
"googleMapsId": "string",
"bcsAccountId": "string",
"bcsExternalId": "string",
"isFavorite": true,
"carWorkshopOriginId": 0,
"franchiseId": 0,
"noIntermediation": true,
"isPrimaryOrigin": true,
"municipalRegistration": "string",
"taxRegime": "SIMPLE_NATIONAL",
"franchiseName": "string",
"priceTypes": [
"FEE"
],
"fee_workshop_settings": {
"fee01Tire": 0,
"fee02Tire": 0,
"client_increase_fee_percent": 0,
"workshop_discount_fee_percent": 0,
"has_client_admin_fee": true,
"client_fee_type": "PERCENT",
"client_fee_value": 0,
"has_application_cap": true,
"application_cap_value": 0,
"model_fee": "DEFAULT"
}
},
"warning": true
}

Excluir oficina

Remova uma oficina utilizando seu identificador.

Endpoint: /api/car-workshops/{id}

Método: DELETE

Parâmetros:

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

Request payload:

true

Response body:

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

Atualizar contato

Atualize um contato pertencente a uma oficina.

Endpoint: /api/car-workshops/{id}/contacts/{contactId}

Método: PUT

Parâmetros:

  • id (path, obrigatório, integer) — Identificador da oficina.
  • contactId (path, obrigatório, integer) — Identificador do contato.

Request payload:

{
"id": 0,
"sub": "string",
"name": "string",
"email": "string",
"username": "string",
"clientId": 0,
"localeId": 0,
"localeCode": "string",
"carWorkshopId": 0,
"type": "string",
"isApprover": true,
"countryCode": "string",
"termsAndConditions": 0,
"franchiseId": "string",
"givenName": "string",
"familyName": "string",
"landlinePhone": "string",
"mobilePhone": "string",
"version": 0,
"active": true,
"databaseCarWorkshopId": 0,
"phoneCode": "string",
"responsability": "CONSULTANT",
"external": true,
"isFavorite": true
}

Response body:

{
"message": "string",
"payLoad": {
"id": 0,
"sub": "string",
"name": "string",
"email": "string",
"username": "string",
"clientId": 0,
"localeId": 0,
"localeCode": "string",
"carWorkshopId": 0,
"type": "string",
"isApprover": true,
"countryCode": "string",
"termsAndConditions": 0,
"franchiseId": "string",
"givenName": "string",
"familyName": "string",
"landlinePhone": "string",
"mobilePhone": "string",
"version": 0,
"active": true,
"databaseCarWorkshopId": 0,
"phoneCode": "string",
"responsability": "CONSULTANT",
"external": true,
"isFavorite": true
},
"warning": true
}

Excluir contato

Remova um contato específico de uma oficina.

Endpoint: /api/car-workshops/{id}/contacts/{contactId}

Método: DELETE

Parâmetros:

  • id (path, obrigatório, integer) — Identificador da oficina.
  • contactId (path, obrigatório, integer) — Identificador do contato.

Request payload:

true

Response body:

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

Salvar oficina no Keycloak

Salve uma oficina no Keycloak utilizando seu identificador.

Endpoint: /api/car-workshops/save-with-keycloak/{id}

Método: PUT

Parâmetros:

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

Request payload:

{
"id": 0,
"sapId": 0,
"corporateName": "string",
"tradingName": "string",
"taxIdentifier": "string",
"phone": "string",
"email": "string",
"address": {
"id": 0,
"street": "string",
"zipCode": "string",
"number": "string",
"district": "string",
"complement": "string",
"cityId": 0,
"city": {
"id": 0,
"name": "string",
"state": null
},
"cityName": "string",
"stateName": "string",
"countryName": "string",
"ibgeCode": "string"
},
"regionServiceId": 0,
"regionPartId": 0,
"defaultRegionServiceId": 0,
"defaultRegionPartId": 0,
"purchaseOrder": 0,
"isBlocked": true,
"employeeContacts": [],
"stateRegistration": "string",
"latitude": 0,
"longitude": 0,
"modelCategories": [],
"ownerName": "string",
"ownerMobilePhone": "string",
"ownerEmail": "string",
"concept": "NETWORK",
"serviceTypes": [],
"category": {
"id": 0,
"code": "string"
},
"network": {
"id": 0,
"name": "string",
"concept": "NETWORK",
"concessionary": true
},
"blockedBrands": [],
"version": 0,
"subsidiaryCorporateName": "string",
"subsidiaryTaxIdentifier": "string",
"subsidiarySapId": 0,
"subsidiaryPurchaseOrder": 0,
"isParent": true,
"parent": {
"id": 0,
"corporateName": "string",
"tradingName": "string"
},
"subsidiaries": [],
"isOffline": true,
"isFee": true,
"checkoutType": "YES",
"isMargin": true,
"googleMapsId": "string",
"bcsAccountId": "string",
"bcsExternalId": "string",
"isFavorite": true,
"carWorkshopOriginId": 0,
"franchiseId": 0,
"noIntermediation": true,
"isPrimaryOrigin": true,
"municipalRegistration": "string",
"taxRegime": "SIMPLE_NATIONAL",
"franchiseName": "string",
"priceTypes": [
"FEE"
],
"fee_workshop_settings": {
"fee01Tire": 0,
"fee02Tire": 0,
"client_increase_fee_percent": 0,
"workshop_discount_fee_percent": 0,
"has_client_admin_fee": true,
"client_fee_type": "PERCENT",
"client_fee_value": 0,
"has_application_cap": true,
"application_cap_value": 0,
"model_fee": "DEFAULT"
}
}

Response body:

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

Consultar configurações da agenda da oficina

Recupere as configurações da agenda de uma oficina.

Endpoint: /api/car-workshops/agenda/settings/{carWorkshopId}

Método: GET

Parâmetros:

  • carWorkshopId (path, obrigatório, integer) — Identificador da oficina.

Request payload:

true

Response body:

0

Atualizar configurações da agenda da oficina

Atualize a quantidade de vagas disponíveis na agenda da oficina.

Endpoint: /api/car-workshops/agenda/settings/{carWorkshopId}

Método: PUT

Parâmetros:

  • carWorkshopId (path, obrigatório, integer) — Identificador da oficina.
  • slots (query, obrigatório, integer) — Quantidade de vagas disponíveis.

Request payload:

true

Response body:

0

Bloquear períodos da agenda

Bloqueie ou desbloqueie períodos específicos na agenda da oficina.

Endpoint: /api/car-workshops/agenda/block/{carWorkshopId}

Método: PUT

Parâmetros:

  • carWorkshopId (path, obrigatório, integer) — Identificador da oficina.

Request payload:

{
"blockList": [
{
"date": "2024-01-01",
"period": "string"
}
],
"unblockList": [
{
"date": "2024-01-01",
"period": "string"
}
]
}

Response body:

"string"

Consultar serviços prestados

Consulte todos os serviços oferecidos por uma oficina.

Endpoint: /api/car-workshops/{id}/services-provided

Método: GET

Parâmetros:

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

Request payload:

true

Response body:

[
{
"id": 0,
"code": "string",
"serviceCategory": {
"id": 0,
"code": "string"
}
}
]

Consultar contatos da oficina

Recupere todos os contatos cadastrados para uma oficina.

Endpoint: /api/car-workshops/{id}/contacts

Método: GET

Parâmetros:

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

Request payload:

true

Response body:

[
{
"id": 0,
"sub": "string",
"name": "string",
"email": "string",
"username": "string",
"clientId": 0,
"localeId": 0,
"localeCode": "string",
"carWorkshopId": 0,
"type": "string",
"isApprover": true,
"countryCode": "string",
"termsAndConditions": 0,
"franchiseId": "string",
"givenName": "string",
"familyName": "string",
"landlinePhone": "string",
"mobilePhone": "string",
"version": 0,
"active": true,
"databaseCarWorkshopId": 0,
"phoneCode": "string",
"responsability": "CONSULTANT",
"external": true,
"isFavorite": true
}
]

Adicionar contato à oficina

Cadastre um novo contato para uma oficina.

Endpoint: /api/car-workshops/{id}/contacts

Método: POST

Parâmetros:

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

Request payload:

{
"id": 0,
"sub": "string",
"name": "string",
"email": "string",
"username": "string",
"clientId": 0,
"localeId": 0,
"localeCode": "string",
"carWorkshopId": 0,
"type": "string",
"isApprover": true,
"countryCode": "string",
"termsAndConditions": 0,
"franchiseId": "string",
"givenName": "string",
"familyName": "string",
"landlinePhone": "string",
"mobilePhone": "string",
"version": 0,
"active": true,
"databaseCarWorkshopId": 0,
"phoneCode": "string",
"responsability": "CONSULTANT",
"external": true,
"isFavorite": true
}

Response body:

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

Consultar clientes bloqueados

Consulte todos os clientes bloqueados para uma oficina.

Endpoint: /api/car-workshops/{id}/blocked-client

Método: GET

Parâmetros:

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

Request payload:

true

Response body:

[
{
"id": 0,
"address": {},
"isParent": true,
"tradingName": "string",
"clientCode": "string",
"taxIdentifier": "string",
"corporateName": "string",
"sapId": "string"
}
]

Bloquear clientes para uma oficina

Adicione clientes à lista de bloqueio de uma oficina.

Endpoint: /api/car-workshops/{id}/blocked-client

Método: POST

Parâmetros:

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

Request payload:

{
"reason": "string",
"clientIds": [
0
],
"carWorkshopIds": [
0
]
}

Response body:

[
{
"carworkshopId": 0,
"clientId": 0
}
]