{"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\/fr\/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>Documentation API pour l'int\u00e9gration des traductions 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>Documentation API pour l'int\u00e9gration des traductions TranslatePress (TP Sync API)<\/h1>\r\n\r\n    <p>Cette API fournit deux points de terminaison pour travailler avec les cha\u00eenes de traduction dans le plugin TranslatePress. La langue de base est l'anglais (<code>en_us<\/code>). Toutes les requ\u00eates n\u00e9cessitent une autorisation via un jeton Bearer (obtenu dans l'administration WordPress sous le menu \u00ab TP Sync \u00bb).<\/p>\r\n\r\n    <p><strong>URL de base\u00a0:<\/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. Obtention des lignes \u00e0 traduire (GET \/keys)<\/h2>\r\n\r\n    <p>Ce point de terminaison renvoie une liste de cha\u00eenes du dictionnaire TranslatePress pour la langue sp\u00e9cifi\u00e9e. Chaque cha\u00eene comprend un ID (au format <code>dictionnaire : {id}<\/code>), texte original en anglais, traduction actuelle, statut et m\u00e9tadonn\u00e9es de pagination. Tri par ID DESC (les plus r\u00e9cents en haut). Dates, <code>cr\u00e9\u00e9 le<\/code> et <code>mis \u00e0 jour le<\/code> toujours <code>null<\/code> (ne sont pas demand\u00e9s en SQL).<\/p>\r\n\r\n    <h3>Param\u00e8tres de la requ\u00eate<\/h3>\r\n    <table>\r\n        <thead>\r\n            <tr>\r\n                <th>Param\u00e8tre<\/th>\r\n                <th>Type<\/th>\r\n                <th>Obligatoire<\/th>\r\n                <th>Description<\/th>\r\n                <th>Valeur par d\u00e9faut<\/th>\r\n            <\/tr>\r\n        <\/thead>\r\n        <tbody>\r\n            <tr>\r\n                <td><code>lang<\/code><\/td>\r\n                <td>cha\u00eene<\/td>\r\n                <td>Oui<\/td>\r\n                <td>Code de langue (par exemple, <code>de<\/code> pour l'allemand <code>fr<\/code> pour le fran\u00e7ais). Les codes courts sont normalis\u00e9s (de \u2192 de_de).<\/td>\r\n                <td>\u2014<\/td>\r\n            <\/tr>\r\n            <tr>\r\n                <td><code>page<\/code><\/td>\r\n                <td>entier<\/td>\r\n                <td>Non<\/td>\r\n                <td>Num\u00e9ro de page pour la pagination.<\/td>\r\n                <td>1<\/td>\r\n            <\/tr>\r\n            <tr>\r\n                <td><code>limite<\/code><\/td>\r\n                <td>entier<\/td>\r\n                <td>Non<\/td>\r\n                <td>Nombre de lignes par page (minimum 1, maximum 500).<\/td>\r\n                <td>100<\/td>\r\n            <\/tr>\r\n            <tr>\r\n                <td><code>mis \u00e0 jour depuis<\/code><\/td>\r\n                <td>cha\u00eene<\/td>\r\n                <td>Non<\/td>\r\n                <td>Filtre par date de mise \u00e0 jour (ISO8601, par exemple,) <code>2025-10-01T00:00:00Z<\/code>). Retourne uniquement les lignes mises \u00e0 jour apr\u00e8s cette date.<\/td>\r\n                <td>\u2014<\/td>\r\n            <\/tr>\r\n        <\/tbody>\r\n    <\/table>\r\n\r\n    <h3>Titres<\/h3>\r\n    <ul>\r\n        <li><code>Autorisation : Bearer {\u0442\u043e\u043a\u0435\u043d}<\/code> (obligatoire)<\/li>\r\n    <\/ul>\r\n\r\n    <h3>Exemple de requ\u00eate (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>Exemple de r\u00e9ponse (JSON)<\/h3>\r\n    <pre><code>{\n  \"keys\": [\n    {\n      \"key_id\": \"dictionary:123\",\n      \"original\": \"Hello World\",\n      \"translated\": \"Bonjour le monde\",\n      \"status\": 2,\n      \"created_at\": null,\n      \"updated_at\": null\n    },\n    {\n      \"key_id\": \"dictionary:124\",\n      \"original\": \"Welcome\",\n      \"translated\": \"Bienvenue\",\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>Description des champs dans la r\u00e9ponse<\/h3>\r\n    <table>\r\n        <thead>\r\n            <tr>\r\n                <th>Champ<\/th>\r\n                <th>Type<\/th>\r\n                <th>Description<\/th>\r\n            <\/tr>\r\n        <\/thead>\r\n        <tbody>\r\n            <tr>\r\n                <td><code>cl\u00e9_id<\/code><\/td>\r\n                <td>cha\u00eene<\/td>\r\n                <td>ID unique de la ligne\u00a0: <code>dictionnaire : {id}<\/code> (id \u2014 num\u00e9ro d'enregistrement dans le tableau <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>cha\u00eene<\/td>\r\n                <td>Texte original en anglais.<\/td>\r\n            <\/tr>\r\n            <tr>\r\n                <td><code>traduit<\/code><\/td>\r\n                <td>cha\u00eene<\/td>\r\n                <td>Traduction actuelle pour la langue sp\u00e9cifi\u00e9e (peut \u00eatre vide).<\/td>\r\n            <\/tr>\r\n            <tr>\r\n                <td><code>statut<\/code><\/td>\r\n                <td>entier<\/td>\r\n                <td>Statut : 0 \u2014 non traduit, 1 \u2014 en cours, 2 \u2014 traduit.<\/td>\r\n            <\/tr>\r\n            <tr>\r\n                <td><code>cr\u00e9\u00e9 le<\/code><\/td>\r\n                <td>cha\u00eene<\/td>\r\n                <td>Date de cr\u00e9ation (ISO8601 <code>null<\/code> \u2014 non demand\u00e9).<\/td>\r\n            <\/tr>\r\n            <tr>\r\n                <td><code>mis \u00e0 jour le<\/code><\/td>\r\n                <td>cha\u00eene<\/td>\r\n                <td>Date de la derni\u00e8re mise \u00e0 jour (ISO8601 <code>null<\/code> \u2014 non demand\u00e9).<\/td>\r\n            <\/tr>\r\n        <\/tbody>\r\n    <\/table>\r\n\r\n    <h3>M\u00e9tadonn\u00e9es<code>meta<\/code>)<\/h3>\r\n    <ul>\r\n        <li><code>total_count<\/code>Nombre total de lignes (y compris les filtres).<\/li>\r\n        <li><code>page<\/code>Page actuelle.<\/li>\r\n        <li><code>limite<\/code>Limite par page.<\/li>\r\n        <li><code>nombre de pages<\/code>Nombre total de pages.<\/li>\r\n        <li><code>page suivante<\/code>: URL de la page suivante<code>null<\/code>, si le dernier).<\/li>\r\n    <\/ul>\r\n\r\n    <h3>Erreurs<\/h3>\r\n    <ul>\r\n        <li>401\u00a0: En-t\u00eate Authorization absent ou incorrect.<\/li>\r\n        <li>403\u00a0: Jeton invalide.<\/li>\r\n        <li>404\u00a0: Langue non trouv\u00e9e dans TranslatePress (tableau manquant).<\/li>\r\n    <\/ul>\r\n<\/div>\r\n\r\n<div class=\"card\">\r\n    <h2>2. Mise \u00e0 jour des traductions (POST \/translations)<\/h2>\r\n\r\n    <p>Ce point de terminaison met \u00e0 jour les traductions pour plusieurs lignes \u00e0 la fois (lot). Un tableau d'objets avec l'ID de la ligne, la langue et la nouvelle traduction est transmis. Met \u00e0 jour le statut \u00e0 \"traduit\" (2) et le champ <code>mis \u00e0 jour le<\/code>.<\/p>\r\n\r\n    <h3>Corps de la requ\u00eate (JSON)<\/h3>\r\n    <p>Tableau <code>traductions<\/code> avec des objets\u00a0:<\/p>\r\n    <pre><code>{\n  \"translations\": [\n    {\n      \"key_id\": \"dictionary:123\",\n      \"language_iso\": \"de\",\n      \"translation\": \"Bonjour le monde\"\n    },\n    {\n      \"key_id\": \"dictionary:124\",\n      \"language_iso\": \"de\",\n      \"translation\": \"Bienvenue\"\n    }\n  ]\n}<\/code><\/pre>\r\n\r\n    <h3>Param\u00e8tres<\/h3>\r\n    <table>\r\n        <thead>\r\n            <tr>\r\n                <th>Champ dans l'objet<\/th>\r\n                <th>Type<\/th>\r\n                <th>Obligatoire<\/th>\r\n                <th>Description<\/th>\r\n            <\/tr>\r\n        <\/thead>\r\n        <tbody>\r\n            <tr>\r\n                <td><code>cl\u00e9_id<\/code><\/td>\r\n                <td>cha\u00eene<\/td>\r\n                <td>Oui<\/td>\r\n                <td>ID de la ligne\u00a0: <code>dictionnaire : {id}<\/code> (depuis GET \/keys).<\/td>\r\n            <\/tr>\r\n            <tr>\r\n                <td><code>code_iso_langue<\/code><\/td>\r\n                <td>cha\u00eene<\/td>\r\n                <td>Oui<\/td>\r\n                <td>Code de langue (de \u2192 de_de, normalis\u00e9 automatiquement).<\/td>\r\n            <\/tr>\r\n            <tr>\r\n                <td><code>traduction<\/code><\/td>\r\n                <td>cha\u00eene<\/td>\r\n                <td>Oui<\/td>\r\n                <td>Nouveau texte de traduction (conserv\u00e9 tel quel).<\/td>\r\n            <\/tr>\r\n        <\/tbody>\r\n    <\/table>\r\n\r\n    <h3>Titres<\/h3>\r\n    <ul>\r\n        <li><code>Autorisation : Bearer {\u0442\u043e\u043a\u0435\u043d}<\/code> (obligatoire)<\/li>\r\n        <li><code>Content-Type\u00a0: application\/json<\/code> (obligatoire)<\/li>\r\n    <\/ul>\r\n\r\n    <h3>Exemple de requ\u00eate (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\": \"Bonjour le monde\"\n      }\n    ]\n  }'<\/code><\/pre>\r\n\r\n    <h3>Exemple de r\u00e9ponse (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\": \"Cl\u00e9 introuvable dans la base de donn\u00e9es\"\n    }\n  ]\n}<\/code><\/pre>\r\n\r\n    <h3>Description des champs dans la r\u00e9ponse<\/h3>\r\n    <ul>\r\n        <li><code>traductions<\/code>Tableau des traductions mises \u00e0 jour avec succ\u00e8s (renvoie les donn\u00e9es d'entr\u00e9e + <code>modifi\u00e9 le<\/code> en ISO8601).<\/li>\r\n        <li><code>erreurs<\/code> (facultatif, en cas d'\u00e9checs) : Tableau des erreurs.\r\n            <ul>\r\n                <li><code>index<\/code>Indice de l\u2019\u00e9l\u00e9ment dans le tableau d\u2019origine.<\/li>\r\n                <li><code>cl\u00e9_id<\/code>: ID de la ligne probl\u00e9matique (le cas \u00e9ch\u00e9ant).<\/li>\r\n                <li><code>erreur<\/code>Texte d'erreur (exemples : \u00ab Champs requis manquants \u00bb, \u00ab Format de key_id invalide. Attendu : dictionary:{id} \u00bb, \u00ab Langue non trouv\u00e9e \u00bb, \u00ab Cl\u00e9 non trouv\u00e9e dans la base de donn\u00e9es \u00bb, \u00ab \u00c9chec de la mise \u00e0 jour de la base de donn\u00e9es \u00bb).<\/li>\r\n            <\/ul>\r\n        <\/li>\r\n    <\/ul>\r\n\r\n    <h3>Erreurs<\/h3>\r\n    <ul>\r\n        <li>400\u00a0: Donn\u00e9es incorrectes (vide\/pas un tableau) <code>traductions<\/code>, absence de champs).<\/li>\r\n        <li>401\/403\u00a0: Probl\u00e8mes d'autorisation.<\/li>\r\n        <li>404 : Langue ou cl\u00e9 introuvable (table\/enregistrement absent).<\/li>\r\n    <\/ul>\r\n<\/div>\r\n\r\n<div class=\"card\">\r\n    <h2>Langues prises en charge<\/h2>\r\n    <p>Les codes courts sont automatiquement normalis\u00e9s (sur la base du mappage dans le code). Pour les inconnus\u00a0: <code>{code}_{code}<\/code> (par exemple, pl \u2192 pl_pl).<\/p>\r\n    <ul>\r\n        <li>en \u2192 en_us<\/li>\r\n        <li>\u00e0<\/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>il<\/li>\r\n        <li>\u00e0<\/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>Obtention du jeton<\/h2>\r\n    <ul>\r\n        <li>Dans l'administration WordPress : Menu <strong>Synchronisation TP<\/strong> \u2192 Bouton \u00ab\u00a0Generate New Token\u00a0\u00bb (jeton de 32 caract\u00e8res, g\u00e9n\u00e9r\u00e9 automatiquement lors du premier lancement).<\/li>\r\n        <li>Le jeton est stock\u00e9 dans l'option <code>jeton_api_de_sync_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>Documentation API pour l'int\u00e9gration des traductions TranslatePress (TP Sync API) Documentation API pour l'int\u00e9gration des traductions TranslatePress (TP Sync API) Cette API fournit deux points de terminaison pour travailler avec les cha\u00eenes de traduction dans le plugin TranslatePress. La langue de base est l'anglais (en_us). Toutes les requ\u00eates n\u00e9cessitent une autorisation via un jeton Bearer (obtenu dans l'administration WordPress sous le menu \u00ab\u00a0TP Sync\u00a0\u00bb). URL de base : https:\/\/your-site.com\/wp-json\/tp-sync\/v1\/ 1. R\u00e9cup\u00e9ration [&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\/fr\/tp-sync-api\/\" \/>\n<meta property=\"og:locale\" content=\"fr_FR\" \/>\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\/fr\/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=\"Dur\u00e9e de lecture estim\u00e9e\" \/>\n\t<meta name=\"twitter:data1\" content=\"3 minutes\" \/>\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\":\"fr-FR\",\"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\":\"fr-FR\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/mapsly.com\/#organization\",\"name\":\"Mapsly\",\"url\":\"https:\/\/mapsly.com\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-FR\",\"@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\/fr\/tp-sync-api\/","og_locale":"fr_FR","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\/fr\/tp-sync-api\/","og_site_name":"Mapsly","article_modified_time":"2025-10-15T11:09:03+00:00","twitter_card":"summary_large_image","twitter_misc":{"Dur\u00e9e de lecture estim\u00e9e":"3 minutes"},"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":"fr-FR","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":"La carte CRM ultime","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":"fr-FR"},{"@type":"Organization","@id":"https:\/\/mapsly.com\/#organization","name":"Mapsly","url":"https:\/\/mapsly.com\/","logo":{"@type":"ImageObject","inLanguage":"fr-FR","@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\/fr\/wp-json\/wp\/v2\/pages\/22161","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/mapsly.com\/fr\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/mapsly.com\/fr\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/mapsly.com\/fr\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/mapsly.com\/fr\/wp-json\/wp\/v2\/comments?post=22161"}],"version-history":[{"count":7,"href":"https:\/\/mapsly.com\/fr\/wp-json\/wp\/v2\/pages\/22161\/revisions"}],"predecessor-version":[{"id":22168,"href":"https:\/\/mapsly.com\/fr\/wp-json\/wp\/v2\/pages\/22161\/revisions\/22168"}],"wp:attachment":[{"href":"https:\/\/mapsly.com\/fr\/wp-json\/wp\/v2\/media?parent=22161"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}