{"id":2084,"date":"2017-04-21T07:49:57","date_gmt":"2017-04-21T07:49:57","guid":{"rendered":"http:\/\/www.fmsdocumentation.com\/apis\/"},"modified":"2020-06-09T14:22:13","modified_gmt":"2020-06-09T11:22:13","slug":"api","status":"publish","type":"page","link":"https:\/\/www.fmsdocumentation.com\/es\/api\/","title":{"rendered":"API"},"content":{"rendered":"<p>Las API (<strong>interfaz de programaci\u00f3n de aplicaciones<\/strong>) permiten a los clientes integrar FMS con sus sistemas, obtener y enviar datos de varias entidades.<\/p>\n<p>El cliente env\u00eda solicitudes HTTP al sistema, proporcionando informaci\u00f3n sobre la acci\u00f3n destinada. Los comandos HTTP usualmente usados en una API:<\/p>\n<ul>\n<li><strong>GET<\/strong> \u2013 leer recursos;<\/li>\n<li><strong>POST<\/strong> \u2013 cambiar el estado de recursos;<\/li>\n<\/ul>\n<p>El contenido solicitado se proporciona en formato\u00a0<strong>JSON<\/strong>\u00a0con codificaci\u00f3n UTF-8. Si se usa otro formato, hay una especificaci\u00f3n en la descripci\u00f3n del m\u00e9todo.<\/p>\n<p>El c\u00f3digo de estado HTTP identifica el estado de la solicitud, se devuelve un c\u00f3digo de estado <strong>200<\/strong>\u00a0para solicitudes exitosas. Tambi\u00e9n se recibe la informaci\u00f3n solicitada desde el servidor. Las respuestas pueden ser diferentes, seg\u00fan el tipo usado de API. Las respuestas de API para diferentes tipos de API se describen en cap\u00edtulos respectivos.<\/p>\n<p>Si la solicitud enviada produjo un error, el sistema enviar\u00e1 un mensaje de respuesta con un c\u00f3digo de estado. Los comunes c\u00f3digos de estado:<\/p>\n<ul>\n<li><strong>C\u00f3digo 400<\/strong> \u2013 Bad request (Solicitud incorrecta) \u2013 la solicitud de API no fue reconocida;<\/li>\n<li><strong>C\u00f3digo 401<\/strong> \u2013 Unauthorized (No autorizado) \u2013 significa que faltan credenciales de autorizaci\u00f3n o son incorrectas;<\/li>\n<li><strong>C\u00f3digo 403<\/strong> \u2013 Forbidden (Prohibido) \u2013 significa que el cliente no tiene derecho a acceder al recurso solicitado o realizar la acci\u00f3n solicitada;<\/li>\n<li><strong>C\u00f3digo 404<\/strong> \u2013 Not found (No encontrado) \u2013 significa que no se encontr\u00f3 el recurso solicitado;<\/li>\n<li><strong>C\u00f3digo 500 <\/strong>\u2013 Internal server error (Error interno del servidor) \u2013 por favor contacte al soporte t\u00e9cnico de su proveedor.<\/li>\n<\/ul>\n<p>Los c\u00f3digos de errores proporcionan informaci\u00f3n general sobre el tipo del error, permitiendo al usuario identificar la fuente del problema.<\/p>\n<p>Algunas API tienen elementos (par\u00e1metros) opcionales en sus respuestas. Estos par\u00e1metros opcionales pueden ser omitidos por el sistema por varias razones (no datos, datos incorrectos, timeout de respuesta, etc.). El usuario no puede asumir que los datos opcionales siempre se incluir\u00e1n en respuestas.<\/p>\n<hr \/>\n<h3>Limitaciones de API<\/h3>\n<p>Todas las API tienen una limitaci\u00f3n:<\/p>\n<ul>\n<li>No m\u00e1s de 1000 solicitudes por minuto.<\/li>\n<\/ul>\n<p>Esta limitaci\u00f3n es v\u00e1lida para todas las existentes API de FMS.<\/p>\n<hr \/>\n<h3>Autenticaci\u00f3n de API<\/h3>\n<p>Se necesita autenticaci\u00f3n y autorizaci\u00f3n de API para gestionar el uso de API para clientes diferentes y su integraci\u00f3n con sistemas diferentes. Para hacer una solicitud autorizada a los API de sistema, la aplicaci\u00f3n solicitante del cliente debe obtener un <strong>API_key<\/strong> (clave de API) en nombre del usuario web.<\/p>\n<p>Los clientes solo pueden obtener un API_key contactando al soporte t\u00e9cnico de su proveedor. El API_key consiste en letras, n\u00fameros y s\u00edmbolos generados al azar.<\/p>\n<p>Ejemplo de respuesta usando un API_key:<\/p>\n<p><a href=\"https:\/\/www.fmsdocumentation.com\/wp-content\/uploads\/2017\/04\/1.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-589 size-full\" src=\"https:\/\/www.fmsdocumentation.com\/wp-content\/uploads\/2017\/04\/1.png\" alt=\"\" width=\"672\" height=\"92\" srcset=\"https:\/\/www.fmsdocumentation.com\/wp-content\/uploads\/2017\/04\/1.png 672w, https:\/\/www.fmsdocumentation.com\/wp-content\/uploads\/2017\/04\/1-300x41.png 300w\" sizes=\"auto, (max-width: 672px) 100vw, 672px\" \/><\/a><\/p>\n<p>Si el API_key se ha expirado, se ha eliminado o simplemente se ha deshabilitado, el sistema responder\u00e1:<\/p>\n<p><a href=\"https:\/\/www.fmsdocumentation.com\/wp-content\/uploads\/2017\/04\/2-1.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-590 size-full\" src=\"https:\/\/www.fmsdocumentation.com\/wp-content\/uploads\/2017\/04\/2-1.png\" alt=\"\" width=\"416\" height=\"72\" srcset=\"https:\/\/www.fmsdocumentation.com\/wp-content\/uploads\/2017\/04\/2-1.png 416w, https:\/\/www.fmsdocumentation.com\/wp-content\/uploads\/2017\/04\/2-1-300x52.png 300w\" sizes=\"auto, (max-width: 416px) 100vw, 416px\" \/><\/a><\/p>\n<p>Se puede ver los puntos finales de API, los par\u00e1metros de solicitudes y las respuestas en &#8220;Swagger&#8221; haciendo clic en este enlace: <a href=\"https:\/\/api.fm-track.com\/swagger-ui.html\">https:\/\/api.fm-track.com<\/a><br \/>\n<p class=\"note\">Nota<br \/>\nSiempre hay que especificar una versi\u00f3n de API en todos tipos de API.<\/p><\/p>\n<p><p class=\"note\">\u00a1Importante!<br \/>\nDebido a desarrollo continuo de ambos API y sistema, el usuario a veces puede recibir par\u00e1metros no listados en las descripciones. Se recomienda ignorar los par\u00e1metros desconocidos y no documentados en las descripciones de API.<\/p><\/p>\n<hr \/>\n<h3>Versionamiento y compatibilidad<\/h3>\n<p>La soluci\u00f3n de interfaz de programaci\u00f3n de aplicaciones (en adelante \u2013 API) se actualiza, se mejora y se modifica en varias maneras constantemente. Debido a eso hay que saber qu\u00e9 significa el t\u00e9rmino \u201ccompatibilidad\u201d, teniendo APIs en cuenta, y como afecta al usuario, al usar la soluci\u00f3n de API.<\/p>\n<p>Al actualizar una API suceder\u00e1 uno de los siguientes casos:<\/p>\n<ul>\n<li>La API es compatible con las versiones anteriores \u2013 esto significa que los cambios hechos no afectar\u00e1n al flujo de trabajo de la API de ning\u00fan modo, as\u00ed que no se crea una versi\u00f3n nueva de la API;<\/li>\n<li>La API no es compatible con las versiones anteriores \u2013 esto significa que algunos componentes de la API fueron cambiados y ya no funcionan en la misma manera c\u00f3mo funcionaban antes. En este caso se lanza una versi\u00f3n nueva de la API.<\/li>\n<\/ul>\n<p>La versi\u00f3n de API se considera compatible con las anteriores cuando:<\/p>\n<ul>\n<li>Se a\u00f1ade un nuevo recurso de API;<\/li>\n<li>Se a\u00f1aden nuevos par\u00e1metros opcionales de solicitud a la API existente;<\/li>\n<li>Se a\u00f1aden nuevos par\u00e1metros a las respuestas existentes de la API;<\/li>\n<li>Se cambia el orden de par\u00e1metros en las respuestas existentes de la API;<\/li>\n<li>Se cambia la longitud o el formato de IDs de objeto u otras cadenas opacas. El usuario puede estar seguro de que los IDs generados por el sistema nunca ser\u00e1n m\u00e1s largos que 255 caracteres, pero los de longitud de 255 caracteres a\u00fan deber\u00edan manejarse. Por ejemplo, si el usuario usa MySQL, los IDs deber\u00edan almacenarse en una columna de tipo c\u00f3digo de longitud variable (varchar) COLLATE utf8_bin (la configuraci\u00f3n de COLLATE asegura que la b\u00fasqueda ser\u00e1 sensible a las may\u00fasculas y min\u00fasculas).<\/li>\n<li>Se a\u00f1aden variables nuevos de tipo ENUM \u2013 cualquier sistema deber\u00eda manejar desconocidos variables de tipo ENUM. Si por ejemplo el conjunto del variable se cambia de [Privado, Empresa] a [Privado, Trabajo, Empresa], no deber\u00eda afectar al sistema de ning\u00fan modo.<\/li>\n<\/ul>\n<hr \/>\n<p><div class=\"alignleft\"><a href=\"https:\/\/www.fmsdocumentation.com\/es\/menu-de-tacografo-2\/\" title=\"Men\u00fa de tac\u00f3grafo\"><span class=\"arrow\">\u2039 &nbsp <\/span> Men\u00fa de tac\u00f3grafo <\/a><\/div> <div class=\"alignright\"><a href=\"https:\/\/www.fmsdocumentation.com\/es\/api\/api-de-historial-de-coordenadas-de-objeto\/\" title=\"API de historial de coordenadas de objeto\">API de historial de coordenadas de objeto <span class=\"arrow\"> &nbsp\u203a <\/span> <\/a><\/div><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Las API (interfaz de programaci\u00f3n de aplicaciones) permiten a los clientes integrar FMS con sus sistemas, obtener y enviar datos de varias entidades. El cliente env\u00eda solicitudes HTTP al sistema, proporcionando informaci\u00f3n sobre la acci\u00f3n destinada. Los comandos HTTP usualmente usados en una API: GET \u2013 leer recursos; POST \u2013 cambiar el estado de recursos; &hellip; <a href=\"https:\/\/www.fmsdocumentation.com\/es\/api\/\" class=\"more-link\">Sigue leyendo <span class=\"screen-reader-text\">API<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":116,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-2084","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/www.fmsdocumentation.com\/es\/wp-json\/wp\/v2\/pages\/2084","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.fmsdocumentation.com\/es\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.fmsdocumentation.com\/es\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.fmsdocumentation.com\/es\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.fmsdocumentation.com\/es\/wp-json\/wp\/v2\/comments?post=2084"}],"version-history":[{"count":11,"href":"https:\/\/www.fmsdocumentation.com\/es\/wp-json\/wp\/v2\/pages\/2084\/revisions"}],"predecessor-version":[{"id":4149,"href":"https:\/\/www.fmsdocumentation.com\/es\/wp-json\/wp\/v2\/pages\/2084\/revisions\/4149"}],"wp:attachment":[{"href":"https:\/\/www.fmsdocumentation.com\/es\/wp-json\/wp\/v2\/media?parent=2084"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}