diff --git a/sync-service/src/main/java/com/teterialosjuanjos/tfg/sync_service/config/IntegrationProperties.java b/sync-service/src/main/java/com/teterialosjuanjos/tfg/sync_service/config/IntegrationProperties.java index d911d28..519e388 100644 --- a/sync-service/src/main/java/com/teterialosjuanjos/tfg/sync_service/config/IntegrationProperties.java +++ b/sync-service/src/main/java/com/teterialosjuanjos/tfg/sync_service/config/IntegrationProperties.java @@ -31,10 +31,13 @@ public record IntegrationProperties( * @param baseUrl full API base URL, e.g. {@code https://host/tienda/api} * @param apiKey webservice key sent as {@code ws_key} query param * @param defaultCategoryId PrestaShop category ID assigned to new products (default: 2 = Home) + * @param languageId PrestaShop language ID used for all multilingual fields (name, description, etc.) + * Check yours at GET /api/languages. Default 1 is usually English; set to Spanish ID. */ public record Prestashop( @NotBlank String baseUrl, @NotBlank String apiKey, - int defaultCategoryId + int defaultCategoryId, + int languageId ) {} } diff --git a/sync-service/src/main/java/com/teterialosjuanjos/tfg/sync_service/integration/prestashop/PrestashopClient.java b/sync-service/src/main/java/com/teterialosjuanjos/tfg/sync_service/integration/prestashop/PrestashopClient.java index ec97ea5..dbd8315 100644 --- a/sync-service/src/main/java/com/teterialosjuanjos/tfg/sync_service/integration/prestashop/PrestashopClient.java +++ b/sync-service/src/main/java/com/teterialosjuanjos/tfg/sync_service/integration/prestashop/PrestashopClient.java @@ -32,6 +32,7 @@ public class PrestashopClient { private final RestClient restClient; private final String wsKey; + private final String languageId; public PrestashopClient( @Qualifier("prestashopRestClient") RestClient restClient, @@ -39,6 +40,7 @@ public class PrestashopClient { ) { this.restClient = restClient; this.wsKey = props.prestashop().apiKey(); + this.languageId = String.valueOf(props.prestashop().languageId()); } // ── Products ────────────────────────────────────────────────────────── @@ -312,10 +314,10 @@ public class PrestashopClient { sb.append("1"); sb.append("1"); sb.append("both"); - sb.append("").append(escapeXml(slug)).append(""); - sb.append("").append(escapeXml(name)).append(""); - sb.append("").append(escapeXml(description)).append(""); - sb.append("").append(escapeXml(descShort)).append(""); + sb.append("").append(escapeXml(slug)).append(""); + sb.append("").append(escapeXml(name)).append(""); + sb.append("").append(escapeXml(description)).append(""); + sb.append("").append(escapeXml(descShort)).append(""); List cats = (dto.categoryIds() != null && !dto.categoryIds().isEmpty()) ? dto.categoryIds() : (dto.idCategoryDefault() != null ? List.of(dto.idCategoryDefault()) : List.of()); diff --git a/sync-service/src/main/resources/application.yml b/sync-service/src/main/resources/application.yml index d4c7146..3598a3a 100644 --- a/sync-service/src/main/resources/application.yml +++ b/sync-service/src/main/resources/application.yml @@ -16,6 +16,7 @@ integration: base-url: ${PRESTASHOP_BASE_URL:https://prestashop.loading.net/tienda/api} api-key: ${PRESTASHOP_API_KEY} default-category-id: 2 + language-id: ${PRESTASHOP_LANGUAGE_ID:1} # set to your Spanish language ID (check GET /api/languages) api: security: