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.
Field Name | Type | Example |
---|---|---|
* | string | John |
* | number | Smith |
| string | first |
| string | +60123456789 |
| string | testexample@gmail.com |
| string | Bulk Customer |
| boolean | TRUE | FALSE |
| object | |
| object | |
| array of objects |
Outbound Sync: Update
This operation updates the details of an existing customer in Shopify. Will not update if no existing customer ID is found.
Field Name | Type | Example |
---|---|---|
* | number | 651023456789 |
| string | John |
| number | Smith |
| string | first |
| string | +60123456789 |
| string | testexample@gmail.com |
| string | Bulk Customer |
| boolean | TRUE | FALSE |
| object | |
| object | |
| array of objects |
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.
Field Name | Type | Example |
---|---|---|
* | number | 651023456789 |
* | string | John |
* | number | Smith |
| string | first |
| string | +60123456789 |
| string | testexample@gmail.com |
| string | Bulk Customer |
| boolean | TRUE | FALSE |
| object | |
| object | |
| array of objects |
Outbound Sync: Delete
This operation deletes an already existing customer. Will not delete if existing customer ID is not found.
Field Name | Type | Example |
---|---|---|
* | 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.
Field Name | Type | Example |
---|---|---|
* | string | Computer Laptop 32 inch |
| string | Silent, powerful and affordable laptop! |
| string | Laptop |
| string (enum) | web | global |
| string (enum) | active | archived | draft |
| string | Affordable, Big Screen |
| array of objects | |
| 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.
Field Name | Type | Example |
---|---|---|
* | number | 632910392 |
| string | Computer Laptop 32 inch |
| string | Silent, powerful and affordable laptop! |
| string | Laptop |
| string (enum) | web | global |
| string (enum) | active | archived | draft |
| string | Affordable, Big Screen |
| array of objects | |
| 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.
Field Name | Type | Example |
---|---|---|
* | number | 632910392 |
* | string | Computer Laptop 32 inch |
| string | Silent, powerful and affordable laptop! |
| string | Laptop |
| string (enum) | web | global |
| string (enum) | active | archived | draft |
| string | Affordable, Big Screen |
| array of objects | |
| string | Steve Jobs |
Outbound Sync: Delete
This operation deletes an already existing product. Will not delete if existing product ID is not found.
Field Name | Type | Example |
---|---|---|
* | 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.
Field Name | Type | Example |
---|---|---|
* | array of objects | |
| string | testuser@example.com |
| string | +60123456789 |
| object | |
| object | |
| array of objects | |
| string (enum) | pending | paid | authorized | partially_paid | partially_refunded | refunded | voided |
| array of objects | |
| object | |
| string | fulfilled | null | partial | restocked |
| string | Bulk order |
| array of objects | |
| boolean | TRUE | FALSE |
| 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.
Field Name | Type | Example |
---|---|---|
* | number | 50123456789 |
| string | Bulk order |
| array of objects | |
| boolean | TRUE | FALSE |
| string | RTX, Intel, SSD, Music |
| string | |
| object | |
| 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.
Field Name | Type | Example |
---|---|---|
* | array of objects | Example under "Object Examples" |
* | number | 50123456789 |
| string | testuser@example.com |
| string | +60123456789 |
| object | |
| object | |
| array of objects | |
| string (enum) | pending | paid | authorized | partially_paid | partially_refunded | refunded | voided |
| array of objects | |
| object | null | |
| string (enum) | fulfilled | null | partial | restocked |
| string | Bulk order |
| array of objects | |
| boolean | TRUE | FALSE |
| 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.
Field Name | Type | Example |
---|---|---|
* | 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.
Field Name | Type | Example |
---|---|---|
* | array of objects | |
| string | Leave at doorstep |
| boolean | TRUE | FALSE |
| object | |
| object |
Outbound Sync: Update
This operations updates an existing fulfilled order's details, such as the tracking information and delivery company.
Field Name | Type | Example |
---|---|---|
* | number | 4123456789 |
| object | |
| 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.
Field Name | Type | Example |
---|---|---|
* | array of objects | |
* | number | 4123456789 |
| object | |
| boolean | TRUE | FALSE |
Outbound Sync: Delete
This operation will unfulfill an order, changing the items of orders from fulfilled into unfulfilled state.
Field Name | Type | Example |
---|---|---|
* | number | 4123456789 |
Object Examples (Fulfillment)
Last updated