Outbound sync data structures
This page describes the data types, structures and examples for each field for each sync operation.
Outbound syncs require certain fields to be specific data types.
Supported Outbound Sync operations:
Note: 1. * means the field is REQUIRED to be filled and cannot be null. 2. enum fields only accepts certain terms as strings which are shown in its corresponding example.
Customer
Outbound Sync: Create
This operation creates a new customer in Shopify.
*first_name
string
John
*last_name
number
Smith
tags
string
first
phone
string
+60123456789
email
string
testexample@gmail.com
note
string
Bulk Customer
tax_exempt
boolean
TRUE | FALSE
Outbound Sync: Update
This operation updates the details of an existing customer in Shopify. Will not update if no existing customer ID is found.
*record_id
number
651023456789
first_name
string
John
last_name
number
Smith
tags
string
first
phone
string
+60123456789
email
string
testexample@gmail.com
note
string
Bulk Customer
tax_exempt
boolean
TRUE | FALSE
Outbound Sync: Upsert
This operation creates a customer if the customer has never been created with this sync operation. This operation will update the existing customer's details if the customer was previously created from this sync operation.
*record_id
number
651023456789
*first_name
string
John
*last_name
number
Smith
tags
string
first
phone
string
+60123456789
email
string
testexample@gmail.com
note
string
Bulk Customer
tax_exempt
boolean
TRUE | FALSE
Outbound Sync: Delete
This operation deletes an already existing customer. Will not delete if existing customer ID is not found.
*record_id
number
651023456789
Object Examples (Customer)
Objects or array of objects should not be empty. At least one field of the object should be present when performing a sync operation.
Product
Outbound Sync: Create
This operation creates a new product in Shopify.
*title
string
Computer Laptop 32 inch
body_html
string
Silent, powerful and affordable laptop!
product_type
string
Laptop
published_scope
string (enum)
web | global
status
string (enum)
active | archived | draft
tags
string
Affordable, Big Screen
vendor
string
Steve Jobs
Outbound Sync: Update
This operation updates the details of an existing product in Shopify. Will not update if no existing product ID is found.
*record_id
number
632910392
title
string
Computer Laptop 32 inch
body_html
string
Silent, powerful and affordable laptop!
product_type
string
Laptop
published_scope
string (enum)
web | global
status
string (enum)
active | archived | draft
tags
string
Affordable, Big Screen
vendor
string
Steve Jobs
Outbound Sync: Upsert
This operation creates a product if the product has never been created with this sync operation. This operation will update the existing product's details if the product was previously created from this sync operation.
*record_id
number
632910392
*title
string
Computer Laptop 32 inch
body_html
string
Silent, powerful and affordable laptop!
product_type
string
Laptop
published_scope
string (enum)
web | global
status
string (enum)
active | archived | draft
tags
string
Affordable, Big Screen
vendor
string
Steve Jobs
Outbound Sync: Delete
This operation deletes an already existing product. Will not delete if existing product ID is not found.
*record_id
number
632910392
Object Examples (Product)
Each variant item in the object can accept more parameters than stated in the example.
Reference: https://shopify.dev/docs/api/admin-rest/2024-07/resources/product-variant
Order
Outbound Sync: Create
This operation creates a new order in Shopify.
email
string
testuser@example.com
phone
string
+60123456789
financial_status
string (enum)
pending | paid | authorized | partially_paid | partially_refunded | refunded | voided
tax_lines
will fail if line_items have tax_lines object
array of objects
fulfillment_status
string
fulfilled | null | partial | restocked
note
string
Bulk order
buyer_accepts_marketing
boolean
TRUE | FALSE
tags
string
RTX, Intel, SSD, Music
The entire create operation for the record will FAIL if the line_items field, which also accepts a tax_lines field in the object, has a present tax_lines field as part of the object.
It is advisable to fill the tax_lines field as part of each item if each individual item has it's own tax details.
If all items share the same tax details, it is advisable to not have any tax_lines objects in each line_item but part of the optional parameter instead.
In Object Examples (Order) demonstrates the usage of the tax_lines object in line_items.
Outbound Sync: Update
This operation updates the details of an existing order in Shopify. Will not update if no existing order ID is found.
*record_id
number
50123456789
note
string
Bulk order
buyer_accepts_marketing
boolean
TRUE | FALSE
tags
string
RTX, Intel, SSD, Music
customer
null
null
The customer field only accepts a null argument. This will remove the customer that placed the order. Shopify API has not provided a way to insert an existing customer into an order after creation.
Outbound Sync: Upsert
This operation creates an order if the order has never been created with this sync operation. This operation will update the existing order's details if the product was previously created from this sync operation.
*line_items
array of objects
Example under "Object Examples"
*record_id
number
50123456789
email
string
testuser@example.com
phone
string
+60123456789
financial_status
string (enum)
pending | paid | authorized | partially_paid | partially_refunded | refunded | voided
tax_lines
will fail if line_items have tax_lines object
array of objects
fulfillment_status
string (enum)
fulfilled | null | partial | restocked
note
string
Bulk order
buyer_accepts_marketing
boolean
TRUE | FALSE
tags
string
RTX, Intel, SSD, Music
If this operation performs a create operation, the customer field will be able to accept the object.
If this operation performs an update operation, the customer field can only accept a null object. If this field remains filled with a customer object, it will be ignored and the corresponding customer will not be updated in the order. A null object will remove the customer from the order.
Outbound Sync: Delete
This operation deletes an already existing order. Will not delete if existing order ID is not found.
*record_id
number
50123456789
Object Examples (Order)
Fulfillment
Outbound Sync: Create
This operation fulfills an existing unfulfilled order's items given the fulfillment order ID. Orders that have all items fulfilled will be marked as fulfilled. Orders that have only part of it's items fulfilled will be marked as partially fulfilled.
message
string
Leave at doorstep
notify_customer
boolean
TRUE | FALSE
Outbound Sync: Update
This operations updates an existing fulfilled order's details, such as the tracking information and delivery company.
*record_id
number
4123456789
notify_customer
boolean
TRUE | FALSE
Outbound Sync: Upsert
This operation will fulfill an order if the order has never been fulfilled with this sync operation. This operation will update the existing fulfillment's details if the order was previously fulfilled from this sync operation.
*record_id
number
4123456789
notify_customer
boolean
TRUE | FALSE
Outbound Sync: Delete
This operation will unfulfill an order, changing the items of orders from fulfilled into unfulfilled state.
*record_id
number
4123456789
Object Examples (Fulfillment)
Last updated