Excluir viagem

Neste documento, descrevemos como excluir uma viagem. Ele pressupõe que você tenha configurado o Fleet Engine. Consulte Configurar o Fleet Engine.

Noções básicas sobre exclusão de viagens

Seu sistema pode usar o Fleet Engine para excluir uma viagem nas seguintes situações:

  • Para realizar operações de limpeza ao testar as APIs do Fleet Engine.
  • Para excluir imediatamente uma viagem que não é mais necessária.

Para excluir uma viagem, envie uma solicitação usando gRPC ou REST.

  • Método DeleteTrip(): gRPC ou REST
  • Mensagem DeleteTripRequest: somente gRPC

Use as credenciais adequadas para a conta de serviço do seu projeto, conforme descrito em Fleet Engine: papéis da conta de serviço.

Exemplo: excluir viagem

O exemplo a seguir demonstra como excluir uma viagem no Fleet Engine.

static final String PROJECT_ID = "my-rideshare-co-gcp-project";
static final String TRIP_ID = "trip-8241890";

String tripName = "providers/" + PROJECT_ID + "/trips/" + TRIP_ID;

TripServiceBlockingStub tripService = TripServiceGrpc.newBlockingStub(channel);

// Delete trip request.
DeleteTripRequest deleteTripRequest = DeleteTripRequest.newBuilder()
    .setName(tripName)
    .build();

// Error handling.
try {
  tripService.deleteTrip(deleteTripRequest);
} catch (StatusRuntimeException e) {
  Status s = e.getStatus();
  switch (s.getCode()) {
    case NOT_FOUND:            // The trip doesn't exist.
      break;
    case FAILED_PRECONDITION:  // Trip is active and assigned to a vehicle.
      break;
    case PERMISSION_DENIED:
      break;
  }
  return;
}

Solucionar erros

Ao excluir uma viagem, talvez você encontre um erro FAILED_PRECONDITION. Nesse caso, a viagem está ativa e atribuída a um veículo.
Para continuar com a exclusão, chame UpdateTrip e atualize o trip_status para COMPLETE/CANCELED.

A seguir