summaryrefslogtreecommitdiff
path: root/StoneIsland/platforms/android/assets/www/js/sdk
diff options
context:
space:
mode:
Diffstat (limited to 'StoneIsland/platforms/android/assets/www/js/sdk')
-rwxr-xr-xStoneIsland/platforms/android/assets/www/js/sdk/_sdk.js38
-rwxr-xr-xStoneIsland/platforms/android/assets/www/js/sdk/account.js133
-rwxr-xr-xStoneIsland/platforms/android/assets/www/js/sdk/address.js74
-rwxr-xr-xStoneIsland/platforms/android/assets/www/js/sdk/auth.js129
-rwxr-xr-xStoneIsland/platforms/android/assets/www/js/sdk/cart.js248
-rwxr-xr-xStoneIsland/platforms/android/assets/www/js/sdk/payment.js72
-rwxr-xr-xStoneIsland/platforms/android/assets/www/js/sdk/product.js37
-rwxr-xr-xStoneIsland/platforms/android/assets/www/js/sdk/shipping.js85
8 files changed, 816 insertions, 0 deletions
diff --git a/StoneIsland/platforms/android/assets/www/js/sdk/_sdk.js b/StoneIsland/platforms/android/assets/www/js/sdk/_sdk.js
new file mode 100755
index 00000000..b7880e50
--- /dev/null
+++ b/StoneIsland/platforms/android/assets/www/js/sdk/_sdk.js
@@ -0,0 +1,38 @@
+var sdk = (function(){
+ var sdk = {}
+
+ sdk.env = "development"
+
+ var endpoint = "https://secure.api.yoox.biz/"
+ // var endpoint = "http://api.yoox.biz/"
+
+ sdk.init = function(opt){
+ switch (sdk.env = opt.env || "development") {
+ case 'test':
+ endpoint = "http://lvh.me:9090/"
+ break
+ default:
+ case 'development':
+ endpoint = "/"
+ break
+ case 'production':
+ endpoint = "https://secure.api.yoox.biz/"
+ break
+ }
+ }
+
+ sdk.path = function(api, path){
+ return endpoint + api + "/STONEISLAND_US/" + path
+ }
+
+ sdk.image = function(code, size){
+ return "http://cdn.yoox.biz/" + code.substr(0,2) + "/" + code.substr(0,8) + "_" + size + ".jpg"
+ }
+
+ $.ajaxSetup({
+ // possibly: application/json; charset=utf-8"
+ contentType: "application/json",
+ })
+
+ return sdk
+})() \ No newline at end of file
diff --git a/StoneIsland/platforms/android/assets/www/js/sdk/account.js b/StoneIsland/platforms/android/assets/www/js/sdk/account.js
new file mode 100755
index 00000000..3eb3f3bd
--- /dev/null
+++ b/StoneIsland/platforms/android/assets/www/js/sdk/account.js
@@ -0,0 +1,133 @@
+sdk.account = (function(){
+
+ var user_id, access_token
+
+ // https://gist.github.com/fanfare/d18498e7fa25acbd4486
+ var account = {}
+ account.signup = function(opt){
+ return $.ajax({
+ method: "POST",
+ url: sdk.path("Account.API/1.5", "users.json"),
+ headers: {
+ "x-yoox-appname": auth.appname,
+ "x-yoox-api-key": auth.apikey,
+ },
+ data: JSON.stringify( opt.data ),
+ success: function(data){
+ user_id = data['UserAccount']['UserId']
+ access_token = data['UserAccount']['AccessToken']
+
+ auth.set_user(user_id, access_token)
+
+ opt.success(data)
+ },
+ error: opt.error,
+ })
+ }
+
+ account.login = function(opt){
+ return $.ajax({
+ method: "POST",
+ url: sdk.path("Account.API/1.5", "authfull.json"),
+ headers: {
+ "x-yoox-appname": auth.appname,
+ "x-yoox-account-token": auth.access_token,
+ },
+ data: JSON.stringify( opt.data ),
+ success: function(data){
+ auth.user = data['UserFull']
+ user_id = data['UserFull']['idUser']
+ access_token = data['UserFull']['AccessToken']
+
+ auth.set_user(user_id, access_token)
+
+ opt.success(data)
+ },
+ error: opt.error,
+ })
+ }
+
+ account.checkin = function(opt){
+ return $.ajax({
+ method: "GET",
+ url: sdk.path("Account.API/1.5", "users/" + auth.user_id + ".json"),
+ headers: {
+ "x-yoox-appname": auth.appname,
+ "x-yoox-account-token": auth.access_token,
+ },
+ data: "{}",
+ success: function(data){
+ auth.user = data.User
+ opt.success(data)
+ },
+ error: opt.error,
+ })
+ }
+
+ account.update = function(opt){
+ return $.ajax({
+ method: "PUT",
+ url: sdk.path("Account.API/1.5", "users/" + auth.user_id + ".json"),
+ headers: {
+ "x-yoox-appname": auth.appname,
+ "x-yoox-account-token": auth.access_token,
+ },
+ data: JSON.stringify( opt.data ),
+ success: function(data){
+ opt.success(data)
+ },
+ error: opt.error,
+ })
+ }
+
+ account.update_mail_and_password = function(opt){
+ return $.ajax({
+ method: "PUT",
+ url: sdk.path("Account.API/1.5", "auth/" + auth.user_id + ".json"),
+ headers: {
+ "x-yoox-appname": auth.appname,
+ "x-yoox-account-token": auth.access_token,
+ },
+ data: JSON.stringify( opt.data ),
+ success: function(data){
+ opt.success(data)
+ },
+ error: opt.error,
+ })
+ }
+
+ account.fetch_orders = function(opt){
+ return $.ajax({
+ method: "GET",
+ url: sdk.path("Account.API/1.5", "users/" + auth.user_id + "/orders.json"),
+ headers: {
+ "x-yoox-appname": auth.appname,
+ "x-yoox-account-token": auth.access_token,
+ },
+ data: JSON.stringify( opt.data ),
+ success: function(data){
+ opt.success(data)
+ },
+ error: opt.error,
+ })
+ }
+
+ account.fetch_single_order = function(opt){
+ return $.ajax({
+ method: "GET",
+ url: sdk.path("Account.API/1.5", "users/" + auth.user_id + "/orders/" + opt.id + ".json"),
+ headers: {
+ "x-yoox-appname": auth.appname,
+ "x-yoox-account-token": auth.access_token,
+ },
+ data: JSON.stringify( opt.data ),
+ success: function(data){
+ opt.success(data)
+ },
+ error: opt.error,
+ })
+ }
+
+ return account
+
+})()
diff --git a/StoneIsland/platforms/android/assets/www/js/sdk/address.js b/StoneIsland/platforms/android/assets/www/js/sdk/address.js
new file mode 100755
index 00000000..4fb12ad0
--- /dev/null
+++ b/StoneIsland/platforms/android/assets/www/js/sdk/address.js
@@ -0,0 +1,74 @@
+sdk.address = (function(){
+ var address = {}
+
+ address.list = function(opt){
+ return $.ajax({
+ method: "GET",
+ url: sdk.path("Account.API/1.5", "users/" + auth.user_id + "/addressBook.json"),
+ headers: {
+ "x-yoox-appname": auth.appname,
+ "x-yoox-account-token": auth.access_token,
+ },
+ data: opt.data,
+ success: function(data){
+ // console.log(data)
+ opt.success(data)
+ },
+ error: opt.error,
+ })
+ }
+
+ address.add = function(opt){
+ return $.ajax({
+ method: "POST",
+ url: sdk.path("Account.API/1.5", "users/" + auth.user_id + "/addressBook/item.json"),
+ headers: {
+ "x-yoox-appname": auth.appname,
+ "x-yoox-account-token": auth.access_token,
+ },
+ data: JSON.stringify( opt.data ),
+ success: function(data){
+ // console.log(data)
+ opt.success(data)
+ },
+ error: opt.error,
+ })
+ }
+
+ address.update = function(opt){
+ return $.ajax({
+ method: "PUT",
+ url: sdk.path("Account.API/1.5", "users/" + auth.user_id + "/addressBook/item.json"),
+ headers: {
+ "x-yoox-appname": auth.appname,
+ "x-yoox-account-token": auth.access_token,
+ },
+ data: JSON.stringify( opt.data ),
+ success: function(data){
+ // console.log(data)
+ opt.success(data)
+ },
+ error: opt.error,
+ })
+ }
+
+ address.destroy = function(opt){
+ return $.ajax({
+ method: "DELETE",
+ url: sdk.path("Account.API/1.5", "users/" + auth.user_id + "/" + opt.id + "/addressBook.json"),
+ headers: {
+ "x-yoox-appname": auth.appname,
+ "x-yoox-account-token": auth.access_token,
+ },
+ data: JSON.stringify( opt.data ),
+ success: function(data){
+ // console.log(data)
+ opt.success(data)
+ },
+ error: opt.error,
+ })
+ }
+
+ return address
+
+})() \ No newline at end of file
diff --git a/StoneIsland/platforms/android/assets/www/js/sdk/auth.js b/StoneIsland/platforms/android/assets/www/js/sdk/auth.js
new file mode 100755
index 00000000..87ce60ea
--- /dev/null
+++ b/StoneIsland/platforms/android/assets/www/js/sdk/auth.js
@@ -0,0 +1,129 @@
+/*
+ headers: {
+ "x-yoox-appname": auth.appname,
+ "x-yoox-account-token": auth.access_token,
+ "x-yoox-device": auth.device,
+ "x-yoox-api-key": auth.apikey,
+ },
+*/
+
+var auth = sdk.auth = (function(){
+ var auth = {}
+
+ auth.appname = is_iphone ? "native-iphone-stoneisland/1.0.0" : "native-android-stoneisland/1.0.0"
+ auth.apikey = "U2FsdGVkX18fThqg9bF0/ZgE9Jg948hn8O9EXli4B2729nAESCQaexv//M5+7+za"
+ auth.device = "smartphone"
+
+ auth.access_token = ""
+ auth.user_id = -1
+
+ auth.next_view = null
+ auth.deferred_product = null
+
+ // ios: integrate keychain api
+ // android: cordova.file.externalRootDirectory api
+
+ auth.init = function(fn){
+ console.log("AUTH INIT")
+ auth.get_user(function(){
+ if (auth.logged_in()) {
+ sdk.account.checkin({
+ success: function(data){
+ fn && fn( auth.logged_in() )
+ }
+ })
+ auth.get_cart()
+ }
+ else {
+ fn && fn( auth.logged_in() )
+ }
+ })
+ }
+
+ auth.set_user = function(user_id, access_token, cb){
+ auth.access_token = access_token
+ auth.user_id = user_id
+
+ localStorage.setItem("yoox.access_token", access_token)
+ localStorage.setItem("yoox.user_id", user_id)
+ cb && cb()
+ }
+ auth.get_user = function(cb){
+ auth.access_token = localStorage.getItem("yoox.access_token") || ""
+ auth.user_id = localStorage.getItem("yoox.user_id") || -1
+ cb && cb()
+ }
+ auth.clear_user = function(cb){
+ auth.access_token = ""
+ auth.user_id = -1
+ localStorage.removeItem("yoox.access_token")
+ localStorage.removeItem("yoox.user_id")
+ cb && cb()
+ }
+
+ auth.set_cart = function(cart_id, cart_token, cb){
+ localStorage.setItem("yoox.cart_token", cart_token)
+ localStorage.setItem("yoox.cart_id", cart_id)
+ cb && cb()
+ }
+ auth.get_cart = function(cb){
+ sdk.cart.token = localStorage.getItem("yoox.cart_token") || ""
+ sdk.cart.id = localStorage.getItem("yoox.cart_id") || -1
+ cb && cb()
+ }
+ auth.clear_cart = function(cb){
+ sdk.cart.token = ""
+ sdk.cart.id = -1
+ localStorage.removeItem("yoox.cart_token")
+ localStorage.removeItem("yoox.cart_id")
+ cb && cb()
+ }
+ auth.create_cart = function(cb){
+ if (auth.has_cart()) { return cb() }
+ sdk.cart.initialize({
+ success: function(data){
+ sdk.cart.set_user({
+ success: function(){
+ auth.set_cart(sdk.cart.id, sdk.cart.token, function(){
+ cb && cb()
+ })
+ }
+ })
+ }
+ })
+ }
+ auth.add_deferred_product_to_cart = function(cb){
+ // auth.deferred_product
+ if (! auth.deferred_product) {
+ console.log("VV NO DEF PROD")
+ cb && cb()
+ return
+ }
+ sdk.cart.add_item({
+ data: auth.deferred_product,
+ success: function(){
+ console.log("ADDED ITEM")
+ cb && cb()
+ },
+ error: function(data){
+ console.log("ERROR ADDING ITEM", data)
+ cb && cb()
+ },
+ })
+ auth.deferred_product = null
+ app.header.increment_cart_count()
+ }
+
+ auth.log_out = function(){
+ auth.clear_user()
+ auth.clear_cart()
+ }
+ auth.logged_in = function(){
+ return (auth.user_id && auth.user_id !== -1 && auth.user_id !== "undefined")
+ }
+ auth.has_cart = function(){
+ return (sdk.cart.id && sdk.cart.id !== -1 && sdk.cart.id !== "undefined")
+ }
+
+ return auth
+})() \ No newline at end of file
diff --git a/StoneIsland/platforms/android/assets/www/js/sdk/cart.js b/StoneIsland/platforms/android/assets/www/js/sdk/cart.js
new file mode 100755
index 00000000..3ff2e1d2
--- /dev/null
+++ b/StoneIsland/platforms/android/assets/www/js/sdk/cart.js
@@ -0,0 +1,248 @@
+sdk.cart = (function(){
+ var cart = {}
+
+ cart.id = ""
+ cart.token = ""
+
+ // https://gist.github.com/fanfare/9a50c524aea417d0bf3e
+ cart.initialize = function(opt){
+ return $.ajax({
+ method: "POST",
+ url: sdk.path("Cart.API/1.6", "carts.json"),
+ headers: {
+ "x-yoox-appname": auth.appname,
+ "x-yoox-device": auth.device,
+ },
+ data: "{}",
+ // data: opt.data,
+ success: function(data){
+ cart.id = data["CartSession"]["CartId"]
+ cart.token = data["CartSession"]["CartToken"]
+ auth.set_cart( cart.id, cart.token )
+ opt.success(data)
+ },
+ error: opt.error,
+ })
+ }
+
+ cart.set_user = function(opt){
+ return $.ajax({
+ method: "PUT",
+ url: sdk.path("Cart.API/1.6", "carts/" + cart.id + "/user.json"),
+ headers: {
+ "x-yoox-appname": auth.appname,
+ "x-yoox-cart-token": cart.token,
+ },
+ data: JSON.stringify({
+ "UserId": auth.user_id,
+ "UserToken": auth.access_token,
+ }),
+ success: function(data){
+ opt.success(data)
+ },
+ error: opt.error,
+ })
+ }
+
+ // Code10, Size, Section
+ cart.add_item = function(opt){
+ return $.ajax({
+ method: "POST",
+ url: sdk.path("Cart.API/1.6", "carts/" + cart.id + "/items.json"),
+ headers: {
+ "x-yoox-appname": auth.appname,
+ "x-yoox-cart-token": cart.token,
+ },
+ data: JSON.stringify( opt.data ),
+ success: function(data){
+ // console.log(data)
+ opt.success(data)
+ },
+ error: opt.error,
+ })
+ }
+
+ cart.delete_item = function(opt){
+ return $.ajax({
+ method: "DELETE",
+ url: sdk.path("Cart.API/1.6", "carts/" + cart.id +
+ "/items/" + opt.data.Code10 +
+ "/" + opt.data.Size + ".json"),
+ headers: {
+ "x-yoox-appname": auth.appname,
+ "x-yoox-cart-token": cart.token,
+ },
+ data: "{}",
+ success: function(data){
+ // console.log(data)
+ opt.success(data)
+ },
+ error: opt.error,
+ })
+ }
+
+ cart.get_status = function(opt){
+ if (! cart.id) {
+ return opt.error({ error: "no cart" })
+ }
+ return $.ajax({
+ method: "GET",
+ url: sdk.path("Cart.API/1.6", "carts/" + cart.id + ".json"),
+ headers: {
+ "x-yoox-appname": auth.appname,
+ "x-yoox-cart-token": cart.token,
+ "x-yoox-device": auth.device,
+ },
+ success: function(data){
+ if (data['Error']) {
+ opt.error && opt.error(data)
+ }
+ else {
+ opt.success(data)
+ }
+ },
+ error: opt.error,
+ })
+ }
+
+ cart.set_shipping_address = function(opt){
+ return $.ajax({
+ method: "PUT",
+ url: sdk.path("Cart.API/1.6", "carts/" + cart.id + "/receiver.json"),
+ headers: {
+ "x-yoox-appname": auth.appname,
+ "x-yoox-cart-token": cart.token,
+ },
+ data: JSON.stringify(opt.data),
+ success: function(data){
+ // console.log(data)
+ opt.success(data)
+ },
+ error: opt.error,
+ })
+ }
+
+ // NB: Payment type may simply be 1 (credit card)
+ cart.set_payment_type = function(opt){
+ return $.ajax({
+ method: "PUT",
+ url: sdk.path("Cart.API/1.6", "carts/" + cart.id + "/paymentType.json"),
+ headers: {
+ "x-yoox-appname": auth.appname,
+ "x-yoox-cart-token": cart.token,
+ },
+ data: JSON.stringify( opt.data ),
+ success: function(data){
+ // console.log(data)
+ opt.success(data)
+ },
+ error: opt.error,
+ })
+ }
+
+ cart.get_card_types = function(opt){
+ return $.ajax({
+ method: "GET",
+ url: sdk.path("Cart.API/1.6", "cardTypes.json"),
+ headers: {
+ "x-yoox-appname": auth.appname,
+ "x-yoox-cart-token": cart.token,
+ },
+ data: "",
+ success: function(data){
+ opt.success(data)
+ },
+ error: opt.error,
+ })
+ }
+
+ // use with full CC data if not storing it in wallet
+ cart.set_credit_card = function(opt){
+ return $.ajax({
+ method: "PUT",
+ url: sdk.path("Cart.API/1.6", "carts/" + cart.id + "/creditCard.json"),
+ headers: {
+ "x-yoox-appname": auth.appname,
+ "x-yoox-cart-token": cart.token,
+ },
+ data: JSON.stringify( opt.data ),
+ success: function(data){
+ // console.log(data)
+ opt.success(data)
+ },
+ error: opt.error,
+ })
+ }
+
+ // use with a stored GUID
+ // NB: if "verification number" is 1, use CVV/CID/CVC security code
+ // if "verification number" is 2, use "Issue Number"
+ cart.use_stored_credit_card = function(opt){
+ var data = {
+ "Guid": opt.data.guid,
+ "UserId": auth.user_id,
+ "AccessToken": auth.access_token,
+ }
+ if (opt.data.cvv) {
+ data["Cvv"] = opt.data.cvv
+ }
+ if (opt.data.issue) {
+ data["Issue"] = opt.data.issue
+ }
+ return $.ajax({
+ method: "PUT",
+ url: sdk.path("Cart.API/1.6", "carts/" + cart.id + "/userCreditCard.json"),
+ headers: {
+ "x-yoox-appname": auth.appname,
+ "x-yoox-cart-token": cart.token,
+ },
+ data: JSON.stringify(data),
+ success: function(data){
+ // console.log(data)
+ opt.success(data)
+ },
+ error: opt.error,
+ })
+ }
+
+ cart.secure_finalize = function(opt){
+ return $.ajax({
+ method: "POST",
+ url: sdk.path("Cart.API/1.6", "carts/" + cart.id + "/secureFinalizer.json"),
+ headers: {
+ "x-yoox-appname": auth.appname,
+ "x-yoox-cart-token": cart.token,
+ "x-yoox-device": auth.device,
+ },
+ data: JSON.stringify( opt.data || {} ),
+ success: function(data){
+ console.log(data)
+ // order number is:
+ // "Info": "2905Y07FA13020"
+ opt.success(data)
+ },
+ error: opt.error,
+ })
+ }
+
+ cart.finalize = function(opt){
+ return $.ajax({
+ method: "POST",
+ url: sdk.path("Cart.API/1.6", "carts/" + cart.id + "/finalizer.json"),
+ headers: {
+ "x-yoox-appname": auth.appname,
+ "x-yoox-cart-token": cart.token,
+ },
+ data: JSON.stringify( opt.data || {} ),
+ success: function(data){
+ console.log(data)
+ // order number is:
+ // "Info": "2905Y07FA13020"
+ opt.success(data)
+ },
+ error: opt.error,
+ })
+ }
+
+ return cart
+})() \ No newline at end of file
diff --git a/StoneIsland/platforms/android/assets/www/js/sdk/payment.js b/StoneIsland/platforms/android/assets/www/js/sdk/payment.js
new file mode 100755
index 00000000..283fee92
--- /dev/null
+++ b/StoneIsland/platforms/android/assets/www/js/sdk/payment.js
@@ -0,0 +1,72 @@
+sdk.payment = (function(){
+ var payment = {}
+
+ payment.add_credit_card = function(opt){
+ return $.ajax({
+ method: "POST",
+ url: sdk.path("Account.API/1.5", "users/" + auth.user_id + "/cards.json"),
+ headers: {
+ "x-yoox-appname": auth.appname,
+ "x-yoox-account-token": auth.access_token,
+ },
+ data: JSON.stringify( opt.data ),
+ success: function(data){
+ // console.log(data)
+ opt.success(data)
+ },
+ error: opt.error,
+ })
+ }
+
+ payment.list_credit_cards = function(opt){
+ return $.ajax({
+ method: "GET",
+ url: sdk.path("Account.API/1.5", "users/" + auth.user_id + "/cards.json"),
+ headers: {
+ "x-yoox-appname": auth.appname,
+ "x-yoox-account-token": auth.access_token,
+ },
+ data: opt.data,
+ success: function(data){
+ opt.success(data)
+ },
+ error: opt.error,
+ })
+ }
+
+ payment.delete_credit_card = function(opt){
+ return $.ajax({
+ method: "DELETE",
+ url: sdk.path("Account.API/1.5", "users/" + auth.user_id + "/cards/" + opt.guid + ".json"),
+ headers: {
+ "x-yoox-appname": auth.appname,
+ "x-yoox-account-token": auth.access_token,
+ },
+ data: "{}",
+ success: function(data){
+ // console.log(data)
+ opt.success(data)
+ },
+ error: opt.error,
+ })
+ }
+
+ payment.get_payment_types = function(opt){
+ return $.ajax({
+ method: "GET",
+ url: sdk.path("Cart.API/1.6", "availablePaymentTypes.json"),
+ headers: {
+ "x-yoox-appname": auth.appname,
+ "x-yoox-device": auth.device,
+ },
+ data: opt.data,
+ success: function(data){
+ // console.log(data)
+ opt.success(data)
+ },
+ error: opt.error,
+ })
+ }
+
+ return payment
+})() \ No newline at end of file
diff --git a/StoneIsland/platforms/android/assets/www/js/sdk/product.js b/StoneIsland/platforms/android/assets/www/js/sdk/product.js
new file mode 100755
index 00000000..55f1940a
--- /dev/null
+++ b/StoneIsland/platforms/android/assets/www/js/sdk/product.js
@@ -0,0 +1,37 @@
+sdk.product = (function(){
+ var product = {}
+
+ var default_gallery = 31617
+
+ product.collection = function(opt){
+ return $.ajax({
+ method: "GET",
+ url: sdk.path("Search.API/1.2", "search.json"),
+ data: { format: "full", gallery: opt.gallery_id || default_gallery, productsPerPage: 100 },
+ success: opt.success,
+ error: opt.error,
+ })
+ }
+
+ // https://gist.github.com/fanfare/2d25d1b36944188948ff
+ product.item = function(opt){
+ return $.ajax({
+ method: "GET",
+ url: sdk.path("Item.API/1.0", "item/" + opt.code + ".json"),
+ success: opt.success,
+ error: opt.error,
+ })
+ }
+
+ product.search = function(opt){
+ return $.ajax({
+ method: "GET",
+ url: sdk.path("Search.API/1.2", "search.json"),
+ data: { format: "full", gallery: opt.gallery_id || default_gallery, textSearch: opt.query, productsPerPage: 100 },
+ success: opt.success,
+ error: opt.error,
+ })
+ }
+
+ return product
+})() \ No newline at end of file
diff --git a/StoneIsland/platforms/android/assets/www/js/sdk/shipping.js b/StoneIsland/platforms/android/assets/www/js/sdk/shipping.js
new file mode 100755
index 00000000..28a0db76
--- /dev/null
+++ b/StoneIsland/platforms/android/assets/www/js/sdk/shipping.js
@@ -0,0 +1,85 @@
+sdk.shipping = (function() {
+ var shipping = {}
+
+
+ // https://gist.github.com/fanfare/edb524128461b573d833
+
+ // BOX TYPE
+
+ shipping.get_box_types = function(opt){
+ return $.ajax({
+ method: "GET",
+ url: sdk.path("Cart.API/1.6", "carts/" + sdk.cart.id + "/availableBoxTypes.json"),
+ headers: {
+ "x-yoox-appname": auth.appname,
+ "x-yoox-cart-token": sdk.cart.token,
+ },
+ success: function(data){
+ // console.log(data)
+ opt.success(data)
+ },
+ error: opt.error,
+ })
+ }
+
+ shipping.set_box_type = function(opt){
+ return $.ajax({
+ method: "PUT",
+ url: sdk.path("Cart.API/1.6", "carts/" + sdk.cart.id + "/boxType.json"),
+ headers: {
+ "x-yoox-appname": auth.appname,
+ "x-yoox-cart-token": sdk.cart.token,
+ },
+ data: JSON.stringify({
+ "Type": opt.type,
+ }),
+ success: function(data){
+ // console.log(data)
+ opt.success(data)
+ },
+ error: opt.error,
+ })
+ }
+
+
+ // DELIVERY TYPES
+
+ // The response is different than described in the API reference..
+ // https://gist.github.com/fanfare/15dfbca6a16ae6bed503
+
+ shipping.get_delivery_types = function(opt){
+ return $.ajax({
+ method: "GET",
+ url: sdk.path("Cart.API/1.6", "carts/" + sdk.cart.id + "/availableDeliveryTypes.json"),
+ headers: {
+ "x-yoox-appname": auth.appname,
+ "x-yoox-cart-token": sdk.cart.token,
+ },
+ success: function(data){
+ opt.success(data)
+ },
+ error: opt.error,
+ })
+ }
+
+ shipping.set_delivery_type = function(opt){
+ return $.ajax({
+ method: "PUT",
+ url: sdk.path("Cart.API/1.6", "carts/" + sdk.cart.id + "/deliveryType.json"),
+ headers: {
+ "x-yoox-appname": auth.appname,
+ "x-yoox-cart-token": sdk.cart.token,
+ },
+ data: JSON.stringify({
+ "Id": opt.id,
+ }),
+ success: function(data){
+ //console.log(data)
+ opt.success(data)
+ },
+ error: opt.error,
+ })
+ }
+
+ return shipping
+})()