{"id":2286,"date":"2023-12-22T20:45:13","date_gmt":"2023-12-22T20:45:13","guid":{"rendered":"https:\/\/developers.maplink.global\/ejemplo-2-integracion-con-la-trip-api-2\/"},"modified":"2024-02-22T21:14:12","modified_gmt":"2024-02-22T21:14:12","slug":"ejemplo-2-integracion-con-la-trip-api-2","status":"publish","type":"post","link":"https:\/\/developers.maplink.global\/es\/ejemplo-2-integracion-con-la-trip-api-2\/","title":{"rendered":"Ejemplo 2 &#8211; Integraci\u00f3n con la Trip API"},"content":{"rendered":"\n<p>En el siguiente ejemplo, tenemos una ruta entre las ciudades de Taubat\u00e9 y Barra Mansa, donde adem\u00e1s de la mejor ruta tambi\u00e9n queremos comprobar <strong>todos los puntos de control y escalas <\/strong>de la ruta.<\/p>\n\n<p>Para ello, vamos a utilizar la <a href=\"https:\/\/developers.maplink.global\/es\/creacion-de-solicitudes-para-la-api-trip\/\" data-type=\"post\" data-id=\"1074\">API Trip<\/a>, m\u00e1s los par\u00e1metros de la API POIs. En <code>points<\/code> definimos los puntos de parada y sus coordenadas. En el ejemplo s\u00f3lo hay dos puntos, el origen y el destino.<\/p>\n\n<p>El par\u00e1metro <code>place<\/code> es el objeto que contendr\u00e1 todos los par\u00e1metros POIs API. Lo definiremos como sigue:<\/p>\n\n<ul class=\"wp-block-list\">\n<li><code>categories<\/code>  &#8211; Definiremos la categor\u00eda <strong>\n  <code>FISCALIZACAO<\/code>\n<\/strong>;<\/li>\n\n\n\n<li><code>subCategories<\/code>  &#8211; Definiremos las subcategor\u00edas <strong><code>BALANCAS<\/code> <\/strong>e <strong>\n  <code>POSTO_FISCAL<\/code>\n<\/strong>;<\/li>\n\n\n\n<li><code>bufferRouteInMeters<\/code>  &#8211; Radio de b\u00fasqueda de 10 metros en ruta;<\/li>\n\n\n\n<li><code>bufferStoppingPointsInMeters<\/code>  &#8211; Radio de b\u00fasqueda de 20 metros en los puntos de parada.<\/li>\n<\/ul>\n\n<p>Como los puntos de control y las escalas forman parte de la base nativa del servicio, no es necesario informar al par\u00e1metro <code>onlyMyPlaces<\/code>.<\/p>\n\n<p>La solicitud completa puede verse a continuaci\u00f3n:<\/p>\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"json\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">{\n    \"points\": [\n        {\n            \"latitude\": -23.03058114872101,\n            \"longitude\": -45.54850460771741,\n            \"siteId\": \"Taubat\u00e9\"\n        },\n        {\n            \"latitude\": -22.535562949361026,\n            \"longitude\": -44.19548915630202,\n            \"siteId\": \"Barra Mansa\"\n        }\n    ],\n    \"place\": {\n        \"categories\": [\n            \"FISCALIZACAO\"\n        ],\n        \"subCategories\": [\n            \"BALANCAS\",\n            \"POSTO_FISCAL\"\n        ],\n        \"bufferRouteInMeters\": 10,\n        \"bufferStoppingPointsInMeters\": 20\n    }\n}<\/pre>\n\n<p>La respuesta devolver\u00e1 toda la informaci\u00f3n sobre la ruta. El m\u00e1s importante de ellos en el ejemplo ser\u00e1 la matriz de objetos llamada <code>legs<\/code>. Cada objeto en tramos representa una secci\u00f3n de la ruta y contendr\u00e1 los datos s\u00f3lo de esa secci\u00f3n.<\/p>\n\n<p>Dentro de cada objeto contenido en <code>legs<\/code><strong> <\/strong> se devolver\u00e1 un objeto <code>placeCalculation<\/code> que contendr\u00e1 la siguiente informaci\u00f3n:<\/p>\n\n<ul class=\"wp-block-list\">\n<li><code>total<\/code>  &#8211; N\u00famero entero que contiene el n\u00famero de establecimientos encontrados en la b\u00fasqueda;<\/li>\n\n\n\n<li><code>places<\/code> &#8211; Array de objetos, donde cada objeto representa un establecimiento. Se devolver\u00e1 la siguiente informaci\u00f3n:\n<ul class=\"wp-block-list\">\n<li><code>id<\/code>  &#8211; Identificador \u00fanico del establecimiento;<\/li>\n\n\n\n<li><code>name<\/code>  &#8211; Nombre del establecimiento;<\/li>\n\n\n\n<li><code>category<\/code>  &#8211; Categor\u00eda a la que pertenece el establecimiento;<\/li>\n\n\n\n<li><code>subcategory<\/code>  &#8211; Subcategor\u00eda a la que pertenece el establecimiento;<\/li>\n\n\n\n<li><code>address<\/code>  &#8211; Objeto con datos de direcci\u00f3n:\n<ul class=\"wp-block-list\">\n<li><code>street<\/code> &#8211; String para introducir la direcci\u00f3n;<\/li>\n\n\n\n<li><code>number<\/code> &#8211; String para el n\u00famero de establecimiento;<\/li>\n\n\n\n<li><code>district<\/code> &#8211; (Opcional) String para el barrio;<\/li>\n\n\n\n<li><code>city<\/code> &#8211; String para la ciudad;<\/li>\n\n\n\n<li><code>state<\/code> &#8211; String para el estado;<\/li>\n\n\n\n<li><code>zipcode<\/code> &#8211; String para el c\u00f3digo postal;<\/li>\n\n\n\n<li><code>point<\/code>  &#8211; Array con las coordenadas del establecimiento:\n<ul class=\"wp-block-list\">\n<li><code>latitude<\/code>  &#8211; Coordenada de latitud en grados decimales;<\/li>\n\n\n\n<li><code>longitude<\/code>  &#8211; Coordenada de longitud en grados decimales;<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><code>active<\/code>  &#8211; Valor booleano que indica si el establecimiento est\u00e1 activo o no;<\/li>\n\n\n\n<li><code>tags<\/code>  &#8211; Etiquetas del establecimiento, en su caso;<\/li>\n\n\n\n<li><code>phones<\/code>  &#8211; N\u00fameros de tel\u00e9fono de contacto del establecimiento, si est\u00e1n disponibles.<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n<p>A continuaci\u00f3n encontrar\u00e1 la respuesta completa:<\/p>\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"json\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">{\n    \"id\": \"645b9c26bc072f0a972f3224\",\n    \"clientId\": \"maplink\",\n    \"totalDistance\": 169159,\n    \"totalNominalDuration\": 7988,\n    \"averageSpeed\": 64.18,\n    \"legs\": [\n        {\n            \"distance\": 169159,\n            \"nominalDuration\": 7988,\n            \"averageSpeed\": 64.18,\n            \"points\": \"ddqkCbe_uGo@YaGgJwUa_@iBiCeCgEsCeEWm@mAk@\\\\S?OI??m@kA??GGGAGBkF~E??\",\n            \"placeCalculation\": {\n                \"total\": 2,\n                \"places\": [\n                    {\n                        \"id\": \"61b0c5960b666c4e05a1492f\",\n                        \"name\": \"Posto Fiscal Estado do Rio de Janeiro\",\n                        \"category\": \"FISCALIZACAO\",\n                        \"subCategory\": \"POSTO_FISCAL\",\n                        \"address\": {\n                            \"street\": \"Rodovia Presidente Dutra\",\n                            \"number\": \"KM 323+667\",\n                            \"city\": \"Itatiaia\",\n                            \"state\": \"RJ\",\n                            \"point\": {\n                                \"latitude\": -22.50462288,\n                                \"longitude\": -44.6116333\n                            }\n                        },\n                        \"active\": true\n                    },\n                    {\n                        \"id\": \"61b0c57caeddba55769f812e\",\n                        \"name\": \"Pra\u00e7a de Balan\u00e7a Queluz\",\n                        \"category\": \"FISCALIZACAO\",\n                        \"subCategory\": \"BALANCAS\",\n                        \"address\": {\n                            \"street\": \"Rodovia Presidente Dutra\",\n                            \"number\": \"KM 000+827\",\n                            \"city\": \"Queluz\",\n                            \"state\": \"SP\",\n                            \"point\": {\n                                \"latitude\": -22.5179217,\n                                \"longitude\": -44.7067999\n                            }\n                        },\n                        \"active\": true\n                    }\n                ]\n            }\n        }\n    ]\n}<\/pre>\n","protected":false},"excerpt":{"rendered":"<p>En el siguiente ejemplo, tenemos una ruta entre las ciudades de Taubat\u00e9 y Barra Mansa, donde adem\u00e1s de la mejor ruta tambi\u00e9n queremos comprobar todos los puntos de control y escalas de la ruta. Para ello, vamos a utilizar la API Trip, m\u00e1s los par\u00e1metros de la API POIs. En points definimos los puntos de [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"inline_featured_image":false,"footnotes":""},"categories":[154],"tags":[],"class_list":["post-2286","post","type-post","status-publish","format-standard","hentry","category-pois-es"],"acf":[],"_links":{"self":[{"href":"https:\/\/developers.maplink.global\/es\/wp-json\/wp\/v2\/posts\/2286","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/developers.maplink.global\/es\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/developers.maplink.global\/es\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/developers.maplink.global\/es\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/developers.maplink.global\/es\/wp-json\/wp\/v2\/comments?post=2286"}],"version-history":[{"count":1,"href":"https:\/\/developers.maplink.global\/es\/wp-json\/wp\/v2\/posts\/2286\/revisions"}],"predecessor-version":[{"id":2287,"href":"https:\/\/developers.maplink.global\/es\/wp-json\/wp\/v2\/posts\/2286\/revisions\/2287"}],"wp:attachment":[{"href":"https:\/\/developers.maplink.global\/es\/wp-json\/wp\/v2\/media?parent=2286"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/developers.maplink.global\/es\/wp-json\/wp\/v2\/categories?post=2286"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/developers.maplink.global\/es\/wp-json\/wp\/v2\/tags?post=2286"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}