Integration: Newstore

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

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

JSON Element Database Column
tenant tenant
name name
published_at published_at
payload::id id
payload::email 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

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

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