# Negozio

> Uno spazio che elenca e vende prodotti singoli (corsi, biglietti, materiali), con tutti i prodotti attivi o solo quelli scelti, e le stesse regole di accesso degli altri spazi.

Il **Negozio** è un tipo di spazio che mostra prodotti singoli da acquistare: un corso, un biglietto, un materiale, un omaggio. Chi vede il negozio acquista ciò che mostra.

> [!SOON]
> La configurazione del negozio esiste già nell'API (`/api/storefront/spaces/{spaceId}`), ma il modulo non compare ancora nella finestra **Crea Spazio** dell'app, e uno spazio Negozio creato tramite API si apre ancora come Feed. I piani (abbonamenti) continuano a essere venduti nella pagina dei prezzi, `/pricing`.

## A cosa serve

| Community | Negozio |
|---|---|
| Scuola online | **Corsi singoli**: i corsi che si acquistano una volta sola |
| Associazione | **Biglietti**: il congresso e i workshop |
| Risorse umane aziendali | **Omaggi**: il negozio dei benefit, per i dipendenti |
| SaaS | **Estensioni**: solo per chi è abbonato a un piano |

## Come funzionerà

### Due modi di costruirlo

| Modalità | Cosa mostra il negozio |
|---|---|
| **Tutti** | Ogni prodotto singolo **attivo** della community |
| **Selezionati** | Solo i prodotti scelti, nell'ordine che definisci tu |

### Regole di acquisto

- Il negozio rispetta la **visibilità** come qualsiasi spazio: un negozio per abbonati compare solo agli abbonati.
- Un prodotto singolo si può acquistare solo se compare in un negozio che la persona vede, oppure se il **link diretto** del prodotto è attivo. Altrimenti: *"Questo prodotto non è in vendita qui. Cercalo nel negozio della community."*
- I piani (abbonamenti) **non** entrano nel negozio: hanno la pagina dei prezzi.

### Chi può

Configurare il negozio: **proprietario** e **admin**. Acquistare: chi vede il negozio.

## Esempio

**Estensioni solo per gli abbonati.** Un negozio **Estensioni** con visibilità **Abbonati** e modalità **Selezionati**, con due prodotti. Chi non è abbonato non vede il negozio, e quindi non può acquistare le estensioni.

## Nell'API

`GET`/`PUT /api/storefront/spaces/{spaceId}` (`mode`: `all` o `selected`, e `productIds`) e `GET /api/storefront/spaces/{spaceId}/products`. Vedi [Storefront](/api/referencia/storefront).

## Correlati

- [Prodotti](/monetizacao/produtos)
- [Visibilità e accesso](/conceitos/visibilidade-e-acesso)
