# Stores (e-commerce)

> Connect a Nuvemshop, Shopify, WooCommerce or VTEX store to sync customers, products and orders and send branded order e-mails.

Source: https://docs.pidgely.com/guides/stores/

Connect your online store to Pidgely and it keeps your **customers, products, orders and checkouts** in sync, links every customer to your [contacts](https://docs.pidgely.com/guides/contacts/), and sends **order e-mails** from your own verified domain, in your brand. Platform guides: [Nuvemshop](https://docs.pidgely.com/guides/store-nuvemshop/) · [Shopify](https://docs.pidgely.com/guides/store-shopify/) · [WooCommerce](https://docs.pidgely.com/guides/store-woocommerce/) · [VTEX](https://docs.pidgely.com/guides/store-vtex/). Order e-mails are covered in [Order e-mails](https://docs.pidgely.com/guides/order-emails/).

## How it works

1. **Connect.** In the dashboard, open **Stores** and pick your platform. You authorize Pidgely on the platform (same tab) and come back to the store page. VTEX uses an application key instead.
2. **First import.** Pidgely imports your history in the background (big stores take a few minutes). Nothing is e-mailed for past orders.
3. **Live.** The platform notifies Pidgely of every change (webhooks), and a reconciliation every few hours catches anything missed. New orders, payments, shipments, deliveries and cancellations become [order e-mails](https://docs.pidgely.com/guides/order-emails/) and commerce events.

Each store customer with an e-mail is linked to the contact with the same address (created if needed). A customer who did not accept marketing in your store stays a contact you can e-mail about their orders; Pidgely never subscribes or unsubscribes anyone because of the store.

## From the API

The same features are available to full access API keys. List the platforms enabled on the server, then connect:

```bash tab="cURL"
curl -X POST 'https://api.pidgely.com/commerce/stores' \
  -H "Authorization: Bearer $PIDGELY_API_KEY" \
  -H 'Content-Type: application/json' \
  -d '{
  "platform": "vtex",
  "fields": {
    "account": "aurora",
    "app_key": "vtexappkey-aurora-ABCDEF",
    "app_token": "…"
  }
}'
```

OAuth platforms answer with a `redirect_url` to open in the merchant's browser; when the flow did not start in a signed-in dashboard session, the store waits to be claimed in the dashboard (**Stores → Connect this store?**).

Read the synced data per store:

```bash tab="cURL"
curl -X GET 'https://api.pidgely.com/commerce/stores/0193a5b2-5c1e-7c3a-9f4e-1a2b3c4d5e6f/orders?limit=20' \
  -H "Authorization: Bearer $PIDGELY_API_KEY"
```

Amounts are integers in the currency's minor unit (cents): `12990` with `"currency": "BRL"` is R$ 129,90.

## Commerce events

Every store keeps an append-only log of what happened, newest first ([`GET /commerce/stores/{id}/events`](https://docs.pidgely.com/api-reference/commerce/list-events/)): `order.placed`, `order.paid`, `order.shipped`, `order.delivered`, `order.cancelled`, `order.refunded`, `checkout.abandoned`, `checkout.recovered`, `customer.created`, `store.connected`, `store.disconnected`. [Store automations](https://docs.pidgely.com/guides/automations/#for-stores) (abandoned cart, unpaid Pix/boleto, post-purchase, win-back) start from these events.

## Privacy (LGPD / GDPR)

Erasure and data requests sent by Nuvemshop and Shopify are handled automatically: a customer erasure deletes the customer and keeps only the amounts of their orders; a data request collects what Pidgely holds about the customer for you to download on the store page and send them; a store erasure removes the store and its data.

## Disconnecting

**Disconnect** removes Pidgely's webhooks (and its access where the platform allows) and deletes the synced customers, products and orders. Contacts and e-mails already sent are kept.
