Compartir a través de


RequestRouteDirectionsBatchSync interface

Métodos

post(RouteRequestRouteDirectionsBatchSyncParameters)

La API de Post Route Directions Batch Sync es una solicitud de POST HTTP que envía lotes de consultas a la API Get Route Directions mediante una única solicitud sincrónica. Puede llamar a Route Directions Batch API para que se ejecute de forma asincrónica (asincrónica) o sincrónica (sincrónica). La API asincrónica permite al autor de la llamada procesar por lotes hasta 700 consultas y sincronizar la API hasta 100 consultas. Para llamar a la API de Post Route Directions Batch en una solicitud asincrónica, consulte Post Route Directions Batch.

Enviar solicitud por lotes sincrónica

Se recomienda la API sincrónica para solicitudes por lotes ligeras. Cuando el servicio recibe una solicitud, responderá tan pronto como se calculen los elementos por lotes y no habrá posibilidad de recuperar los resultados más adelante. La API sincrónica devolverá un error de tiempo de espera (una respuesta 408) si la solicitud tarda más de 60 segundos. El número de elementos por lotes se limita a 100 para esta API.

POST https://atlas.microsoft.com/route/directions/batch/sync/json?api-version=1.0&subscription-key={subscription-key}

Modelo de respuesta por lotes

El contenido de datos devuelto es similar para las solicitudes asincrónicas y de sincronización. Al descargar los resultados de una solicitud por lotes asincrónica, si el lote ha terminado de procesarse, el cuerpo de la respuesta contiene la respuesta por lotes. Esta respuesta por lotes contiene un componente de summary que indica el totalRequests que formaron parte de la solicitud por lotes original y successfulRequestses decir, consultas que se ejecutaron correctamente. La respuesta por lotes también incluye una matriz de batchItems que contiene una respuesta para cada consulta y cada consulta de la solicitud por lotes. El batchItems contendrá los resultados en el mismo orden en que se enviaron las consultas originales en la solicitud por lotes. Cada elemento de batchItems contiene campos statusCode y response. Cada response de batchItems es de uno de los siguientes tipos:

  • RouteDirections: si la consulta se completó correctamente.

  • Error: si se produjo un error en la consulta. La respuesta contendrá un code y un message en este caso.

Esta es una respuesta por lotes de ejemplo con 1 correcto y 1 error resultado:

{
    "summary": {
        "successfulRequests": 1,
        "totalRequests": 2
    },
    "batchItems": [
        {
            "statusCode": 200,
            "response": {
                "routes": [
                    {
                        "summary": {
                            "lengthInMeters": 1758,
                            "travelTimeInSeconds": 387,
                            "trafficDelayInSeconds": 0,
                            "departureTime": "2018-07-17T00:49:56+00:00",
                            "arrivalTime": "2018-07-17T00:56:22+00:00"
                        },
                        "legs": [
                            {
                                "summary": {
                                    "lengthInMeters": 1758,
                                    "travelTimeInSeconds": 387,
                                    "trafficDelayInSeconds": 0,
                                    "departureTime": "2018-07-17T00:49:56+00:00",
                                    "arrivalTime": "2018-07-17T00:56:22+00:00"
                                },
                                "points": [
                                    {
                                        "latitude": 47.62094,
                                        "longitude": -122.34892
                                    },
                                    {
                                        "latitude": 47.62094,
                                        "longitude": -122.3485
                                    },
                                    {
                                        "latitude": 47.62095,
                                        "longitude": -122.3476
                                    }
                                ]
                            }
                        ],
                        "sections": [
                            {
                                "startPointIndex": 0,
                                "endPointIndex": 40,
                                "sectionType": "TRAVEL_MODE",
                                "travelMode": "bicycle"
                            }
                        ]
                    }
                ]
            }
        },
        {
            "statusCode": 400,
            "response":
            {
                "error":
                {
                    "code": "400 BadRequest",
                    "message": "Bad request: one or more parameters were incorrectly specified or are mutually exclusive."
                }
            }
        }
    ]
}

Detalles del método

post(RouteRequestRouteDirectionsBatchSyncParameters)

La API de Post Route Directions Batch Sync es una solicitud de POST HTTP que envía lotes de consultas a la API Get Route Directions mediante una única solicitud sincrónica. Puede llamar a Route Directions Batch API para que se ejecute de forma asincrónica (asincrónica) o sincrónica (sincrónica). La API asincrónica permite al autor de la llamada procesar por lotes hasta 700 consultas y sincronizar la API hasta 100 consultas. Para llamar a la API de Post Route Directions Batch en una solicitud asincrónica, consulte Post Route Directions Batch.

Enviar solicitud por lotes sincrónica

Se recomienda la API sincrónica para solicitudes por lotes ligeras. Cuando el servicio recibe una solicitud, responderá tan pronto como se calculen los elementos por lotes y no habrá posibilidad de recuperar los resultados más adelante. La API sincrónica devolverá un error de tiempo de espera (una respuesta 408) si la solicitud tarda más de 60 segundos. El número de elementos por lotes se limita a 100 para esta API.

POST https://atlas.microsoft.com/route/directions/batch/sync/json?api-version=1.0&subscription-key={subscription-key}

Modelo de respuesta por lotes

El contenido de datos devuelto es similar para las solicitudes asincrónicas y de sincronización. Al descargar los resultados de una solicitud por lotes asincrónica, si el lote ha terminado de procesarse, el cuerpo de la respuesta contiene la respuesta por lotes. Esta respuesta por lotes contiene un componente de summary que indica el totalRequests que formaron parte de la solicitud por lotes original y successfulRequestses decir, consultas que se ejecutaron correctamente. La respuesta por lotes también incluye una matriz de batchItems que contiene una respuesta para cada consulta y cada consulta de la solicitud por lotes. El batchItems contendrá los resultados en el mismo orden en que se enviaron las consultas originales en la solicitud por lotes. Cada elemento de batchItems contiene campos statusCode y response. Cada response de batchItems es de uno de los siguientes tipos:

  • RouteDirections: si la consulta se completó correctamente.

  • Error: si se produjo un error en la consulta. La respuesta contendrá un code y un message en este caso.

Esta es una respuesta por lotes de ejemplo con 1 correcto y 1 error resultado:

{
    "summary": {
        "successfulRequests": 1,
        "totalRequests": 2
    },
    "batchItems": [
        {
            "statusCode": 200,
            "response": {
                "routes": [
                    {
                        "summary": {
                            "lengthInMeters": 1758,
                            "travelTimeInSeconds": 387,
                            "trafficDelayInSeconds": 0,
                            "departureTime": "2018-07-17T00:49:56+00:00",
                            "arrivalTime": "2018-07-17T00:56:22+00:00"
                        },
                        "legs": [
                            {
                                "summary": {
                                    "lengthInMeters": 1758,
                                    "travelTimeInSeconds": 387,
                                    "trafficDelayInSeconds": 0,
                                    "departureTime": "2018-07-17T00:49:56+00:00",
                                    "arrivalTime": "2018-07-17T00:56:22+00:00"
                                },
                                "points": [
                                    {
                                        "latitude": 47.62094,
                                        "longitude": -122.34892
                                    },
                                    {
                                        "latitude": 47.62094,
                                        "longitude": -122.3485
                                    },
                                    {
                                        "latitude": 47.62095,
                                        "longitude": -122.3476
                                    }
                                ]
                            }
                        ],
                        "sections": [
                            {
                                "startPointIndex": 0,
                                "endPointIndex": 40,
                                "sectionType": "TRAVEL_MODE",
                                "travelMode": "bicycle"
                            }
                        ]
                    }
                ]
            }
        },
        {
            "statusCode": 400,
            "response":
            {
                "error":
                {
                    "code": "400 BadRequest",
                    "message": "Bad request: one or more parameters were incorrectly specified or are mutually exclusive."
                }
            }
        }
    ]
}
function post(options: RouteRequestRouteDirectionsBatchSyncParameters): StreamableMethod<RouteRequestRouteDirectionsBatchSync200Response | RouteRequestRouteDirectionsBatchSync408Response | RouteRequestRouteDirectionsBatchSyncDefaultResponse>

Parámetros

Devoluciones