1. Introduction
This documentation describes the process of collecting data from the IdoSell e-commerce platform within the Data Octopus application system. The integration includes obtaining data from several key endpoints, processing it, and storing it in BigQuery structures, which enables further analysis and use in business processes.
2. Data Sources
As part of the integration with the IdoSell platform, we collect data from the following endpoints:
Orders -
https://idosell.readme.io/v3.0/reference/ordersordersgetpost-1
Products -
https://idosell.readme.io/v3.0/reference/productsproductsget-1
Returns -
https://idosell.readme.io/v3.0/reference/returnsreturnsget-1
3. Data Processing
Data collected from IdoSell goes through a multi-stage processing workflow that includes:
Retrieving raw data from the IdoSell API
Transforming data for business analytics
Enriching data with additional indicators and metrics
Storing data in target tables in BigQuery
4. Orders Table - Data Structure
The table contains combined data from the orders and products endpoints.
Column Name | Data Type | Description |
client_id | STRING | Client identifier |
order_id | INTEGER | Order identifier |
has_invoice | BOOLEAN | Information whether an invoice was issued for the order |
courier_name | STRING | Courier name |
dropshipping_order_status | STRING | Dropshipping order status |
order_add_date | DATE | Order creation date |
order_add_year | INTEGER | Order creation year |
order_add_month | INTEGER | Order creation month |
order_add_week | INTEGER | Order creation week |
order_dispatch_date | DATE | Order shipping date |
order_source_type | STRING | Order source type |
order_source_name | STRING | Order source name |
order_source | STRING | Order source |
shop_id | STRING | Shop identifier |
stock_id | STRING | Warehouse identifier |
order_status | STRING | Order status |
order_base_billing_currency | STRING | Base billing currency of the order |
currency_id | STRING | Currency identifier |
purchase_date | DATE | Purchase date |
basket_position | INTEGER | Position in the basket |
bundle_id | STRING | Bundle identifier |
id | STRING | Unique identifier |
item_group_id | STRING | Product group identifier |
size_id | STRING | Size identifier |
product_size_code_external | STRING | External product size code |
title | STRING | Product name |
brand | STRING | Product brand |
category_name | STRING | Category name |
category_1 | STRING | First category in the hierarchy |
category_2 | STRING | Second category in the hierarchy |
category_3 | STRING | Third category in the hierarchy |
category_4 | STRING | Fourth category in the hierarchy |
category_5 | STRING | Fifth category in the hierarchy |
product_age_days | INTEGER | Product age in days |
order_base_currency_order_products_cost | FLOAT | Cost of products in the order's base currency |
billing_currency_rate | STRING | Billing currency exchange rate |
order_currency_order_products_cost | FLOAT | Cost of products in the order currency |
product_vat | STRING | Product VAT rate |
product_quantity | FLOAT | Product quantity |
product_order_price | FLOAT | Gross price of the product in the order |
product_order_price_net | FLOAT | Net price of the product in the order |
gross_revenue | FLOAT | Gross revenue |
net_revenue | FLOAT | Net revenue |
product_order_price_base_currency | FLOAT | Gross price of the product in the base currency |
product_order_price_net_base_currency | FLOAT | Net price of the product in the base currency |
client_delivery_address_street | STRING | Street of the client's delivery address |
client_delivery_address_city | STRING | City of the client's delivery address |
client_delivery_address_zip_code | STRING | Postal code of the client's delivery address |
client_delivery_address_country | STRING | Country of the client's delivery address |
client_delivery_address_country_id | STRING | Country identifier of the client's delivery address |
client_delivery_address_type | STRING | Type of the client's delivery address |
5. Products Table - Data Structure
The table contains data that is processed from the products endpoint.
Column Name | Data Type | Description |
id | STRING | Unique product identifier |
item_group_id | STRING | Product group identifier |
product_is_deleted | STRING | Information whether the product has been deleted |
product_is_visible | STRING | Information whether the product is visible |
size | STRING | Product size |
title | STRING | Product name |
brand | STRING | Product brand |
category_name | STRING | Product category name |
category_path | STRING | Product category path |
category_1 | STRING | First category in the hierarchy |
category_2 | STRING | Second category in the hierarchy |
category_3 | STRING | Third category in the hierarchy |
category_4 | STRING | Fourth category in the hierarchy |
category_5 | STRING | Fifth category in the hierarchy |
product_minimal_price | FLOAT | Minimum product price |
product_wholesale_price | FLOAT | Wholesale product price |
product_retail_price | FLOAT | Retail product price |
product_purchase_price_net_last | FLOAT | Last net purchase price of the product |
product_purchase_price_gross_last | FLOAT | Last gross purchase price of the product |
product_purchase_price_net_average | FLOAT | Average net purchase price of the product |
product_purchase_price_gross_average | FLOAT | Average gross purchase price of the product |
currency | STRING | Product currency |
vat_rate | FLOAT | Product VAT rate |
product_adding_time | DATE | Product addition date |
product_age_days | INTEGER | Product age in days |
product_price_changed_time | DATE | Date of the last product price change |
product_availability_management_type | STRING | Product availability management type |
6. Clients Table - Data Structure
The table contains client data based on combined data from the orders and products tables.
Column Name | Data Type | Description |
client_email | STRING | Client email address |
client_phone | STRING | Client phone number |
client_first_name | STRING | Client first name |
client_last_name | STRING | Client last name |
hashed_client_email | BYTES | Encrypted client email address |
hashed_client_phone | BYTES | Encrypted client phone number |
hashed_client_first_name | BYTES | Encrypted client first name |
hashed_client_last_name | BYTES | Encrypted client last name |
client_delivery_address_zip_code | STRING | Postal code of the client's delivery address |
client_delivery_address_country_code | STRING | Country code of the client's delivery address |
days_since_first_order | INTEGER | Number of days since the client's first order |
days_since_last_order | INTEGER | Number of days since the client's last order |
min_product_net_price | FLOAT | Minimum net price of a product purchased by the client |
max_product_net_price | FLOAT | Maximum net price of a product purchased by the client |
has_invoice | BOOLEAN | Information whether the client has ever requested an invoice |
order_count | INTEGER | Number of client orders |
unique_item_count | INTEGER | Number of unique products purchased by the client |
total_net_revenue | FLOAT | Total net revenue generated by the client |
recency_score | INTEGER | Recency score (RFM) |
frequency_score | INTEGER | Frequency score (RFM) |
monetary_score | INTEGER | Monetary value score (RFM) |
customer_segment | STRING | Client segment (e.g., 'Champions', 'Loyal Customers', 'At Risk') |
quantity_of_purchased_brands | INTEGER | Number of different brands purchased by the client |
purchased_brands | STRING | List of purchased brands |
quantity_of_purchased_categories | INTEGER | Number of different categories purchased by the client |
purchased_categories | STRING | List of purchased categories |
7. Returns Table - Data Structure
The table is in preparation. It will be added to the Data Octopus application on June 1, 2025.
8. Data Update Cycle
Data is collected daily at night between 00:00 and 2:00.
9. Summary
Integration with the IdoSell platform enables comprehensive e-commerce data analysis, including:
Tracking orders and their statuses
Analysis of customer behavior and segmentation
Analysis of returns
Monitoring product and category performance
Analysis of revenue and sales trends
The Data Octopus system processes this data into a form that allows for deep business analyses, which can support strategic and operational decisions.