What data is imported from Shopware 6 into Custobar?
Do you need to know in more detail what data is imported from Shopware 6 into Custobar when you use Custobar’s Shopware 6 integration?
In the following tables you can see which fields are updated to Custobar from the fields available in Shopware 6 and how they are mapped.
Customers
Source: Shopware customer entity
Custobar datatype: customers
|
Custobar Field |
Shopware Source |
Notes |
|---|---|---|
|
external_id |
customerNumber |
null if guest or import_customers_without_id=true |
|
shopware6_customer_id |
id |
Internal Shopware UUID |
|
shopware6_customer_number |
customerNumber |
Always populated |
|
shopware6_guest |
guest |
Boolean |
|
first_name |
firstName |
|
|
last_name |
lastName |
|
|
|
|
|
|
shopware6_salutation_displayname |
salutation |
Extracted display name (e.g. "Mr.") |
|
shopware6_salutation_lettername |
salutation |
Extracted letter name (e.g. "Dear Mr.") |
|
company |
company |
|
|
language |
language.translationCode.code |
Shortened to 2-letter code (e.g. fi from fi-FI) |
|
birth_date |
birthday |
Formatted as YYYY-MM-DD |
|
country |
defaultBillingAddress.country.iso |
Lowercased ISO code (e.g. fi) |
|
city |
defaultBillingAddress.city |
|
|
street_address |
defaultBillingAddress.street |
|
|
zip_code |
defaultBillingAddress.zipcode |
|
|
last_login |
lastLogin |
Converted to UTC datetime |
|
tags |
tags[].name |
Array of tag name strings |
|
shop_id |
salesChannel.id |
Shopware sales channel UUID |
|
shopware6_shop_domain |
PARAMETERS.domain |
From integration config |
|
can_email |
newsletter |
Boolean newsletter opt-in |
Newsletter Recipients (Events)
Source: Shopware newsletter_recipient entity
Custobar datatype: events
Trigger: Webhooks (newsletter.register, .confirm, .unsubscribe) + scheduled fetch every 1h
Fetch endpoint: POST /api/search/newsletter-recipient/
|
Custobar Field |
Shopware Source |
Notes |
|---|---|---|
|
|
|
|
|
first_name |
firstName |
|
|
last_name |
lastName |
|
|
customer_language |
language.translationCode.code |
Shortened to 2-letter code |
|
shop_id |
salesChannel.id |
|
|
type |
status (mapped) |
See status mapping below |
|
mailing_lists |
salesChannel.name |
Channel name used as list name |
|
shopware6_sales_channel_name |
salesChannel.name |
Newsletter status → Custobar event type mapping:
|
Shopware status |
Custobar type |
|---|---|
|
notSet |
MAIL_PRE_SUBSCRIBE |
|
optOut |
MAIL_UNSUBSCRIBE |
|
direct |
MAIL_SUBSCRIBE |
|
optIn |
MAIL_SUBSCRIBE |
Products
Source: Shopware product entity
Custobar datatype: products
Trigger: product.written webhook (real-time)
|
Custobar Field |
Shopware Source |
Notes |
|---|---|---|
|
external_id |
productNumber |
Used as primary product identifier |
|
title |
name |
|
|
price |
price[].listPrice.gross or price[].gross |
In cents; uses listPrice if available and > 0; falls back to price[0] if no currency match |
|
sale_price |
price[].gross |
In cents; only set when listPrice exists and > 0 (i.e. item is on sale) |
|
description |
metaDescription |
SEO meta description |
|
brand |
manufacturer.name |
|
|
ean |
ean |
EAN/GTIN barcode |
|
visible |
active |
Boolean |
|
in_stock |
stock |
Truthy cast of stock quantity |
|
url |
seoUrls + PARAMETERS.domain |
Full canonical URL, e.g. https://{domain}/{seoPath} |
|
image |
cover.media.url |
Cover image URL |
|
weight |
weight |
Formatted as "{value} kg" |
|
tags |
tags[].name |
Array of tag name strings |
|
categories |
categories[].name |
Array of category name strings |
|
shopware6_parent_id |
parentId |
UUID of parent product (variants) |
|
shopware6_product_id |
id |
Internal Shopware UUID |
|
shopware6_product_number |
productNumber |
Price logic: The integration first looks for a price entry matching PARAMETERS.default_currency_id. If found and a listPrice exists (sale scenario), price = list price (original), sale_price = gross price (discounted). If no currency match, falls back to price[0].
Sales (Orders)
Source: Shopware order entity
Custobar datatype: sales
Trigger: order.written, order_transaction.written, order_delivery.written webhooks
|
Custobar Field |
Shopware Source |
Notes |
|---|---|---|
|
sale_external_id |
id |
Shopware order UUID |
|
sale_date |
orderDateTime |
|
|
sale_email |
orderCustomer.email |
|
|
sale_customer_id |
orderCustomer.customer.customerNumber |
null if guest order |
|
sale_shop_id |
salesChannel.id |
|
|
sale_shopware6_order_number |
orderNumber |
Human-readable order number |
|
tags |
tags[].name |
Array of tag name strings |
|
sale_payment_method |
transactions[].paymentMethod.name |
Unique payment method names |
|
sale_shipping_method |
deliveries[-1].shippingMethod.name |
Most recent delivery's method |
|
sale_shopware6_latest_payment_status |
transactions[-1].stateMachineState.technicalName |
Most recent transaction state |
|
sale_shopware6_latest_delivery_status |
deliveries[-1].stateMachineState.technicalName |
Most recent delivery state |
|
sale_state |
stateMachineState.technicalName (mapped) |
See state mapping below |
|
sale_currency |
currency.isoCode |
Only set if matches company currency |
|
sale_exchange_rate |
(derived) |
Only set if foreign currency |
|
sale_shipping |
shippingTotal (in cents) |
In company currency; null if foreign |
|
sale_shipping_in_currency |
shippingTotal (in cents) |
In order currency; null if company currency |
|
sale_total |
amountTotal (in cents) |
In company currency; null if foreign |
|
sale_total_in_currency |
amountTotal (in cents) |
In order currency; null if company currency |
|
sale_shopware6_shop_domain |
PARAMETERS.domain |
From integration config |
|
sale_coupon_codes |
lineItems[promotionId].payload.code |
Promotion codes used |
|
sale_shopware6_coupon_labels |
lineItems[promotionId].label |
Promotion names |
|
sale_rows |
lineItems[] |
See Sale Line Items below |
Order state → Custobar sale_state mapping:
|
Shopware technicalName |
Custobar sale_state |
|---|---|
|
open |
NEW |
|
in_progress |
IN_PROGRESS |
|
completed |
COMPLETED |
|
cancelled |
CANCELLED |
Sale Line Items (Rows)
Source: order.lineItems[] (nested within each sale)
Mapped into: sale_rows array on the Sales record
|
Custobar Field |
Shopware Source |
Notes |
|---|---|---|
|
product_id |
ROW.payload.productNumber |
Links to product external_id |
|
quantity |
ROW.quantity |
|
|
total |
ROW.totalPrice |
In cents |
|
product_title |
ROW.label |
Product name at time of order |
|
unit_price |
ROW.unitPrice |
In cents; only in company currency (otherwise null) |
|
unit_price_in_currency |
ROW.unitPrice |
In cents; only in foreign currency (otherwise null) |