Immagini degli articoli: le foto degli articoli e delle varianti, con la foto principale. Nel web service è il tipo PRODUCTIMAGE (valore 21 di DataType); gli oggetti sono della classe ProductImage e viaggiano nella lista ObjectListProductImage della richiesta e della risposta.
Ogni immagine è identificata da articolo, stringa della variante (vuota per l'articolo in generale) e indice. Il file viaggia dentro Image in Base64 e il server lo salva nella cartella delle immagini degli articoli. Con FotoDefault scegli la foto principale.
Scheda tecnica
| Voce | Valore |
|---|
| Tipo di dato | PRODUCTIMAGE = 21 |
| Classe | ProductImage |
| Lista nella richiesta e nella risposta | ObjectListProductImage |
| Tabella letta da QUERY | ArticoliImmagini — è il nome da usare davanti alle colonne in SQLFilter |
| Operazioni ammesse | QUERY (3), INSERTORMODIFY (0), DELETE (1), TRUNCATETABLE (2) |
| Campi chiave | Articolo + StringaVariante + Indice — identificano il record: con gli stessi valori INSERTORMODIFY aggiorna, con valori nuovi crea |
| Chiave per cancellare con DeletingClass | Articolo|StringaVariante|Indice |
| Chiave per le conferme di ricezione | Articolo|StringaVariante|Indice — come si usa |
| Controlli prima del salvataggio | Articolo: «Articolo non specificato» |
I campi di ProductImage
La colonna Obbligatorio riporta i campi chiave e quelli controllati dal server prima di salvare; Predefinito è il valore che il campo assume se non lo invii; Colonna è il nome del campo nel database, da usare nei filtri di lettura.
| Campo | Tipo | Obbligatorio | Predefinito | Colonna | A cosa serve |
|---|
Articolo | Testo | Chiave, sì | vuoto | articolo | Codice dell'articolo. Codice dell'archivio Articoli. Se manca il server risponde «Articolo non specificato». |
StringaVariante | Testo | Chiave | vuoto | formvar | Valori della variante, separati come nel gestionale; vuoto per l'articolo senza variante. |
Indice | Intero | Chiave | 0 | indice | Numero d'ordine del file per lo stesso articolo e la stessa variante. |
Image | ImageTrasmission | — | oggetto vuoto | — | Il file dell'immagine: nome e contenuto in Base64. |
Nome | Testo | — | vuoto | nome | Nome o didascalia dell'immagine. |
Catalogo | Testo | — | vuoto | catalogo | Catalogo in cui compare l'immagine. |
FotoDefault | Vero/falso | — | false | deffoto | Vero se è la foto principale. |
URLExportFoto | Testo | — | vuoto | urlexpfoto | Indirizzo pubblico del file da usare nelle esportazioni; viene salvato così come lo invii. |
Esempi
Inserimento o aggiornamento di un record (valori di esempio). Ricorda che INSERTORMODIFY riscrive tutti i campi: quelli che non invii tornano al valore predefinito, quindi per modificare un record esistente invia il record completo.
JSON · INSERTORMODIFY{
"DataOperation": 0,
"TypeObject": 21,
"GuidPC": "gestionale-01",
"AllInsert": false,
"ObjectListProductImage": [
{
"Articolo": "COD001",
"StringaVariante": "",
"Indice": 1,
"Nome": "Esempio",
"Catalogo": "ESEMPIO",
"FotoDefault": false
}
]
}
Lettura con filtro: fino a 100 record, ignorando le conferme di ricezione.
JSON · QUERY{
"DataOperation": 3,
"TypeObject": 21,
"GuidPC": "gestionale-01",
"SQLFilter": "ArticoliImmagini.articolo = 'COD001'",
"QueryParameter": {
"IgnoreImportRecord": true,
"StartingRecord": 1,
"LimitRecord": 100
}
}
Cancellazione: bastano i campi chiave.
JSON · DELETE{
"DataOperation": 1,
"TypeObject": 21,
"GuidPC": "gestionale-01",
"ObjectListProductImage": [
{
"Articolo": "COD001",
"StringaVariante": "",
"Indice": 1
}
]
}
Le regole su formati, date, numeri e compressione sono in formato e trasporto; esempi completi in esempi di codice.