This article will help you learn about how Daasity replicates data from Newstore, limitations to the data we can extract and where the data is stored in the Newstore schema.
Key Topics
Click on the links below to take you to the section where you can learn more about this Integration
- Integration Overview
- Integration Availability
- API Endpoints
- Entity Relationship Diagram
- Newstore Schema
- Related Resources
Integration Overview
Newstore is an omnichannel platform that provides retail businesses with mobile POS and integrated cloud-based order management systems.
This document provides context on what kind of data is being gathered through this extractor, which endpoints that data is coming from, and how the extracted tables relate to each other.
Integration Availability
This integration is available for:
- Pro V2
NOTE: You are considered V2 if...
- Your account says Pro V2 in the Daasity App
Not sure? Reach out to Support@Daasity.com
API Endpoints
The Daasity Newstore extractor is built based on this Newstore API documentation. The following endpoint is used by Daasity to replicate data from Newstore:
Entity Relationship Diagram (ERD)
The embedded diagram houses the ERD for the Daasity Newstore integration illustrating the different tables and keys to join across tables. Hover over the embedded diagram to reveal controls to zoom and scroll.
Newstore Schema
The Daasity Newstore extractor creates these tables using the endpoints and replication methods listed. The data is mapped from source API endpoint to the table based on the mapping logic outlined in each table.
- Customers
- Customer Address Table
- Customers Extended Attributes
- Order Events
- Order Extended Attributes
- Order Item Events
- Order Item Extended Attributes
- Order Item Extended Identifiers
- Returns
- Return Items
- Inventory Count
- Inventory Count Items
- Inventory Count Items External Identifiers
Customers
- Endpoint: Customer Profile Updates
- Update Method: UPSERT
- Table Name: newstore.customers
JSON Element | Database Column |
tenant | tenant |
name | name |
published_at | published_at |
payload::id | id |
payload::email | |
payload::first_name | first_name |
payload::last_name | last_name |
payload::phone | phone |
payload::source::location_id | location_id |
payload::source::associate_id | associate_id |
payload::source::associate_name | associate_name |
payload::source::associate_email | associate_email |
payload::created_at | created_at |
payload::updated_at | updated_at |
payload::revision | revision |
environment | environment |
account_id | _account_id |
MD5(payload::id + payload::created_at + payload::updated_at + payload::revision) | __sync_key |
Daasity: timestamp when loaded into DB | __synced_at |
Customer Address Table
- Endpoint: Customer Profile Updates
- Update Method: UPSERT
- Table Name: newstore.customer_address_table
JSON Element | Database Column |
tenant | tenant |
name | name |
published_at | published_at |
payload::id | id |
payload::customer_id | customer_id |
payload::type | type |
payload::salutation | salutation |
payload::title | title |
payload::first_name | first_name |
payload::last_name | last_name |
payload::suffix | suffix |
payload::company | company |
payload::address_line_1 | address_line_1 |
payload::address_line_2 | address_line_2 |
payload::address_line1 | address_line1 |
payload::address_line2 | address_line2 |
payload::zip_code | zip_code |
payload::city | city |
payload::state | state |
payload::country | country |
payload::phone | phone |
payload::created_at | created_at |
payload::updated_at | updated_at |
payload::customer_revision | revision |
environment | environment |
account_id | _account_id |
MD5(environment + payload::id + payload::customer_id + payload::created_at + payload::updated_at + payload::customer_revision) | __sync_key |
Daasity: timestamp when loaded into DB | __synced_at |
Customer Extended Attributes
- Endpoint: Customer Profile Updates
- Update Method: UPSERT
- Table Name: newstore.customer_extended_attributes
JSON Element | Database Column |
customer::id | customer_id |
customer::extended_attributes::name | extended_attribute |
customer::extended_attributes::value | value |
customer::revision | revision |
environment | environment |
account_id | _account_id |
MD5(environment + customer::id + customer::extended_attributes:name + customer::extended_attributes::value + customer::revision) | __sync_key |
Daasity: timestamp when loaded into DB | __synced_at |
Order Events
- Endpoint: Order
- Update Method: UPSERT
- Table Name: newstore.order_events
JSON Element | Database Column |
payload::id | order_id |
payload::external_id | external_id |
payload::customer_email | customer_email |
payload::customer_id | customer_id |
status::name | status |
published_at | published_at |
payload::created_at | order_date |
payload::subtotal | subtotal |
payload::price_method | price_method |
payload::discount_total | discount_total |
payload::shipping_total | shipping_total |
payload::shipping_tax | shipping_tax |
payload::tax_total | tax_total |
payload::grand_total | grand_total |
payload::currency | currency |
shipping::first_name | shipping_first_name |
shipping::last_name | shipping_last_name |
shipping::address_line1 | shipping_address1 |
shipping::address_line2 | shipping_address2 |
shipping::city | shipping_city |
shipping::state | shipping_state |
shipping::country | shipping_country |
shipping::zip_code | shipping_zipcode |
shipping::phone | shipping_phone |
billing::first_name | billing_first_name |
billing::last_name | billing_last_name |
billing::address1 | billing_address1 |
billing::address2 | billing_address2 |
billing::city | billing_city |
billing::state | billing_state |
billing::country | billing_country |
billing::zip_code | billing_zipcode |
billing::phone | billing_phone |
payload::channel_type | channel_type |
payload::channel_id | channel_id |
payload::associate_id | associate_id |
payload::associate_email | associate_email |
payload::is_exchange | is_exchange |
payload::is_historical | is_historical |
payload::is_tax_exempt | is_tax_exempt |
name | event_name |
cancellation_reason | cancellation_reason |
payload::created_at || payload::published_at | created_at |
environment | environment |
source_id | source_id |
MD5(environment + payload::id + source_id + payload::published_at + payload::name) | __sync_key |
Daasity: timestamp when loaded into DB | __synced_at |
Order Extended Attributes
- Endpoint: Order
- Update Method: UPSERT
- Table Name: newstore.order_extended_attributes
JSON Element | Database Column |
order::extended_attributes::id | order_id |
order::extended_attributes::name | name |
order::extended_attributes::value | value |
environment | environment |
MD5(environment + order::extended_attributes::id + order::extended_attributes::name) | __sync_key |
Daasity: timestamp when loaded into DB | __synced_at |
Order Item Events
- Endpoint: Order
- Update Method: UPSERT
- Table Name: newstore.order_item_events
JSON Element | Database Column |
payload::id | order_id |
item::id | order_item_id |
item::product_id | product_id |
item::item_type | item_type |
item::list_price | list_price |
item::item_discounts | item_discounts |
item::order_discounts | order_discounts |
item::pricebook_id | pricebook_id |
item::pricebook_price | pricebook_price |
item::shipping_service_level | shipping_service_level |
item::tax | tax |
item::tax_class | tax_class |
item::quantity | quantity |
item::fulfillment_location_id | fulfillment_location_id |
item::status | status |
item::cancelled_reason | cancelled_reason |
environment | environment |
source_id | __source_id |
MD5(environment + source_id + payload::id + item::id + payload::published_at + item::status) | __sync_key |
published_at | __synced_at |
Order Item Extended Attributes
- Endpoint: Order
- Update Method: UPSERT
- Table Name: newstore.order_item_extended_attributes
JSON Element | Database Column |
item::extended_attributes::order_id | order_id |
item::id | order_item_id |
item::extended_attributes::name | name |
item::extended_attributes::value | value |
environment | environment |
MD5(environment + item::extended_attributes::order_id + item::id + item::extended_attributes::name) | __sync_key |
Daasity: timestamp when loaded into DB | __synced_at |
Order Item External Identifiers
- Endpoint: Order
- Update Method: UPSERT
- Table Name: newstore.order_item_external_identifiers
JSON Element | Database Column |
content::payload + content::id | order_id |
item::external_identifiers::id | order_item_id |
'k' | name |
'v' | value |
environment | environment |
MD5(environmnet + content::payload + content::id + item::external_identifiers::id + 'k') | __sync_key |
Daasity: timestamp when loaded into DB | __synced_at |
Returns
- Endpoint: Item Return
- Update Method: UPSERT
- Table Name: newstore.returns
JSON Element | Database Column |
tenant | tenant |
name | name |
published_at | published_at |
payload::id | id |
payload::order_id | order_id |
payload::returned_at | returned_at |
payload::total_refund_amount | total_refund_amount |
payload::total_refund_amount_adjusted | total_refund_amount_adjusted |
payload::total_refund_excl_tax | total_refund_excl_tax |
payload::return_fee | return_fee |
payload::currency | currency |
payload::returnlocation_id | return_location_id |
payload::customer_id | customer_id |
payload::customer_email | customer_email |
payload::associate_id | associate_id |
payload::associate_email | associate_email |
environment | environment |
account_id | _account_id |
MD5(environment + payload::id +payload::order_id + payload::returned_at + payload::total_refund_amount + payload::total_refund_amount_adjusted + payload::total_refund_excl_tax + payload::total_refund_tax) | __sync_key |
Daasity: timestamp when loaded into DB | __synced_at |
Return Items
- Endpoint: Item Return
- Update Method: UPSERT
- Table Name: newstore.return_items
JSON Element | Database Column |
payload::id | return_id |
item::id | id |
item::product_id | product_id |
item::item_type | item_type |
item::item_condition | item_condition |
item::condition_code | condition_code |
item::return_Reason | return_Reason |
item::return_code | return_code |
item::refund_excl_tax | refund_excl_tax |
item::refund_tax | refund_tax |
item::refund_amount | refund_amount |
item::refund_amount_adjusted | refund_amount_adjusted |
item::quantity | quantity |
environment | environment |
account_id | _account_id |
MD5(environment + payload::id + item::id + item::product_id) | __sync_key |
Daasity: timestamp when loaded into DB | __synced_at |
Inventory Count
- Endpoint: Inventory Manager
- Update Method: UPSERT
- Table Name: newstore.inventory_count
JSON Element | Database Column |
tenant | tenant |
name | name |
published_at | published_at |
payload::id | id |
payload::count_type | count_type |
payload::fulfillment_location_id | fulfillment_location_id |
payload::associate_id | associate_id |
payload::stock_location_name | stock_location_name |
payload::due_date | due_date |
payload::started_at | started_at |
payload::completed_at | completed_at |
payload::chunk_number | chunk_number |
payload::total_chunks | total_chunks |
environment | environment |
account_id | _account_id |
MD5(published_at + payload::id + payload::count_type + payload::fulfillment_location_id + payload::associate_id + payload::stock_location_name + payload::due_date + payload::started_at + payload::complete_at + payload::chunk_number) | __sync_key |
Daasity: timestamp when loaded into DB | __synced_at |
Inventory Count Items
- Endpoint: Stock Locations
- Update Method: UPSERT
- Table Name: newstore.inventory_count_items
JSON Element | Database Column |
inventory_id | inventory_id |
item::product_id | product_id |
item::stock_on_hand | stock_on_hand |
item::count | count |
environment | environment |
account_id | _account_id |
MD5(environment + item::product_id + item::stock_on_hand + item::count) | __sync_key |
Daasity: timestamp when loaded into DB | __synced_at |
Inventory Count Item External Identifiers
- Endpoint: Stock Locations
- Update Method: UPSERT
- Table Name: newstore.inventory_count_items_external_identifiers
JSON Element | Database Column |
inventory_id | inventory_id |
item::product_id | product_id |
'k' | external_identifier |
'v' | value |
environment | environment |
account_id | _account_id |
MD5(environment + inventory_id + item::product_id + k + v) | __sync_key |
Daasity: timestamp when loaded into DB | __synced_at |
Related Resources