Product Insert
This tutorial explains how the Product Insert process works for the Trendyol integration in the Marketplace Dashboard: which products are picked up, which requests are made to Omnitron and Trendyol (with example data), how the end-to-end process works, and how to read the error codes it produces.
What is Product Insert?
Product Insert sends products that exist in the Omnitron catalog but have not been successfully listed on Trendyol yet — either because they were never sent before, or because they were sent but are still waiting for Trendyol's approval. On the Logs screen, this process appears under the flow name Product Create.
When Does It Run?
Controlled by the
send_products_insertedfeature flag in the channel settings. When active, it runs automatically every 5 minutes.It can also be triggered manually from the Dashboard screen. Manual triggering from the Dashboard only covers the create (insert) process — it does not trigger updates of already-listed products.
Runs are not overlapped: if a previous run of this flow is still in progress when the next 5-minute mark is reached, the new run waits for the running one to finish before it starts.
Which Products Are Eligible?
By default (unless the channel's only_valid_products setting is disabled), a product is picked up only if it has:
Stock greater than or equal to 0 or 1, depending on the
send_products_with_stock_onlychannel setting (see below)A Category assigned
A Price greater than 0
At least one Product Image
Fetching Products from Omnitron
Eligible products are fetched from Omnitron's catalog with a request such as:
Example (simplified) response:
For each product returned, Omnitron is queried again to collect its mapped attributes, price, stock, category, and required attribute values — this combined data is what gets converted into the Trendyol payload in the next step.
Checking the Product's Current Status on Trendyol
Before deciding how to send a product, Trendyol is asked whether the product already exists there:
404 → the product does not exist on Trendyol yet → it will be sent as a new product.
200,
"approved": false→ the product already exists on Trendyol but is still unapproved → it will be sent through the unapproved-update request instead of being created again.
Sending Products to Trendyol
Depending on the check above, products are grouped and sent to Trendyol in one of two batch requests:
New products:
Products that already exist but are still unapproved:
Example request body (same schema for both endpoints):
Where Each Field Comes From
title
Mapped attribute Title
product.name
barcode
Mapped attribute RemoteId
product.sku
stockCode
Mapped attribute StockCode
product.sku
productMainId
Mapped attribute RemoteBaseCode
The product's parent product's ID (if it's a variant); if there's no parent, the product's own ID
categoryId
The category mapped to this product via the Mapper
— (required; the product stops earlier with 2005 if missing)
description
Mapped attribute Description
Empty string ""
dimensionalWeight
Mapped attribute DimensionWeight, then DimensionalWeight
1
currencyType
Mapped attribute CurrencyType
"TRY"
quantity
—
Always 0 (see hint above)
listPrice
Omnitron's retail price for the product
—
salePrice
Omnitron's sale price for the product
—
vatRate
Omnitron's tax rate, converted to a whole number
0
images
The product's images in Omnitron
Only the first 8 are sent — any beyond that are not included
Trendyol processes this request asynchronously and immediately returns a batch ID:
Delivery Duration and Other Optional Fields
Four extra fields are only included in the create payload if the product has the matching mapped attribute set in Omnitron (via the Mapper) — if a mapped attribute is empty, its field is left out of the payload entirely and Trendyol falls back to its own default for that product/category:
ShippingLatency
deliveryOption.deliveryDuration
Sent as a whole number (e.g. number of days).
CargoCompanyId
cargoCompanyId
Sent as a number.
ReturningAddressid
returningAddressId
ShipmentAddressId
shipmentAddressId
Checking the Result
The batch result is checked periodically (about every 40 seconds) until Trendyol marks it as completed:
How the Process Works — Summary
Eligible products are fetched from Omnitron.
Each product is enriched with its price, stock, category, mapped attributes, required attribute values, and its current status on Trendyol.
Required fields are validated; a product with missing data stops here with the relevant error code (see below).
Valid products are converted into Trendyol's product schema and split into new vs. unapproved-update groups (delivery duration, cargo company, and address fields are added here if mapped — see Delivery Duration and Other Optional Fields).
Each group is sent to Trendyol as a batch request.
The batch result is polled until Trendyol reports it as completed.
For accepted barcodes, Trendyol's content ID is fetched and stored.
The outcome of every product is written back and becomes visible on the Logs screen.
Approval Is Required for a Real Success
Products that are accepted by Trendyol's batch request move into Trendyol's approval stage — they are not yet approved.
Within this flow, only a product that is already approved on Trendyol is logged as success. A product that was accepted and moved into the approval stage is still logged as fail here, with error code
2026("waiting for marketplace approval"), until it actually gets approved.Products in the approval stage are not individually re-checked one by one. Instead, the Get Listing Products flow periodically pulls the products Trendyol has approved within the last 2 weeks and matches them against the corresponding products in Omnitron. Depending on Trendyol's review time, a product's approval is typically reflected this way within 4 to 48 hours after it was sent.
Monitoring
From the left menu, go to Trendyol > Marketplace Operations > Logs.
Filter by flow name Product Create.

Use the SKU or Execution ID filters to locate a specific product.

Error Codes and Explanations
2001
Mapping information did not come from Omnitron — the product has not been mapped through the Mapper.
2002
Attribute configuration information did not come from Omnitron.
2003
Stock information did not come from Omnitron.
2004
Price information did not come from Omnitron.
2005
Category information did not come from Omnitron.
2006
A required attribute value cannot be empty.
2007
An error occurred while posting the product to Trendyol.
2008
The product was sent to Trendyol but came back with a failed result.
2009
The product did not come back with a result from Trendyol.
2014
An error occurred while fetching product data from Omnitron.
2015
An unexpected error occurred while preparing the data to be sent to Trendyol.
2016
An unexpected error occurred while checking the data returned from Trendyol.
2017
An error occurred while moving the product records into processing.
2026
The product has passed Trendyol's approval process and is waiting for marketplace approval — see Approval Is Required for a Real Success above.
Related Settings
Category Ids and Mapper — determine which categories and attributes products can be mapped to.
send_products_insertedfeature flag — enables/disables the automatic 5-minute run of this process.Failed Integration settings — control how long and how often failed products are retried.
Last updated
Was this helpful?

