Method: providers.vehicles.search

Retorna uma lista de veículos que correspondem às opções de solicitação.

Solicitação HTTP

POST https://fleetengine.googleapis.com/v1/{parent=providers/*}/vehicles:search

O URL usa a sintaxe de transcodificação gRPC.

Parâmetros de caminho

Parâmetros
parent

string

Obrigatório. Precisa estar no formato providers/{provider}. O provedor precisa ser o ID do projeto (por exemplo, sample-cloud-project) do projeto do Google Cloud do qual a conta de serviço que faz a chamada é membro.

Corpo da solicitação

O corpo da solicitação contém dados com a seguinte estrutura:

Representação JSON
{
  "header": {
    object (RequestHeader)
  },
  "pickupPoint": {
    object (TerminalLocation)
  },
  "dropoffPoint": {
    object (TerminalLocation)
  },
  "pickupRadiusMeters": integer,
  "count": integer,
  "minimumCapacity": integer,
  "tripTypes": [
    enum (TripType)
  ],
  "maximumStaleness": string,
  "vehicleTypes": [
    {
      object (VehicleType)
    }
  ],
  "requiredAttributes": [
    {
      object (VehicleAttribute)
    }
  ],
  "requiredOneOfAttributes": [
    {
      object (VehicleAttributeList)
    }
  ],
  "requiredOneOfAttributeSets": [
    {
      object (VehicleAttributeList)
    }
  ],
  "orderBy": enum (VehicleMatchOrder),
  "includeBackToBack": boolean,
  "tripId": string,
  "currentTripsPresent": enum (CurrentTripsPresent),
  "filter": string
}
Campos
header

object (RequestHeader)

O cabeçalho de solicitação padrão do Fleet Engine.

pickupPoint

object (TerminalLocation)

Obrigatório. O ponto de retirada a ser pesquisado.

dropoffPoint

object (TerminalLocation)

O local de entrega pretendido do cliente. O campo é obrigatório se tripTypes contiver TripType.SHARED.

pickupRadiusMeters

integer

Obrigatório. Define o raio de pesquisa do veículo ao redor do ponto de embarque. Somente veículos dentro do raio de pesquisa serão retornados. O valor precisa estar entre 400 e 10.000 metros (inclusive).

count

integer

Obrigatório. Especifica o número máximo de veículos a serem retornados. O valor precisa estar entre 1 e 50 (inclusive).

minimumCapacity

integer

Obrigatório. Especifica o número de passageiros considerados para uma viagem. O valor precisa ser maior ou igual a 1. O driver não é considerado no valor da capacidade.

tripTypes[]

enum (TripType)

Obrigatório. Representa o tipo de viagem proposta. Precisa incluir exatamente um tipo. A política UNKNOWN_TRIP_TYPE não é permitida. Restringe a pesquisa apenas aos veículos compatíveis com esse tipo de viagem.

maximumStaleness

string (Duration format)

Restringe a pesquisa apenas aos veículos que enviaram atualizações de local ao Fleet Engine no período especificado. Os veículos parados que ainda transmitem a localização não são considerados desatualizados. Se esse campo não for definido, o servidor vai usar cinco minutos como valor padrão.

Duração em segundos com até nove dígitos fracionários, terminando em "s". Exemplo: "3.5s".

vehicleTypes[]

object (VehicleType)

Obrigatório. Restringe a pesquisa a veículos com um dos tipos especificados. É necessário especificar pelo menos um tipo de veículo. Não são permitidos tipos de veículo com a categoria UNKNOWN.

requiredAttributes[]

object (VehicleAttribute)

Os autores de chamadas podem formar operações lógicas complexas usando qualquer combinação dos campos requiredAttributes, requiredOneOfAttributes e requiredOneOfAttributeSets.

requiredAttributes é uma lista, e requiredOneOfAttributes usa uma mensagem que permite uma lista de listas. Em combinação, os dois campos permitem a composição desta expressão:

(requiredAttributes[0] AND requiredAttributes[1] AND ...)
AND
(requiredOneOfAttributes[0][0] OR requiredOneOfAttributes[0][1] OR
...)
AND
(requiredOneOfAttributes[1][0] OR requiredOneOfAttributes[1][1] OR
...)

Restringe a pesquisa apenas aos veículos com os atributos especificados. Esse campo é uma operação de conjunção/AND. São permitidos no máximo 50 requiredAttributes. Esse valor corresponde ao número máximo de atributos permitidos em um veículo.

requiredOneOfAttributes[]

object (VehicleAttributeList)

Restringe a pesquisa apenas aos veículos com pelo menos um dos atributos especificados em cada VehicleAttributeList. Em cada lista, um veículo precisa corresponder a pelo menos um dos atributos. Esse campo é uma operação de disjunção/OR inclusiva em cada VehicleAttributeList e uma operação de conjunção/AND na coleção de VehicleAttributeList.

requiredOneOfAttributeSets[]

object (VehicleAttributeList)

requiredOneOfAttributeSets oferece mais funcionalidades.

Semelhante a requiredOneOfAttributes, requiredOneOfAttributeSets usa uma mensagem que permite uma lista de listas, permitindo expressões como esta:

(requiredAttributes[0] AND requiredAttributes[1] AND ...)
AND
(
  (requiredOneOfAttributeSets[0][0] AND
  requiredOneOfAttributeSets[0][1] AND
  ...)
  OR
  (requiredOneOfAttributeSets[1][0] AND
  requiredOneOfAttributeSets[1][1] AND
  ...)
)

Restringe a pesquisa apenas aos veículos com todos os atributos em um VehicleAttributeList. Em cada lista, um veículo precisa corresponder a todos os atributos. Esse campo é uma operação de conjunção/E em cada VehicleAttributeList e uma operação inclusiva de disjunção/OU na coleção de VehicleAttributeList.

orderBy

enum (VehicleMatchOrder)

Obrigatório. Especifica o critério de ordenação desejado para os resultados.

includeBackToBack

boolean

Indica se os veículos com uma única viagem ativa estão qualificados para essa pesquisa. Esse campo só é usado quando currentTripsPresent não é especificado. Quando currentTripsPresent não é especificado e esse campo é false, os veículos com viagens atribuídas são excluídos dos resultados da pesquisa. Quando currentTripsPresent não é especificado e esse campo é true, os resultados da pesquisa podem incluir veículos com uma viagem ativa com status ENROUTE_TO_DROPOFF. Quando currentTripsPresent é especificado, este campo não pode ser definido como verdadeiro.

O valor padrão é false.

tripId

string

Indica a viagem associada a este SearchVehicleRequest.

currentTripsPresent

enum (CurrentTripsPresent)

Indica se veículos com viagens ativas estão qualificados para essa pesquisa. Ele precisa ser definido como algo diferente de CURRENT_TRIPS_PRESENT_UNSPECIFIED se tripType incluir SHARED.

filter

string

Opcional. Uma consulta de filtro a ser aplicada ao pesquisar veículos. Consulte http://aip.dev/160 para ver exemplos de sintaxe de filtro.

Esse campo foi criado para substituir os campos requiredAttributes, requiredOneOfAttributes e required_one_of_attributes_sets. Se um valor não vazio for especificado aqui, os seguintes campos precisarão estar vazios: requiredAttributes, requiredOneOfAttributes e required_one_of_attributes_sets.

Esse filtro funciona como uma cláusula AND com outras restrições, como minimumCapacity ou vehicleTypes.

As únicas consultas compatíveis são sobre atributos do veículo (por exemplo, attributes.<key> = <value> ou attributes.<key1> = <value1> AND attributes.<key2> = <value2>). O número máximo de restrições permitidas em uma consulta de filtro é 50.

Além disso, todos os atributos são armazenados como strings. Portanto, as únicas comparações compatíveis com os atributos são aquelas de strings. Para fazer uma comparação com valores numéricos ou booleanos, os valores precisam estar explicitamente entre aspas para serem tratados como strings (por exemplo, attributes.<key> = "10" ou attributes.<key> = "true").

Corpo da resposta

vehicles.search mensagem de resposta.

Se bem-sucedido, o corpo da resposta incluirá dados com a estrutura a seguir:

Representação JSON
{
  "matches": [
    {
      object (VehicleMatch)
    }
  ]
}
Campos
matches[]

object (VehicleMatch)

Lista de veículos que correspondem aos critérios de SearchVehiclesRequest, ordenados de acordo com o campo SearchVehiclesRequest.order_by.

VehicleAttributeList

Um tipo de dados de lista de listas para atributos de veículo.

Representação JSON
{
  "attributes": [
    {
      object (VehicleAttribute)
    }
  ]
}
Campos
attributes[]

object (VehicleAttribute)

Uma lista de atributos desta coleção.

VehicleMatchOrder

Especifica a ordem das correspondências de veículos na resposta.

Enums
UNKNOWN_VEHICLE_MATCH_ORDER Padrão, usado para correspondências de veículos não especificados ou não reconhecidos.
PICKUP_POINT_ETA Ordem crescente pelo tempo de percurso até o ponto de retirada.
PICKUP_POINT_DISTANCE Ordem crescente pela distância de condução do veículo até o ponto de retirada.
DROPOFF_POINT_ETA Ordem crescente pelo tempo de percurso do veículo até o ponto de entrega. Essa ordem só pode ser usada se o local de entrega for especificado na solicitação.
PICKUP_POINT_STRAIGHT_DISTANCE Ordem crescente pela distância em linha reta do último local informado do veículo até o ponto de partida.
COST Ordem crescente pelo custo de correspondência configurado. O custo de correspondência é definido como um cálculo ponderado entre a distância em linha reta e a hora prevista de chegada. Os pesos são definidos com valores padrão e podem ser modificados por cliente. Entre em contato com o Suporte do Google se precisar modificar esses pesos para seu projeto.

CurrentTripsPresent

Especifica os tipos de restrições nas viagens atuais de um veículo.

Enums
CURRENT_TRIPS_PRESENT_UNSPECIFIED A disponibilidade de veículos com viagens é governada pelo campo includeBackToBack.
NONE Veículos sem viagens podem aparecer nos resultados da pesquisa. Quando esse valor é usado, includeBackToBack não pode ser true.
ANY Os veículos com no máximo cinco viagens atuais e 10 pontos de passagem são incluídos nos resultados da pesquisa. Quando esse valor é usado, includeBackToBack não pode ser true.

VehicleMatch

Contém o veículo e as estimativas relacionadas para um veículo que corresponde aos pontos de viagens ativas do veículo SearchVehiclesRequest.

Representação JSON
{
  "vehicle": {
    object (Vehicle)
  },
  "vehiclePickupEta": string,
  "vehiclePickupDistanceMeters": integer,
  "vehiclePickupStraightLineDistanceMeters": integer,
  "vehicleDropoffEta": string,
  "vehiclePickupToDropoffDistanceMeters": integer,
  "tripType": enum (TripType),
  "vehicleTripsWaypoints": [
    {
      object (Waypoint)
    }
  ],
  "vehicleMatchType": enum (VehicleMatchType),
  "requestedOrderedBy": enum (VehicleMatchOrder),
  "orderedBy": enum (VehicleMatchOrder)
}
Campos
vehicle

object (Vehicle)

Obrigatório. Um veículo que corresponde à solicitação.

vehiclePickupEta

string (Timestamp format)

O HEC de carro do veículo até o ponto de embarque especificado na solicitação. Um valor vazio indica uma falha no cálculo do ETA do veículo. Se SearchVehiclesRequest.include_back_to_back era true e este veículo tem uma viagem ativa, vehiclePickupEta vai incluir o tempo necessário para concluir a viagem ativa atual.

Um carimbo de data/hora no formato RFC3339 UTC "Zulu", com resolução de nanossegundos e até nove dígitos fracionários. Exemplos: "2014-10-02T15:01:23Z" e "2014-10-02T15:01:23.045123456Z".

vehiclePickupDistanceMeters

integer

A distância entre o local atual do veículo e o ponto de partida especificado na solicitação, incluindo os pontos de partida ou de entrega intermediários para viagens atuais. Essa distância compreende a distância calculada de direção (rota) e a distância em linha reta entre o ponto final de navegação e o ponto de retirada solicitado. A distância entre o ponto final da navegação e o ponto de retirada solicitado geralmente é pequena. Um valor vazio indica um erro no cálculo da distância.

vehiclePickupStraightLineDistanceMeters

integer

Obrigatório. A distância em linha reta entre o veículo e o ponto de embarque especificado na solicitação.

vehicleDropoffEta

string (Timestamp format)

O tempo estimado de chegada do veículo até o ponto de entrega especificado na solicitação. O ETA inclui parada em qualquer waypoint antes do dropoffPoint especificado na solicitação. O valor só será preenchido quando um ponto de entrega for especificado na solicitação. Um valor vazio indica um erro no cálculo do HEC.

Um carimbo de data/hora no formato RFC3339 UTC "Zulu", com resolução de nanossegundos e até nove dígitos fracionários. Exemplos: "2014-10-02T15:01:23Z" e "2014-10-02T15:01:23.045123456Z".

vehiclePickupToDropoffDistanceMeters

integer

A distância percorrida pelo veículo (em metros) do ponto de embarque ao de desembarque especificado na solicitação. A distância é apenas entre os dois pontos e não inclui a localização do veículo ou qualquer outro ponto que precise ser visitado antes da chegada do veículo ao ponto de embarque ou desembarque. O valor só será preenchido quando um dropoffPoint for especificado na solicitação. Um valor vazio indica uma falha no cálculo da distância do ponto de embarque ao desembarque especificado na solicitação.

tripType

enum (TripType)

Obrigatório. O tipo de viagem da solicitação que foi usada para calcular o HEC até o ponto de embarque.

vehicleTripsWaypoints[]

object (Waypoint)

A lista ordenada de waypoints usados para calcular o HEC. A lista inclui a localização do veículo, os pontos de retirada de viagens ativas do veículo e os pontos de retirada fornecidos na solicitação. Uma lista vazia indica uma falha no cálculo do HEC do veículo.

vehicleMatchType

enum (VehicleMatchType)

Tipo de correspondência do veículo.

requestedOrderedBy

enum (VehicleMatchOrder)

A ordem solicitada para classificar as correspondências de veículos.

orderedBy

enum (VehicleMatchOrder)

O pedido real usado para este veículo. Normalmente, isso corresponde ao campo "orderBy" da solicitação. No entanto, em determinadas circunstâncias, como um erro interno do servidor, um método diferente pode ser usado (como PICKUP_POINT_STRAIGHT_DISTANCE).

Ponto de referência

Descreve pontos intermediários ao longo de um trajeto para um VehicleMatch em um SearchVehiclesResponse. Esse conceito é representado como um TripWaypoint em todos os outros endpoints.

Representação JSON
{
  "latLng": {
    object (LatLng)
  },
  "eta": string
}
Campos
latLng

object (LatLng)

O local desse ponto de passagem.

eta

string (Timestamp format)

O tempo estimado que o veículo chegará a este waypoint.

Um carimbo de data/hora no formato RFC3339 UTC "Zulu", com resolução de nanossegundos e até nove dígitos fracionários. Exemplos: "2014-10-02T15:01:23Z" e "2014-10-02T15:01:23.045123456Z".

VehicleMatchType

Tipo de correspondência de veículo.

Enums
UNKNOWN Tipo de correspondência de veículo desconhecido
EXCLUSIVE No momento, o veículo não tem nenhuma viagem atribuída e pode seguir para o ponto de retirada.
BACK_TO_BACK No momento, o veículo está atribuído a uma viagem, mas pode seguir para o ponto de retirada depois de concluir a viagem em andamento. Os cálculos de HEC e distância consideram a viagem atual.
CARPOOL O veículo tem capacidade suficiente para uma corrida compartilhada.
CARPOOL_BACK_TO_BACK O veículo vai terminar a viagem atual antes de seguir para o ponto de embarque. Os cálculos de HEC e distância consideram a viagem atual.