Adding products to a cart

You can add products one by one or multiple products at once

Request

You only need to provide the cart-id and product-code to add a product to the cart.
Price and quantity will be added based on the Hublify-data for the product.

Attention: On default only products that are marked as buyable will be accepted.

Request URL

https://{your hublify url}/api/eos_10/cart_addProducts

Request parameter

{
   "filter": {
        "cart_id": 123
   },
   "fields": {
        "cart_items": [                 // Array with products that should be added
            {
                "pcode": "PC0001",      // Product-Code. If the Product is available in Hublify PIM, the other item-details can be filled from there.
                "quantity": 1           // (optional, default: min-order-quantity set in PIM, usually 1) 
            }
        ]
    },
    "evaluate": true                    // (optional) directly reevaluate the cart
}

Response

If your request was successful, you receive the adjusted cart-data with some additional details for your convenience.
If no other data has been set before, the cart will also be initialised with the default order-options (invoice- and delivery country, shipping type and payment-method)

If you already have the exact same product in your cart, your requested quantity will be added to the existing item.

The Cart will automatically adjust the request to fulfill the product-requirements set in the PIM (e.g. min/max order-quantity).
You can see details about the actual quantities newly added to your cart ("quantity_added") and the new total quantity for this product ("quantity_final") in the meta-data you receive in the response.

Tipp:  The cart will also automatically consider personal prices, price scales and other product details configured in the Hublify PIM.

{
    "status": true,
    "meta": {                           // Summary of the latest call
        "products_added": 1,            // number of products added to the cart
        "items": {                      // Details about the added products
            "PC0001": {                
                "quantity_added": 1,    // Quantity that was actually added for this specific product (after adjustment for PIM-requirements)
                "quantity_final": 1     // New total quantity in the cart for this specific item (sum of previous and newly added quantity)
            }
        }
    },
    "data": ...                         // As described in cart-get  
}

Update products in the cart

You can adjust e.g. quantities for one or more  products in the cart

Request

You need the cart-id and the key of the item to update within the cart_items array to update it
 

Request URL

https://{your hublify url}/api/eos_10/cart_updateProducts

Request parameter

{
   "filter": {
        "cart_id": 123
   },
   "fields": {
        "cart_items": [                 // Array with products that should be updated
             "0": {
                "quantity": 3           // You only need to add the details you want to update
            }
        ]
    },
    "evaluate": true                    // (optional) directly reevaluate the cart
}

Response

If your request was successful, you receive the adjusted cart-data.

The Cart will automatically adjust the request to fulfill the product-requirements set in the PIM (e.g. min/max order-quantity)

Tipp:  The cart will also automatically consider personal prices, price scales and other product details configured in the Hublify PIM.

{
    "status": true,
    "data": {
        "cart_id": "123",
        "cart_data": {
            "currency": "EUR",
            "cart_item_key": 1,
            "order": {
                "invoice_country": "DE",
                "deliver_country": "DE",
                "fk_o_st_id": "1"
            },
            "payment": {
                "pys_id": "1"
            },
            "currency_dsp": "\u20ac"
        },
        "cart_items": [
            {
                "quantity": 3,
                "pcode": "PC0001",
                "vat_pct": 19,
                "xdata": {
                    "price_scale": null,
                    "price_data_original": {
                        "price_single_brutto": 14.56,
                        "vat_pct": "19.00"
                    },
                    "currency_convert_rates": {
                        "EUR": "1.0000"
                    }
                },
                "type": "product",
                "block": 1,
                "price_single_brutto": 14.56,
                "name": "Example Product 1"
            }
        ],
        "cart_prds_quantity": 3,
        "cart_prds_netto": 36.71,
        "cart_prds_brutto": 43.68,
        "cart_total_quantity": 3,
        "cart_total_netto": 36.71,
        "cart_total_brutto": 43.68,
        "cart_lock": "0",
        "cart_prds_lock": "0",
        "cart_time_insert": "2021-06-14 16:30:22",
        "cart_time_update": "2021-06-14 17:04:58",
        "cart_time_out": null,
        "cart_time_save": null,
        "fk_cart_persid": "0",
        "cart_type": "open",
        "cart_name": "",
        "summary": {
            "prds_pure_virtual": false,
            "weight_total": 0,
            "vats": {
                "19": {
                    "total_netto": 36.71,
                    "total_brutto": 43.68,
                    "total_vat": 6.97,
                    "items_netto": 36.71,
                    "items_brutto": 43.68,
                    "items_vat": 6.97
                }
            },
            "blocks": {
                "1": {
                    "total_netto": 36.71,
                    "total_brutto": 43.68,
                    "total_vat": 6.97,
                    "items_netto": 36.71,
                    "items_brutto": 43.68,
                    "items_vat": 6.97
                }
            },
            "items": {
                "PC0001": {
                    "quantity": 3,
                    "occurrences": 1,
                    "total_netto": 36.71,
                    "total_brutto": 43.68,
                    "total_vat": 6.97
                }
            },
            "type": {
                "product": {
                    "quantity": 3,
                    "occurrences": 1,
                    "total_netto": 36.71,
                    "total_brutto": 43.68,
                    "total_vat": 6.97
                }
            },
            "order_min_limit_OK": true
        },
        "checkout": {
            "purchase": true,
            "msg": null
        }
    }
}

Remove products from the cart

Request URL

https://{your hublify url}/api/eos_10/cart_removeProducts

Request with item-key

You need the cart-id and the item-id to remove it

Request parameter

{
   "filter": {
        "cart_id": 123,
        "item_id": 0
   }
}

Request with pcode

You need the cart-id and product-code to remove thie item
If you use the pcode to remove products, ALL items with this pcode will be removed

Request parameter

{
   "filter": {
        "cart_id": 123,
        "pcode": "PC0001"
   }
}

Response

If your request was successful, you receive the adjusted cart-data

{
    "status": true,
    "data": {
        "cart_id": "123",
        "cart_data": {
            "currency": "EUR",
            "cart_item_key": 1,
            "order": {
                "invoice_country": "DE",
                "deliver_country": "DE",
                "fk_o_st_id": "1"
            },
            "payment": {
                "pys_id": "1"
            },
            "currency_dsp": "\u20ac"
        },
        "cart_items": [],
        "cart_prds_quantity": 0,
        "cart_prds_netto": 0,
        "cart_prds_brutto": 0,
        "cart_total_quantity": 0,
        "cart_total_netto": 0,
        "cart_total_brutto": 0,
        "cart_lock": "0",
        "cart_prds_lock": "0",
        "cart_time_insert": "2021-06-14 16:30:22",
        "cart_time_update": "2021-06-14 17:05:13",
        "cart_time_out": null,
        "cart_time_save": null,
        "fk_cart_persid": "0",
        "cart_type": "open",
        "cart_name": "",
        "summary": {
            "prds_pure_virtual": true,
            "weight_total": 0,
            "order_min_limit_OK": true
        },
        "checkout": {
            "purchase": true,
            "msg": null
        }
    }
}