Configuring TikTok Shop as a Source
In the Sources tab, click on the “Add source” button located on the top right of your screen. Then, select the TikTok Shop option from the list of connectors. Click Next and you’ll be prompted to add your access.1. Add account access
You’ll need to authorize Nekt to access your TikTok Shop data. You don’t need to register anything in the TikTok Shop Partner Center — Nekt already has an approved app there, and you simply grant it access to your shop. Click on the Authorization button. You’ll be redirected to TikTok Shop, where you need to be signed in to the Seller Center account that owns the shop you want to sync. There you’ll:- Confirm the shop the authorization applies to, choose the access duration (we recommend Unlimited, so the connection doesn’t stop working on a fixed date) and enter a contact email, then click Confirm installation.
- Review the permissions Nekt is requesting — product, order, logistics and finance information — accept the acknowledgement and click Authorize.
- Start Date: The earliest date from which records will be synced. If not provided, all available historical data will be extracted.
- Shop cipher: The encrypted identifier of a single shop. Leave it empty to sync every shop the authorization covers — the connector resolves the shops automatically.
- Shop ID: The shop identifier reported alongside the records. Only used when a shop cipher is set manually.
Don’t have access to the TikTok Shop account yourself? Use the Share link option at the top of this step to send the authorization to whoever manages the shop — they complete it without needing a Nekt account.
2. Select streams
Choose which data streams you want to sync. For faster extractions, select only the streams that are relevant to your analysis. You can select entire groups of streams or pick specific ones.Tip: The stream can be found more easily by typing its name.Select the streams and click Next.
3. Configure data streams
Customize how you want your data to appear in your catalog. Select the desired layer where the data will be placed, a folder to organize it inside the layer, a name for each table (which will effectively contain the fetched data) and the type of sync.- Layer: choose between the existing layers on your catalog. This is where you will find your new extracted tables as the extraction runs successfully.
- Folder: a folder can be created inside the selected layer to group all tables being created from this new data source.
- Table name: we suggest a name, but feel free to customize it. You have the option to add a prefix to all tables at once and make this process faster!
- Sync Type: you can choose between INCREMENTAL and FULL_TABLE.
- Incremental: every time the extraction happens, we’ll get only the new data - which is good if, for example, you want to keep every record ever fetched.
- Full table: every time the extraction happens, we’ll get the current state of the data - which is good if, for example, you don’t want to have deleted data in your catalog.
4. Configure data source
Describe your data source for easy identification within your organization, not exceeding 140 characters. To define your Trigger, consider how often you want data to be extracted from this source. This decision usually depends on how frequently you need the new table data updated (every day, once a week, or only at specific times). Optionally, you can define some additional settings:- Configure Delta Log Retention and determine for how long we should store old states of this table as it gets updated. Read more about this resource here.
- Determine when to execute an Additional Full Sync. This will complement the incremental data extractions, ensuring that your data is completely synchronized with your source every once in a while.
5. Check your new source
You can view your new source on the Sources page. If needed, manually trigger the source extraction by clicking on the arrow button. Once executed, your data will appear in your Catalog.Good to know
- Multiple shops: a single authorization can cover more than one shop. Every record carries a
shop_idcolumn identifying which shop it came from, and theshopsstream lists the shops the authorization reaches. - Timestamps: TikTok Shop returns dates as Unix timestamps in seconds (UTC), so fields such as
create_timeandupdate_timeare integers. - Amounts: monetary values arrive as strings in the shop’s currency, preserving the exact value returned by TikTok Shop.
- Nested data: fields that contain nested structures — such as the order payment breakdown or the product SKUs — are stored as JSON strings, so they stay stable as TikTok Shop adds new subfields.
- Rate limits: TikTok Shop allocates request capacity dynamically per app and shop. When the platform throttles a request, the connector waits and retries automatically, which can make an extraction take longer.
Streams and Fields
Below you’ll find all available data streams from TikTok Shop and their corresponding fields:Shops
Shops
The shops the connected authorization gives access to. Useful to map
shop_id values to shop names and regions.Key Fields:id- Unique identifier of the shopname- Display name of the shopregion- Market the shop sells in (e.g. BR, US, ID)seller_type- Whether the seller is local to the region or cross-bordercipher- Encrypted shop identifier used by shop-scoped endpointscode- Short shop code used by TikTok Shop
Orders
Orders
Orders placed in the shop, with their status timeline, buyer information, fulfillment data and full payment breakdown. Synced incrementally by
update_time.Identification:id- TikTok Shop order identifiershop_id- Shop the order belongs tostatus- Order status (UNPAID, ON_HOLD, AWAITING_SHIPMENT, PARTIALLY_SHIPPING, AWAITING_COLLECTION, IN_TRANSIT, DELIVERED, COMPLETED, CANCELLED)order_type- Order type, such as a regular order or a pre-ordercommerce_platform- Platform where the order was placed
create_time- When the order was placedupdate_time- Last change to the order, used as the incremental replication keypaid_time- When the order was paidrts_time- When the seller marked the order ready to shipcollection_time- When the carrier collected the packagedelivery_time- When the package was deliveredcancel_time- When the order was cancelledrts_sla_time,tts_sla_time,delivery_sla_time- Platform deadlines for shipping, collection and deliveryshipping_due_time,collection_due_time,delivery_due_time- Due dates for each fulfillment stepcancel_order_sla_time- When the platform automatically cancels the orderpick_up_cut_off_time,fast_dispatch_sla_time,recommended_shipping_time,release_date
user_id- TikTok user identifier of the buyerbuyer_email- Email address of the buyerbuyer_nickname,buyer_avatar- Public TikTok profile of the buyerbuyer_message- Note left by the buyer at checkoutseller_note- Internal note added by the sellercpf,cpf_name- Buyer tax identifier used to issue an invoice (Brazil)
fulfillment_type- FULFILLMENT_BY_SELLER, FULFILLMENT_BY_TIKTOK or FULFILLMENT_BY_DILAYANI_TOKOPEDIAdelivery_type- HOME_DELIVERY or COLLECTION_POINTshipping_type- TIKTOK, SELLER or TIKTOK_DIGITALshipping_provider,shipping_provider_id- Carrier handling the ordertracking_number- Carrier tracking numberdelivery_option_id,delivery_option_name- Delivery option chosen by the buyerwarehouse_id- Warehouse serving the orderfast_delivery_program,fulfillment_priority_level
cancellation_initiator- SELLER, BUYER or SYSTEMcancel_reason- Reason the order was cancelledis_buyer_request_cancel- Whether the buyer asked to cancelis_on_hold_order,has_updated_recipient_address,authentication_requiredis_replacement_order,replaced_order_id,is_exchange_order,exchange_source_order_idis_sample_order,is_refundable_sample,is_subscription_ordersplit_or_combine_tag,auto_combine_group_idneed_upload_invoice,consultation_id
payment_method_name- Payment method used by the buyeris_cod- Whether the buyer pays cash on deliverypayment- JSON object with the full payment breakdown:currency,sub_total,shipping_fee,seller_discount,platform_discount,tax,total_amountand the market-specific fees
line_items- Products, quantities, prices, discounts and taxes of the orderpackages- Packages the order was split intorecipient_address- Delivery address (not available while the order is UNPAID or ON_HOLD)handling_duration- Handling time agreed for the orderorder_rights- Order tags from the programs the seller subscribes to
Products
Products
Products listed in the shop, with their SKUs, prices and stock. Synced incrementally by
update_time.Key Fields:id- TikTok Shop product identifiershop_id- Shop the product belongs totitle- Product title shown to buyersstatus- Listing status (DRAFT, PENDING, FAILED, ACTIVATE, SELLER_DEACTIVATED, PLATFORM_DEACTIVATED, FREEZE, DELETED)create_time- When the product was createdupdate_time- Last change to the product, used as the incremental replication keyis_not_for_sale- Whether the product is flagged as not available for salehas_draft- Whether the product has unpublished draft changeslisting_quality_tier- Quality tier TikTok Shop assigns to the listing content
skus- SKUs with seller SKU, price, stock per warehouse, status and feessales_regions- Regions where the product is soldrecommended_categories- Categories TikTok Shop recommends for the productintegrated_platform_statuses- Status on natively integrated platforms, such as Tokopediaaudit- Audit status of the product and the reasons behind itproduct_families- Product families the product belongs toscheduled_sale- Scheduled sale configurationproduct_sync_fail_reasons- Why syncing the global product to this listing failed
Product Inventory
Product Inventory
Available and committed stock per SKU and warehouse.Key Fields:
product_id- TikTok Shop product identifiershop_id- Shop the product belongs toskus- JSON array with the stock of each SKU, broken down by warehouse and by campaign, creator and in-shop allocation
Statements
Statements
Settlement statements, that is, the payouts TikTok Shop transfers to the seller. Synced incrementally by
statement_time.Key Fields:id- Settlement statement identifiershop_id- Shop the statement belongs tostatement_time- When the statement was generated, used as the incremental replication keypayment_time- When the payout was transferred to the sellerpayment_status- Whether the payout already reached the seller’s bank accountpayment_id- Identifier of the payout transfercurrency- Currency of every amount in the statement
settlement_amount- Net amount settled to the sellerrevenue_amount- Gross revenue included in the statementnet_sales_amount- Revenue after seller-funded discountsfee_amount- Total platform fees deductedshipping_cost_amount- Total shipping costsadjustment_amount- Total adjustments applied by TikTok Shop policy
Statement Transactions
Statement Transactions
The individual transactions that make up each settlement statement, which is where order-level revenue, fees and shipping costs can be reconciled.Key Fields:
id- Transaction identifierstatement_id- Settlement statement the transaction belongs toshop_id- Shop the transaction belongs totype- Transaction type, such as an order settlement or an adjustmentorder_id- Order the transaction settlesorder_create_time- When the settled order was placedcurrency- Currency of every amount in the transaction
settlement_amount- Net amount settled for the transactionrevenue_amount- Revenue recognized in the transactionshipping_cost_amount- Shipping cost charged to the sellerfee_tax_amount- Taxes charged on the platform feesadjustment_amount,adjustment_id,adjustment_order_id- Adjustment detailsreserve_id,reserve_amount,reserve_status,estimated_release_time- Funds withheld under the reserve policyassociated_order_id- Order associated with a reserve or adjustment entry
revenue_breakdown- Detailed revenue componentsshipping_cost_breakdown- Detailed shipping cost componentsfee_tax_breakdown- Detailed fee tax componentssupplementary_component- Additional settlement components
Withdrawals
Withdrawals
Withdrawals and transfers made from the TikTok Shop balance. Synced incrementally by
create_time.Key Fields:id- Withdrawal identifiershop_id- Shop the withdrawal belongs totype- Withdrawal type, such as a settlement transfer or a manual withdrawalamount- Amount withdrawncurrency- Currency of the withdrawalstatus- Current status of the withdrawalcreate_time- When the withdrawal was created, used as the incremental replication key
Returns
Returns
Return and refund requests opened against the shop’s orders. Synced incrementally by
update_time.Key Fields:return_id- Return request identifiershop_id- Shop the return belongs toorder_id- Order the return was opened againstreturn_type- Type of the request (refund, return and refund, replacement)return_status- Current status of the requestarbitration_status- Status of the platform arbitration, when escalatedrole- Who initiated the returnreturn_reason,return_reason_text- Reason for the returncreate_time- When the request was openedupdate_time- Last change to the request, used as the incremental replication key
shipment_type- How the buyer sends the items backhandover_method- Handover method chosen by the buyerreturn_tracking_number- Tracking number of the return shipmentreturn_provider_name,return_provider_id- Carrier handling the returnreturn_shipping_document_type- Type of return shipping documentreturn_method- Method used to return the items
can_buyer_keep_item- Whether the buyer may keep the item and still be refundedis_quick_refund- Whether the buyer was refunded before the items were receivedseller_proposed_return_type- Return type the seller proposed insteadbuyer_rejected_partial_refund- Whether the buyer rejected the proposed partial refundis_combined_return,combined_return_id- Whether the return was combined with otherspre_return_id,next_return_id- Related return requests
return_line_items- Items covered by the return, with refund amountsrefund_amount- Refund breakdown of the requestdiscount_amount- Discounts reverted by the returnshipping_fee_amount- Shipping fees involved in the returnpartial_refund- Partial refund proposed for the returnreturn_warehouse_address- Address the items must be returned toseller_next_action_response- Actions the seller must take and their deadlines
Cancellations
Cancellations
Order cancellation requests raised by buyers, sellers or the platform. Synced incrementally by
update_time.Key Fields:cancel_id- Cancellation request identifiershop_id- Shop the cancellation belongs toorder_id- Order the cancellation refers tocancel_type- Type of the cancellation requestcancel_status- Current status of the requestrole- Who initiated the cancellationcancel_reason,cancel_reason_text- Reason for the cancellationshould_replenish_stock- Whether the cancelled items return to available stockcreate_time- When the cancellation was requestedupdate_time- Last change to the cancellation, used as the incremental replication key
cancel_line_items- Items covered by the cancellation, with refund amountsrefund_amount- Refund breakdown of the cancellationseller_next_action_response- Actions the seller must take and their deadlines
Packages
Packages
Packages created to fulfill the shop’s orders. Synced incrementally by
update_time.Key Fields:id- Package identifiershop_id- Shop the package belongs tostatus- Current status of the packagecreate_time- When the package was createdupdate_time- Last change to the package, used as the incremental replication keytracking_number- Carrier tracking numbershipping_provider_name,shipping_provider_id- Carrier handling the packageorders- JSON array with the orders and SKUs contained in the packageorder_line_item_ids- JSON array with the order line items contained in the package
Promotion Activities
Promotion Activities
Promotion activities configured in the shop, such as flash sales and direct discounts.Key Fields:
id- Promotion activity identifiershop_id- Shop the activity belongs totitle- Title of the promotion activityactivity_type- Type of promotion (FLASHSALE, DIRECT_DISCOUNT, SHIPPING_DISCOUNT, BUY_MORE_SAVE_MORE, GIFT_WITH_PURCHASE)duration_type- Whether the activity runs for a fixed period or is open endedstatus- Current status of the activityproduct_level- Whether the promotion applies at product or variation levelbegin_time,end_time- When the promotion starts and endscreate_time,update_time- When the promotion was created and last changed
discount- Discount rules of the activityparticipation_limit- Limits on how many times a buyer can use the promotionactivity_commands- Operations currently allowed on the activity
Coupons
Coupons
Coupons created by the shop.Key Fields:
id- Coupon identifiershop_id- Shop the coupon belongs totitle- Title of the coupondisplay_type- Where the coupon is shown to buyersstatus- Current status of the couponpromo_code- Code buyers enter to redeem the coupontarget_buyer_segment- Buyer segment the coupon targetsproduct_scope- Range of products the coupon applies tocreation_source- System where the coupon was createdcreate_time,update_time- When the coupon was created and last changed
claim_duration- Period during which buyers can claim the couponredemption_duration- Period during which a claimed coupon can be redeemedusage_limits- Claim and redemption limitsdiscount- Discount granted by the couponthreshold- Minimum purchase required to use the coupon
Warehouses
Warehouses
Warehouses registered by the shop for pickup and returns.Key Fields:
id- Warehouse identifiershop_id- Shop the warehouse belongs toname- Name of the warehouseentity_id- Legal entity the warehouse belongs toeffect_status- Whether the warehouse is currently in effecttype- Warehouse purpose, such as sales or return warehousesub_type- More specific warehouse classificationis_default- Whether this is the default warehouse for its typeaddress- JSON object with the full warehouse address, including geolocation