add_items_to_basket


Questa chiamata inserisce 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_product

si

Id del prodotto ottenuto dalla chiamata get_brand_items

    qty

si

quantità del prodotto richiesta

    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

nazione utente finale. E' possibile utilizzare soltanto i valori contenuti nel campo COD del messaggio get_shipping_country

    user_zipcode

no

cap utente finale

    user_state

no

provincia 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:

  • 1 - Si
  • 0 - No

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
  • -20 user_cod must be 0 or 1
  • -27 Invalid Country. Use one of the values available into the field COD (int) of get_shipping_country message


Nel caso  di errori  -2 o -4, non sarà presente  il campo items e quindi neppure il dettaglio dei singoli messaggi.



Risposta Parte Dettagliata.



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.

E' valorizzato solo quando è stato possibile inserire almeno una referenza nel basket

id_product

si

id del prodotto inserito nel basket

qty_requested

si

quabtità richiesta

qty_available

si

Nuova quantità disponibile nello store WWT dopo aver riservato la qty richiesta

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 inferiore alla qty_requested se:

  • qty_request < min_qty ,  ma in magazzino abbiamo solo N prodotti che sono meno di min_qty  e qty_request => N
  • qty_request > stock

retail_price

si

Prezzo a listino

discount

si

sconto

price

si

prezzo di vendita

extra_discount

si

sconto percentuale extra nel caso sia stata raggiunta la soglia extra_discount_threshold_value

net_price

si

Prezzo di vendita dopo l'extra sconto. Questo valore è almeno uguale a price, anche se extra_discount = 0



Struttura Json di richiesta:


{

    "uid": 12345,

    "pid": 2,

    "lid": 1,

    "key": "VtKpudWnzRBioQeBKQXPBdSpamppUTw8",

    "api_version": "1.0.0",

    "request": "add_items_to_basket",

    "items": [{

        "id_product": 110032,

        "qty": 1,

        "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": 1,

        "user_zipcode": "44307",

        "user_state": "MI",

        "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_product": 51788,

        "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": 1,

        "user_zipcode": "63073",

        "user_state": "MI",

        "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_product": 105108,

        "qty": 1,

        "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": 1,

        "user_zipcode": "22510",

        "user_state": "MI",

        "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": 0,

        "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"     => "add_items_to_basket",

    "items"    => array(

        array(

            'id_product'         => 110032,

            'qty'                => 1,

            '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'       => 1,

            'user_zipcode'       => '44307',

            'user_state'         => 'MI',

            '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_product'         => 51788,

            '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'       => 1,

            'user_zipcode'       => '63073',

            'user_state'         => 'MI',

            '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'           => 0,

            'user_note'          => base64_encode('testo cliente'),

            'internal_note'      => base64_encode('testo esercente')


        ),

        array(

            'id_product'         => 105108,

            'qty'                => 1,

            '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.30,

            'user_price'         => 497,

            'user_cod'           => 0,

            '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


{

    "success": false,

    "rc": -11,

    "message": "One or more errors occurred while processing your request.",

    "items": [{

        "success": true,

        "rc": 0,

        "message": "",

        "id_basket": 9,

        "id_product": 110032,

        "qty_requested": 1,

        "qty_available": 41,

        "minimum_qty": "0",

        "qty_reserved": 1,

        "retail_price": "39.00",

        "discount": "65.00",

        "price": "13.65",

        "extra_discount": "0",

        "net_price": "13.65"

    },{

        "success": false,

        "rc": -10,

        "message": "The requested quantity is not available in stock. Only 10 item(s) was reserved.",

        "id_basket": 13,

        "id_product": 51788,

        "qty_requested": 14,

        "qty_available": 0,

        "minimum_qty": "0",

        "qty_reserved": 10,

        "retail_price": "190.00",

        "discount": "70.00",

        "price": "57.00",

        "extra_discount": "0",

        "net_price": "57.00"

    },{

        "success": false,

        "rc": -7,

        "message": "It was not possible to reserve item(s). Item is out of stock",

        "id_basket": 0,

        "id_product": 105108,

        "qty_requested": 1,

        "qty_available": "0",

        "minimum_qty": "0",

        "qty_reserved": 0,

        "retail_price": "45.00",

        "discount": "48.91",

        "price": "22.99",

        "extra_discount": "0",

        "net_price": "22.99"

    }]

}



Una risposta Json negativa possibile:


{

  "success": false,

  "rc": -4,

  "message”: "Fatal Error: There was an internal Error. Please retry or contact webmaster@wwt.it"

}



Questa 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
  • -7 It was not possible to reserve item(s). Item is out of stock
  • -8 It was not possible to reserve item(s). Minimum quantity is not reached
  • -9 Minimum quantity not reached but {0} item(s) inserted for out of stock
  • -10 The requested quantity is not available in stock. Only {0} item(s) was reserved.







Created with the Personal Edition of HelpNDoc: Free EBook and documentation generator