API per venditori

Ogni venditore approvato può generare una chiave API dall'area riservata e sincronizzare il proprio catalogo: nome prodotto, marca, prezzo, disponibilità, immagine e link di acquisto. I prodotti inviati sono pubblicati immediatamente e compaiono nel confronto prezzi.

1. Ottieni le credenziali

Richiedi l'accesso venditore, attendi l'approvazione e genera le credenziali nella sezione «Credenziali API (OAuth 2.0)» dell'area riservata: il client_id è il prefisso mostrato in elenco, il client_secret è la chiave completa, visibile una sola volta.

2. Richiedi l'access token (OAuth 2.0)

POST /api/public/v1/oauth/token con grant_type=client_credentials (JSON, form-urlencoded o HTTP Basic). L'access token dura 1 ora e va usato come Bearer su tutte le chiamate.

curl -X POST https://find-compare-shop.lovable.app/api/public/v1/oauth/token \
  -H "Content-Type: application/json" \
  -d '{
    "grant_type": "client_credentials",
    "client_id": "pk_live_xxxx",
    "client_secret": "LA_TUA_CHIAVE_API_COMPLETA"
  }'

# risposta
{ "access_token": "tt_...", "token_type": "Bearer", "expires_in": 3600 }

3. Invia i prodotti

POST /api/public/v1/products — fino a 500 prodotti per richiesta. L'identificativo external_id è la tua chiave univoca: se esiste già, il prodotto viene aggiornato (prezzo, disponibilità, immagine), altrimenti viene creato.

curl -X POST https://find-compare-shop.lovable.app/api/public/v1/products \
  -H "Authorization: Bearer tt_ACCESS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "products": [
      {
        "external_id": "SKU-1234",
        "name": "Scarpa running Alfa 3",
        "brand": "Alfa",
        "category": "Running",
        "description": "Scarpa neutra da allenamento.",
        "price": 89.90,
        "old_price": 129.90,
        "currency": "EUR",
        "color": "Nero",
        "size": "42",
        "availability": "in_stock",
        "image_url": "https://tuostore.it/img/sku-1234.jpg",
        "affiliate_url": "https://tuostore.it/p/sku-1234"
      }
    ]
  }'

Risposta:

{ "ok": true, "upserted": 1, "deleted": 0, "failed": 0 }

4. Rimuovi un prodotto

Aggiungi "deleted": true all'elemento per eliminarlo dal catalogo.

{ "products": [{ "external_id": "SKU-1234", "name": "-", "price": 0,
  "affiliate_url": "https://tuostore.it/", "deleted": true }] }

5. Leggi il tuo catalogo

GET /api/public/v1/products con lo stesso header Authorization: Bearer restituisce i prodotti già sincronizzati.

6. Monitora i risultati

Clic e ricavi stimati sono visibili in tempo reale nell'area venditore. Usa lo stesso nome prodotto degli altri venditori per far comparire la tua offerta nel confronto prezzi della scheda prodotto.

Vai all'area venditore