Ogni tema include il file storeden.js, che fornisce una serie di funzioni indispensabili per il funzionamento del sito e-commerce. Di seguito riportiamo i dettagli delle funzioni utilizzabili nel tema.
- addAddress
- checkShipping
- checkout
- couponValue
- createSuperKey
- currencySign
- editAddress
- editPassword
- emptyCart
- getAvailables
- getCartItems
- getConditions
- getCountries
- getCountry
- getItem
- getPayments
- getPrivacy
- getProductReviews
- getState
- getStates
- getStoreReviews
- getStoreReviewsPaginated
- getStoredenConditions
- getStoredenPrivacy
- getTaxAmount
- getVariantParams
- guestCheckout
- hasNewsletterSubscription
- isEmailNotRegistered
- login
- newsletterSubscription
- parsePrice
- payNow
- postProduct
- register
- removeAddress
- removeItem
- sendMessage
- sendMessageChat
- setCustomerAcceptMarketing
- setMainAddress
- setOrderAsReceived
- wish
Salvare un nuovo indirizzo
Storeden.addAddress(fullname,addr1,city,zip,state,country,email,phone,vat,callback)
| param | type |
|---|---|
| fullname | string Nome e cognome, ragione sociale, ... |
| addr1 | string Indirizzo e numero civico |
| city | string Località |
| zip | string CAP |
| state | int Codice provincia |
| country | int Codice nazione |
| string |
|
| phone | string Telefono |
| vat | string Codice fiscale o partita IVA |
| callback | function Funzione per la gestione dei dati ritornati dalla chiamata |
Return: Possibili errori: no-fullname, no-addr1, no-city, no-zip, no-state, no-country, no-email, no-phone, no-vat.
/* on error: */
{
result: "error",
types: [ "no-city", "no-phone" ]
}
/* on success */
{
result: "success",
_id: "564576458745745",
response: { ... } // address json data
}
Calcola i metodi di spedizioni disponibili in base al carrello e all'indirizzo del cliente
Storeden.checkShipping(cartID,shipping_city,shipping_country,callback,completeAddress)
| param | type |
|---|---|
| cartID | string ID del carrello corrente |
| shipping_city | int UID della città di spedizione |
| shipping_country | int UID della nazione di spedizione |
| callback | function Funzione per la gestione dei dati ritornati dalla chiamata |
| completeAddress | array Indirizzo completo dell'utente |
Return: Array con la lista dei metodi di spedizione disponibili, se ci sono.
{
{
free_limit: -57 // missing amout to have free shipping
name: "Italia"
price: 0
shipping_id: "-1|150667|"
time: "2_3"
timeLang: "Da 2 a 3 giorni"
},
{
free_limit: -26 // missing amout to have free shipping
name: "Italia Express"
price: 8
shipping_id: "-1|375499|"
time: "0_1"
timeLang: "1 giorno"
}
}
Funzione di checkout per utenti loggati
Storeden.checkout(cartID,billing,shipping,s_profile,p_profile,coupon,message,callback,isGift,giftMessage,needInvoice)
| param | type |
|---|---|
| cartID | string ID carrello |
| billing | string ID indirizzo pagamento |
| shipping | string ID indirizzo spedizione |
| s_profile | string ID metodo di spedizione |
| p_profile | string ID metodo di pagamento |
| coupon | string ID metodo di pagamento |
| message | string Messaggio per il venditore |
| isGift | boolean TRUE/FALSE se opzione regalo è selezionata |
| giftMessage | string Messaggio opzione regalo |
| needInvoice | string ID metodo di pagamento |
Return: L'URL di redirect per conferma/pagamento ordine o errore
Callback: funzione che viene eseguita dopo il checkout, riceve in input il risultato della funzione.
Verificare la validità di un coupon inserito nel checkout
Storeden.couponValue(cartID,coupon,total,callback)
| param | type |
|---|---|
| cartID | string ID del carrello corrente |
| coupon | string Codice del coupon |
| total | float Totale corrente del carrello |
| callback | function Funzione per la gestione dei dati ritornati dalla chiamata |
Return: Possibili errori:
- sale-min-total: importo minimo del carrello non rispettato
- sale-expired: coupon scaduto, disattivato
- sale-not-found: coupon inesistente
{
name: "Coupon name is.. ",
value: 15, // coupon total amount, -1 if coupon is not valid
error: "", //or a error code
shipping: 5, // amount > 0 when freeshipping has been applied
country_: 119, // country uid for freeshipping applied
}
Crea la chiave superkey per poter, ad esempio, aggiungere una variante di prodotto al carrello
Storeden.createSuperKey(combination)
| param | type |
|---|---|
| combination | array Array con le opzioni di ciascuna variante |
Return: La superkey derivata dalle opzioni di variante fornite nell'array combination
var combination = ['rosso', 'small']; var superkey = Storeden.createSuperKey(combination); // superkey will be rosso_small
Ritorna il simbolo della valuta.
Storeden.currencySign(currency)
| param | type |
|---|---|
| currency | string Codice ISO della valuta |
Return: Il simbolo della valuta, in HTML escape
var sign = Storeden.currencySign("{{group.currency}}");
// if gruoup.currency is "EUR", then sign will be "€"
Modificare un indirizzo esistente
Storeden.editAddress(id,fullname,addr1,city,zip,state,country,email,phone,vat,callback)
| param | type |
|---|---|
| id | string ID dell'indirizzo da modificare |
| fullname | string Nome e cognome, ragione sociale, ... |
| addr1 | string Indirizzo e numero civico |
| city | string Località |
| zip | string CAP |
| state | int Codice provincia |
| country | int Codice nazione |
| string |
|
| phone | string Telefono |
| vat | string Codice fiscale o partita IVA |
| callback | function Funzione per la gestione dei dati ritornati dalla chiamata |
Return: Possibili errori: no-fullname, no-addr1, no-city, no-zip, no-state, no-country, no-email, no-phone, no-vat.
/* on error: */
{
result: "error",
types: [ "no-city", "no-phone" ]
}
/* on success */
{
result: "success",
_id: "564576458745745",
response: { ... } // address json data
}
Consente di aggiornare la password di un utente
Storeden.editPassword(email,old_password,new_password,check_password,callback)
| param | type |
|---|---|
| string E-mail di un utente esistente |
|
| old_password | string Password attuale dell'utente |
| new_password | string Nuova password |
| check_password | string Controllo password |
| callback | function Funzione per la gestione dei dati ritornati dalla chiamata |
Elimina tutti i prodotti dal carrello
Storeden.emptyCart(cartID,callback)
| param | type |
|---|---|
| cartID | string ID del carrello corrente |
| callback | function Funzione per la gestione dei dati ritornati dalla chiamata |
Return: Array di carrello vuoto
{
count: 0,
total: 0
}
Date tutte le varianti di un prodotto ritorna solo le varianti disponibili.
Storeden.getAvailables(variants)
| param | type |
|---|---|
| variants | array Varianti del prodotto (campo variants) in formato json |
Return: Array con le varianti del prodotto disponibili
Ritorna il carrello corrente
Storeden.getCartItems(params,callback)
| param | type |
|---|---|
| params | array Per usi futuri, passare un array vuoto |
| callback | function Funzione di callback per la manipolazione dei dati ritornati dalla chiamata |
Return: Il JSON del carrello corrente
{
count: 2,
total: 126,
items: {
{
1108229#|#arancio:
complete_item: { ... } // every product data
count: 1
options: "arancio"
price: 63
sku: "123456"
title: "Trapunta invernale Piumone singolo BASSETTI CHIPS"
},
{
1108229#|#blu:
complete_item: { ... }
count: 1
options: "blu"
price: 63
sku: "56789"
title: "Trapunta invernale Piumone singolo BASSETTI CHIPS"
}
}
}
Recuperare le condizioni di vendita e la policy di reso del negozio, i dati vengono restituiti nella lingua corrente.
Storeden.getConditions(callback)
| param | type |
|---|---|
| callback | function Funzione per la gestione dei dati ritornati dalla chiamata |
Ottenere la lista delle nazioni nel sistema
Storeden.getCountries(callback)
| param | type |
|---|---|
| callback | function Funzione per la gestione dei dati ritornati dalla chiamata |
Return: Array JSON con tutte le nazioni nel sistema
{
{
name: "Afghanistan",
tld: "AF",
uid: 1,
_id: "4f13da27be85f1d826000000"
},
{
name: "Albania",
tld: "AL",
uid: 2,
_id: "4f13da27be85f1d826000001"
},
{
name: "Algeria",
tld: "AG",
uid: 3,
_id: "4f13da27be85f1d826000002"
},
...
}
Ottenere i dati di una nazione in base al suo ID
Storeden.getCountry(uid,callback)
| param | type |
|---|---|
| uid | int UID di una nazione |
| callback | function Funzione per la gestione dei dati ritornati dalla chiamata |
Recuperare il JSON con tutti i dati di un prodotto
Storeden.getItem(id,callback)
| param | type |
|---|---|
| id | string UID del prodotto |
| callback | function Funzione per la gestione dei dati ritornati dalla chiamata |
Ottenere i metodi di pagamento attivi sul negozio
Storeden.getPayments(cartID,callback,shipping_country,shipping_city,billing_country)
| param | type |
|---|---|
| cartID | string ID del carrello corrente |
| callback | function Funzione per la gestione dei dati ritornati dalla chiamata |
| shipping_country | int Opzionale, UID della nazione di spedizione - per usi futuri |
| shipping_city | int Opzionale, UID della città di spedizione - per usi futuri |
| billing_country | int Opzionale, UID della nazione di pagamento - per usi futuri |
Return: Array JSON con i metodi di pagamento abilitati
{
mark: {available: 1, cost: 3, label: "Contrassegno"},
paypal: {available: 1, cost: 0, label: "Paypal"},
stripe: {available: 1, cost: 0, label: "Carta di credito"},
transfer: {available: 1, cost: 0, label: "Bonifico bancario"},
}
Recuperare la privacy policy del negozio, i dati vengono restituiti nella lingua corrente.
Storeden.getPrivacy(callback)
| param | type |
|---|---|
| callback | function Funzione per la gestione dei dati ritornati dalla chiamata |
Ottenere le recensioni di un prodotto specifico
Storeden.getProductReviews(id,callback)
| param | type |
|---|---|
| id | int UID prodotto |
| callback | function Funzione per la gestione dei dati ritornati dalla chiamata |
Ottenere i dati di una città in base al suo ID e all'ID della nazione di riferimento
Storeden.getState(uid,callback)
| param | type |
|---|---|
| uid | int UID di una città |
| callback | function Funzione per la gestione dei dati ritornati dalla chiamata |
Return: Il nome della città
{
name: "Bologna",
}
Ottenere la lista delle città di una nazione
Storeden.getStates(uid,callback)
| param | type |
|---|---|
| uid | int UID di una nazione |
| callback | function Funzione per la gestione dei dati ritornati dalla chiamata |
Return: Array JSON con tutte le città della nazione selezionata
{
4f13db89be85f1d926001f9c: {
countryUID: 119,
name: "Cesena",
regionUID: 2242,
uid: 18877
},
4f13db89be85f1d926001f9d:
countryUID: 119,
name: "Ferrara",
regionUID: 2242,
uid: 4085
},
...
}
Ottenere il numero e la media delle recensioni del negozio
Storeden.getStoreReviews(callback)
| param | type |
|---|---|
| callback | function Funzione per la gestione dei dati ritornati dalla chiamata |
Ottenere le recensioni del negozio, paginate
Storeden.getStoreReviewsPaginated(limit, skip, callback)
| param | type |
|---|---|
| limit | int Numero di recensioni per pagina |
| skip | int |
| callback | function Funzione per la gestione dei dati ritornati dalla chiamata |
Recuperare i termini e condizioni d'uso di Storeden, i dati vengono restituiti nella lingua corrente.
Storeden.getStoredenConditions(callback)
| param | type |
|---|---|
| callback | function Funzione per la gestione dei dati ritornati dalla chiamata |
Recuperare la privacy policy di Storeden, i dati vengono restituiti nella lingua corrente.
Storeden.getStoredenPrivacy(callback)
| param | type |
|---|---|
| callback | function Funzione per la gestione dei dati ritornati dalla chiamata |
Calcola eventuali scorpori IVA basandosi sui profili di tassazione del tuo negozio e sull'indirizzo impostato per il calcolo (pagmento/spedizione)
Storeden.getTaxAmount(id,country,callback,shipping_country)
| param | type |
|---|---|
| id | string ID ordine |
| country | int ID billing address country |
| callback | function Funzione per la gestione dei dati ritornati dalla chiamata |
| shipping_country | string ID shipping address country |
Return: Il nuovo totale prodotti, variato se è stato necessario scorporare IVA, i dettagli di ciascun prodotto nel carrello
/* esempio con scorporo IVA */
{
total_items: 154.92,
total_tax: 0,
items {
1108229#|#arancio: {
country: "out-profile"
item_price: 51.64
item_tax: null
item_total_tax: null
profile_value: 22
tax: "incluse"
total_item_price: 103.28
},
1108229#|#blu: {
country: "out-profile"
item_price: 51.64
item_tax: null
item_total_tax: null
profile_value: 22
tax: "incluse"
total_item_price: 51.64
}
}
Ottenere i dati di una singola combinazione di prodotto
Storeden.getVariantParams(variants,choose)
| param | type |
|---|---|
| variants | array Varianti del prodotto (campo variants) in formato json |
| choose | string Superkey della combinazione che si sta cercando (rosso_small) |
Return: Array con i parametri della variante
{
superkey: "blu",
sku: "INT_DJGNTJ001",
price: 90,
final_price: 63,
ean13: "12345678346",
mpn: "DJGNTJ001",
quantity: 4,
unlimited: false,
image: "https://tcdn.storeden.com/gallery/5bbce01302e58ee238ec092f",
variants: {
Colore: "blu"
}
}
Funzione di checkout per utenti guest
Storeden.guestCheckout(cartID,billing,shipping,s_profile,p_profile,coupon,message,createAccount,email,password,callback,isGift,giftMessage,needInvoice)
| param | type |
|---|---|
| cartID | string ID carrello |
| billing | string ID indirizzo pagamento |
| shipping | string ID indirizzo spedizione |
| s_profile | string ID metodo di spedizione |
| p_profile | string ID metodo di pagamento |
| coupon | string ID metodo di pagamento |
| message | string Messaggio per il venditore |
| createAccount | boolean TRUE/FALSE se l'utente vuole registrarsi |
| string E-mail per la registrazione |
|
| password | string Password per la registrazione |
| isGift | boolean TRUE/FALSE se opzione regalo è selezionata |
| giftMessage | string Messaggio opzione regalo |
| needInvoice | string ID metodo di pagamento |
Return: L'URL di redirect per conferma/pagamento ordine o errore
Callback: funzione che viene eseguita dopo il checkout, riceve in input il risultato della funzione.
Funzione deprecata, non utilizzarla. Usare setCustomerAcceptMarketing al suo posto.
Storeden.hasNewsletterSubscription()
Verifica se un indirizzo e-mail corrisponde ad un utente già registrato
Storeden.isEmailNotRegistered(email,callback)
| param | type |
|---|---|
| string Indirizzo e-mail |
|
| callback | function Funzione per la gestione dei dati ritornati dalla chiamata |
Return: TRUE se corrisponde ad un utente già registrato, FALSE altrimenti
Log in utente
Storeden.login(email,password,callback)
| param | type |
|---|---|
| string Indirizzo e-mail valido |
|
| password | string Password |
| callback | function Funzione per la gestione dei dati ritornati dalla chiamata |
Return: Array con il risultato del login utente
{
message => "valid", // invalid in case of unsuccessfull login
status => TRUE, // FALSE in case of unsuccessfull login
user => { ... }, // data of valid user logged
session => "XXXXX",
type => "bad_login" // passed only in case of wrong login
}
Ritorna un numero nel formato corretto a due decimali.
Storeden.parsePrice(price)
| param | type |
|---|---|
| price | float Numero da formattare |
Return: Il numero formattato correttamente
var price = 18; var p = Storeden.parsePrice(price); // p will be 18.00
Abilitare il pagamento di ordini già effettuati ma in attesa di pagamento. Non è possibile cambiare il metodo di pagamento.
Storeden.payNow(id,callback)
| param | type |
|---|---|
| id | string ID ordine |
| callback | function Funzione per la gestione dei dati ritornati dalla chiamata |
Return: L'URL a cui fare il redirect per consentire all'utente di procedere, oppure un messaggio di errore se l'id non è valido
Aggiungere un prodotto al carrello
Storeden.postProduct(id,count,superkey,callback,customization,custom_price)
| param | type |
|---|---|
| id | int UID del prodotto da aggiungere al carrello |
| count | int Quantità di prodotto da aggiungere al carrello |
| superkey | string Opzionale, superkey della variante da aggiungere al carrello |
| callback |
function |
| customization |
string |
|
custom_price |
int Prezzo custom |
{
count: 1, // cart total items
total: 126, // cart total amount
over_quantity: false // item has sufficient stock
/* data of current item added to cart */
item_currency: "EUR"
item_options: "rosso_small"
item_price: 63
item_quantity: 1
item_sku: "8300355585934"
item_title: "Product title"
item_uid: 1108229
}
Registra un nuovo utente
Storeden.register(fullname,email,password,checkPassword,lang,callback)
| param | type |
|---|---|
| fullname | string Nome e cognome |
| string Indirizzo e-mail valido |
|
| password | string Password, minimo 8 caratteri |
| checkPassword | string Controllo password, minimo 8 caratteri |
| lang | string ISO code lingua selezionata |
| callback | function Funzione per la gestione dei dati ritornati dalla chiamata |
Return: Se l'operazione non va a buon fine, ritorna 'error' corrispondente ad uno dei seguenti possibili errori:
- fullname-not-defined: campo fullname mancante
- email-not-defined: campo email mancante
- password-not-defined: campo password mancante
- re-password-not-defined: campo controllo password mancante
- email-already-used: e-mail già utilizzata
- pw-not-match: password e controllo password non corrispondono
- user-not-registered: errore generico, utente non registrato
Altrimenti, ritorna:
{
error: null,
userUID => 12345
}
Eliminare un indirizzo
Storeden.removeAddress(id,callback)
| param | type |
|---|---|
| id | string ID dell'indirizzo da modificare |
| callback | function Funzione per la gestione dei dati ritornati dalla chiamata |
Elimina un prodotto dal carrello
Storeden.removeItem(composite,callback)
| param | type |
|---|---|
| composite | string Indice del prodotto nel carrello |
| callback | function Funzione per la gestione dei dati ritornati dalla chiamata |
Return: Array con dati aggiornati del carrello
{
count: 1,
total: 63
}
// example:
var key = '1108229#|#blu';
Storeden.removeItem(key, function(res){
window.location = '/cart';
});
Inviare un messaggio al negozio
Storeden.sendMessage(message,callback)
| param | type |
|---|---|
| message | string Testo del messaggio |
| callback | function Funzione per la gestione dei dati ritornati dalla chiamata |
Inviare un messaggio chat al negozio
Storeden.sendMessageChat(message,callback)
| param | type |
|---|---|
| message | string Testo del messaggio |
| callback | function Funzione per la gestione dei dati ritornati dalla chiamata |
Return: Empty array on failure, message details on success.
{
name: "Mario Rossi", //sender name
image:, // sender profile image
date: "15/9/2018 15:21",
message: "Message content"
type: "me"
}
Impostare il flag marketing sui clienti
Storeden.setCustomerAcceptMarketing(userUID,email,accept_marketing,callback)
| param | type |
|---|---|
| userUID | int User UID collegato |
| string E-mail utente |
|
| accept_marketing | boolean TRUE/FALSE |
| callback | function Funzione per la gestione dei dati ritornati dalla chiamata |
Impostare un indirizzo come indirizzo principale.
Storeden.setMainAddress(id,callback)
| param | type |
|---|---|
| id | string ID dell'indirizzo |
| callback | function Funzione per la gestione dei dati ritornati dalla chiamata |
Impostare un ordine come ricevuto
Storeden.setOrderAsReceived(id,callback)
| param | type |
|---|---|
| id | string ID ordine |
| callback | function Funzione per la gestione dei dati ritornati dalla chiamata |
Aggiunta/rimozione prodotto da wishlist
Storeden.wish(id,callback)
| param | type |
|---|---|
| id | string UID prodotto |
| callback | function Funzione per la gestione dei dati ritornati dalla chiamata |
Return: Il nuovo valore del prodotto
{
hasWish: 1, // -1 on error, 0 on remove, 1 on add
count: 15 // total wishes
item: {...} // product details
}
Commenti