[ADD] marketplace product sync framework (Trendyol + Hepsiburada)#285
Open
yibudak wants to merge 1 commit into
Open
[ADD] marketplace product sync framework (Trendyol + Hepsiburada)#285yibudak wants to merge 1 commit into
yibudak wants to merge 1 commit into
Conversation
Pull common product-sync logic into marketplace_integration_base via four abstract mixins (product binding, category, brand, batch request) so future marketplaces plug in cleanly. Add product.template fields for desi / warranty / lot / video URL, an image_url Char on base_multi_image.image to drive multi-image payloads, and is_published_<marketplace> Booleans on template / product / category mirroring altinkaya_ecommerce's is_published. trendyol_integration: refactor binding/category/brand/batch onto the new mixins, expand the create payload to include up to 8 images, lotNumber, deliveryOption, shipmentAddressId/returningAddressId, and a category-level cargoCompanyId override; add v2 API endpoints (create / content-bulk-update / content-update); add backend defaults for shipment/returning addresses and delivery duration. hepsiburada_integration: build the full catalog + listing flow from scratch -- mpop and listing service URLs, ~17 new client methods covering products/import (multipart), product-status polling, all listing uploads, activate/deactivate; new hepsiburada.category (with attribute + value sub-models), hepsiburada.brand, hepsiburada.product.binding, hepsiburada.batch.request; product export and category sync wizards; queue channels root.hepsiburada.product / .stock; crons for stock-price sync and batch polling; ACLs and views for all new models plus menus. Translations: drop all non-Turkish .po files and complete tr.po for the three modules (1460 entries filled, including 146 already-Turkish legacy Altinkaya field labels passed through verbatim). Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
marketplace_integration_base(4 abstract mixins: product binding, category, brand, batch request) plus sharedproduct.templatefields for desi / warranty / lot / video URL, animage_urlChar onbase_multi_image.imagefor multi-image payloads, and a backend extension coveringauto_export_products,auto_sync_stock_price,last_product_sync, etc.trendyol_integrationonto the new mixins and expands the v1 payload to include up to 8 images,lotNumber,deliveryOption{deliveryDuration, fastDeliveryType},shipmentAddressId,returningAddressId, plus a category-levelcargoCompanyIdoverride; adds v2 endpoints (create_products_v2,update_approved_products,update_unapproved_products).mpopandlistingservice URLs, ~17 new client methods,hepsiburada.{category, brand, product.binding, batch.request}models, product-export + category-sync wizards, queue channels (root.hepsiburada.product/.stock), crons for stock-price sync and batch polling, ACLs, views, menus.is_published_trendyol/is_published_hepsiburadaBooleans onproduct.template,product.product,product.category(mirrors the existingis_publishedpattern fromaltinkaya_ecommerce)..pofiles and completes Turkish translations (1460 entries, including 146 already-Turkish legacy Altinkaya field labels passed through verbatim).Test plan
-u marketplace_integration_base,trendyol_integration,hepsiburada_integrationand confirm the upgrade completes without error.default_cargo_company_external_id,default_shipment_address_id,default_returning_address_id,default_delivery_duration,default_fast_delivery_type) and verifyTest Connectionpasses.Test Connectionpasses.Sync Categories+Sync Brandson Trendyol; run the new HB category-sync wizard and verify categories + leaf attributes appear.is_published_trendyol/is_published_hepsiburada; setimage_urlon a fewbase_multi_image.imagerecords.Export to Trendyol/Submit to HB Catalogand confirm the queue jobs hit the marketplace APIs and create batch_request rows.lotNumber,deliveryOption; confirm HB payload containsImage1..Image5,Marka,GarantiSuresi.last_sent_quantity/last_sent_pricemachinery).is_published_trendyol = Falseand confirm it falls out of the export domain.pre-commit run -apasses onrepos/odoo-addons/.🤖 Generated with Claude Code