31. Solicitação de Agendamento
Retorna os dados completos de uma solicitação de agendamento específica, incluindo informações do veículo, oficina, motorista, status do serviço, previsões, faturamento e demais dados relacionados ao atendimento.
Funcionalidades Principais
Abaixo estão os atalhos para as operações mais utilizadas neste módulo:
Consultar entidade específica por Id
Retorna os dados completos de uma solicitação de agendamento específica, incluindo informações do veículo, oficina, motorista, status do serviço, previsões, faturamento e demais dados relacionados ao atendimento.
Endpoint: /api/scheduling-requests/{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:
{ "id": 0, "requestId": "string", "stepStatus": "string", "vehicleId": 0, "clientId": 0, "parentId": 0, "budgetId": 0, "parentServiceRequestId": 0, "parentRequestId": "string", "currentKm": 0, "correctiveDescription": "string", "tiresDescription": "string", "tiresAmount": 0, "observations": "string", "observationRemoveVehicle": "string", "serviceType": "string", "status": "string", "displayConfirmedScheduling": "string", "carWorkshopName": "string", "carWorkshopId": 0, "carWorkshopOriginId": 0, "carWorkshopCityName": "string", "preventiveReviewKm": 0, "modifiedAt": "2024-01-01T00:00:00Z", "modifiedBy": "string", "serviceConfirmedDrive": true, "isEmptyBudgetFlow": true, "isComplementary": true, "reasonCancel": "string", "reasonsToCancel": [ "REASON_VEHICLE_NO_SHOW_FOR_APPOINTMENT" ], "displayReasonCancel": "string", "observationCancel": "string", "date": "2024-01-01T00:00:00Z", "period": "string", "serviceRequestRatingId": 0, "serviceRequestRating": { "id": 0, "createdAt": "2024-01-01T00:00:00Z", "username": "string", "carWorkshopAttendanceRating": 0, "carWorkshopCleaningRating": 0, "serviceRating": 0, "platformRating": 0, "observation": "string" }, "completionPrediction": "2024-01-01T00:00:00Z", "completionPredictionPeriod": "string", "displayCompletionPredictionPeriod": "string", "isPreApproved": true, "isPreApprovedCarworkshop": true, "checkinChecklistFilled": true, "checkoutChecklistFilled": true, "carWorkshopKm": 0, "periodLimitCancel": "2024-01-01T00:00:00Z", "vehicleArrivalConfirmationDate": "2024-01-01T00:00:00Z", "vehicleArrivalConfirmationDateByUser": "2024-01-01T00:00:00Z", "drivers": [ { "id": 0, "serviceRequestId": 0, "driverId": 0, "name": "string", "telephoneNumber": "string", "profilePicture": "string" } ], "serviceStartedAt": "2024-01-01T00:00:00Z", "endedIn": "2024-01-01T00:00:00Z", "vehicleArrived": true, "isPuc": true, "hadIntentionOnComplementaryService": true, "workshopQuotationPrevisionDate": "2024-01-01T00:00:00Z", "workshopQuotationPrevisionPeriod": "MORNING", "workshopCompletionPrevisionDate": "2024-01-01T00:00:00Z", "workshopCompletionPrevisionPeriod": "MORNING", "vehicleAttendanceWorkshopStatus": "OUTSIDE_WORKSHOP", "confirmedUnattendanceDate": "2024-01-01T00:00:00Z", "billingCheckNfByBotPart": true, "billingCheckNfByBotService": true, "timeService": "2024-01-01T00:00:00Z", "orderIdPart": "string", "orderIdService": "string", "serviceRecommendationPlans": [ { "id": 0, "nextServicePredictionId": 0, "key": "string", "displayValue": "string", "enabled": true, "mandatoryFields": "string", "timeToService": { "value": null, "unit": null }, "nextServiceStatus": "SCHEDULED", "damageReports": [], "seasonalNeeds": [], "oemServices": [], "isSelected": true } ], "createdAt": "2024-01-01T00:00:00Z", "serviceInvoiceForCustomer": true, "billingCorporateNameByPart": "string", "billingTaxIdentifierByPart": "string", "billingAddressByPart": "string", "billingCorporateNameByService": "string", "billingTaxIdentifierByService": "string", "billingAddressByService": "string", "billingCutOffDay": 0, "billingRulesByCarWorkShop": "string", "serverUrl": "string", "categoryVehicleAttendanceEvidence": "MANDATORY", "categoryServiceWearEvidence": "MANDATORY", "categoryServiceFinishedEvidence": "MANDATORY", "orderId": "string", "fee": true, "preventive": true, "isFee": true}Atualizar entidade específica
Atualiza os dados de uma solicitação de agendamento existente.
Endpoint: /api/scheduling-requests/{id}
Método: PUT
Parâmetros:
- id (path, obrigatório, integer) — Identificador da entidade.
Request body:
{ "...": "Mesmo payload utilizado no endpoint 'Consultar entidade específica por Id'."}Códigos de resposta:
- 200 — Update specific entity.
- 403 — Unauthorized.
- 500 — Unknown Server Error.
Response body:
{ "...": "Mesmo objeto retornado pelo endpoint GET /api/scheduling-requests/{id}."}Consultar histórico de status do serviço
Retorna todos os status percorridos pela solicitação de agendamento até o status atual.
Endpoint: /api/scheduling-requests/{id}/service-status
Método: GET
Parâmetros:
- id (path, obrigatório, integer) — Identificador da entidade.
Códigos de resposta:
- 200 — Service Status.
- 400 — Bad Request.
- 401 — Unauthorized.
- 403 — Forbidden.
- 500 — Unknown Server Error.
Response body:
[ { "id": 0, "order": 0, "status": "string", "displayStatus": "string", "stepStatus": "string", "displayStepStatus": "string", "budgetStatus": "string", "displayBudgetStatus": "string" }]Atualizar status do serviço
Atualiza o status de uma solicitação de agendamento.
Endpoint: /api/scheduling-requests/{id}/service-status
Método: PUT
Parâmetros:
- id (path, obrigatório, integer) — Identificador da entidade.
Request body:
{ "id": 0, "order": 0, "status": "string", "displayStatus": "string", "stepStatus": "string", "displayStepStatus": "string", "budgetStatus": "string", "displayBudgetStatus": "string"}Códigos de resposta:
- 200 — Update SchedulingServiceStatus entity.
- 400 — Bad Request.
- 401 — Unauthorized.
- 403 — Forbidden.
- 500 — Unknown Server Error.
Response body:
{ "message": "string", "payLoad": { "...": "Objeto SchedulingRequest atualizado." }, "warning": true}Consultar histórico de status de cancelamento
Retorna todos os status de cancelamento percorridos pela solicitação de agendamento até o status atual.
Endpoint: /api/scheduling-requests/{id}/service-status-cancel
Método: GET
Parâmetros:
- id (path, obrigatório, integer) — Identificador da entidade.
Códigos de resposta:
- 200 — Service Status.
- 400 — Bad Request.
- 401 — Unauthorized.
- 403 — Forbidden.
- 500 — Unknown Server Error.
Response body:
[ { "id": 0, "order": 0, "status": "string", "displayStatus": "string", "stepStatus": "string", "displayStepStatus": "string", "budgetStatus": "string", "displayBudgetStatus": "string" }]Atualizar status de cancelamento
Atualiza o status de cancelamento de uma solicitação de agendamento.
Endpoint: /api/scheduling-requests/{id}/service-status-cancel
Método: PUT
Parâmetros:
- id (path, obrigatório, integer) — Identificador da entidade.
Request body:
{ "id": 0, "order": 0, "status": "string", "displayStatus": "string", "stepStatus": "string", "displayStepStatus": "string", "budgetStatus": "string", "displayBudgetStatus": "string"}Response body:
{ "message": "string", "payLoad": { "...": "Objeto SchedulingRequest atualizado." }, "warning": true}Atualizar Order ID da Ordem de Serviço
Atualiza os identificadores das ordens de serviço referentes às notas de peças e serviços de uma solicitação de agendamento.
Endpoint: /api/scheduling-requests/{id}/service-request-order-id
Método: PUT
Parâmetros:
- id (path, obrigatório, integer) — Identificador da entidade.
Request body:
{ "orderIdPart": "string", "orderIdService": "string"}Response body:
{ "message": "string", "payLoad": { "...": "Objeto SchedulingRequest atualizado." }, "warning": true}Criar solicitação de agendamento parcial
Cria uma solicitação de agendamento parcial, permitindo registrar informações iniciais do atendimento antes da conclusão do processo completo de agendamento.
Endpoint: /api/scheduling-requests/partial
Método: POST
Request body:
{ "...": "Mesmo objeto SchedulingRequest utilizado no endpoint 'Consultar entidade específica por Id'."}Response body:
{ "...": "Objeto SchedulingRequest criado."}Criar solicitação de agendamento
Cria uma nova solicitação de agendamento fora do fluxo padrão da plataforma.
Endpoint: /api/scheduling-requests/outside-request
Método: POST
Parâmetros:
- Corpo da requisição não detalhado na documentação de origem.
Códigos de resposta:
- 201 — Scheduling request created.
- 400 — Bad Request.
- 401 — Unauthorized.
- 403 — Forbidden.
- 500 — Unknown Server Error.
Importar solicitações de serviço
Importa solicitações de serviço a partir de um arquivo, realizando a validação das informações durante o processamento.
Endpoint: /api/scheduling-requests/import
Método: POST
Códigos de resposta:
- 200 — Import service request from file.
- 403 — Unauthorized.
- 500 — Unknown Server Error.
Response body:
[ { "linePosition": 0, "rowValues": "string", "errorMessage": "string" }]Importar finalização de solicitações de serviço
Importa informações para finalizar solicitações de serviço em lote.
Endpoint: /api/scheduling-requests/import-finish
Método: POST
Request body:
{ "...": "Objeto SchedulingRequest criado."}Códigos de resposta:
- 200 — Ok.
- 403 — Unauthorized.
- 500 — Unknown Server Error.
Response body:
{ "message": "string", "payLoad": null, "warning": true}Buscar todos os tipos de serviço
Retorna todos os tipos de serviço disponíveis para agendamento.
Endpoint: /api/scheduling-requests/service-types
Método: GET
Parâmetros:
- Este endpoint não recebe parâmetros.
Códigos de resposta:
- 200 — Service Types.
- 403 — Unauthorized.
- 500 — Unknown Server Error.
Response body:
[ { "name": "string", "value": "string" }]Buscar todos os períodos disponíveis
Retorna todos os períodos disponíveis para agendamento.
Endpoint: /api/scheduling-requests/period-types
Método: GET
Parâmetros:
- Este endpoint não recebe parâmetros.
Códigos de resposta:
- 200 — Service Status.
- 403 — Unauthorized.
- 500 — Unknown Server Error.
Response body:
[ { "name": "string", "value": "string" }]Consultar solicitação de agendamento pendente
Retorna uma solicitação de agendamento pendente, incluindo informações do veículo, oficina, motoristas e recomendações de serviço.
Endpoint: /api/scheduling-requests/pending/{id}
Método: GET
Parâmetros:
- id (path, obrigatório, integer) — Identificador da entidade.
Códigos de resposta:
- 201 — Partial scheduling request created.
- 400 — Bad Request.
- 401 — Unauthorized.
- 403 — Forbidden.
- 500 — Unknown Server Error.
Response body:
{ "...": "Objeto PendingSchedulingRequest."}Buscar frequência de manutenção
Retorna todas as frequências de manutenção (Km) para um determinado modelo e cliente.
Endpoint: /api/scheduling-requests/frequency/{modelId}/{clientId}
Método: GET
Parâmetros:
- modelId (path, obrigatório, integer) — Identificador do modelo.
- clientId (path, obrigatório, integer) — Identificador do cliente.
Códigos de resposta:
- 200 — Find all frequency Km.
- 403 — Unauthorized.
- 500 — Unknown Server Error.
Response body:
[ 0]Pesquisar solicitações de agendamento utilizando filtros
Retorna uma lista paginada de solicitações de agendamento de acordo com os filtros informados.
Endpoint: /api/scheduling-requests/filters
Método: GET
Parâmetros:
- filterDTO (query, obrigatório) — Filtros utilizados na pesquisa das solicitações de agendamento.
- page (query, obrigatório) — Informações de paginação.
Códigos de resposta:
- 200 — Drivers.
- 403 — Unauthorized.
- 500 — Unknown Server Error.
Response body:
{ "totalElements": 0, "totalPages": 0, "size": 0, "content": [ { "id": 0, "requestId": "string", "vehicleDisplay": "string", "serviceType": "string", "displayConfirmedScheduling": "string", "displayConfirmedRescheduling": "string", "carWorkshopName": "string", "status": "string", "displayStatus": "string", "stepStatus": "string", "backofficePendency": true, "date": "2024-01-01T00:00:00Z", "period": "string", "clientBlockName": "string", "vehicleArrived": true, "serviceConfirmedDrive": true, "clientCanApproveBudget": true, "vehicleAttendanceWorkshopStatus": "OUTSIDE_WORKSHOP", "budgetsIds": [ 0 ], "isEmpty": true, "isNewPreventiveFlow": true, "budgetStatus": "string", "countWorkshopMaintenanceProposalsOnCounterProposal": 0, "callToAction": "BACKOFFICE_PENDING_SCHEDULED" } ], "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}Pesquisar solicitações de agendamento
Retorna uma lista paginada de solicitações de agendamento cadastradas na plataforma.
Endpoint: /api/scheduling-requests
Método: GET
Parâmetros:
- filterDTO (query, obrigatório) — Filtros utilizados na pesquisa das solicitações de agendamento.
- page (query, obrigatório) — Informações de paginação.
Códigos de resposta:
- 200 — Service Requests.
- 403 — Unauthorized.
- 500 — Unknown Server Error.
Response body:
{ "totalElements": 0, "totalPages": 0, "size": 0, "content": [ { "id": 0, "requestId": "string", "vehicleDisplay": "string", "serviceType": "string", "displayConfirmedScheduling": "string", "displayConfirmedRescheduling": "string", "carWorkshopName": "string", "status": "string", "displayStatus": "string", "stepStatus": "string", "backofficePendency": true, "date": "2024-01-01T00:00:00Z", "period": "string", "clientBlockName": "string", "vehicleArrived": true, "serviceConfirmedDrive": true, "clientCanApproveBudget": true, "vehicleAttendanceWorkshopStatus": "OUTSIDE_WORKSHOP", "budgetsIds": [ 0 ], "isEmpty": true, "isNewPreventiveFlow": true, "budgetStatus": "string", "countWorkshopMaintenanceProposalsOnCounterProposal": 0, "callToAction": "BACKOFFICE_PENDING_SCHEDULED" } ], "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}