update_basket_items
Questa chiamata aggiorna i prodotti nel basket riservato WWT assieme ai dati del cliente finale.
Chiamata parametri:
Parametro |
Obbligatorio |
Note |
uid |
si |
Id cliente |
pid |
si |
Id Portale |
lid |
si |
id Lingua |
key |
si |
Codice di autenticazione |
api_version |
si |
Versione API. |
request |
si |
Nome della funzione richiesta |
items |
si |
Radice dell'albero che contiene le richieste |
id_basket |
si |
Id del prodotto ottenuto dalla chiamata get_brand_items |
qty |
si |
quantità del prodotto richiesta Nota: qty = 0 equivale a cancellare la riga dal basket |
user_id_order |
no |
id ordine utente finale |
user_id_user |
no |
id utente finale |
user_company_name |
no |
ragione sociale o titolo dell'utente finale (Mr., Ms., Sig. , Sig.ra, dott., etc... ) |
user_first_name |
no |
nome utente finale |
user_last_name |
no |
cognome utente finale |
user_address |
no |
indirizzo utente finale |
user_city |
no |
città utente finale |
user_country |
no |
provincia utente finale |
user_zipcode |
no |
cap utente finale |
user_state |
no |
nazione utente finale |
user_phone |
no |
telefono utente finale |
user_mobile |
no |
cellulare utente finale |
user_mail |
no |
indirizzo mail utente finale |
user_retail_price |
no |
prezzo retail utente finale |
user_discount |
no |
prezzo scontato utente finale |
user_price |
no |
prezzo finale utente finale |
user_cod |
no |
Pagamento in contrassegno (cod: Cache on Delivery ). Due soli valori ammessi:
Default : 0 |
user_note |
no |
note inserite dall'utente finale |
internal_note |
no |
note inserite dal partner per WWT |
I campi non obbligatori sono quelli riguardanti l'utente che ha eseguito l'ordine ed i campi di messaggistica.
Nel caso in cui il partner voglia utilizzare la nostra interfaccia di Dropshipping questi dati saranno necessari anche se restano comunque non obbligatori.
I campi di messaggistica devono essere inviati codificati in base64 onde prevenire problemi di interpretazione della struttura dati JSON.
Nel caso in cui non lo fossero, le API provvederanno a farlo.
Ad ogni modo questi campi ( user_note ed internal_note ) saranno diffusi in base64.
Risposta parametri:
Questa risposta è divisa in due parti.
- Parte generale che stabilisce se l'intero processo di inserimento dati nel basket è andato bene o meno.
- Parte dettagliata, che riporta per ogni singola richiesta l'esito dell'inserimento nel DB. Queste risposte sono incapsulate nel nodo padre "items"
Risposta Parte generale
Parametro |
Sempre Presente |
Note |
success |
si |
true o false, indica se tutte le operazioni eseguite hanno avuto buon esito o meno |
rc |
si |
return code. |
message |
si |
Messaggio di errore |
Questo parte del messaggio può avere come messaggi d'errore
- -2 Access Denied
- -4 Fatal Error: There was an internal Error. Please retry or contact webmaster@wwt.it
- -11 One or more errors occurred while processing your request.
- -14 Unable to proceed. User does not have permission to perform this action
Nel caso di errori -2 o -4, non sarà presente il campo items e quindi neppure il dettaglio dei singoli messaggi.
Risposta Parte Dettagliata.
L'esito della richiesta con rc = 0 ( tutto ok) o un rc = -4 (fatal Error) viene evidenziato con soli 4 campi:
Parametro |
Sempre Presente |
Note |
success |
si |
true o false, indica se tutte le operazioni eseguite hanno avuto buon esito o meno |
rc |
si |
return code. |
message |
si |
Messaggio di errore |
id_basket |
si |
L'Id del basket a cui si riferisce l'esito dell'operazione |
Tutti gli altri risultati mostrano i seguenti campi:
Parametro |
Sempre Presente |
Note |
success |
si |
true o false, indica se l'operazione ha avuto buon esito o meno |
rc |
si |
return code. |
message |
si |
Messaggio di errore |
id_basket |
si |
Indica l'id di riferimento nel basket WWT. |
qty_requested |
si |
Quantità richiesta |
qty_available |
si |
Nuova quantità disponibile nello store WWT dopo aver modificato il basket |
minimum_qty |
si |
Quantità minima necessaria per poter procedere all'inserimento del prodotto nel basket. Questo valore è possibile prenderlo dal campo "min_qty" della funzione get_brands. |
qty_reserved |
si |
Quantità riservata. Questo valore può essere diverso dalla qty_requested se:
|
Struttura Json di richiesta:
{ "uid": 12345, "pid": 2, "lid": 1, "key": "VtKpudWnzRBioQeBKQXPBdSpamppUTw8", "api_version": "1.0.0", "request": "update_basket_items", "items": [{ "id_basket": 112, "qty": 31, "user_id_order": 22, "user_id_user": 33, "user_company_name": "Ms.", "user_first_name": "Matilda", "user_last_name": "Dale", "user_address": "10 Horner Street", "user_city": "Akron", "user_country": "OH", "user_zipcode": "44307", "user_state": "United States", "user_phone": "330-977-0601", "user_mobile": "330-977-0602", "user_mail": "MatildaDale@rhyta.com", "user_retail_price": 1000, "user_discount": 50.3, "user_price": 497, "user_cod": 1, "user_note": "dGVzdG8gY2xpZW50ZQ==", "internal_note": "dGVzdG8gZXNlcmNlbnRl" }, { "id_basket": 22, "qty": 14, "user_id_order": 22, "user_id_user": 33, "user_company_name": "Mr.", "user_first_name": "Arabella", "user_last_name": "Palermo", "user_address": "Bayreuther Strasse 14", "user_city": "Offenbach", "user_country": "am", "user_zipcode": "63073", "user_state": "Germany", "user_phone": "069 82 66 04", "user_mobile": "069 82 66 07", "user_mail": "ArabellaPalermo@dayrep.de", "user_retail_price": 1000, "user_discount": 50.3, "user_price": 497, "user_cod": 0, "user_note": "dGVzdG8gY2xpZW50ZQ==", "internal_note": "dGVzdG8gZXNlcmNlbnRl" }, { "id_basket": 114, "qty": 3, "user_id_order": 22, "user_id_user": 33, "user_company_name": "Intervals s.a.r.l.", "user_first_name": "Melvin", "user_last_name": "Jansson", "user_address": "Avda. Alameda Sundheim, 72", "user_city": "Binaced", "user_country": "", "user_zipcode": "22510", "user_state": "Spain", "user_phone": "974 313 352", "user_mobile": "974 313 687", "user_mail": "MelvinJansson@jourrapide.com", "user_retail_price": 1000, "user_discount": 50.3, "user_price": 497, "user_cod": 1, "user_note": "dGVzdG8gY2xpZW50ZQ==", "internal_note": "dGVzdG8gZXNlcmNlbnRl" }] } |
Esempio di chiamata php:
$data = array( "uid" => 12345, "pid" => 2, "lid" => 1, "key" => "VtKpudWnzRBioQeBKQXPBdSpamppUTw8", "api_version" => "1.0.0", "request" => "update_basket_item", "items" => array( array( 'id_basket' => 112, 'qty' => 31, 'user_id_order' => 1, 'user_id_user' => 2, 'user_company_name' => 'Ms', 'user_first_name' => 'Matilda', 'user_last_name' => 'Dale', 'user_address' => '10 Horner Street', 'user_city' => 'Akron', 'user_country' => 'OH', 'user_zipcode' => '44307', 'user_state' => 'United States', 'user_phone' => '330-977-0601', 'user_mobile' => '330-977-0602', 'user_mail' => 'MatildaDale@rhyta.com', 'user_retail_price' => 1000, 'user_discount' => 50.30, 'user_price' => 497, 'user_cod' => 1, 'user_note' => base64_encode('testo cliente'), 'internal_note' => base64_encode('testo esercente') ) , array( 'id_basket' => 22, 'qty' => 14, 'user_id_order' => 3, 'user_id_user' => 4, 'user_company_name' => 'Mr.', 'user_first_name' => 'Arabella', 'user_last_name' => 'Palermo', 'user_address' => 'Bayreuther Strasse 14', 'user_city' => 'Offenbach', 'user_country' => 'am', 'user_zipcode' => '63073', 'user_state' => 'Germany', 'user_phone' => '069 82 66 04', 'user_mobile' => '069 82 66 07', 'user_mail' => 'ArabellaPalermo@dayrep.de', 'user_retail_price' => 1000, 'user_discount' => 50.30, 'user_price' => 497, 'user_cod' => 1, 'user_note' => base64_encode('testo cliente'), 'internal_note' => base64_encode('testo esercente') ), array( 'id_basket' => 114, 'qty' => 3, 'user_id_order' => 5, 'user_id_user' => 6, 'user_company_name' => 'Intervals s.a.r.l.', 'user_first_name' => 'Melvin', 'user_last_name' => 'Jansson', 'user_address' => 'Avda. Alameda Sundheim, 72', 'user_city' => 'Binaced', 'user_country' => '', 'user_zipcode' => '22510', 'user_state' => 'Spain', 'user_phone' => '974 313 352', 'user_mobile' => '974 313 687', 'user_mail' => 'MelvinJansson@jourrapide.com', 'user_retail_price' => 1000, 'user_discount' => 50.30, 'user_price' => 497, 'user_cod' => 1, 'user_note' => base64_encode('testo cliente'), 'internal_note' => base64_encode('testo esercente') ) ) ); $data = array('data' => json_encode($data)); $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, "https://dev.dropshippingb2b.com/api/"); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER,FALSE); curl_setopt($ch, CURLOPT_SSL_VERIFYHOST,2); curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_POSTFIELDS, $data); $ce = curl_exec($ch); echo $ce; curl_close($ch); |
Esempio di Risposta positiva
{ "success": true, "rc": 0, "message": "", "items": [{ "success": true, "rc": 0, "message": "", "id_basket": 112 }, { "success": true, "rc": 0, "message": "", "id_basket": 22 }, { "success": true, "rc": 0, "message": "", "id_basket": 114 }] } |
Alcuni esempi di Risposta negativa:
{ "success": false, "rc": -11, "message": "One or more errors occurred while processing your request", "items": [{ "success": true, "rc": 0, "message": "", "id_basket": 3 }, { "success": false, "rc": -12, "message": "id_basket 40 not found. No change has been made", "id_basket": 40 }, { "success": false, "rc": -12, "message": "id_basket 37 not found. No change has been made", "id_basket": 37 }] } |
{ "success": false, "rc": -11, "message": "One or more errors occurred while processing your request", "items": [{ "success": false, "rc": -10, "message": "The requested quantity is not available in stock. Only 11 item(s) was reserved", "id_basket": 3, "qty_requested": 55, "qty_available": "0", "minimum_qty": "0", "qty_reserved": 11 }, { "success": false, "rc": -12, "message": "id_basket 40 not found. No change has been made", "id_basket": 40 }, { "success": false, "rc": -12, "message": "id_basket 37 not found. No change has been made", "id_basket": 37 }] } |
{ "success": false, "rc": -11, "message": "One or more errors occurred while processing your request", "items": [{ "success": true, "rc": 0, "message": "", "id_basket": 3 }, { "success": true, "rc": 0, "message": "", "id_basket": 4 }, { "success": false, "rc": -8, "message": "It was not possible to reserve item(s). Minimum quantity is not reached", "id_basket": 5, "qty_requested": 1, "qty_available": "0", "minimum_qty": "10", "qty_reserved": "14" }] } |
Questa parte del messaggio può avere come messaggi d'errore
- -4 Fatal Error: There was an internal Error. Please retry or contact webmaster@wwt.it
- -6 Field {0} si mandatory
- -8 It was not possible to reserve item(s). Minimum quantity is not reached
- -10 The requested quantity is not available in stock. Only {0} item(s) was reserved
- -12 id_basket {0} not found
- -13 Unable to add quantity requested. The product is out of stock
- -20 user_cod must be 0 or 1
Created with the Personal Edition of HelpNDoc: Free EPub and documentation generator