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 em que 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 para pesquisar.

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 de veículos em torno do ponto de retirada. Somente os 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 motorista 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 que podem oferecer 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 as posições 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. requiredOneOfAttributes usa uma mensagem que permite uma lista de listas. Em conjunto, 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/E. 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.

Assim como o requiredOneOfAttributes, o 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 união/AND em cada VehicleAttributeList e uma operação de disjunção/OR inclusiva 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 este campo é true, os resultados da pesquisa podem incluir veículos com uma viagem ativa que tem o status ENROUTE_TO_DROPOFF. Quando currentTripsPresent é especificado, esse campo não pode ser definido como verdadeiro.

O valor padrão é false.

tripId

string

Indica a viagem associada a essa SearchVehicleRequest.

currentTripsPresent

enum (CurrentTripsPresent)

Indica se os 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 conferir exemplos da 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 com suporte para atributos são comparações de string. Para comparar com valores numéricos ou booleanos, os valores precisam ser citados explicitamente para serem tratados como strings (por exemplo, attributes.<key> = "10" ou attributes.<key> = "true").

Corpo da resposta

Mensagem de resposta vehicles.search.

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 na 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 direção 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 a um veículo que correspondem 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 tempo estimado de chegada do veículo ao 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 for true e o veículo tiver 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 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 paradas em todos os waypoints 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 ETA.

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 o local do veículo ou outros pontos que precisam ser visitados antes do veículo visitar o ponto de retirada ou de entrega. 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 entre o ponto de retirada e o de entrega especificado na solicitação.

tripType

enum (TripType)

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

vehicleTripsWaypoints[]

object (Waypoint)

A lista ordenada de pontos de passagem usados para calcular o ETA. 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 ETA 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. É equivalente a orderedBy.

orderedBy

enum (VehicleMatchOrder)

A ordem solicitada para classificar as correspondências de veículos. É equivalente a requestedOrderedBy.

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 horário estimado de chegada do veículo a esse ponto de passagem.

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 ETA e distância consideram a viagem atual.
CARPOOL O veículo tem capacidade suficiente para uma viagem 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 ETA e distância consideram a viagem atual.