Package maps.fleetengine.delivery.v1

Índice

DeliveryService

Servicio de entrega de último tramo

BatchCreateTasks

rpc BatchCreateTasks(BatchCreateTasksRequest) returns (BatchCreateTasksResponse)

Crea y devuelve un lote de objetos Task nuevos.

CreateDeliveryVehicle

rpc CreateDeliveryVehicle(CreateDeliveryVehicleRequest) returns (DeliveryVehicle)

Crea y devuelve un nuevo DeliveryVehicle.

CreateTask

rpc CreateTask(CreateTaskRequest) returns (Task)

Crea y devuelve un objeto Task nuevo.

DeleteDeliveryVehicle

rpc DeleteDeliveryVehicle(DeleteDeliveryVehicleRequest) returns (Empty)

Borra un DeliveryVehicle de Fleet Engine.

Devuelve FAILED_PRECONDITION si el vehículo de reparto tiene tareas OPEN asignadas.

DeleteTask

rpc DeleteTask(DeleteTaskRequest) returns (Empty)

Borra una sola tarea.

Devuelve FAILED_PRECONDITION si la tarea está ABIERTA y asignada a un DeliveryVehicle.

GetDeliveryVehicle

rpc GetDeliveryVehicle(GetDeliveryVehicleRequest) returns (DeliveryVehicle)

Devuelve la instancia de DeliveryVehicle especificada.

GetTask

rpc GetTask(GetTaskRequest) returns (Task)

Obtiene información sobre un Task.

GetTaskTrackingInfo

rpc GetTaskTrackingInfo(GetTaskTrackingInfoRequest) returns (TaskTrackingInfo)

Devuelve la instancia de TaskTrackingInfo especificada.

ListDeliveryVehicles

rpc ListDeliveryVehicles(ListDeliveryVehiclesRequest) returns (ListDeliveryVehiclesResponse)

Obtiene todos los DeliveryVehicle que cumplen con los criterios de filtrado especificados.

ListTasks

rpc ListTasks(ListTasksRequest) returns (ListTasksResponse)

Obtiene todos los Task que cumplen con los criterios de filtrado especificados.

UpdateDeliveryVehicle

rpc UpdateDeliveryVehicle(UpdateDeliveryVehicleRequest) returns (DeliveryVehicle)

Escribe los datos de DeliveryVehicle actualizados en Fleet Engine y asigna Tasks a DeliveryVehicle. No puedes actualizar el nombre de DeliveryVehicle. Puedes actualizar remaining_vehicle_journey_segments, pero debe contener todos los VehicleJourneySegment para que se conserven en DeliveryVehicle. Los task_id se recuperan de remaining_vehicle_journey_segments, y sus Tasks correspondientes se asignan al DeliveryVehicle si aún no se asignaron.

UpdateTask

rpc UpdateTask(UpdateTaskRequest) returns (Task)

Actualiza los datos de Task.

BatchCreateTasksRequest

Es el mensaje de solicitud de BatchCreateTask.

Campos
header

DeliveryRequestHeader

Opcional. Es el encabezado de solicitud estándar de la API de Delivery. Nota: Si estableces este campo, el campo de encabezado en los mensajes CreateTaskRequest debe estar vacío o coincidir con este campo.

parent

string

Es obligatorio. Es el recurso principal compartido por todas las tareas. Este valor debe tener el formato providers/{provider}. El provider debe ser el ID del proyecto de Google Cloud. Por ejemplo, sample-cloud-project. El campo principal de los mensajes CreateTaskRequest debe estar vacío o coincidir con este campo.

requests[]

CreateTaskRequest

Es obligatorio. Es el mensaje de solicitud que especifica los recursos que se crearán. Nota: Puedes crear un máximo de 500 tareas en un lote.

BatchCreateTasksResponse

Es el mensaje de respuesta BatchCreateTask.

Campos
tasks[]

Task

Tareas creadas

CreateDeliveryVehicleRequest

Es el mensaje de solicitud de CreateDeliveryVehicle.

Campos
header

DeliveryRequestHeader

Opcional. Es el encabezado de solicitud estándar de la API de Delivery.

parent

string

Es obligatorio. Debe tener el formato providers/{provider}. El proveedor debe ser el ID del proyecto de Google Cloud. Por ejemplo, sample-cloud-project

delivery_vehicle_id

string

Es obligatorio. El ID del vehículo de reparto debe ser único y estar sujeto a las siguientes restricciones:

  • Debe ser una cadena Unicode válida.
  • Se limita a una longitud máxima de 64 caracteres.
  • Se normaliza según la forma C de normalización de Unicode.
  • No puede contener ninguno de los siguientes caracteres ASCII: "/", ":", "?", "," o "#".
delivery_vehicle

DeliveryVehicle

Es obligatorio. Es la entidad DeliveryVehicle que se creará. Cuando crees un vehículo de reparto nuevo, puedes establecer los siguientes campos opcionales:

  • tipo
  • last_location
  • attributes

Nota: Se ignora el campo name de DeliveryVehicle. No se deben configurar todos los demás campos de DeliveryVehicle. De lo contrario, se devolverá un error.

CreateTaskRequest

Es el mensaje de solicitud de CreateTask.

Campos
header

DeliveryRequestHeader

Opcional. Es el encabezado de solicitud estándar de la API de Delivery.

parent

string

Es obligatorio. Debe tener el formato providers/{provider}. El provider debe ser el ID del proyecto de Google Cloud. Por ejemplo, sample-cloud-project.

task_id

string

Es obligatorio. El ID de tarea debe ser único, pero no debe ser un ID de seguimiento de envío. Para almacenar un ID de seguimiento de envío, usa el campo tracking_id. Ten en cuenta que varias tareas pueden tener el mismo tracking_id. Los IDs de tareas están sujetos a las siguientes restricciones:

  • Debe ser una cadena Unicode válida.
  • Se limita a una longitud máxima de 64 caracteres.
  • Se normaliza según la forma C de normalización de Unicode.
  • No puede contener ninguno de los siguientes caracteres ASCII: "/", ":", "?", "," o "#".
task

Task

Es obligatorio. Es la entidad Task que se creará. Cuando crees una tarea, deberás completar los siguientes campos:

  • type
  • state (debe configurarse como OPEN)
  • tracking_id (no se debe configurar para las tareas UNAVAILABLE o SCHEDULED_STOP, pero es obligatorio para todos los demás tipos de tareas)
  • planned_location (opcional para las tareas de UNAVAILABLE)
  • task_duration

Los siguientes campos se pueden establecer de forma opcional:

  • target_time_window
  • task_tracking_view_config
  • attributes

Nota: Se ignora el campo name de la tarea. No se deben configurar todos los demás campos de Task. De lo contrario, se devolverá un error.

DeleteDeliveryVehicleRequest

Es el mensaje de solicitud de DeleteDeliveryVehicle.

Campos
header

DeliveryRequestHeader

Opcional. Es el encabezado de solicitud estándar de la API de Delivery.

name

string

Es obligatorio. Debe tener el formato providers/{provider}/deliveryVehicles/{delivery_vehicle}. El provider debe ser el ID del proyecto de Google Cloud. Por ejemplo, sample-cloud-project.

DeleteTaskRequest

Es el mensaje de solicitud de DeleteTask.

Campos
header

DeliveryRequestHeader

Opcional. Es el encabezado de solicitud estándar de la API de Delivery.

name

string

Es obligatorio. Debe tener el formato providers/{provider}/tasks/{task}. El provider debe ser el ID del proyecto de Google Cloud. Por ejemplo, sample-cloud-project.

DeliveryRequestHeader

Un RequestHeader contiene campos comunes a todas las solicitudes de RPC de Delivery.

Campos
language_code

string

Es el código de idioma BCP-47, como en-US o sr-Latn. Para obtener más información, consulta http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. Si no se especifica ninguno, la respuesta puede estar en cualquier idioma, con una preferencia por el inglés si existe tal nombre. Ejemplo de valor del campo: en-US.

region_code

string

Es obligatorio. Es el código de región de CLDR de la región en la que se origina la solicitud. Ejemplo de valor del campo: US.

sdk_version

string

Es la versión del SDK de llamada, si corresponde. El formato de la versión es “principal.secundaria.parche”, por ejemplo, 1.1.2.

os_version

string

Es la versión del sistema operativo en el que se ejecuta el SDK de llamada. Ejemplos de valores de campo: 4.4.1, 12.1.

device_model

string

Modelo del dispositivo en el que se ejecuta el SDK de llamada. Ejemplos de valores de campo: iPhone12,1, SM-G920F.

sdk_type

SdkType

Es el tipo de SDK que envía la solicitud.

maps_sdk_version

string

Es la versión del SDK de Maps de la que depende el SDK de llamada, si corresponde. El formato de la versión es “principal.secundaria.parche”, por ejemplo, 5.2.1.

nav_sdk_version

string

Es la versión del NavSDK de la que depende el SDK de llamada, si corresponde. El formato de la versión es “principal.secundaria.parche”, por ejemplo, 2.1.0.

platform

Platform

Es la plataforma del SDK de llamada.

manufacturer

string

Fabricante del dispositivo Android desde el SDK de llamada, solo aplicable para los SDKs de Android. Ejemplo de valor del campo: Samsung.

android_api_level

int32

Nivel de API de Android del SDK de llamada, solo aplicable a los SDKs de Android. Ejemplo de valor del campo: 23.

trace_id

string

Es un ID opcional que se puede proporcionar para fines de registro y para identificar la solicitud.

Plataforma

Es la plataforma del SDK que realiza la llamada.

Enumeraciones
PLATFORM_UNSPECIFIED Es el valor predeterminado. Este valor se usa si se omite la plataforma.
ANDROID La solicitud proviene de Android.
IOS La solicitud proviene de iOS.
WEB La solicitud proviene de la Web.

SdkType

Son los tipos posibles de SDK.

Enumeraciones
SDK_TYPE_UNSPECIFIED Es el valor predeterminado. Este valor se usa si se omite sdk_type.
CONSUMER El SDK de llamadas es Consumer.
DRIVER El SDK de llamada es Driver.
JAVASCRIPT El SDK de llamada es JavaScript.

DeliveryVehicle

Es el mensaje DeliveryVehicle. Un vehículo de reparto transporta envíos desde un depósito a una ubicación de entrega y desde una ubicación de retiro al depósito. En algunos casos, los vehículos de reparto también transportan los envíos directamente desde la ubicación de retiro hasta la ubicación de entrega.

Nota: Las APIs de gRPC y REST usan diferentes convenciones de nomenclatura de campos. Por ejemplo, el campo DeliveryVehicle.current_route_segment en la API de gRPC y el campo DeliveryVehicle.currentRouteSegment en la API de REST hacen referencia al mismo campo.

Campos
name

string

Es el nombre único de este vehículo de reparto. El formato es providers/{provider}/deliveryVehicles/{vehicle}.

last_location

DeliveryVehicleLocation

Es la última ubicación informada del vehículo de reparto.

past_locations[]

DeliveryVehicleLocation

Solo entrada. Ubicaciones en las que estuvo este vehículo de reparto en el pasado y que aún no se informaron a Fleet Engine. Se usa en UpdateDeliveryVehicleRequest para registrar las ubicaciones que no se pudieron enviar al servidor anteriormente. Por lo general, esto sucede cuando el vehículo de reparto no tiene conexión a Internet.

navigation_status

DeliveryVehicleNavigationStatus

Es el estado de navegación del vehículo de reparto.

current_route_segment

bytes

Es la polilínea codificada que especifica la ruta que recomienda la navegación para llegar al siguiente punto de referencia. Tu app para conductores actualiza esta información cuando se llega a una parada o se la pasa, y cuando se cambia la ruta de navegación. Estos LatLngs se muestran en Task.journey_sharing_info.remaining_vehicle_journey_segments[0].path (gRPC) o Task.journeySharingInfo.remainingVehicleJourneySegments[0].path (REST) para todas las tareas activas asignadas al vehículo.

Hay algunos casos en los que es posible que este campo no se use para completar Task.journey_sharing_info.remaining_vehicle_journey_segments[0].path (gRPC) o Task.journeySharingInfo.remainingVehicleJourneySegments[0].path (REST):

  • El extremo de current_route_segment no coincide con DeliveryVehicle.remaining_vehicle_journey_segments[0].stop (gRPC) ni con DeliveryVehicle.remainingVehicleJourneySegments[0].stop (REST).

  • La app para conductores no actualizó su ubicación recientemente, por lo que el último valor actualizado de este campo podría estar desactualizado.

  • La app para conductores actualizó recientemente su ubicación, pero el current_route_segment está desactualizado y apunta a una parada anterior del vehículo.

En estos casos, Fleet Engine completa este campo con una ruta desde el VehicleStop más reciente hasta el próximo VehicleStop para garantizar que el consumidor de este campo tenga la mejor información disponible sobre la ruta actual del vehículo de reparto.

current_route_segment_end_point

LatLng

Es la ubicación donde finaliza el current_route_segment. Actualmente, la app para conductores no completa este campo, pero puedes proporcionarlo en las llamadas a UpdateDeliveryVehicle. Es el LatLng de la próxima parada del vehículo o el último LatLng del current_route_segment. Luego, Fleet Engine hará todo lo posible para interpolar un VehicleStop real.

Este campo se ignora en las llamadas a UpdateDeliveryVehicle si el campo current_route_segment está vacío.

remaining_distance_meters

Int32Value

Es la distancia de conducción restante para el current_route_segment. Por lo general, la app para el Conductor proporciona este campo, pero hay algunas circunstancias en las que Fleet Engine anulará el valor que envía la app. Para obtener más información, consulta DeliveryVehicle.current_route_segment. Este campo se devuelve en Task.remaining_vehicle_journey_segments[0].driving_distance_meters (gRPC) o Task.remainingVehicleJourneySegments[0].drivingDistanceMeters (REST) para todos los objetos Task activos asignados al vehículo de reparto.

Fleet Engine ignora este campo en UpdateDeliveryVehicleRequest si el campo current_route_segment está vacío.

remaining_duration

Duration

Es el tiempo de conducción restante para el current_route_segment. Por lo general, la app para el Conductor proporciona este campo, pero hay algunas circunstancias en las que Fleet Engine anulará el valor que envía la app. Para obtener más información, consulta DeliveryVehicle.current_route_segment. Este campo se devuelve en Task.remaining_vehicle_journey_segments[0].driving_duration (gRPC) o Task.remainingVehicleJourneySegments[0].drivingDuration (REST) para todas las tareas activas asignadas al vehículo de reparto.

Fleet Engine ignora este campo en UpdateDeliveryVehicleRequest si el campo current_route_segment está vacío.

remaining_vehicle_journey_segments[]

VehicleJourneySegment

Son los tramos del viaje asignados a este vehículo de reparto, a partir de la ubicación del vehículo informada más recientemente. Este campo no se propagará en la respuesta de ListDeliveryVehicles.

attributes[]

DeliveryVehicleAttribute

Es una lista de atributos personalizados del vehículo de reparto. Un vehículo de reparto puede tener como máximo 100 atributos, y cada atributo debe tener una clave única.

type

DeliveryVehicleType

Es el tipo de este vehículo de reparto. Si no se configura, el valor predeterminado será AUTO.

DeliveryVehicleType

Es el tipo de vehículo de entrega.

Enumeraciones
DELIVERY_VEHICLE_TYPE_UNSPECIFIED El valor no se usa.
AUTO Un automóvil
TWO_WHEELER Una motocicleta, un ciclomotor o cualquier otro vehículo de dos ruedas
BICYCLE Transporte a tracción humana
PEDESTRIAN Un transportador humano, que suele caminar o correr, y que se desplaza por senderos peatonales.

DeliveryVehicleAttribute

Describe un atributo del vehículo como un par clave-valor. La longitud de la cadena "clave:valor" no puede superar los 256 caracteres.

Campos
key

string

Es la clave del atributo.

value

string

Es el valor del atributo.

Campo de unión delivery_vehicle_attribute_value. Es el valor del atributo y puede ser de tipo string, bool o double. Las direcciones (delivery_vehicle_attribute_value) solo pueden ser una de las siguientes opciones:
string_value

string

Es el valor del atributo escrito como cadena.

Nota: Este campo es idéntico al campo value, que quedará obsoleto en el futuro. Para los métodos de creación o actualización, se puede usar cualquiera de los campos, pero se recomienda usar string_value. Si se configuran string_value y value, deben ser idénticos o se arrojará un error. Ambos campos se propagan en las respuestas.

bool_value

bool

Es el valor del atributo escrito booleano.

number_value

double

Es el valor del atributo escrito como doble.

DeliveryVehicleLocation

Ubicación, velocidad y dirección de un vehículo en un momento determinado.

Campos
location

LatLng

Es la ubicación del vehículo. Cuando se envía a Fleet Engine, la ubicación del vehículo es una ubicación GPS. Cuando la recibes en una respuesta, la ubicación del vehículo puede ser una ubicación GPS, una ubicación complementaria o alguna otra ubicación estimada. La fuente se especifica en location_sensor.

horizontal_accuracy
(deprecated)

DoubleValue

Obsoleto: Usa latlng_accuracy en su lugar.

latlng_accuracy

DoubleValue

Precisión de location en metros como radio.

heading

Int32Value

Es la dirección en la que se mueve el vehículo, expresada en grados. El 0 representa el norte. El rango válido es [0,360).

bearing_accuracy
(deprecated)

DoubleValue

Obsoleto: Usa heading_accuracy en su lugar.

heading_accuracy

DoubleValue

Precisión de heading en grados.

altitude

DoubleValue

Altitud en metros sobre WGS84.

vertical_accuracy
(deprecated)

DoubleValue

Obsoleto: Usa altitude_accuracy en su lugar.

altitude_accuracy

DoubleValue

Precisión de altitude en metros.

speed_kmph
(deprecated)

Int32Value

Velocidad del vehículo en kilómetros por hora. Obsoleto: Usa speed en su lugar.

speed

DoubleValue

Velocidad del vehículo en metros por segundo

speed_accuracy

DoubleValue

Precisión de speed en metros por segundo.

update_time

Timestamp

Es la fecha y hora en que el sensor informó el valor de location según su reloj.

server_time

Timestamp

Solo salida. Fecha y hora en que el servidor recibió la información de ubicación.

location_sensor

DeliveryVehicleLocationSensor

Es el proveedor de datos de ubicación (por ejemplo, GPS).

is_road_snapped

BoolValue

Indica si location se ajustó a una ruta.

is_gps_sensor_enabled

BoolValue

Solo entrada. Indica si el sensor de GPS está habilitado en el dispositivo móvil.

time_since_update

Int32Value

Solo entrada. Es el tiempo (en segundos) transcurrido desde que se envió esta ubicación al servidor por primera vez. Este valor será cero para la primera actualización. Si se desconoce la hora (por ejemplo, cuando se reinicia la app), este valor se restablece a cero.

num_stale_updates
(deprecated)

Int32Value

Solo entrada. Obsoleto: Ahora se usan otros indicadores para determinar si una ubicación está desactualizada.

raw_location

LatLng

Ubicación sin procesar del vehículo (sin procesar por el ajuste a la ruta).

raw_location_time

Timestamp

Es la marca de tiempo asociada a la ubicación sin procesar.

raw_location_sensor

DeliveryVehicleLocationSensor

Es la fuente de la ubicación sin procesar. La configuración predeterminada es GPS.

raw_location_accuracy

DoubleValue

Precisión de raw_location como radio, en metros.

flp_location

LatLng

Es la ubicación del proveedor de ubicación combinada de Android.

flp_update_time

Timestamp

Marca de tiempo de actualización de flp_location

flp_latlng_accuracy_meters

DoubleValue

Precisión de flp_location en metros como radio.

flp_heading_degrees

Int32Value

Es la dirección en la que se mueve el vehículo en grados, según lo determina el FusedLocationProvider. El 0 representa el norte. El rango válido es [0,360).

supplemental_location

LatLng

Es la ubicación complementaria que proporciona la app de integración.

supplemental_location_time

Timestamp

Es la marca de tiempo asociada a la ubicación complementaria.

supplemental_location_sensor

DeliveryVehicleLocationSensor

Es la fuente de la ubicación complementaria. La configuración predeterminada es CUSTOMER_SUPPLIED_LOCATION.

supplemental_location_accuracy

DoubleValue

Precisión de supplemental_location como radio, en metros.

road_snapped
(deprecated)

bool

Obsoleto: Usa is_road_snapped en su lugar.

DeliveryVehicleLocationSensor

Es el sensor o la metodología que se usa para determinar la ubicación.

Enumeraciones
UNKNOWN_SENSOR El sensor no se especificó o se desconoce.
GPS GPS o GPS asistido
NETWORK GPS asistido, ID de torre de telefonía celular o punto de acceso Wi-Fi
PASSIVE ID de la torre de telefonía celular o del punto de acceso Wi-Fi.
ROAD_SNAPPED_LOCATION_PROVIDER Es una ubicación que el dispositivo móvil determina como la posición de la ruta más probable.
CUSTOMER_SUPPLIED_LOCATION Es una ubicación proporcionada por el cliente a partir de una fuente independiente. Por lo general, este valor se usa para una ubicación proporcionada por fuentes distintas del dispositivo móvil que ejecuta el SDK de Driver. Si la fuente original se describe con uno de los otros valores de enumeración, usa ese valor. Por lo general, las ubicaciones marcadas como CUSTOMER_SUPPLIED_LOCATION se proporcionan a través de last_location.supplemental_location_sensor de DeliveryVehicle.
FLEET_ENGINE_LOCATION Es una ubicación que calcula Fleet Engine en función de los indicadores disponibles. Solo salida. Este valor se rechazará si se recibe en una solicitud.
FUSED_LOCATION_PROVIDER Es el proveedor de ubicación combinada de Android.
CORE_LOCATION Es el proveedor de ubicación en los sistemas operativos de Apple.

DeliveryVehicleNavigationStatus

Es el estado de navegación del vehículo.

Enumeraciones
UNKNOWN_NAVIGATION_STATUS Estado de navegación sin especificar.
NO_GUIDANCE La navegación de la app de Conductor está en modo FREE_NAV.
ENROUTE_TO_DESTINATION La navegación paso a paso está disponible y la navegación de la app para socios conductores entró en el modo GUIDED_NAV.
OFF_ROUTE El vehículo se desvió de la ruta sugerida.
ARRIVED_AT_DESTINATION El vehículo se encuentra a aproximadamente 50 m del destino.

GetDeliveryVehicleRequest

Es el mensaje de solicitud de GetDeliveryVehicle.

Campos
header

DeliveryRequestHeader

Opcional. Es el encabezado de solicitud estándar de la API de Delivery.

name

string

Es obligatorio. Debe tener el formato providers/{provider}/deliveryVehicles/{delivery_vehicle}. El provider debe ser el ID del proyecto de Google Cloud. Por ejemplo, sample-cloud-project.

GetTaskRequest

Es el mensaje de solicitud de GetTask.

Campos
header

DeliveryRequestHeader

Opcional. Es el encabezado de solicitud estándar de la API de Delivery.

name

string

Es obligatorio. Debe tener el formato providers/{provider}/tasks/{task}. El provider debe ser el ID del proyecto de Google Cloud. Por ejemplo, sample-cloud-project.

GetTaskTrackingInfoRequest

Es el mensaje de solicitud de GetTaskTrackingInfoRequest.

Campos
header

DeliveryRequestHeader

Opcional. Es el encabezado de solicitud estándar de la API de Delivery.

name

string

Es obligatorio. Debe tener el formato providers/{provider}/taskTrackingInfo/{tracking_id}. El provider debe ser el ID del proyecto de Google Cloud, y el tracking_id debe ser el ID de seguimiento asociado a la tarea. Un ejemplo de nombre puede ser providers/sample-cloud-project/taskTrackingInfo/sample-tracking-id.

ListDeliveryVehiclesRequest

Es el mensaje de solicitud de ListDeliveryVehicles.

Campos
header

DeliveryRequestHeader

Opcional. Es el encabezado de solicitud estándar de la API de Delivery.

parent

string

Es obligatorio. Debe tener el formato providers/{provider}. El provider debe ser el ID del proyecto de Google Cloud. Por ejemplo, sample-cloud-project.

page_size

int32

Opcional. Es la cantidad máxima de vehículos que se devolverán. El servicio puede devolver menos que este número. Si no especificas este número, el servidor determinará la cantidad de resultados que se mostrarán.

page_token

string

Opcional. Un token de página, recibido desde una llamada ListDeliveryVehicles anterior. Debes proporcionar este valor para recuperar la página siguiente.

Cuando se pagina, todos los demás parámetros proporcionados a ListDeliveryVehicles deben coincidir con la llamada que proporcionó el token de la página.

filter

string

Opcional. Es una consulta de filtro que se aplica cuando se enumeran los vehículos de reparto. Consulta http://aip.dev/160 para ver ejemplos de la sintaxis del filtro. Si no especificas un valor o si especificas una cadena vacía para el filtro, se mostrarán todos los vehículos de reparto.

Ten en cuenta que las únicas búsquedas admitidas para ListDeliveryVehicles son las que se realizan en atributos del vehículo (por ejemplo, attributes.<key> = <value> o attributes.<key1> = <value1> AND attributes.<key2> = <value2>). Además, todos los atributos se almacenan como cadenas, por lo que las únicas comparaciones admitidas con los atributos son las comparaciones de cadenas. Para comparar con valores numéricos o booleanos, los valores deben estar entre comillas de forma explícita para que se traten como cadenas (por ejemplo, attributes.<key> = "10" o attributes.<key> = "true").

La cantidad máxima de restricciones permitidas en una consulta de filtro es 50. Una restricción es una parte de la consulta con el formato attribute.<KEY> <COMPARATOR> <VALUE>. Por ejemplo, attributes.foo = bar es 1 restricción.

viewport

Viewport

Opcional. Es un filtro que limita los vehículos que se muestran a aquellos cuya última ubicación conocida se encontraba en el área rectangular definida por la ventana gráfica.

ListDeliveryVehiclesResponse

Es el mensaje de respuesta ListDeliveryVehicles.

Campos
delivery_vehicles[]

DeliveryVehicle

Es el conjunto de vehículos de reparto que cumplen con los criterios de filtrado solicitados. Cuando no se especifica ningún filtro, la solicitud devuelve todos los vehículos de reparto. Una respuesta correcta también puede estar vacía. Una respuesta vacía indica que no se encontraron vehículos de reparto que cumplan con los criterios de filtro solicitados.

next_page_token

string

Puedes pasar este token en ListDeliveryVehiclesRequest para seguir enumerando los resultados. Cuando se devuelvan todos los resultados, este campo no estará en la respuesta o será una cadena vacía.

total_size

int64

Es la cantidad total de vehículos de reparto que coinciden con los criterios de la solicitud en todas las páginas.

ListTasksRequest

Es el mensaje de solicitud de ListTasks.

Campos
header

DeliveryRequestHeader

Opcional. Es el encabezado de solicitud estándar de la API de Delivery.

parent

string

Es obligatorio. Debe tener el formato providers/{provider}. El provider debe ser el ID del proyecto de Google Cloud. Por ejemplo, sample-cloud-project.

page_size

int32

Opcional. Es la cantidad máxima de tareas que se devolverán. El servicio puede mostrar menos que este valor. Si no especificas este valor, el servidor determinará la cantidad de resultados que se mostrarán.

page_token

string

Opcional. Es un token de página que se recibió de una llamada a ListTasks anterior. Puedes proporcionar este valor para recuperar la página siguiente.

Cuando se pagina, todos los demás parámetros proporcionados a ListTasks deben coincidir con la llamada que proporcionó el token de la página.

filter

string

Opcional. Es un filtro de consulta que se aplica cuando se enumeran tareas. Consulta http://aip.dev/160 para ver ejemplos de sintaxis de filtros. Si no especificas un valor o si filtras por una cadena vacía, se devuelven todas las tareas. Para obtener información sobre las propiedades de la tarea por las que puedes filtrar, consulta Cómo enumerar tareas.

ListTasksResponse

Es la respuesta de ListTasks que contiene el conjunto de tareas que cumplen con los criterios de filtro en ListTasksRequest.

Campos
tasks[]

Task

Es el conjunto de tareas que cumplen con los criterios de filtrado solicitados. Cuando no se especifica ningún filtro, la solicitud devuelve todas las tareas. Una respuesta correcta también puede estar vacía. Una respuesta vacía indica que no se encontraron tareas que cumplan con los criterios de filtro solicitados.

next_page_token

string

Pasa este token en ListTasksRequest para seguir enumerando los resultados. Si se devolvieron todos los resultados, este campo será una cadena vacía o no aparecerá en la respuesta.

total_size

int64

Es la cantidad total de tareas que coinciden con los criterios de la solicitud en todas las páginas.

LocationInfo

Es una ubicación con identificadores adicionales.

Campos
point

LatLng

Son las coordenadas de la ubicación. Se debe especificar point o place como entrada. Si se especifican ambos, se usará point para el enrutamiento y place para los metadatos. Si solo se especifica place como entrada, point se calculará a partir de place y se incluirá en el resultado.

place

string

Es el nombre del recurso del lugar que representa esta ubicación. El formato es places/{place_id}. Se debe especificar point o place como entrada. Si se especifican ambos, se usará point para el enrutamiento y place para los metadatos. place solo se incluye en el resultado si se incluyó en la entrada, lo que significa que no se realiza ninguna búsqueda de place desde LatLng.

Esta función se encuentra en fase experimental.

point_location_source

PointSource

Solo salida. Es la fuente del campo point de latitud y longitud. Esto forma parte de una función experimental.

PointSource

Indica la fuente de un LatLng.

Enumeraciones
POINT_SOURCE_UNSPECIFIED No se especificó la fuente puntual.
POINT_SOURCE_DEVELOPER_PROVIDED El desarrollador proporcionó explícitamente el LatLng.
POINT_SOURCE_CALCULATED_FROM_PLACE El valor de LatLng se calculó a partir del lugar proporcionado.

Tarea

Una tarea en la API de Delivery representa una sola acción para hacer un seguimiento. En general, existe una distinción entre las tareas relacionadas con el envío y las tareas de descanso. Un envío puede tener varias tareas asociadas. Por ejemplo, podría haber una tarea para el retiro y otra para la entrega o la transferencia. Además, diferentes vehículos pueden encargarse de diferentes tareas para un mismo envío. Por ejemplo, un vehículo podría encargarse de la recolección y llevar el envío al centro de distribución, mientras que otro vehículo podría llevar el mismo envío desde el centro de distribución hasta la ubicación de entrega.

Nota: Las APIs de gRPC y REST usan diferentes convenciones de nomenclatura de campos. Por ejemplo, el campo Task.journey_sharing_info en la API de gRPC y el campo Task.journeySharingInfo en la API de REST hacen referencia al mismo campo.

Campos
name

string

Debe tener el formato providers/{provider}/tasks/{task}.

type

Type

Es obligatorio. Inmutable. Define el tipo de tarea. Por ejemplo, una pausa o un envío.

state

State

Es obligatorio. Es el estado actual de ejecución de la tarea.

task_outcome

TaskOutcome

Es el resultado de la tarea.

task_outcome_time

Timestamp

Es la marca de tiempo que indica cuándo el proveedor estableció el resultado del Task.

task_outcome_location

LocationInfo

Es la ubicación en la que se estableció el resultado de Task. Este valor se actualiza como parte de UpdateTask. Si el proveedor no actualiza este valor de forma explícita, Fleet Engine lo completa de forma predeterminada con la última ubicación conocida del vehículo (la ubicación sin procesar).

task_outcome_location_source

TaskOutcomeLocationSource

Indica de dónde provino el valor de task_outcome_location.

tracking_id

string

Inmutable. Este campo facilita el almacenamiento de un ID para que no tengas que usar una asignación complicada. No puedes establecer tracking_id para las tareas de tipo UNAVAILABLE y SCHEDULED_STOP. Estos IDs están sujetos a las siguientes restricciones:

  • Debe ser una cadena Unicode válida.
  • Se limita a una longitud máxima de 64 caracteres.
  • Se normaliza según la forma C de normalización de Unicode.
  • No puede contener ninguno de los siguientes caracteres ASCII: "/", ":", "?", "," o "#".
delivery_vehicle_id

string

Solo salida. Es el ID del vehículo que ejecuta esta tarea. Los IDs de vehículos de reparto están sujetos a las siguientes restricciones:

  • Debe ser una cadena Unicode válida.
  • Se limita a una longitud máxima de 64 caracteres.
  • Se normaliza según la forma C de normalización de Unicode.
  • No puede contener ninguno de los siguientes caracteres ASCII: "/", ":", "?", "," o "#".
planned_location

LocationInfo

Inmutable. Es la ubicación donde se completará la tarea. Es opcional para las tareas de UNAVAILABLE, pero obligatorio para todas las demás.

task_duration

Duration

Es obligatorio. Inmutable. Es el tiempo necesario para ejecutar una tarea en esta ubicación.

target_time_window

TimeWindow

Es el período durante el cual se debe completar la tarea.

journey_sharing_info

JourneySharingInfo

Solo salida. Son campos específicos para el uso compartido del viaje. No se completa cuando el estado es CLOSED.

task_tracking_view_config

TaskTrackingViewConfig

Es la configuración del seguimiento de tareas que especifica qué elementos de datos son visibles para los usuarios finales y en qué circunstancias.

attributes[]

TaskAttribute

Es una lista de atributos de tareas personalizados. Cada atributo debe tener una clave única.

JourneySharingInfo

Son los campos específicos para compartir el viaje.

Campos
remaining_vehicle_journey_segments[]

VehicleJourneySegment

Es la información de seguimiento de las paradas que realizará el vehículo asignado antes de completar esta tarea. Ten en cuenta que esta lista puede contener paradas de otras tareas.

El primer tramo, Task.journey_sharing_info.remaining_vehicle_journey_segments[0] (gRPC) o Task.journeySharingInfo.remainingVehicleJourneySegments[0] (REST), contiene información de la ruta desde la última ubicación conocida del conductor hasta el próximo VehicleStop. La información de la ruta actual suele provenir de la app para conductores, excepto en algunos casos que se indican en la documentación de DeliveryVehicle.current_route_segment. Fleet Engine completa los demás segmentos en Task.journey_sharing_info.remaining_vehicle_journey_segments (gRPC) o Task.journeySharingInfo.remainingVehicleJourneySegments (REST). Proporcionan información de la ruta entre los VehicleStops restantes.

last_location

DeliveryVehicleLocation

Indica la última ubicación informada del vehículo asignado.

last_location_snappable

bool

Indica si el objeto lastLocation del vehículo se puede ajustar al objeto current_route_segment. Este valor es False si no existe last_location o current_route_segment. Fleet Engine calcula este valor. Se ignoran las actualizaciones de los clientes.

Estado

Es el estado de una tarea. Indica el progreso de la tarea.

Enumeraciones
STATE_UNSPECIFIED Predeterminado. Se usa para un estado de Task no especificado o no reconocido.
OPEN La tarea aún no se asignó a un vehículo de reparto o el vehículo de reparto aún no pasó por la parada asignada del vehículo de Task.
CLOSED Es el momento en que el vehículo pasa la parada de vehículo para esta tarea.

TaskOutcome

Es el resultado de intentar ejecutar una tarea. Cuando se cierra TaskState, TaskOutcome indica si se completó correctamente.

Enumeraciones
TASK_OUTCOME_UNSPECIFIED Es el resultado de la tarea antes de que se establezca su valor.
SUCCEEDED La tarea se completó correctamente.
FAILED No se pudo completar la tarea o se canceló.

TaskOutcomeLocationSource

Es la identidad de la fuente que completó el objeto task_outcome_location.

Enumeraciones
TASK_OUTCOME_LOCATION_SOURCE_UNSPECIFIED Es el resultado de la tarea antes de que se establezca.
PROVIDER El proveedor especificó el task_outcome_location.
LAST_VEHICLE_LOCATION El proveedor no especificó el task_outcome_location, por lo que Fleet Engine usó la última ubicación conocida del vehículo.

Tipo

Es el tipo de tarea.

Enumeraciones
TYPE_UNSPECIFIED Es el valor predeterminado. El tipo de tarea es desconocido.
PICKUP Una tarea de retiro es la acción que se realiza para retirar un envío de un cliente. Los retiros de vehículos de depósito o de conexión deben usar el tipo SCHEDULED_STOP.
DELIVERY Una tarea de entrega es la acción que se realiza para entregar un envío a un cliente final. Las paradas de vehículos de depósito o de conexión deben usar el tipo SCHEDULED_STOP.
SCHEDULED_STOP La tarea de parada programada se usa para fines de planificación. Por ejemplo, podría representar la carga o descarga de envíos de vehículos de distribución o depósitos. No se debe usar para ningún envío que se retire o entregue a un cliente final.
UNAVAILABLE Es una tarea que indica que el vehículo no está disponible para el servicio. Por ejemplo, esto puede suceder cuando el conductor se toma un descanso o cuando se carga combustible en el vehículo.

TaskAttribute

Describe un atributo de tarea como un par clave-valor. La longitud de la cadena "clave:valor" no puede superar los 256 caracteres.

Campos
key

string

Es la clave del atributo. Las claves no pueden contener el carácter de dos puntos (:).

Campo de unión task_attribute_value. Es el valor del atributo y puede ser de tipo string, bool o double. Si no se establece ninguno, el valor string_value de TaskAttribute se almacenará como la cadena vacía "". task_attribute_value solo puede ser uno de los siguientes:
string_value

string

Es el valor del atributo escrito como cadena.

bool_value

bool

Es el valor del atributo escrito booleano.

number_value

double

Es el valor del atributo escrito como doble.

TaskTrackingInfo

Es el mensaje TaskTrackingInfo. El mensaje contiene información de seguimiento de tareas que se usará para la visualización. Si un ID de seguimiento está asociado a varias tareas, Fleet Engine usa una heurística para decidir qué TaskTrackingInfo seleccionar.

Campos
name

string

Debe tener el formato providers/{provider}/taskTrackingInfo/{tracking}, en el que tracking representa el ID de seguimiento.

tracking_id

string

Inmutable. Es el ID de seguimiento de una tarea. * Debe ser una cadena Unicode válida. * Se limita a una longitud máxima de 64 caracteres. * Se normaliza según la forma de normalización C de Unicode. * No puede contener ninguno de los siguientes caracteres ASCII: "/", ":", "?", "," o "#".

vehicle_location

DeliveryVehicleLocation

Es la última ubicación del vehículo.

route_polyline_points[]

LatLng

Es una lista de puntos que, cuando se conectan, forman una polilínea de la ruta esperada del vehículo hacia la ubicación de esta tarea.

remaining_stop_count

Int32Value

Indica la cantidad de paradas que faltan para llegar a la parada de la tarea, incluida esta. Por ejemplo, si la próxima parada del vehículo es la parada de la tarea, el valor será 1.

remaining_driving_distance_meters

Int32Value

Es la distancia restante total en metros hasta el VehicleStop de interés.

estimated_arrival_time

Timestamp

Es la marca de tiempo que indica la hora de llegada estimada a la ubicación de la parada.

estimated_task_completion_time

Timestamp

Es la marca de tiempo que indica la hora de finalización estimada de una tarea.

state

State

Es el estado actual de ejecución de la tarea.

task_outcome

TaskOutcome

Es el resultado de intentar ejecutar una tarea.

task_outcome_time

Timestamp

Es la marca de tiempo que indica cuándo el proveedor estableció el resultado de la tarea.

planned_location

LocationInfo

Inmutable. Es la ubicación donde se completará la tarea.

target_time_window

TimeWindow

Es el período durante el cual se debe completar la tarea.

attributes[]

TaskAttribute

Son los atributos personalizados establecidos en la tarea.

TaskTrackingViewConfig

Es el mensaje de configuración que define cuándo un elemento de datos de una tarea debe ser visible para los usuarios finales.

Campos
route_polyline_points_visibility

VisibilityOption

Es el campo que especifica cuándo pueden verse los puntos de la polilínea de la ruta. Si no se especifica este campo, se usará la configuración de visibilidad predeterminada a nivel del proyecto para estos datos.

estimated_arrival_time_visibility

VisibilityOption

Es el campo que especifica cuándo se puede ver la hora de llegada estimada. Si no se especifica este campo, se usará la configuración de visibilidad predeterminada a nivel del proyecto para estos datos.

estimated_task_completion_time_visibility

VisibilityOption

Es el campo que especifica cuándo se puede ver el tiempo estimado de finalización de la tarea. Si no se especifica este campo, se usará la configuración de visibilidad predeterminada a nivel del proyecto para estos datos.

remaining_driving_distance_visibility

VisibilityOption

Es el campo que especifica cuándo se puede ver la distancia restante de conducción. Si no se especifica este campo, se usará la configuración de visibilidad predeterminada a nivel del proyecto para estos datos.

remaining_stop_count_visibility

VisibilityOption

Es el campo que especifica cuándo se puede ver el recuento de paradas restantes. Si no se especifica este campo, se usará la configuración de visibilidad predeterminada a nivel del proyecto para estos datos.

vehicle_location_visibility

VisibilityOption

Campo que especifica cuándo se puede ver la ubicación del vehículo. Si no se especifica este campo, se usará la configuración de visibilidad predeterminada a nivel del proyecto para estos datos.

VisibilityOption

Es el mensaje de opción que define cuándo un elemento de datos debe ser visible para los usuarios finales.

Campos
Campo de unión visibility_option. Es la opción de visibilidad específica que se eligió. Las direcciones (visibility_option) solo pueden ser una de las siguientes opciones:
remaining_stop_count_threshold

int32

Este elemento de datos es visible para los usuarios finales si el recuento de paradas restantes es menor o igual que remaining_stop_count_threshold.

duration_until_estimated_arrival_time_threshold

Duration

Este elemento de datos es visible para los usuarios finales si la ETA a la parada es menor o igual que duration_until_estimated_arrival_time_threshold.

remaining_driving_distance_meters_threshold

int32

Este elemento de datos es visible para los usuarios finales si la distancia de conducción restante en metros es menor o igual que remaining_driving_distance_meters_threshold.

always

bool

Si se establece como verdadero, este elemento de datos siempre será visible para los usuarios finales sin umbrales. Este campo no se puede establecer como falso.

never

bool

Si se establece como verdadero, este elemento de datos siempre estará oculto para los usuarios finales sin umbrales. Este campo no se puede establecer como falso.

TimeWindow

Es un período.

Campos
start_time

Timestamp

Es obligatorio. Es la hora de inicio del período (inclusive).

end_time

Timestamp

Es obligatorio. Es la hora de finalización del período (inclusive).

UpdateDeliveryVehicleRequest

Es el mensaje de solicitud de UpdateDeliveryVehicle.

Campos
header

DeliveryRequestHeader

Opcional. Es el encabezado de solicitud estándar de la API de Delivery.

delivery_vehicle

DeliveryVehicle

Es obligatorio. Es la actualización de la entidad DeliveryVehicle que se aplicará. Nota: No puedes actualizar el nombre de DeliveryVehicle.

update_mask

FieldMask

Es obligatorio. Es una máscara de campo que indica qué campos de DeliveryVehicle se deben actualizar. Ten en cuenta que update_mask debe contener al menos un campo.

Esta es una lista separada por comas de los nombres de campos totalmente calificados. Ejemplo: "remaining_vehicle_journey_segments".

UpdateTaskRequest

Es el mensaje de solicitud de UpdateTask.

Campos
header

DeliveryRequestHeader

Opcional. Es el encabezado de solicitud estándar de la API de Delivery.

task

Task

Es obligatorio. Es la tarea asociada con la actualización. Fleet Engine mantiene los siguientes campos. No los actualices con Task.update.

  • last_location.
  • last_location_snappable.
  • name.
  • remaining_vehicle_journey_segments.
  • task_outcome_location_source.

Nota: No puedes cambiar el valor de task_outcome una vez que lo configures.

Si la tarea se asignó a un vehículo de reparto, no establezcas el estado de la tarea en CLOSED con Task.update. En cambio, quita el objeto VehicleStop que contiene la tarea del vehículo de reparto, lo que automáticamente establece el estado de la tarea como CLOSED.

update_mask

FieldMask

Es obligatorio. Es la máscara de campo que indica qué campos de la tarea se deben actualizar. Nota: El objeto update_mask debe contener al menos un campo.

Esta es una lista separada por comas de los nombres de campos totalmente calificados. Ejemplo: "task_outcome,task_outcome_time,task_outcome_location".

VehicleJourneySegment

Representa el tramo de viaje de un vehículo, desde su parada anterior hasta la parada actual. Si es la primera parada activa, se indica desde la ubicación actual del vehículo hasta esta parada.

Campos
stop

VehicleStop

Especifica la ubicación de la parada, junto con los objetos Task asociados a la parada. Es posible que algunos campos de VehicleStop no estén presentes si este tramo del viaje forma parte de JourneySharingInfo.

driving_distance_meters

Int32Value

Solo salida. Es la distancia de viaje desde la parada anterior hasta esta parada. Si la parada actual es la primera de la lista de tramos del viaje, el punto de partida es la ubicación del vehículo registrada en el momento en que se agregó esta parada a la lista. Es posible que este campo no esté presente si este tramo del viaje forma parte de JourneySharingInfo.

driving_duration

Duration

Solo salida. Es el tiempo de viaje desde la parada anterior hasta esta parada. Si la parada actual es la primera de la lista de tramos del viaje, el punto de partida es la ubicación del vehículo registrada en el momento en que se agregó esta parada a la lista.

Si este campo se define en la ruta de acceso Task.remaining_vehicle_journey_segments[0].driving_duration (gRPC) o Task.remainingVehicleJourneySegments[0].drivingDuration (REST), es posible que se complete con el valor de DeliveryVehicle.remaining_duration (gRPC) o DeliveryVehicle.remainingDuration (REST). Esto proporciona la duración restante del viaje desde la ubicación conocida más reciente de la app para conductores en lugar del tiempo de viaje desde la parada anterior.

path[]

LatLng

Solo salida. Es la ruta desde la parada anterior hasta esta parada. Si la parada actual es la primera de la lista de tramos del viaje, esta es la ruta desde la ubicación actual del vehículo hasta esta parada en el momento en que se agregó la parada a la lista. Es posible que este campo no esté presente si este tramo del viaje forma parte de JourneySharingInfo.

Si este campo se define en la ruta de acceso Task.journey_sharing_info.remaining_vehicle_journey_segments[0].path (gRPC) o Task.journeySharingInfo.remainingVehicleJourneySegments[0].path (REST), es posible que se complete con los LatLngs decodificados de DeliveryVehicle.current_route_segment (gRPC) o DeliveryVehicle.currentRouteSegment (REST). Esto proporciona la ruta de conducción desde la ubicación conocida más reciente de la app para conductores en lugar de la ruta desde la parada anterior.

VehicleStop

Describe un punto en el que un vehículo se detiene para realizar uno o más Task.

Campos
planned_location

LocationInfo

Es obligatorio. Ubicación de la parada. Ten en cuenta que las ubicaciones en los Tasks podrían no coincidir exactamente con esta ubicación, pero estarán a poca distancia de ella. Este campo no se propagará en la respuesta de una llamada a GetTask.

tasks[]

TaskInfo

Es la lista de Task que se realizarán en esta parada. Este campo no se propagará en la respuesta de una llamada a GetTask.

state

State

Es el estado del VehicleStop. Este campo no se propagará en la respuesta de una llamada a GetTask.

Estado

Es el estado actual de un VehicleStop.

Enumeraciones
STATE_UNSPECIFIED Desconocido.
NEW Se creó, pero no se está generando la ruta de forma activa.
ENROUTE Se asignó y se está enrutando de forma activa.
ARRIVED Llegaste a la parada. Se supone que, cuando el vehículo se dirige a la siguiente parada, se completaron todas las paradas anteriores.

TaskInfo

Es información adicional sobre la tarea realizada en esta parada.

Campos
task_id

string

Es el ID de la tarea. Este campo no se propagará en la respuesta de una llamada a GetTask. Los IDs de tareas están sujetos a las siguientes restricciones:

  • Debe ser una cadena Unicode válida.
  • Se limita a una longitud máxima de 64 caracteres.
  • Se normaliza según la forma C de normalización de Unicode.
  • No puede contener ninguno de los siguientes caracteres ASCII: "/", ":", "?", "," o "#".
task_duration

Duration

Solo salida. Es el tiempo necesario para realizar la tarea.

target_time_window

TimeWindow

Solo salida. Es el período durante el cual se debe completar la tarea. Este parámetro solo se configura en la respuesta a GetDeliveryVehicle.