Skip to content

Trendyol changelog

First stable release: product creation, stock and price sync and order import have run against a live Trendyol account.

  • Update Content of Listed Products (Products, default No): the title, description, images and attributes of products already approved on Trendyol follow the site, products listed before the module included; so do their variant fields: stock code (the SKU, which a product listed by hand may lack), VAT, dimensional weight, addresses. Checked every hour and in Sync Now; only contents that changed are sent, a configurable product’s once for all its variants. Barcode, category, variant attributes and brand stay as approved. slova:trendyol:products --content [--full] runs it by hand.
  • Sync Now on the listings page: queues a sync (new products, changed stock and prices, changed contents, Trendyol’s results) that cron starts within a minute. While it runs, the page shows the step in progress and the results of the steps done, and refreshes itself.
  • Rules in an attribute mapping’s translations: <= number, <= width x height (cm or mm, either orientation, thickness ignored) and * for the rest, e.g. a book format into Trendyol’s “Dimensiuni”. A value is translated as a whole before it is split as a list, so “19,5 × 22 cm” is not cut at its comma. A date attribute is matched by its year (“Anul publicării”).
  • Admin message when products could not be listed, with a link to the reasons in Trendyol Listings.
  • Unit tests: name and number matching, translations and lists, addresses, barcodes, settings, the sync queue, content updates.
  • Examples in the settings and documentation no longer use a real shop’s brand, addresses or authors.
  • Text helpers are an injectable class instead of static methods; hashes are SHA-256 (Magento coding standard: 0 errors).
  • Orders were not imported (“Call to a member function getStoreId() on null”): the quote is saved before its payment method is set, since Magento attaches the payment to a saved quote only. Found on the first live order.

  • Orders were refused at placement: the Trendyol payment method declares it can authorize (its payment action), so the order is placed in Processing; and the address is cleaned to the rules Magento applies to a guest’s address whatever the quote says (no digits in a city: “Sector 3” goes with the street; no “/” in a street; phone characters only).

  • A number read from a product (“288” pages) was taken as a Trendyol value ID; only a translation’s target is now.

  • A number falling in several of an attribute’s ranges (“0 - 10”, “6 - 12”, “10+”) now takes the narrowest one, not the first listed.

  • When Trendyol refuses a whole create or stock / price request over one product, the products are sent again one by one: the bad one is marked failed with the reason, the others go. Before, the run stopped and the same request was retried every run.

  • Linking products already on Trendyol adopts a product that was queued, or refused as a duplicate (“already exists”), in the meantime; before, it was skipped and reported as matching no product.

First version, written for and deployed on caruselbooks.ro (installed, switched off).

  • Trendyol API client: Basic auth, required User-Agent and storeFrontCode, retries on 429 / 5xx, dedicated log.
  • Settings with encrypted credentials and Test Connection.
  • Category mapping screen: Trendyol category search; a Magento category without a mapping of its own takes its nearest mapped parent’s.
  • Attribute mapping: from a Magento attribute matched by name (case, punctuation, diacritics and word order aside, numbers to ranges, lists split), with per-value translations; or a fixed value or text. Settings shared by every Trendyol category with the same attributes.
  • Long value lists (168,000 authors) read once per attribute within Trendyol’s request limit and kept in var/ for a week; values Trendyol does not have are left out and reported on the listing.
  • Product creation (Product API v2) for products marked List on Trendyol: configurable products as variants, bundles optionally (stock of the scarcest item, code made from the SKU), brand lookup with overrides, own Trendyol Barcode optional, pre-order / upcoming products held back.
  • Batch result tracking; Trendyol Listings grid with Send Again and Stop Selling.
  • Stock and price sync: list price = regular price, sale price = final price, VAT included, price adjustment, stock buffer; changes every 10 minutes, everything nightly.
  • Linking of products already on Trendyol by barcode, separators ignored.
  • Order import from the package stream: guest orders priced as paid on Trendyol, no customer e-mail, no cart rules, bundles with their default items; cancellations, tracking numbers, Magento shipment when shipped; Picking reported on Processing; label download; events for other modules.