Skip to main content

Api models

Multicart Solution Inc.Pay pucrchaseApi usagepurchaseAbout 6 min

API models description

Create shopping cart item

{
    "cartItemId": "<uuid>",
    "variants": [<array of variants>],
    "count": <number>,
    "platformState": {<platform state>}
}

Where

  • cartItemId - unique identifier of cart item. Required field.
  • variants - array of selected cart item variants (see reference). Required field if variants exist
  • count - quantity of cart items to add to cart. Required field.
  • platformState - cart item platform state: the service field for storing intermediate information (see reference). Optional field.

Cart item variant model

{
    "categoryId": "<text>",
    "variantId": "<text>"
}

Where

  • categoryId - variant category id for shopping platform. For example "color", "size", etc. Required field.
  • variantId - variant id for shopping platform. For example "xxl", "xl", "black", etc. Required field.

Shopping cart item

{
    "id": "<uuid>",
    "usItemId": "<text>",
    "seller": "<text>",
    "productId": "<text>",
    "name": "<text>",
    "description": "<html>",
    "url": "<url>",
    "imagesUrls": ["<url>"],
    "smallImageUrl": "<url>",
    "variantCategories": [{<variantCategory>}],
    "variants": [{<variant>}],
    "priceData": {<priceData>},
    "available": <boolean>,
    "shippable": <boolean>,
    "platform": "<text>",
    "platformData": "<text>",
    "productCategories": ["<text>"],
    "gtin": "<text>",
    "mpn": "<text>",
    "brand": "<text>",
    "orderLimit": <number>,
    "orderMinLimit": <number>,
    "platformState": {<platformState>},
    "count": 1,
    "warning": null
}

Where

  • id - unique item id on multicartshop. Required field.
  • usItemId - unique item id on target e-commerce platform. This field allows you to uniquely identify an cart item with its options within the platform. Required field.
  • seller - seller host on target e-commerce platform. For example bebe.com or walmart.com, Required field.
  • productId - product id on target e-commerce platform. Typically, this field defines the base product for its various variations. Required field.
  • name - product name on target e-commerce platform. Required field.
  • description - product description in html-format for target e-commerce platform. Optional field.
  • url - url of original product page on target e-commerce platform. Required field.
  • imagesUrls - urls of product images on target e-commerce platfrom. Typically the array contains at least one url. Required field.
  • smallImageUrl - small image url to display on product thumb. If this field is empty, you can take the first element from the array imageUrls. Optional field.
  • variantCategories - available variants for target product grouped by categories (see reference). Optional field.
  • variants - selected variants for target product (see reference). Optional field.
  • priceData - cart item price data (see reference). Required field.
  • available - cart item availability. Required field.
  • shippable - cart item available for shipping. Required field.
  • platform - shopping platform type (see supported values). Required field.
  • platformData - serialized specific platform product data usually in JSON format. Optional field.
  • productCategories - target e-commerce platform categories in which the product belongs. Optional field.
  • gtin - international marking code. UPC, GTIN-12, GTIN-13, GTIN-14 or ISBN. Optional field.
  • mpn - product manufacturer code. Optional field.
  • brand - product brand. Optional field.
  • orderLimit - order limit for cart item count. If such a limit is not set, then the field value is null. Optional field.
  • orderMinLimit - order limit for cart item count minimum. If such a limit is not set, then the field value is null. Optional field.
  • platformState - cart item platform state: the service field for storing intermediate information (see reference). Optional field.
  • count - cart item count in order. Required field.
  • warning - warning for cart item. Optional field.

Price data

Price data

{
    "unit": "<text>",
    "symbol": "<text>",
    "currentValue": <number>,
    "regularValue": <number>,
    "salePriceEffectiveDate": '<date>''
}

Where

  • unit - currency unit. For United States is USD. Required field.
  • symbol - currency symbol. For US dollar is $. Required field.
  • currentValue - current product price. Maybe sale value or equal regular value. Required field.
  • regularValue - regular product price. Required field.
  • salePriceEffectiveDate - date until which the sale is valid in ISO format yyyy-MM-dd. Optional field.

Variant category

Specifies some group of options for a product on target e-commerce platform, such as color, size, etc.

{
    "id": "<text>",
    "name": "<text>",
    "variants": [{<variant>}    ],
    "options": {<categoryOptions>},
    "optional": <boolean>
}

Where

  • id - unique for e-commerce platform category id. Required field.
  • name - category display name for e-commerce platfrom. Required field.
  • variants - array of variant for the category (see reference). Required field.
  • options - variant category options (see reference). Optional field.
  • optional - category is optional. Default value false. Required field.

Category options

Specifies variant category options

{
    "categoryDisplayType": "<text>",
    "variantDisplayType": "<text>",
    "description": "<text>"
}

Where

  • categoryDisplayType - category display type. Required field. Available values:
    • Default - default value (Dropdown),
    • Dropdown - variants are presented in the form of a drop-down list,
    • Radio - variants are presented in the form of a radio-buttons,
    • CustomInput - variants are presented in the form of text box.
  • variantDisplayType - variants display type. Required field. Available values:
    • Default - default value (Name),
    • Name - display variant name,
    • Swatch - display variant swatch
    • Color - display variant color.
  • description - category description used in tooltip. Optional field.

Variant

Defines a specific value for a variant of a particular category. For the color category, for example black or blue, for the size - L, XL, etc.

{
    "variantId": "<text>",
    "variantName": "<text>",
    "categoryId": "<text>",
    "categoryName": "<text>",
    "outOfStock": <boolean>,
    "swatch": "<url>",
    "color": "<RGB color>",
    "customInput": "<text>"
}

Where

  • variantId - unique for the category specific variant id. Required field.
  • variantName - display variant name. Required field.
  • categoryId - unique identifier of the category to which the option belongs. Required field.
  • categoryName - name of the category to which the option belongs. Required field.
  • outOfStock - flag is selected variant is out of stock. Required field.
  • swatch - url for swatch for variant if it is necessary. Optional field.
  • color - color in RGB format #RRGGBB if it is necessary. Optional field.
  • customInput - custom optional text for variant. Optional field.

Discount

Discount data

{
    coupons: [<array of coupons>]
}

Where

Discound coupon

Discount coupon data

{
    "platform": "<text>",
    "seller": "<text>",
    "coupon": "<text>"
}

Where

  • platform - shopping platform type (see supported values). Required field.
  • seller - shop seller host. Required field. Required field.
  • coupon - coupon to apply in store. Required field.

Platform state

{
    "platform": "<text>",
    "state": "<text>",
    "serverRequest": "<text>",
    "clientResponse": "<text>",
    "step": "<text>",
    "type": "<text>",
    "isCaptchaChallenge": <boolean>,
    "captchaChallengeOptions": {<captcha challenge object>}
}

Where

  • platform - shopping platform type (see supported values). Required field.
  • state - internal shopping platform state between sessions. This field must be taken from the previous response and included in the next request. Optional field.
  • serverRequest - request from shopping platform service (for example, if it needs some action from the user). Optional field.
  • clientResponse - response to shopping platform service (if it needs a response from the user). Optional field.
  • step - current step of a platform service process. Optional field.
  • type - type of current platform state. Optional field.
  • isCaptchaChallenge - captcha challenge process flag. Optional field.
  • captchaChallengeOptions - captcha challenge process data. Only for 'perimeter-x' and 'HCaptcha'

Payment summary

{
    "grandTotal": <number>,
    "quantityTotal": <number>,
    "shippingTotal": <number>,
    "addOnServicesTotal": <number>,
    "subTotal": <number>,
    "subTotalWithoutDiscount": <number>,
    "taxTotal": <number>,
    "serviceCommissionTotal": <number>,
    "discount": <number>
}

Where

  • grandTotal - grand total. Required field.
  • quantityTotal - total quantity of items. Required field.
  • shippingTotal - total shipping cost. Required field.
  • addOnServicesTotal - add on services total cosy. Required field.
  • subTotal - subtotal. Required field
  • subTotalWithoutDiscount - subtotal without discount. If the discount is not applied, then the value is null. Optional field.
  • taxTotal - total tax cost. Required field.
  • serviceCommissionTotal - service comission total cost. Required field.
  • discount - discount value, if it is applied. Optional field.

Shipping summary

{
    "preciseDeliveryDate": <number>
}

Where

  • preciseDeliveryDate - In how many days will the cart item be delivered. Optional field.

Purchase

{
    "cartItems": [<cartItem>],
    "id": "<uuid>",
    "offerId": "<uuid>",
    "discount": {<discount},
    "offerLink": "<text>"
}

Where

  • cartItems - an array of cart items that are contained in the purchase (see reference). Required field.
  • id - unique purchase identifier. Required field.
  • offerId - offer id, if source cart was created from an offer. Optional field.
  • offerLink - link to the offer specified when source cart was created, if the cart was created from the offer. Optional field.
  • discount- discount info, if the discount was applied when creating the cart (see reference). Optional field.

Purchase cart item

{
    "id": "<uuid>",
    "purchaseId": "<uuid>",
    "cartItemId": "<uuid>",
    "count": <number>,
    "platform": "<text>",
    "seller": "<text>",
    "usItemId": "<text>",
    "productId": "<text>",
    "name": "<text>",
    "description": "<html>",
    "url": "<url>",
    "imagesUrls": ["<text>"],
    "smallImageUrl": null,
    "variants": [{<variant>}],
    "variantCategories": [{<category>}],
    "priceData": {<priceData}
}

Where

  • id - purchase cart item unique identifier, it is a technological field. Required field.
  • purchaseId- identifier of the purchase to which the cart item is bound. Required field.
  • cartItemId - identifier of the original cart item. Required field.
  • count - cart item count in order. Required field.
  • platform - shopping platform type (see supported values). Required field.
  • seller - seller host on target e-commerce platform. For example bebe.com or walmart.com, Required field.
  • usItemId - unique item id on target e-commerce platform. This field allows you to uniquely identify an cart item with its options within the platform. Required field.
  • productId - product id on target e-commerce platform. Typically, this field defines the base product for its various variations. Required field.
  • name - product name on target e-commerce platform. Required field.
  • description - product description in html-format for target e-commerce platform. Optional field.
  • url - url of original product page on target e-commerce platform. Required field.
  • imagesUrls - urls of product images on target e-commerce platfrom. Typically the array contains at least one url. Required field.
  • smallImageUrl - small image url to display on product thumb. If this field is empty, you can take the first element from the array imageUrls. Optional field.
  • variantCategories - available variants for target product grouped by categories (see reference). Optional field.
  • variants - selected variants for target product (see reference). Optional field.
  • priceData - cart item price data (see reference). Required field.

Supported platforms

"Abercrombie", "Academy", "AceHardware", "Adidas", "Amazon", "AmericanEagle", 
"Anastasiabeverlyhills", "AtHome", "AthomeMedline", "Backcountry", "Bali", 
"BathAndBodyWorks", "BattleSports", "BedBathAndBeyond", "Belk", "Bestbuy", 
"BestbuyCanada", "Bic", "BigCommerce", "BigCommerceApp", "BigStar", "Bikini", 
"BlackDiamond", "BlissWorld", "Bloomingdales", "Bose", "Burberry", "Cabelas", 
"CampMan", "CampingWorld", "Carters", "Champion", "Champssports", "Chanel", 
"Chiccousa", "ChildrenIsPlace", "ChineseLaundry", "ClarinsUsa", "Clinique", 
"CombatCorner", "Complex", "Converse", "Coravin", "Crayola", "DallasCowboys", 
"DallasGolf", "DicksSportingGoods", "DrJays", "DripDrop", "Elfcosmetics", 
"EsteeLauder", "Etsy", "Explorecuisine", "Fabulousfurs", "Fanatics", "Farfetch", 
"Flightscope", "FloorAndDecor", "Forever21", "Fossil", "Fragrancenet", 
"Fromuthpickleball", "Gap", "GapFactory", "GardenOfLife", "Gnc", 
"GrandvinWineMerchants", "Guess", "Gymshark", "HalfPriceBooks", "HamiltonBeach", 
"Hanes", "Highlights", "HomeDepot", "Honest", "HudaBeauty", "Huel", "HugoBoss", 
"Ikea", "InstantBrands", "JanieAndJack", "Jcpenney", "Jomalone", "Justice", 
"Kendrascott", "Kmart", "Kohls", "LLBean", "Lacoste", "LacrosseUnlimited", 
"Lancome", "Lee", "LesliesPool", "Levi", "Lids", "LittleBoyChic", "Lowes", 
"Lululemon", "Lushusa", "Macys", "MagentoApp", "Mango", "MarkAndGraham", 
"Michaelkors", "Michaels", "NaturesJewelry", "NetAPorter", "NewBalance", "Nfm", 
"Nike", "NinjaKitchen", "Nordstrom", "OnlineShoes", "Overstock", "Pandora", 
"Patagonia", "PetSmart", "Philosophy", "PoshMark", "PotteryBarn", 
"PotteryBarnKids", "PotteryBarnTeen", "PrestaShopApp", "Qvc", "Ralphlauren", 
"Reebok", "ReserveBar", "RoomsToGo", "Saksfifthavenue", "Sears", "Sephora", 
"SeraLabsHealth", "SharkClean", "Shift4Shop", "ShopDisney", "ShopTy", "Shopify", 
"ShopifyApp", "ShopwareApp", "Solerebels", "Sonomacutrer", "Sportsdirect", 
"SquareSpaceApp", "Staples", "Target", "Taylormadegolf", "Timberland", "TomFord", 
"Tradesy", "TrueValue", "Tyler", "Ulta", "Underarmour", "Unknown", "Usopenshop", 
"UvaBookStores", "Vans", "Venus", "VibeBodyCare", "VictoriasSecret", "Walmart", 
"WestElm", "WilliamsSonoma", "WixApp", "WooCommerceApp", "WorldMarket", "Yamaha", 
"Yeti", "Zara"