{"id":22161,"date":"2025-10-15T14:08:18","date_gmt":"2025-10-15T11:08:18","guid":{"rendered":"https:\/\/mapsly.com?page_id=22161"},"modified":"2025-10-15T14:09:03","modified_gmt":"2025-10-15T11:09:03","slug":"tp-sync-api","status":"publish","type":"page","link":"https:\/\/mapsly.com\/es\/tp-sync-api\/","title":{"rendered":"tp-sync-api"},"content":{"rendered":"<div data-elementor-type=\"wp-page\" data-elementor-id=\"22161\" class=\"elementor elementor-22161\" data-elementor-post-type=\"page\">\n\t\t\t\t<div class=\"elementor-element elementor-element-da1eb59 e-flex e-con-boxed e-con e-parent\" data-id=\"da1eb59\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-614ea51 elementor-widget elementor-widget-html\" data-id=\"614ea51\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<!DOCTYPE html>\r\n<html lang=\"ru\">\r\n<head>\r\n    <meta charset=\"UTF-8\">\r\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\r\n    <title>Documentaci\u00f3n de la API para la integraci\u00f3n de traducciones TranslatePress (TP Sync API)<\/title>\r\n    <style>\r\n        body { \r\n       \r\n        table { \r\n            border-collapse: collapse; \r\n            width: 100%; \r\n            margin: 15px 0; \r\n        }\r\n        th, td { \r\n            border: 1px solid #ddd; \r\n            padding: 10px; \r\n            text-align: left; \r\n        }\r\n        th { \r\n            background-color: #f2f2f2; \r\n            font-weight: bold; \r\n        }\r\n        pre { \r\n            background: #f4f4f4; \r\n            padding: 15px; \r\n            border-radius: 5px; \r\n            overflow-x: auto; \r\n            border: 1px solid #ddd; \r\n        }\r\n        code { \r\n            font-family: 'Courier New', monospace; \r\n            font-size: 14px; \r\n        }\r\n        ul { \r\n            margin: 10px 0; \r\n            padding-left: 25px; \r\n        }\r\n        .card {\r\n            background: #fff;\r\n            padding: 20px;\r\n            margin: 20px 0;\r\n            border-radius: 8px;\r\n            box-shadow: 0 2px 4px rgba(0,0,0,0.1);\r\n        }\r\n    <\/style>\r\n<\/head>\r\n<body>\r\n\r\n<div class=\"card\">\r\n    <h1>Documentaci\u00f3n de la API para la integraci\u00f3n de traducciones TranslatePress (TP Sync API)<\/h1>\r\n\r\n    <p>Esta API proporciona dos endpoints para trabajar con las cadenas de traducci\u00f3n en el plugin TranslatePress. El idioma base es el ingl\u00e9s (<code>en_us<\/code>). Todas las solicitudes requieren autorizaci\u00f3n mediante un token Bearer (se obtiene en el administrador de WordPress bajo el men\u00fa \"TP Sync\").<\/p>\r\n\r\n    <p><strong>URL base:<\/strong> <code>https:\/\/your-site.com\/wp-json\/tp-sync\/v1\/<\/code><\/p>\r\n<\/div>\r\n\r\n<div class=\"card\">\r\n    <h2>1. Obtenci\u00f3n de l\u00edneas para traducir (GET \/keys)<\/h2>\r\n\r\n    <p>Este endpoint devuelve una lista de cadenas del diccionario TranslatePress para el idioma especificado. Cada cadena incluye un ID (en el formato <code>diccionario: {id}<\/code>), texto original en ingl\u00e9s, traducci\u00f3n actual, estado y metadatos de paginaci\u00f3n. Ordenar por ID DESC (los m\u00e1s nuevos arriba). Fechas, <code>creado en<\/code> y <code>actualizado el<\/code> siempre <code>null<\/code> (no se solicitan en SQL).<\/p>\r\n\r\n    <h3>Par\u00e1metros de la solicitud<\/h3>\r\n    <table>\r\n        <thead>\r\n            <tr>\r\n                <th>Par\u00e1metro<\/th>\r\n                <th>Tipo<\/th>\r\n                <th>Obligatorio<\/th>\r\n                <th>Descripci\u00f3n<\/th>\r\n                <th>Valor predeterminado<\/th>\r\n            <\/tr>\r\n        <\/thead>\r\n        <tbody>\r\n            <tr>\r\n                <td><code>lang<\/code><\/td>\r\n                <td>cadena<\/td>\r\n                <td>S\u00ed<\/td>\r\n                <td>C\u00f3digo de idioma (por ejemplo, <code>de<\/code> para el alem\u00e1n <code>fr<\/code> para franc\u00e9s). Los c\u00f3digos cortos se normalizan (de \u2192 de_de).<\/td>\r\n                <td>\u2014<\/td>\r\n            <\/tr>\r\n            <tr>\r\n                <td><code>p\u00e1gina<\/code><\/td>\r\n                <td>entero<\/td>\r\n                <td>No<\/td>\r\n                <td>N\u00famero de p\u00e1gina para la paginaci\u00f3n.<\/td>\r\n                <td>1<\/td>\r\n            <\/tr>\r\n            <tr>\r\n                <td><code>l\u00edmite<\/code><\/td>\r\n                <td>entero<\/td>\r\n                <td>No<\/td>\r\n                <td>N\u00famero de filas por p\u00e1gina (m\u00ednimo 1, m\u00e1ximo 500).<\/td>\r\n                <td>100<\/td>\r\n            <\/tr>\r\n            <tr>\r\n                <td><code>actualizado desde<\/code><\/td>\r\n                <td>cadena<\/td>\r\n                <td>No<\/td>\r\n                <td>Filtro por fecha de actualizaci\u00f3n (ISO8601, por ejemplo,) <code>2025-10-01T00:00:00Z<\/code>). Devuelve solo las filas actualizadas despu\u00e9s de esta fecha.<\/td>\r\n                <td>\u2014<\/td>\r\n            <\/tr>\r\n        <\/tbody>\r\n    <\/table>\r\n\r\n    <h3>T\u00edtulos<\/h3>\r\n    <ul>\r\n        <li><code>Autorizaci\u00f3n: Bearer {\u0442\u043e\u043a\u0435\u043d}<\/code> (obligatorio)<\/li>\r\n    <\/ul>\r\n\r\n    <h3>Ejemplo de solicitud (cURL)<\/h3>\r\n    <pre><code>curl -X GET \"https:\/\/your-site.com\/wp-json\/tp-sync\/v1\/keys?lang=de&amp;page=1&amp;limit=50&amp;updated_since=2025-10-01T00:00:00Z\" \\\n  -H \"Authorization: Bearer your-api-token-here\"<\/code><\/pre>\r\n\r\n    <h3>Ejemplo de respuesta (JSON)<\/h3>\r\n    <pre><code>{\n  \"keys\": [\n    {\n      \"key_id\": \"dictionary:123\",\n      \"original\": \"Hello World\",\n      \"translated\": \"Hola Mundo\",\n      \"status\": 2,\n      \"created_at\": null,\n      \"updated_at\": null\n    },\n    {\n      \"key_id\": \"dictionary:124\",\n      \"original\": \"Welcome\",\n      \"translated\": \"Bienvenido\",\n      \"status\": 0,\n      \"created_at\": null,\n      \"updated_at\": null\n    }\n  ],\n  \"meta\": {\n    \"total_count\": 150,\n    \"page\": 1,\n    \"limit\": 50,\n    \"page_count\": 3,\n    \"next_page\": \"https:\/\/your-site.com\/wp-json\/tp-sync\/v1\/keys?lang=de&amp;page=2&amp;limit=50&amp;updated_since=2025-10-01T00:00:00Z\"\n  }\n}<\/code><\/pre>\r\n\r\n    <h3>Descripci\u00f3n de los campos en la respuesta<\/h3>\r\n    <table>\r\n        <thead>\r\n            <tr>\r\n                <th>Campo<\/th>\r\n                <th>Tipo<\/th>\r\n                <th>Descripci\u00f3n<\/th>\r\n            <\/tr>\r\n        <\/thead>\r\n        <tbody>\r\n            <tr>\r\n                <td><code>clave_id<\/code><\/td>\r\n                <td>cadena<\/td>\r\n                <td>ID \u00fanico de la fila: <code>diccionario: {id}<\/code> (id \u2014 n\u00famero de registro en la tabla <code>wp_trp_dictionary_en_us_{lang}<\/code>).<\/td>\r\n            <\/tr>\r\n            <tr>\r\n                <td><code>original<\/code><\/td>\r\n                <td>cadena<\/td>\r\n                <td>Texto original en ingl\u00e9s.<\/td>\r\n            <\/tr>\r\n            <tr>\r\n                <td><code>traducido<\/code><\/td>\r\n                <td>cadena<\/td>\r\n                <td>Traducci\u00f3n actual para el idioma indicado (puede estar vac\u00eda).<\/td>\r\n            <\/tr>\r\n            <tr>\r\n                <td><code>estado<\/code><\/td>\r\n                <td>entero<\/td>\r\n                <td>Estado: 0 \u2014 no traducido, 1 \u2014 en proceso, 2 \u2014 traducido.<\/td>\r\n            <\/tr>\r\n            <tr>\r\n                <td><code>creado en<\/code><\/td>\r\n                <td>cadena<\/td>\r\n                <td>Fecha de creaci\u00f3n (ISO8601 <code>null<\/code> \u2014 no solicitado).<\/td>\r\n            <\/tr>\r\n            <tr>\r\n                <td><code>actualizado el<\/code><\/td>\r\n                <td>cadena<\/td>\r\n                <td>Fecha de la \u00faltima actualizaci\u00f3n (ISO8601 <code>null<\/code> \u2014 no solicitado).<\/td>\r\n            <\/tr>\r\n        <\/tbody>\r\n    <\/table>\r\n\r\n    <h3>Metadatos<code>meta<\/code>)<\/h3>\r\n    <ul>\r\n        <li><code>total_count<\/code>N\u00famero total de filas (incluyendo filtros).<\/li>\r\n        <li><code>p\u00e1gina<\/code>P\u00e1gina actual.<\/li>\r\n        <li><code>l\u00edmite<\/code>L\u00edmite por p\u00e1gina.<\/li>\r\n        <li><code>n\u00famero de p\u00e1ginas<\/code>Cantidad total de p\u00e1ginas.<\/li>\r\n        <li><code>p\u00e1gina siguiente<\/code>: URL de la p\u00e1gina siguiente<code>null<\/code>, si es el \u00faltimo).<\/li>\r\n    <\/ul>\r\n\r\n    <h3>Errores<\/h3>\r\n    <ul>\r\n        <li>401: Encabezado Authorization ausente o incorrecto.<\/li>\r\n        <li>403: Token inv\u00e1lido.<\/li>\r\n        <li>404: Idioma no encontrado en TranslatePress (tabla ausente).<\/li>\r\n    <\/ul>\r\n<\/div>\r\n\r\n<div class=\"card\">\r\n    <h2>2. Actualizaci\u00f3n de traducciones (POST \/translations)<\/h2>\r\n\r\n    <p>Este endpoint actualiza las traducciones para varias l\u00edneas a la vez (lote). Se pasa un arreglo de objetos con el ID de la l\u00ednea, el idioma y la nueva traducci\u00f3n. Actualiza el estado a \"traducido\" (2) y el campo <code>actualizado el<\/code>.<\/p>\r\n\r\n    <h3>Cuerpo de la solicitud (JSON)<\/h3>\r\n    <p>Matriz <code>traducciones<\/code> con objetos:<\/p>\r\n    <pre><code>{\n  \"translations\": [\n    {\n      \"key_id\": \"dictionary:123\",\n      \"language_iso\": \"de\",\n      \"translation\": \"Hola Mundo\"\n    },\n    {\n      \"key_id\": \"dictionary:124\",\n      \"language_iso\": \"de\",\n      \"translation\": \"Bienvenido\"\n    }\n  ]\n}<\/code><\/pre>\r\n\r\n    <h3>Par\u00e1metros<\/h3>\r\n    <table>\r\n        <thead>\r\n            <tr>\r\n                <th>Campo en el objeto<\/th>\r\n                <th>Tipo<\/th>\r\n                <th>Obligatorio<\/th>\r\n                <th>Descripci\u00f3n<\/th>\r\n            <\/tr>\r\n        <\/thead>\r\n        <tbody>\r\n            <tr>\r\n                <td><code>clave_id<\/code><\/td>\r\n                <td>cadena<\/td>\r\n                <td>S\u00ed<\/td>\r\n                <td>ID de la fila: <code>diccionario: {id}<\/code> (desde GET \/keys).<\/td>\r\n            <\/tr>\r\n            <tr>\r\n                <td><code>c\u00f3digo_iso_idioma<\/code><\/td>\r\n                <td>cadena<\/td>\r\n                <td>S\u00ed<\/td>\r\n                <td>C\u00f3digo de idioma (de \u2192 de_de, normalizado autom\u00e1ticamente).<\/td>\r\n            <\/tr>\r\n            <tr>\r\n                <td><code>traducci\u00f3n<\/code><\/td>\r\n                <td>cadena<\/td>\r\n                <td>S\u00ed<\/td>\r\n                <td>Nuevo texto de traducci\u00f3n (se mantiene tal cual).<\/td>\r\n            <\/tr>\r\n        <\/tbody>\r\n    <\/table>\r\n\r\n    <h3>T\u00edtulos<\/h3>\r\n    <ul>\r\n        <li><code>Autorizaci\u00f3n: Bearer {\u0442\u043e\u043a\u0435\u043d}<\/code> (obligatorio)<\/li>\r\n        <li><code>Content-Type: application\/json<\/code> (obligatorio)<\/li>\r\n    <\/ul>\r\n\r\n    <h3>Ejemplo de solicitud (cURL)<\/h3>\r\n    <pre><code>curl -X POST \"https:\/\/your-site.com\/wp-json\/tp-sync\/v1\/translations\" \\\n  -H \"Authorization: Bearer your-api-token-here\" \\\n  -H \"Content-Type: application\/json\" \\\n  -d '{\n    \"translations\": [\n      {\n        \"key_id\": \"dictionary:123\",\n        \"language_iso\": \"de\",\n        \"translation\": \"Hola Mundo\"\n      }\n    ]\n  }'<\/code><\/pre>\r\n\r\n    <h3>Ejemplo de respuesta (JSON)<\/h3>\r\n    <pre><code>{\n  \"translations\": [\n    {\n      \"key_id\": \"dictionary:123\",\n      \"language_iso\": \"de\",\n      \"translation\": \"Hallo Welt\",\n      \"modified_at\": \"2025-10-15T12:00:00Z\"\n    }\n  ],\n  \"errors\": [\n    {\n      \"index\": 1,\n      \"key_id\": \"dictionary:999\",\n      \"error\": \"Clave no encontrada en la base de datos\"\n    }\n  ]\n}<\/code><\/pre>\r\n\r\n    <h3>Descripci\u00f3n de los campos en la respuesta<\/h3>\r\n    <ul>\r\n        <li><code>traducciones<\/code>Array de traducciones actualizadas con \u00e9xito (devuelve los datos de entrada + <code>modificado el<\/code> en ISO8601).<\/li>\r\n        <li><code>errores<\/code> (opcional, si hay fallos): Array de errores.\r\n            <ul>\r\n                <li><code>\u00edndice<\/code>\u00cdndice del elemento en el array original.<\/li>\r\n                <li><code>clave_id<\/code>: ID de la fila problem\u00e1tica (si aplica).<\/li>\r\n                <li><code>error<\/code>Texto de error (ejemplos: \"Campos obligatorios faltantes\", \"Formato de key_id inv\u00e1lido. Se espera: dictionary:{id}\", \"Idioma no encontrado\", \"Clave no encontrada en la base de datos\", \"Error al actualizar la base de datos\").<\/li>\r\n            <\/ul>\r\n        <\/li>\r\n    <\/ul>\r\n\r\n    <h3>Errores<\/h3>\r\n    <ul>\r\n        <li>400: Datos no v\u00e1lidos (vac\u00edo\/no es un array) <code>traducciones<\/code>, ausencia de campos).<\/li>\r\n        <li>401\/403: Problemas con la autorizaci\u00f3n.<\/li>\r\n        <li>404: Idioma o clave no encontrada (tabla\/registro ausente).<\/li>\r\n    <\/ul>\r\n<\/div>\r\n\r\n<div class=\"card\">\r\n    <h2>Idiomas soportados<\/h2>\r\n    <p>Los c\u00f3digos cortos se normalizan autom\u00e1ticamente (basado en el mapeo en el c\u00f3digo). Para los desconocidos: <code>{code}_{code}<\/code> (por ejemplo, pl \u2192 pl_pl).<\/p>\r\n    <ul>\r\n        <li>en \u2192 en_us<\/li>\r\n        <li>a<\/li>\r\n        <li>id \u2192 id_id<\/li>\r\n        <li>ko \u2192 ko_kr<\/li>\r\n        <li>tr \u2192 tr_tr<\/li>\r\n        <li>vi \u2192 vi<\/li>\r\n        <li>ru \u2192 ru_ru<\/li>\r\n        <li>fr \u2192 fr_fr<\/li>\r\n        <li>de \u2192 de_de<\/li>\r\n        <li>eso<\/li>\r\n        <li>a<\/li>\r\n        <li>pt \u2192 pt_pt<\/li>\r\n        <li>zh \u2192 zh_cn<\/li>\r\n        <li>es \u2192 es_es<\/li>\r\n    <\/ul>\r\n<\/div>\r\n\r\n<div class=\"card\">\r\n    <h2>Obtenci\u00f3n del token<\/h2>\r\n    <ul>\r\n        <li>En el administrador de WordPress: Men\u00fa <strong>Sincronizaci\u00f3n TP<\/strong> \u2192 Bot\u00f3n \"Generate New Token\" (token de 32 caracteres, generado autom\u00e1ticamente en la primera ejecuci\u00f3n).<\/li>\r\n        <li>El token se almacena en la opci\u00f3n <code>token_api_de_sincronizaci\u00f3n_tp<\/code>.<\/li>\r\n    <\/ul>\r\n\r\n<\/div>\r\n\r\n<\/body>\r\n<\/html>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>","protected":false},"excerpt":{"rendered":"<p>Documentaci\u00f3n API para la integraci\u00f3n de traducciones TranslatePress (TP Sync API) Documentaci\u00f3n API para la integraci\u00f3n de traducciones TranslatePress (TP Sync API) Esta API proporciona dos endpoints para trabajar con las cadenas de traducci\u00f3n en el plugin TranslatePress. El idioma base es ingl\u00e9s (en_us). Todas las solicitudes requieren autorizaci\u00f3n mediante token Bearer (obtenido en el panel de administraci\u00f3n de WordPress en el men\u00fa \"TP Sync\"). URL base: https:\/\/your-site.com\/wp-json\/tp-sync\/v1\/ 1. Obtenci\u00f3n [&hellip;]<\/p>","protected":false},"author":2,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_acf_changed":false,"footnotes":""},"class_list":["post-22161","page","type-page","status-publish","hentry"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v26.6 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>tp-sync-api - Mapsly<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/mapsly.com\/es\/tp-sync-api\/\" \/>\n<meta property=\"og:locale\" content=\"es_ES\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"tp-sync-api - Mapsly\" \/>\n<meta property=\"og:description\" content=\"\u0414\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u044f API \u0434\u043b\u044f \u0438\u043d\u0442\u0435\u0433\u0440\u0430\u0446\u0438\u0438 \u043f\u0435\u0440\u0435\u0432\u043e\u0434\u043e\u0432 TranslatePress (TP Sync API) \u0414\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u044f API \u0434\u043b\u044f \u0438\u043d\u0442\u0435\u0433\u0440\u0430\u0446\u0438\u0438 \u043f\u0435\u0440\u0435\u0432\u043e\u0434\u043e\u0432 TranslatePress (TP Sync API) \u042d\u0442\u043e\u0442 API \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442 \u0434\u0432\u0430 \u044d\u043d\u0434\u043f\u043e\u0438\u043d\u0442\u0430 \u0434\u043b\u044f \u0440\u0430\u0431\u043e\u0442\u044b \u0441\u043e \u0441\u0442\u0440\u043e\u043a\u0430\u043c\u0438 \u043f\u0435\u0440\u0435\u0432\u043e\u0434\u043e\u0432 \u0432 \u043f\u043b\u0430\u0433\u0438\u043d\u0435 TranslatePress. \u0411\u0430\u0437\u043e\u0432\u044b\u0439 \u044f\u0437\u044b\u043a \u2014 \u0430\u043d\u0433\u043b\u0438\u0439\u0441\u043a\u0438\u0439 (en_us). \u0412\u0441\u0435 \u0437\u0430\u043f\u0440\u043e\u0441\u044b \u0442\u0440\u0435\u0431\u0443\u044e\u0442 \u0430\u0432\u0442\u043e\u0440\u0438\u0437\u0430\u0446\u0438\u0438 \u0447\u0435\u0440\u0435\u0437 Bearer-\u0442\u043e\u043a\u0435\u043d (\u043f\u043e\u043b\u0443\u0447\u0430\u0435\u0442\u0441\u044f \u0432 \u0430\u0434\u043c\u0438\u043d\u043a\u0435 WordPress \u043f\u043e\u0434 \u043c\u0435\u043d\u044e &#8220;TP Sync&#8221;). \u0411\u0430\u0437\u043e\u0432\u044b\u0439 URL: https:\/\/your-site.com\/wp-json\/tp-sync\/v1\/ 1. \u041f\u043e\u043b\u0443\u0447\u0435\u043d\u0438\u0435 [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/mapsly.com\/es\/tp-sync-api\/\" \/>\n<meta property=\"og:site_name\" content=\"Mapsly\" \/>\n<meta property=\"article:modified_time\" content=\"2025-10-15T11:09:03+00:00\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Tiempo de lectura\" \/>\n\t<meta name=\"twitter:data1\" content=\"3 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/mapsly.com\/tp-sync-api\/\",\"url\":\"https:\/\/mapsly.com\/tp-sync-api\/\",\"name\":\"tp-sync-api - Mapsly\",\"isPartOf\":{\"@id\":\"https:\/\/mapsly.com\/#website\"},\"datePublished\":\"2025-10-15T11:08:18+00:00\",\"dateModified\":\"2025-10-15T11:09:03+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/mapsly.com\/tp-sync-api\/#breadcrumb\"},\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/mapsly.com\/tp-sync-api\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/mapsly.com\/tp-sync-api\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/mapsly.com\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"tp-sync-api\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/mapsly.com\/#website\",\"url\":\"https:\/\/mapsly.com\/\",\"name\":\"Mapsly\",\"description\":\"The Ultimate CRM Map\",\"publisher\":{\"@id\":\"https:\/\/mapsly.com\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/mapsly.com\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"es\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/mapsly.com\/#organization\",\"name\":\"Mapsly\",\"url\":\"https:\/\/mapsly.com\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\/\/mapsly.com\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/mapsly.com\/wp-content\/uploads\/2025\/06\/Mapsly-Logo-2x-BIG.png\",\"contentUrl\":\"https:\/\/mapsly.com\/wp-content\/uploads\/2025\/06\/Mapsly-Logo-2x-BIG.png\",\"width\":280,\"height\":85,\"caption\":\"Mapsly\"},\"image\":{\"@id\":\"https:\/\/mapsly.com\/#\/schema\/logo\/image\/\"}}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"tp-sync-api - Mapsly","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/mapsly.com\/es\/tp-sync-api\/","og_locale":"es_ES","og_type":"article","og_title":"tp-sync-api - Mapsly","og_description":"\u0414\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u044f API \u0434\u043b\u044f \u0438\u043d\u0442\u0435\u0433\u0440\u0430\u0446\u0438\u0438 \u043f\u0435\u0440\u0435\u0432\u043e\u0434\u043e\u0432 TranslatePress (TP Sync API) \u0414\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u044f API \u0434\u043b\u044f \u0438\u043d\u0442\u0435\u0433\u0440\u0430\u0446\u0438\u0438 \u043f\u0435\u0440\u0435\u0432\u043e\u0434\u043e\u0432 TranslatePress (TP Sync API) \u042d\u0442\u043e\u0442 API \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442 \u0434\u0432\u0430 \u044d\u043d\u0434\u043f\u043e\u0438\u043d\u0442\u0430 \u0434\u043b\u044f \u0440\u0430\u0431\u043e\u0442\u044b \u0441\u043e \u0441\u0442\u0440\u043e\u043a\u0430\u043c\u0438 \u043f\u0435\u0440\u0435\u0432\u043e\u0434\u043e\u0432 \u0432 \u043f\u043b\u0430\u0433\u0438\u043d\u0435 TranslatePress. \u0411\u0430\u0437\u043e\u0432\u044b\u0439 \u044f\u0437\u044b\u043a \u2014 \u0430\u043d\u0433\u043b\u0438\u0439\u0441\u043a\u0438\u0439 (en_us). \u0412\u0441\u0435 \u0437\u0430\u043f\u0440\u043e\u0441\u044b \u0442\u0440\u0435\u0431\u0443\u044e\u0442 \u0430\u0432\u0442\u043e\u0440\u0438\u0437\u0430\u0446\u0438\u0438 \u0447\u0435\u0440\u0435\u0437 Bearer-\u0442\u043e\u043a\u0435\u043d (\u043f\u043e\u043b\u0443\u0447\u0430\u0435\u0442\u0441\u044f \u0432 \u0430\u0434\u043c\u0438\u043d\u043a\u0435 WordPress \u043f\u043e\u0434 \u043c\u0435\u043d\u044e &#8220;TP Sync&#8221;). \u0411\u0430\u0437\u043e\u0432\u044b\u0439 URL: https:\/\/your-site.com\/wp-json\/tp-sync\/v1\/ 1. \u041f\u043e\u043b\u0443\u0447\u0435\u043d\u0438\u0435 [&hellip;]","og_url":"https:\/\/mapsly.com\/es\/tp-sync-api\/","og_site_name":"Mapsly","article_modified_time":"2025-10-15T11:09:03+00:00","twitter_card":"summary_large_image","twitter_misc":{"Tiempo de lectura":"3 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/mapsly.com\/tp-sync-api\/","url":"https:\/\/mapsly.com\/tp-sync-api\/","name":"tp-sync-api - Mapsly","isPartOf":{"@id":"https:\/\/mapsly.com\/#website"},"datePublished":"2025-10-15T11:08:18+00:00","dateModified":"2025-10-15T11:09:03+00:00","breadcrumb":{"@id":"https:\/\/mapsly.com\/tp-sync-api\/#breadcrumb"},"inLanguage":"es","potentialAction":[{"@type":"ReadAction","target":["https:\/\/mapsly.com\/tp-sync-api\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/mapsly.com\/tp-sync-api\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/mapsly.com\/"},{"@type":"ListItem","position":2,"name":"tp-sync-api"}]},{"@type":"WebSite","@id":"https:\/\/mapsly.com\/#website","url":"https:\/\/mapsly.com\/","name":"Mapsly","description":"El mapa CRM definitivo","publisher":{"@id":"https:\/\/mapsly.com\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/mapsly.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"es"},{"@type":"Organization","@id":"https:\/\/mapsly.com\/#organization","name":"Mapsly","url":"https:\/\/mapsly.com\/","logo":{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/mapsly.com\/#\/schema\/logo\/image\/","url":"https:\/\/mapsly.com\/wp-content\/uploads\/2025\/06\/Mapsly-Logo-2x-BIG.png","contentUrl":"https:\/\/mapsly.com\/wp-content\/uploads\/2025\/06\/Mapsly-Logo-2x-BIG.png","width":280,"height":85,"caption":"Mapsly"},"image":{"@id":"https:\/\/mapsly.com\/#\/schema\/logo\/image\/"}}]}},"_links":{"self":[{"href":"https:\/\/mapsly.com\/es\/wp-json\/wp\/v2\/pages\/22161","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/mapsly.com\/es\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/mapsly.com\/es\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/mapsly.com\/es\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/mapsly.com\/es\/wp-json\/wp\/v2\/comments?post=22161"}],"version-history":[{"count":7,"href":"https:\/\/mapsly.com\/es\/wp-json\/wp\/v2\/pages\/22161\/revisions"}],"predecessor-version":[{"id":22168,"href":"https:\/\/mapsly.com\/es\/wp-json\/wp\/v2\/pages\/22161\/revisions\/22168"}],"wp:attachment":[{"href":"https:\/\/mapsly.com\/es\/wp-json\/wp\/v2\/media?parent=22161"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}