Configuring Nuvemshop as a Source
In the Sources tab, click on the “Add source” button located on the top right of your screen. Then, select the Nuvemshop option from the list of connectors. Click Next and you’ll be prompted to add your access.1. Add account access
The simplest way to connect is a Custom App (“Aplicativo sob medida”), created directly in your store admin — no partner account needed (available on the Escala and Next plans):- In the store admin, go to Apps > Custom apps and click Create custom app.
- Give it a name (e.g. “Nekt”) and grant read permissions for the resources you want to sync (or full access).
- Save, open the app and click Reveal to see the token, then Copy token. The full token is shown only once — copy it right away.
- The Store ID is displayed on the same page.
access_token and user_id from the token endpoint).
The following configurations are available:
-
Access Token: The token revealed on the custom app page (or the OAuth
access_token). -
Store ID: The numeric identifier of your store, shown on the custom app page (also the
user_idreturned with OAuth tokens and the number inhttps://api.nuvemshop.com.br/v1/{store_id}). - Initial sync date: The earliest date from which records will be synced. Incremental streams (orders, products, customers, categories, abandoned checkouts) only fetch records updated after this date.
The app must have read permission on the resources you want to sync (products, orders, customers, coupons, etc.). Nekt checks the credentials when you validate the source, so a wrong token or Store ID is reported immediately.
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.Streams and Fields
Available streams
The table below lists every stream, its slug (the exact identifier to pass when creating the source via API) and a short description.Nested objects returned by the API (multi-language names, addresses, line items, payment details, amounts with currency) are delivered as JSON strings so the tables keep a stable, flat schema. Parse them in a Query when you need individual attributes.
Fields by stream
Store
Store
Profile of the connected store.
id- Unique numeric identifier of the storename- Store name per language (JSON object keyed by language code)description- Store description per language (JSON object)type- Store type/segment (e.g. clothing, sports)email- Email address of the store ownerlogo- Store logo URLcontact_email- Public contact emailfacebook,twitter,google_plus,instagram,pinterest,youtube,tiktok,blog- Social/blog URLsurl_with_protocol- Primary storefront URLaddress- Physical address of the storephone- Store phone numberwhatsapp_phone_number- WhatsApp contact numberbusiness_id- Business tax identifier (CPF/CNPJ, DNI/CUIT)business_name- Legal name of the companybusiness_address- Legal address of the companycustomer_accounts- Whether customer accounts are optional or mandatoryplan_name- Nuvemshop subscription plancountry- Country in ISO 3166-1 formatlanguages- Enabled languages with currency and active flag (JSON object)domains- Domain names attached to the storeoriginal_domain- Original nuvemshop.com.br / tiendanube.com subdomaincurrent_theme- Active storefront thememain_language- Primary languagemain_currency- Primary currency (ISO 4217)admin_language- Admin panel languagefeatures- API features enabled for the storecreated_at- Timestamp when the store was createdupdated_at- Timestamp of the last update of the store profile
Products
Products
Catalog products. Incremental on
updated_at.id- Unique numeric identifier of the productname- Product name per language (JSON object)description- Product description as HTML per language (JSON object)handle- URL-friendly slug per language (JSON object)variants- Product variants (JSON array); also available flattened inproduct_variantsimages- Product images with URL, position and alt text (JSON array)categories- Identifiers of the categories the product belongs tobrand- Brand of the productpublished- Whether the product is visible in the storefrontvisibility- visible, unlisted or hiddenfree_shipping- Whether the product is eligible for free shippingvideo_url- URL of the product videoseo_title- SEO title per language (JSON object)seo_description- SEO description per language (JSON object)attributes- Names of the attributes that define the variants (JSON array)tags- Comma-separated tagsrequires_shipping- Whether the product is physical (true) or digital (false)canonical_url- Canonical URL of the product pagehas_stock,is_kit- Stock availability and kit flagsinvalid_at- Timestamp when the product became invalid, if applicablevideos- Videos attached to the product (JSON array)created_at- Timestamp when the product was createdupdated_at- Timestamp of the last update (replication key)
Product Variants
Product Variants
One row per variant, flattened from the products payload. Incremental on
product_updated_at.id- Unique numeric identifier of the variantproduct_id- Identifier of the parent productproduct_updated_at- Last update of the parent product (replication key)image_id- Identifier of the image associated with the variantposition- Position of the variant within the productprice- Selling pricecompare_at_price- List price shown as comparison when a promotion is activepromotional_price- Promotional price, when setcost- Cost of the variant for the merchantstock_management- Whether stock is trackedstock- Available stock across locations; null when unlimitedweight,width,height,depth- Dimensions (kg / cm)sku- Stock keeping unitbarcode- Barcode (EAN/UPC)mpn- Manufacturer part numberprice_without_taxes- Selling price before taxesvisible- Whether the variant is visible in the storefrontage_group,gender,size_type,size_system- Google Shopping attributesvalues- Attribute values that identify the variant, per language (JSON array)inventory_levels- Stock per location (JSON array)created_at- Timestamp when the variant was createdupdated_at- Timestamp of the last update of the variant
Categories
Categories
Product categories. Incremental on
updated_at.id- Unique numeric identifier of the categoryname- Category name per language (JSON object)description- Category description as HTML per language (JSON object)handle- URL-friendly slug per language (JSON object)parent- Identifier of the parent category, or nullvisibility- visible, hidden or soft-hiddenvisibility_updated_at- Last change to the visibility fieldsubcategories- Identifiers of the first-level subcategoriesseo_title- SEO title per language (JSON object)seo_description- SEO description per language (JSON object)google_shopping_category- Google product taxonomy categorycreated_at- Timestamp when the category was createdupdated_at- Timestamp of the last update (replication key)
Orders
Orders
Orders of every status. Incremental on
updated_at.Identificationid- Unique numeric identifier of the ordertoken- Token that identifies the ordernumber- Sequential order number shown to merchants and customersstore_id- Identifier of the storecustomer_id- Identifier of the customer (flattened fromcustomer)customer- Customer that placed the order (JSON object)contact_email,contact_name,contact_phone,contact_identification- Buyer contact data
billing_name,billing_phone,billing_address,billing_number,billing_floor,billing_locality,billing_zipcode,billing_city,billing_province,billing_country- Billing addressbilling_customer_type- person or companybilling_business_name,billing_trade_name,billing_state_registration,billing_document_type- Company billing databilling_fiscal_regime,billing_invoice_use- Mexico-specific invoicing fields
shipping_address- Shipping address (JSON object)shipping_status- unpacked, unfulfilled, fulfilled, shipped, delivered, partially_packed or partially_fulfilledshipping,shipping_option,shipping_option_code,shipping_option_reference- Shipping method and optionshipping_pickup_type- ship or pickupshipping_pickup_details,shipping_store_branch_name,shipping_store_branch_extra- Pickup point datashipping_carrier_name,shipping_tracking_number,shipping_tracking_url- Carrier and trackingshipping_suboption- Sub-options chosen for the shipping method (JSON)shipping_cost_customer- Shipping cost charged to the customershipping_cost_owner- Shipping cost paid by the store ownershipping_min_days,shipping_max_days- Estimated delivery window in weekdaysshipped_at- Timestamp when the order was shippedweight- Total weight in kilograms
subtotal- Total of the products before shipping and discountsdiscount,discount_coupon,discount_gateway- Discounts appliedtotal- Total including shipping and discountstotal_usd- Total converted to US dollarstotal_paid_by_customer,total_paid_by_customer_including_fees- Amounts actually paidcurrency- Currency in ISO 4217 formatgateway,gateway_id,gateway_name,gateway_link- Payment gateway datapayment_status- authorized, pending, paid, partially_paid, abandoned, refunded, partially_refunded or voidedpayment_method,payment_credit_card_company,payment_installments- Flattened frompayment_detailspayment_details- Payment details (JSON object)payment_count- Number of payments madepaid_at- Timestamp when the order was paid
status- open, closed or cancelledcancelled_at,cancel_reason- Cancellation dataclosed_at- Timestamp when the order was archivedread_at- Timestamp when the order was marked as readcompleted_at- Completion date with timezone information (JSON object)created_at- Timestamp when the order was createdupdated_at- Timestamp of the last update (replication key)
products- Line items (JSON array); also available flattened inorder_productsattributes- Custom attributes (JSON array)coupon- Coupons applied (JSON array)promotional_discount- Promotional discount applied (JSON object)fulfillments- Fulfillment orders (JSON array)note,owner_note- Customer and store owner notesextra- Custom information (JSON object)storefront- store, meli, api, form or posapp_id- Identifier of the app that created the orderclient_details- Browser IP and user agent (JSON object)same_billing_and_shipping_address- Whether billing and shipping addresses matchis_subscription,is_subscription_initial- Subscription flagslanding_url- Landing URL of the session that originated the orderhas_shippable_products- Whether the order contains products that require shippingfree_shipping_config- Free shipping configuration applied (JSON)next_action- Next available operation in the order flowsubtotal_without_taxes,total_paid- Additional amountscoupon_id- Identifier of the coupon appliedorder_origin- Origin of the order as reported by the platformcheckout_enabled,checkout_enabled_validation_messages,checkout_bot_suspect,checkout_app_blocked- Checkout status flagscustomer_visit- Attribution data of the visit that led to the order (JSON object)billing_business_activity- Business activity of the billing company
Order Products
Order Products
One row per order line item, flattened from the orders payload. Incremental on
order_updated_at.id- Unique numeric identifier of the line itemorder_id- Identifier of the parent orderorder_updated_at- Last update of the parent order (replication key)product_id- Identifier of the product purchasedvariant_id- Identifier of the variant purchasedname- Product name at the time of purchaseprice- Unit price at the time of purchasecompare_at_price- List price at the time of purchasequantity- Units purchasedweight,width,height,depth- Unit dimensionsfree_shipping- Whether the product had free shippingsku- SKU of the variant purchasedbarcode- Barcode of the variant purchasedvariant_values- Attribute values of the variant purchasedcatalog_kit_id,order_kit_id,kit- Kit data, when the item belongs to a kitproperties- Custom field values of the line item (JSON array)image- Image of the product at the time of purchase (JSON object)issues- Issues detected on the line itemcost- Unit cost for the merchantname_without_variants- Product name without variant attributeshas_promotional_price,is_gift- Item flagspromotions- Promotions applied to the item (JSON object)
Transactions
Transactions
Payment transactions of each order. Child of
orders; not selected by default.id- Unique identifier of the transactionorder_id- Identifier of the parent orderorder_updated_at- Last update of the parent order (replication key)payment_attempt_id- Identifier of the payment attemptpayment_provider_id- Identifier of the payment providerpayment_provider_tax_id- Tax identifier of the payment provider (Brazil)payment_method- Payment method type and identifier (JSON object)info- Provider-specific payment details (JSON object)status- authorized, paid, failed, pending, refunded, voided…events- Events that changed the transaction status (JSON array)captured_amount,refunded_amount,authorized_amount,voided_amount,discount_amount- Amounts with currency (JSON objects)failure_code- Code describing why the transaction failedcreated_at- Timestamp when the transaction was created
Customers
Customers
Store customers. Incremental on
updated_at.id- Unique numeric identifier of the customername- Full nameemail- Email addressphone- Phone numberidentification- Personal/tax identification (CPF/CNPJ, DNI)note- Store owner’s notesdefault_address- Default shipping address (JSON object)addresses- All shipping addresses (JSON array)billing_name,billing_phone,billing_address,billing_number,billing_floor,billing_locality,billing_zipcode,billing_city,billing_province,billing_country- Billing addresscustomer_type,business_name,trade_name,state_registration,business_activity,document_type- Company data, when the customer is a companyfiscal_regime,invoice_use- Mexico-specific invoicing fieldsextra- Custom information (JSON object)total_spent- Total amount spent in the storetotal_spent_currency- Currency oftotal_spentlast_order_id- Identifier of the most recent orderactive- Whether the account is activefirst_interaction- First interaction with the storeaccepts_marketing- Whether the customer opted in to email marketingaccepts_marketing_updated_at- Last change to the marketing opt-increated_at- Timestamp when the customer was createdupdated_at- Timestamp of the last update (replication key)
Abandoned Checkouts
Abandoned Checkouts
Checkouts started but not completed. Incremental on
updated_at.id- Unique numeric identifier of the checkouttoken- Token that identifies the checkoutstore_id- Identifier of the storeabandoned_checkout_url- URL to recover the checkoutcontact_email,contact_name,contact_phone,contact_identification- Customer contact datacustomer- Customer that started the checkout, when identified (JSON object)shipping_name,shipping_phone,shipping_address,shipping_number,shipping_floor,shipping_locality,shipping_zipcode,shipping_city,shipping_province,shipping_country- Shipping addressshipping_min_days,shipping_max_days- Estimated delivery window in weekdaysbilling_name,billing_phone,billing_address,billing_number,billing_floor,billing_locality,billing_zipcode,billing_city,billing_province,billing_country- Billing addressshipping_cost_owner,shipping_cost_customer- Shipping costscoupon- Coupons applied (JSON array)promotional_discount- Promotional discount applied (JSON object)subtotal,discount,discount_coupon,discount_gateway,total,total_usd- Amountscheckout_enabled- Whether the checkout can still be resumedweight- Total weight in kilogramscurrency- Currency in ISO 4217 formatlanguage- Language used during checkoutgateway,gateway_id- Payment gateway datashipping,shipping_option,shipping_option_code,shipping_option_reference,shipping_pickup_details,shipping_tracking_number,shipping_tracking_url,shipping_store_branch_name,shipping_pickup_type,shipping_suboption- Shipping method dataextra- Custom information (JSON object)storefront- store, meli, api, form or posnote- Note left by the customernext_action- noop, close, waiting_ipn or waiting_manual_confirmationpayment_status,payment_count,gateway_name- Payment databilling_customer_type,billing_business_name,billing_trade_name,billing_state_registration,billing_business_activity,billing_document_type,billing_fiscal_regime,billing_invoice_use- Company billing datasubtotal_without_taxes,total_paid- Additional amountsshipping_store_branch_extra,owner_note,order_origin- Additional order datasame_billing_and_shipping_address,is_subscription,is_subscription_initial- Flagscontact_accepts_marketing,contact_accepts_marketing_updated_at- Marketing opt-incheckout_enabled_validation_messages,checkout_bot_suspect,checkout_app_blocked,was_notified,has_stock_available- Checkout status flagscustomer_visit,cart_flags- Attribution and cart flags (JSON objects)payment_details- Payment details (JSON object)attributes- Line-item properties (JSON array)products- Products in the cart (JSON array)created_at- Timestamp when the checkout was createdupdated_at- Timestamp of the last update (replication key)completed_at- Timestamp when the checkout was completed, if it was
Coupons
Coupons
Discount coupons. Full table.
id- Unique numeric identifier of the couponcode- Code the customer types to apply the coupontype- percentage, absolute or shippingvalid- Whether the coupon is currently validstart_date,end_date- Validity windowdeleted_at- Timestamp when the coupon was deleted, or nullmax_uses- Maximum number of uses; null for unlimitedused- Number of times the coupon has been usedvalue- Discount amount or percentageincludes_shipping- Whether the discount also applies to shippingfirst_consumer_purchase- Whether it applies only to the first purchasemin_price- Minimum cart value requiredcategories- Categories the coupon is restricted to (JSON array)products- Products the coupon is restricted to (JSON array)combines_with_other_discounts- Whether it can be combined with other promotionsonly_cheapest_shipping- Whether it applies only to the cheapest eligible shipping optionstart_time,end_time- Time of day bounds of the validity windowmax_uses_per_client- Maximum uses per customer; null for unlimitedmax_discount_amount- Cap on the discount amount for percentage couponsis_deleted- Whether the coupon has been deleted
Locations
Locations
Stock locations (warehouses / branches). Full table.
id- Unique identifier of the locationstore_id- Identifier of the storename- Location name per language (JSON object)priority- Priority used to assign stock at checkout (lower = higher priority)address- Full address including province, region and country (JSON object)is_default- Whether this is the default locationtags- Sales-channel tags (e.g. online, offline)additional_days,weekends_and_holidays- Handling-time settingsdeleted_at- Timestamp when the location was deleted, or nullcreated_at- Timestamp when the location was createdupdated_at- Timestamp of the last update
Rate limits
Nuvemshop enforces a leaky-bucket limit of 40 requests with a refill rate of 2 requests per second (10× higher on Next/Evolution plans). The connector throttles itself when the bucket is nearly full and retries429 responses honouring the API’s reset header, so a large first sync may take a while but will complete without manual intervention.