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