Overview
Nuvemshop data synced to V4MOS.AI, through the integration's own endpoints
The V4MOS.AI Nuvemshop API gives you the raw records synced from the Nuvemshop accounts connected to your organization: orders, order items, abandoned checkouts, customers, catalog, coupons, promotions and stock. Rows come as they were synced, with the warehouse column names (snake_case), so you can load them straight into your BI. All endpoints use the /v1/nuvemshop prefix and the same authentication, pagination and response format.
Getting started
Base URL: https://data.v4mos.ai. Every call requires your API credentials and the organizationId — see Authentication.
- Connect Nuvemshop in app.v4mos.ai (Connected accounts) and wait for the first sync.
- Call any endpoint below with your
organizationId, for exampleGET /v1/nuvemshop/orders?organizationId=…. - Every row carries
integration_idandintegration_name: the connected account it came from. To read a single account, pass that value asintegrationId.
Available endpoints
- getOrders
/v1/nuvemshop/ordersOne row per order: status, payment and shipping status, totals, discounts, coupons, promotions, shipping and UTM attribution. - getOrder items
/v1/nuvemshop/order-itemsOne row per order line item: product, variant, SKU, quantity, price, cost and promotions, with the order status and dates. - getAbandoned checkouts
/v1/nuvemshop/abandoned-checkoutsOne row per checkout the shopper started and did not finish: items, totals, coupons and shipping option. - getCustomers
/v1/nuvemshop/customersOne row per customer of the store, with marketing consent and total spent. - getProducts
/v1/nuvemshop/productsOne row per catalog product: brand, publication, shipping flags, category and variant count. - getProduct variants
/v1/nuvemshop/variantsOne row per product variant: SKU, prices, cost, stock and visibility. - getCoupons
/v1/nuvemshop/couponsOne row per coupon registered in the store: type, value, validity and usage limits. - getPromotions
/v1/nuvemshop/promotionsOne row per promotion configured in the store: status, discount type and validity. - getInventory snapshots
/v1/nuvemshop/inventory-snapshotsOne row per stock reading of a variant at a location: available quantity at snapshotat.
Resources
| Endpoint | What one row is | dateFrom / dateTo filter |
|---|---|---|
GET /v1/nuvemshop/orders | One row per order: status, payment and shipping status, totals, discounts, coupons, promotions, shipping and UTM attribution. | created_at |
GET /v1/nuvemshop/order-items | One row per order line item: product, variant, SKU, quantity, price, cost and promotions, with the order status and dates. | order_created_at |
GET /v1/nuvemshop/abandoned-checkouts | One row per checkout the shopper started and did not finish: items, totals, coupons and shipping option. | created_at |
GET /v1/nuvemshop/customers | One row per customer of the store, with marketing consent and total spent. | created_at |
GET /v1/nuvemshop/products | One row per catalog product: brand, publication, shipping flags, category and variant count. | created_at |
GET /v1/nuvemshop/variants | One row per product variant: SKU, prices, cost, stock and visibility. | created_at |
GET /v1/nuvemshop/coupons | One row per coupon registered in the store: type, value, validity and usage limits. | created_at |
GET /v1/nuvemshop/promotions | One row per promotion configured in the store: status, discount type and validity. | created_at |
GET /v1/nuvemshop/inventory-snapshots | One row per stock reading of a variant at a location: available quantity at snapshot_at. | snapshot_at |
Pagination and filters
page(default 1) andlimit(default 500, max 5000).meta.hasNextPagesays whether another page exists; rows come in a stable order, so walk the pages until it isfalse.dateFrom/dateTo(YYYY-MM-DD, inclusive) filter by the date column shown in the table above. Resources without one reject them.integrationIdkeeps the rows of one connected account.- Answers are cached for 30 minutes and the data is synced once a day — see Data sync.
Personal data
Some Nuvemshop resources carry personal data of your customers and contacts (such as email). Store and process it according to the LGPD and your own privacy policy.
Response format
{
"data": [{ "...": "one object per row, with the columns listed on each endpoint" }],
"meta": {
"page": 1,
"limit": 500,
"hasNextPage": true,
"hasPreviousPage": false
}
}Amounts and large counters (fields with format: decimal or format: int64 in each endpoint schema) come as strings, e.g. "125.50", so no precision is lost. Convert them to a decimal type on your side.