Sirio CloudDocumentazione API

Collegare un negozio online

Calcolo prezzi per cliente e creazione dei documenti di vendita.

1. Il prezzo giusto, prima di vendere

Il prezzo applicato a un cliente dipende da listino, regole di sconto, prezzi speciali e quantità. Il calcolo va richiesto al gestionale, non replicato nell'integrazione:

curl -X POST https://tuaazienda.siriocloud.it/api/v1/prezzi/calcola \
  -H 'Authorization: Bearer sc_live_LATUACHIAVE' -H 'Content-Type: application/json' \
  -d '{
    "partita_iva": "01234567890",
    "righe": [ { "codice": "ART-001", "quantita": 10 } ]
  }'
{
  "cliente": 88,
  "righe": [ {
    "articolo": { "id": 17, "codice": "ART-001" },
    "quantita": "10",
    "prezzo": "24.9", "sconti": [10, 5], "sconto": "14.5",
    "prezzo_netto": "21.2895", "prezzo_netto_ivato": "25.9732",
    "aliquota": { "id": 2, "valore": "22" },
    "regola_sconti": "Sconto rivenditori"
  } ]
}

2. L'ordine diventa un documento

Alla conferma dell'ordine il documento si crea in una chiamata — tutto o niente: se una riga viene rifiutata non viene scritto nulla e il messaggio indica riga e motivo. Con prezzi_ivati: true i prezzi si inviano IVA inclusa e lo scorporo lo esegue il gestionale.

curl -X POST https://tuaazienda.siriocloud.it/api/v1/documenti-vendita \
  -H 'Authorization: Bearer sc_live_LATUACHIAVE' -H 'Content-Type: application/json' \
  -H 'Idempotency-Key: ordine-negozio-58317' \
  -d '{
    "tipo": "fattura",
    "sezionale": "FE",
    "partita_iva": "01234567890",
    "magazzino": 1,
    "prezzi_ivati": true,
    "righe": [
      { "codice": "ART-001", "quantita": 10, "prezzo": "25.97" },
      { "descrizione": "Spese di spedizione", "prezzo": "8.20", "aliquota": 2 }
    ]
  }'

La risposta è il documento completo, col numero consumato dal sezionale. Le giacenze scendono da sole; una riga senza prezzo prende quello del motore del punto 1.

I tipi di documento: fattura numera sul sezionale; proforma non prende numero (lo prenderà alla trasformazione, dal gestionale); vendita_banco è la vendita al banco senza numero di fattura. Un cliente non ancora presente si crea prima, con il PUT /clienti per partita IVA.

3. Gestione degli errori

Il 422 indica riga e motivo ("Riga 0: ART-9 ha delle varianti: indicare la variante."); il 409 chiave_ambigua richiede l'id esplicito quando una partita IVA corrisponde a più schede; la Idempotency-Key previene i doppi invii. Tutti i codici in Errori.