All Collections
For Developers
Crystal E-Commerce Integration - WooCommerce Mappings
Crystal E-Commerce Integration - WooCommerce Mappings

Description of the field mappings between Crystal and WooCommerce.

Jeff Hanrahan avatar
Written by Jeff Hanrahan
Updated over a week ago

Our e-commerce middleware retrieves e-commerce products that have been added or updated since the last successful sync. Each of these products is then compared with the inventory on the integration platform and inserted or updated accordingly. Sync is one-direction so changes made to products on the integration provider are not synced back to Crystal, and changes made in Crystal will overwrite their corresponding values in the integration when an update is performed.

Data coming from Crystal

Ecom Products: (api: /v1/ecom/products)

Product

Property

Type

Crystal source

id

string

products.uuid

vendor

n/a

item_type

n/a

product_number

string

products.product_number

name

string

products.ecom_title

description

string

products.ecom_description

short_description

string

products.ecom_short_description

images

string[]

products.ecom_images

tags

string[]

product.ecom_tags

allow_backorder

boolean

products.ecom_allow_backorder

quantity

number

calculated @ backened

price

number

products.price

created

string

products.created

last_updated

string

products.last_updated

is_visible

boolean

calculated: always true

Child Types

Vendor

Property

Type

Crystal source

id

string

accounts.uuid

name

string

accounts.ecom_name

code

string

accounts.code

ItemType

Property

Type

Crystal source

id

string

product_types.uuid

name

string

product_types.name

Products

WooCommerce Product

Crystal Product

sku

uuid (this has to be done for Crystal to properly identify items)

backorders

allow_backorder

catalog_visibility

is_visible - ‘visible’ or ‘hidden’ based on boolean flag

description

description

short_description

short_description

images

images - mapped to object with ‘src’ property

name

name

regular_price

price

slug

If name != product_number

name.toLowerCase().split(‘ ‘).join(‘-’)-product_number

else defaults to name

stock_quantity

quantity

stock_status

if quantity > 0 -> ‘instock’

if quantity = 0 & allow_backorder = true -> ‘onbackorder’

if quantity = 0 & allow_backorder = false -> ‘outofstock’

WooCommerce Orders

WooCommerce Order

Crystal Order

id

order_number

date_paid_gmt converted to UTC

date

line_items - {

item.sku -> id,

item.quantity -> quantity

}

products

tax_lines combined by rate_percent

tax_rate

customer

customer

total

payment amount

Did this answer your question?