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
Nuvemshop uses OAuth 2 with the authorization code flow. An app installed on your store receives an access token that never expires (it is only revoked when the app is uninstalled or a new token is issued). Follow Nuvemshop’s authentication guide to install your app and obtain the token. The following configurations are available:-
Access Token: The
access_tokenreturned by Nuvemshop’s token endpoint for your store. -
Store ID: The numeric identifier of your store — the
user_idreturned together with the access token. It also appears in the API base URL (https://api.nuvemshop.com.br/v1/{store_id}). - Initial sync date: The earliest date from which records will be synced. Incremental streams 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.). Changing the app’s scopes requires reinstalling it and generating a new token.
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,blog- Social/blog URLsaddress- 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 created
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)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 numberage_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)
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 item
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 addressextra- 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_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. Incremental on
updated_at.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 optioncreated_at- Timestamp when the coupon was createdupdated_at- Timestamp of the last update (replication key)
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)created_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.