csharp
java
javascript
php
python
ruby
typescript

item

/item

The item REST API provides all the functionality necessary manipulate items on your UltraCart account. This is one of the largest REST APIs on the UltraCart platform due to the extensive functionality within the item object.




using System;
using com.ultracart.admin.v2.Api;
using com.ultracart.admin.v2.Model;
using NUnit.Framework;

namespace SdkSample.item
{
    public class Introduction
    {

        [Test]
        public void ExecuteTest()
        {
            //TODO-PT
        }

        public static void IntroductionCall()
        {
            const string simpleKey = "109ee846ee69f50177018ab12f008a00748a25aa28dbdc0177018ab12f008a00";
            var api = new ItemApi(simpleKey);
        }


    }
}



package item;

import com.ultracart.admin.v2.ItemApi;
import com.ultracart.admin.v2.models.Coupon;
import com.ultracart.admin.v2.models.CouponResponse;
import com.ultracart.admin.v2.util.ApiException;

public class Introduction {

    public static void main(String[] args) throws ApiException {

        // Create a Simple Key: https://ultracart.atlassian.net/wiki/spaces/ucdoc/pages/38688545/API+Simple+Key
        final String apiKey = "109ee846ee69f50177018ab12f008a00748a25aa28dbdc0177018ab12f008a00";
        ItemApi itemApi = new ItemApi(apiKey);

        // TODO-PT

    }

}

Software Development Kit (SDK)

To make working with our API easier, we package an SDK in the languages listed to the right. Select the language that you are interested in and sample code with additional commentary will be available. All of our APIs are available on GitHub at:

http://www.github.com/UltraCart/

By using an SDK you receive a number of important benefits.

Instantiating the API

There are four steps to instantiating the API.

  1. Include the SDK package
  2. Set the API credentials.
  3. Set the API version header.
  4. Instantiate the API Client.

Expansion

The item REST API has one of the largest expansion capabilities. By default, when you read an item, a limited object is returned. If you specify the _expand parameter, additional properties of the item object are returned. We encourage you to limit the amount of information that you query for items, to the minimal amount possible to have optimal communication. The following expansion operations are available.

Retrieve digital items from the digital library which are digital files that may be attached to normal items

Permissions:
  • item_read

Produces: application/json
get
/item/digital_library

Retrieves a group of digital items (file information) from the account. If no parameters are specified, all digital items will be returned. Be aware that these are not normal items that can be added to a shopping cart. Rather, they are digital files that may be associated with normal items. You will need to make multiple API calls in order to retrieve the entire result set since this API performs result set pagination.

SDK Function Name: getDigitalItems

Parameters
Parameter Description Location Data Type Required
_limit The maximum number of records to return on this one API call. (Default 100, Max 2000)
Default: 100
query integer optional
_offset Pagination of the record set. Offset is a zero based index.
Default: 0
query integer optional
_since Fetch items that have been created/modified since this date/time. query dateTime optional
_sort The sort order of the items. See Sorting documentation for examples of using multiple values and sorting by ascending and descending.
Allowed Values
  • merchant_item_id
  • description
query string optional
_expand The object expansion to perform on the result. See documentation for examples query string optional
_placeholders Whether or not placeholder values should be returned in the result. Useful for UIs that consume this REST API. query boolean optional
Responses
Status Code Reason Response Model
200
Successful response ItemDigitalItemsResponse
400
Bad Request 400
401
Unauthorized 401
410
Authorized Application Disabled 410
429
Too Many Requests 429
500
Server Side 500
<?php
/** @noinspection SpellCheckingInspection */
/** @noinspection GrazieInspection */

use ultracart\v2\ApiException;

require_once '../vendor/autoload.php';
require_once '../samples.php';
require_once './item_functions.php'; // <-- see this file for details

try {

    /*
     * Please Note!
     * Digital Items are not normal items you sell on your site.  They are digital files that you may add to
     * a library and then attach to a normal item as an accessory or the main item itself.
     * See: https://ultracart.atlassian.net/wiki/spaces/ucdoc/pages/1376485/Digital+Items
     */

    $digital_item_oid = insertSampleDigitalItem(); // create an item so I can get an item
    $item_api = Samples::getItemApi();
    $api_response = $item_api->getDigitalItems($digital_item_oid);
    $digital_items = $api_response->getDigitalItems(); // assuming this succeeded

    echo 'The following items were retrieved via getDigitalItems():';
    foreach ($digital_items as $digital_item) {
        var_dump($digital_item);
    }


} catch (ApiException $e) {
    echo 'An ApiException occurred.  Please review the following error:';
    var_dump($e); // <-- change_me: handle gracefully
    die(1);
}

Create a file within the digital library

Permissions:
  • item_write

Consumes: application/json
Produces: application/json
post
/item/digital_library

Create a file within the digital library. This does not create an item, but makes this digital file available and selectable as part (or all) of an item.

SDK Function Name: insertDigitalItem

Parameters
Parameter Description Location Data Type Required
digital_item Digital item to create body ItemDigitalItem required
Responses
Status Code Reason Response Model
200
Successful response ItemDigitalItemResponse
400
Bad Request 400
401
Unauthorized 401
410
Authorized Application Disabled 410
429
Too Many Requests 429
500
Server Side 500
<?php

use ultracart\v2\ApiException;

require_once '../vendor/autoload.php';
require_once '../samples.php';
require_once './item_functions.php'; // <-- see this file for details

try {

    $digital_item_oid = insertSampleDigitalItem();
    deleteSampleDigitalItem($digital_item_oid);

} catch (ApiException $e) {
    echo 'An ApiException occurred.  Please review the following error:';
    var_dump($e); // <-- change_me: handle gracefully
    die(1);
}

Retrieves digital items from the digital library (which are digital files that may be attached to normal items) that having a matching external id

Permissions:
  • item_read

Produces: application/json
get
/item/digital_library/by_external/{external_id}

Retrieves digital items from the digital library (which are digital files that may be attached to normal items) that having a matching external id. Be aware that these are not normal items that can be added to a shopping cart. Rather, they are digital files that may be associated with normal items.

SDK Function Name: getDigitalItemsByExternalId

Parameters
Parameter Description Location Data Type Required
external_id The external id to match against. path string required
Responses
Status Code Reason Response Model
200
Successful response ItemDigitalItemsResponse
400
Bad Request 400
401
Unauthorized 401
410
Authorized Application Disabled 410
429
Too Many Requests 429
500
Server Side 500

Retrieve digital items from the digital library (which are digital files that may be attached to normal items) not yet associated with actual items

Permissions:
  • item_read

Produces: application/json
get
/item/digital_library/unassociated

Retrieves a group of digital items (file information) from the account that are not yet associated with any actual items. If no parameters are specified, all digital items will be returned. Be aware that these are not normal items that can be added to a shopping cart. Rather, they are digital files that may be associated with normal items. You will need to make multiple API calls in order to retrieve the entire result set since this API performs result set pagination.

SDK Function Name: getUnassociatedDigitalItems

Parameters
Parameter Description Location Data Type Required
_limit The maximum number of records to return on this one API call. (Default 100, Max 2000)
Default: 100
query integer optional
_offset Pagination of the record set. Offset is a zero based index.
Default: 0
query integer optional
_since Fetch items that have been created/modified since this date/time. query dateTime optional
_sort The sort order of the items. See Sorting documentation for examples of using multiple values and sorting by ascending and descending.
Allowed Values
  • merchant_item_id
  • description
query string optional
_expand The object expansion to perform on the result. See documentation for examples query string optional
_placeholders Whether or not placeholder values should be returned in the result. Useful for UIs that consume this REST API. query boolean optional
Responses
Status Code Reason Response Model
200
Successful response ItemDigitalItemsResponse
400
Bad Request 400
401
Unauthorized 401
410
Authorized Application Disabled 410
429
Too Many Requests 429
500
Server Side 500

Delete a digital item, which is a file within the digital library, not an actual merchant item

Permissions:
  • item_write

Produces: application/json
delete
/item/digital_library/{digital_item_oid}

Delete a digital item on the UltraCart account.

SDK Function Name: deleteDigitalItem

Parameters
Parameter Description Location Data Type Required
digital_item_oid The digital item oid to delete. path integer (int32) required
Responses
Status Code Reason Response Model
204
No Content
400
Bad Request 400
401
Unauthorized 401
410
Authorized Application Disabled 410
429
Too Many Requests 429
500
Server Side 500
<?php

use ultracart\v2\ApiException;

require_once '../vendor/autoload.php';
require_once '../samples.php';
require_once './item_functions.php'; // <-- see this file for details

try {

    $digital_item_oid = insertSampleDigitalItem();
    deleteSampleDigitalItem($digital_item_oid);

} catch (ApiException $e) {
    echo 'An ApiException occurred.  Please review the following error:';
    var_dump($e); // <-- change_me: handle gracefully
    die(1);
}

Retrieve a digital item from the digital library, which are digital files that may be attached to normal items

Permissions:
  • item_read

Produces: application/json
get
/item/digital_library/{digital_item_oid}

Retrieves a digital item (file information) from the account. Be aware that these are not normal items that can be added to a shopping cart. Rather, they are digital files that may be associated with normal items.

SDK Function Name: getDigitalItem

Parameters
Parameter Description Location Data Type Required
digital_item_oid The digital item oid to retrieve. path integer (int32) required
Responses
Status Code Reason Response Model
200
Successful response ItemDigitalItemResponse
400
Bad Request 400
401
Unauthorized 401
410
Authorized Application Disabled 410
429
Too Many Requests 429
500
Server Side 500
<?php
/** @noinspection SpellCheckingInspection */
/** @noinspection GrazieInspection */

use ultracart\v2\ApiException;

require_once '../vendor/autoload.php';
require_once '../samples.php';
require_once './item_functions.php'; // <-- see this file for details

try {

    /*
     * Please Note!
     * Digital Items are not normal items you sell on your site.  They are digital files that you may add to
     * a library and then attach to a normal item as an accessory or the main item itself.
     * See: https://ultracart.atlassian.net/wiki/spaces/ucdoc/pages/1376485/Digital+Items
     */

    $digital_item_oid = insertSampleDigitalItem(); // create an item so I can get an item
    $item_api = Samples::getItemApi();
    $api_response = $item_api->getDigitalItem($digital_item_oid);
    $digital_item = $api_response->getDigitalItem(); // assuming this succeeded


    echo 'The following item was retrieved via getDigitalItem():';
    var_dump($digital_item);

    deleteSampleDigitalItem($digital_item_oid);

} catch (ApiException $e) {
    echo 'An ApiException occurred.  Please review the following error:';
    var_dump($e); // <-- change_me: handle gracefully
    die(1);
}



Updates a file within the digital library

Permissions:
  • item_write

Consumes: application/json
Produces: application/json
put
/item/digital_library/{digital_item_oid}

Updates a file within the digital library. This does not update an item, but updates a digital file available and selectable as part (or all) of an item.

SDK Function Name: updateDigitalItem

Parameters
Parameter Description Location Data Type Required
digital_item_oid The digital item oid to update. path integer (int32) required
digital_item Digital item to update body ItemDigitalItem required
Responses
Status Code Reason Response Model
200
Successful response ItemDigitalItemResponse
400
Bad Request 400
401
Unauthorized 401
410
Authorized Application Disabled 410
429
Too Many Requests 429
500
Server Side 500
<?php
/** @noinspection SpellCheckingInspection */
/** @noinspection GrazieInspection */

use ultracart\v2\ApiException;

require_once '../vendor/autoload.php';
require_once '../samples.php';
require_once './item_functions.php'; // <-- see this file for details

try {

    $digital_item_oid = insertSampleDigitalItem();

    $item_api = Samples::getItemApi();
    $api_response = $item_api->getDigitalItem($digital_item_oid);
    $digital_item = $api_response->getDigitalItem();

    $digital_item->setDescription("I have updated the description to this sentence.");
    $digital_item->setClickWrapAgreement("You hereby agree that the earth is round.  No debate.");

    $item_api->updateDigitalItem($digital_item_oid, $digital_item);

    deleteSampleDigitalItem($digital_item_oid);

} catch (ApiException $e) {
    echo 'An ApiException occurred.  Please review the following error:';
    var_dump($e); // <-- change_me: handle gracefully
    die(1);
}

Retrieve items

Permissions:
  • item_read

Produces: application/json
get
/item/items

Retrieves a group of items from the account. If no parameters are specified, all items will be returned. You will need to make multiple API calls in order to retrieve the entire result set since this API performs result set pagination.

SDK Function Name: getItems

Parameters
Parameter Description Location Data Type Required
parent_category_id The parent category object id to retrieve items for. Unspecified means all items on the account. 0 = root query integer (int32) optional
parent_category_path The parent category path to retrieve items for. Unspecified means all items on the account. / = root query string optional
_limit The maximum number of records to return on this one API call. (Default 100, Max 2000)
Default: 100
query integer optional
_offset Pagination of the record set. Offset is a zero based index.
Default: 0
query integer optional
_since Fetch items that have been created/modified since this date/time. query dateTime optional
_sort The sort order of the items. See Sorting documentation for examples of using multiple values and sorting by ascending and descending.
Allowed Values
  • merchant_item_id
  • description
query string optional
_expand The object expansion to perform on the result. See documentation for examples query string optional
_placeholders Whether or not placeholder values should be returned in the result. Useful for UIs that consume this REST API. query boolean optional
Responses
Status Code Reason Response Model
200
Successful response ItemsResponse
400
Bad Request 400
401
Unauthorized 401
410
Authorized Application Disabled 410
429
Too Many Requests 429
500
Server Side 500



using System;
using com.ultracart.admin.v2.Api;
using com.ultracart.admin.v2.Model;
using NUnit.Framework;

namespace SdkSample.item
{
    public class GetItems
    {

        [Test]
        public void ExecuteTest()
        {
            //TODO-PT
        }

        public static void GetItemsCall()
        {
            const string simpleKey = "109ee846ee69f50177018ab12f008a00748a25aa28dbdc0177018ab12f008a00";
            var api = new ItemApi(simpleKey);
        }


    }
}



package item;

import com.ultracart.admin.v2.ItemApi;
import com.ultracart.admin.v2.models.Coupon;
import com.ultracart.admin.v2.models.CouponResponse;
import com.ultracart.admin.v2.util.ApiException;

public class GetItems {

    public static void main(String[] args) throws ApiException {

        // Create a Simple Key: https://ultracart.atlassian.net/wiki/spaces/ucdoc/pages/38688545/API+Simple+Key
        final String apiKey = "109ee846ee69f50177018ab12f008a00748a25aa28dbdc0177018ab12f008a00";
        ItemApi itemApi = new ItemApi(apiKey);

        // TODO-PT

    }

}

<?php

set_time_limit(3000); // pull all records could take a long time.
ini_set('max_execution_time', 3000);
ini_set('display_errors', 1);

/*
 * This example illustrates how to retrieve items.  When dealing with items, please note that categories are
 * essentially folders to organize and store items.  They are only used for that purpose and play no role in
 * the checkout process or in the storefront display of items.  So you may organize your items as best serves
 * you.  We're often asked why was use the word 'category' instead of 'folder'.   We started down the road of
 * item management 27 years ago with the word 'category', and it's too much trouble to change.  So items are
 * managed by categories, not folders.  But they are folders.  :)
 * The call takes two possible parameters:
 * 1) parentCategoryId: This is a number which uniquely identifies a category in our system.  Not easy to determine.
 * 2) parentCategoryPath: This is the folder path you wish to retrieve, starting with a forward slash "/"
 * If you provide neither of these values, all items are returned.
 */

use ultracart\v2\api\ItemApi;
use ultracart\v2\ApiException;

require_once '../vendor/autoload.php';
require_once '../samples.php';


$item_api = Samples::getItemApi();


/**
 * @throws ApiException
 */
function getItemChunk(ItemApi $item_api, int $offset, int $limit): array
{

    // The real devil in the getItem calls is the expansion, making sure you return everything you need without
    // returning everything since these objects are extremely large.
    // These are the possible expansion values.
    /*
    accounting                      amember                     auto_order                      auto_order.steps
    ccbill                          channel_partner_mappings    chargeback                      checkout
    content                         content.assignments         content.attributes              content.multimedia
    content.multimedia.thumbnails   digital_delivery            ebay                            email_notifications
    enrollment123                   gift_certificate            google_product_search           kit_definition
    identifiers                     instant_payment_notifications   internal                    options
    payment_processing              physical                    pricing                         pricing.tiers
    realtime_pricing                related                     reporting                       restriction
    reviews                         salesforce                  shipping                        shipping.cases
    tax                             third_party_email_marketing variations                      wishlist_member
    shipping.destination_markups
    shipping.destination_restrictions
    shipping.distribution_centers
    shipping.methods
    shipping.package_requirements
     */
    $expand = "kit_definition,options,shipping,tax,variations"; // just some random ones.  contact us if you're unsure

    $parent_category_id = null;
    $parent_category_path = null;
    $_since = null;
    $_sort = null;
    $api_response = $item_api->getItems($parent_category_id, $parent_category_path, $limit, $offset, $_since,
        $_sort, $expand, false);

    if ($api_response->getItems() != null) {
        return $api_response->getItems();
    }
    return [];
}

$items = [];

$iteration = 1;
$offset = 0;
$limit = 200;
$more_records_to_fetch = true;

try {
    while ($more_records_to_fetch) {

        echo "executing iteration " . $iteration . '<br>';

        $chunk_of_items = getItemChunk($item_api, $offset, $limit);
        $orders = array_merge($items, $chunk_of_items);
        $offset = $offset + $limit;
        $more_records_to_fetch = count($chunk_of_items) == $limit;
        $iteration++;
    }
} catch (ApiException $e) {
    echo 'ApiException occurred on iteration ' . $iteration;
    var_dump($e);
    die(1);
}


// this will be verbose...
var_dump($items);

Create an item

Permissions:
  • item_write

Consumes: application/json
Produces: application/json
post
/item/items

Create a new item on the UltraCart account.

SDK Function Name: insertItem

Parameters
Parameter Description Location Data Type Required
item Item to create body Item required
_expand The object expansion to perform on the result. See documentation for examples query string optional
_placeholders Whether or not placeholder values should be returned in the result. Useful for UIs that consume this REST API. query boolean optional
Responses
Status Code Reason Response Model
200
Successful response ItemResponse
400
Bad Request 400
401
Unauthorized 401
410
Authorized Application Disabled 410
429
Too Many Requests 429
500
Server Side 500



using System;
using com.ultracart.admin.v2.Api;
using com.ultracart.admin.v2.Model;
using NUnit.Framework;

namespace SdkSample.item
{
    public class InsertItem
    {

        [Test]
        public void ExecuteTest()
        {
            //TODO-PT
        }

        public static void InsertItemCall()
        {
            const string simpleKey = "109ee846ee69f50177018ab12f008a00748a25aa28dbdc0177018ab12f008a00";
            var api = new ItemApi(simpleKey);
        }


    }
}



package item;

import com.ultracart.admin.v2.ItemApi;
import com.ultracart.admin.v2.models.Coupon;
import com.ultracart.admin.v2.models.CouponResponse;
import com.ultracart.admin.v2.util.ApiException;

public class InsertItem {

    public static void main(String[] args) throws ApiException {

        // Create a Simple Key: https://ultracart.atlassian.net/wiki/spaces/ucdoc/pages/38688545/API+Simple+Key
        final String apiKey = "109ee846ee69f50177018ab12f008a00748a25aa28dbdc0177018ab12f008a00";
        ItemApi itemApi = new ItemApi(apiKey);

        // TODO-PT

    }

}

<?php

use ultracart\v2\ApiException;

require_once '../vendor/autoload.php';
require_once '../samples.php';
require_once './item_functions.php'; // <-- see this file for details

try {

    $item_id = insertSampleItem();
    deleteSampleItem($item_id);

} catch (ApiException $e) {
    echo 'An ApiException occurred.  Please review the following error:';
    var_dump($e); // <-- change_me: handle gracefully
    die(1);
}



Update multiple items

Permissions:
  • item_write

Consumes: application/json
Produces: application/json
put
/item/items/batch

Update multiple item on the UltraCart account.

SDK Function Name: updateItems

Parameters
Parameter Description Location Data Type Required
items_request Items to update (synchronous maximum 20 / asynchronous maximum 100) body ItemsRequest required
_expand The object expansion to perform on the result. See documentation for examples query string optional
_placeholders Whether or not placeholder values should be returned in the result. Useful for UIs that consume this REST API. query boolean optional
_async True if the operation should be run async. No result returned query boolean optional
Responses
Status Code Reason Response Model
200
Successful response ItemsResponse
400
Bad Request 400
401
Unauthorized 401
410
Authorized Application Disabled 410
429
Too Many Requests 429
500
Server Side 500



using System;
using com.ultracart.admin.v2.Api;
using com.ultracart.admin.v2.Model;
using NUnit.Framework;

namespace SdkSample.item
{
    public class UpdateItems
    {

        [Test]
        public void ExecuteTest()
        {
            //TODO-PT
        }

        public static void UpdateItemsCall()
        {
            const string simpleKey = "109ee846ee69f50177018ab12f008a00748a25aa28dbdc0177018ab12f008a00";
            var api = new ItemApi(simpleKey);
        }


    }
}



package item;

import com.ultracart.admin.v2.ItemApi;
import com.ultracart.admin.v2.models.Coupon;
import com.ultracart.admin.v2.models.CouponResponse;
import com.ultracart.admin.v2.util.ApiException;

public class UpdateItems {

    public static void main(String[] args) throws ApiException {

        // Create a Simple Key: https://ultracart.atlassian.net/wiki/spaces/ucdoc/pages/38688545/API+Simple+Key
        final String apiKey = "109ee846ee69f50177018ab12f008a00748a25aa28dbdc0177018ab12f008a00";
        ItemApi itemApi = new ItemApi(apiKey);

        // TODO-PT

    }

}

<?php
/** @noinspection SpellCheckingInspection */
/** @noinspection GrazieInspection */

use ultracart\v2\ApiException;
use ultracart\v2\models\ItemsRequest;

require_once '../vendor/autoload.php';
require_once '../samples.php';
require_once './item_functions.php'; // <-- see this file for details

try {

    $item_id1 = insertSampleItem();
    $item_id2 = insertSampleItem();

    $item_api = Samples::getItemApi();

    // See one of the getItem or getItems samples for possible expansion values
    // See also: https://www.ultracart.com/api/#resource_item.html
    $expand = "pricing";
    $api_response = $item_api->getItemByMerchantItemId($item_id1, $expand, false);
    $item1 = $api_response->getItem();
    $api_response = $item_api->getItemByMerchantItemId($item_id2, $expand, false);
    $item2 = $api_response->getItem();



    // update the price of the item.
    $item1->getPricing()->setCost(12.99);
    $item2->getPricing()->setCost(14.99);

    $update_items_request = new ItemsRequest();
    $items = [$item1, $item2];
    $update_items_request->setItems($items);
    $api_response = $item_api->updateItems($update_items_request, $expand, false, false);


    deleteSampleItem($item_id1);
    deleteSampleItem($item_id2);

} catch (ApiException $e) {
    echo 'An ApiException occurred.  Please review the following error:';
    var_dump($e); // <-- change_me: handle gracefully
    die(1);
}

Retrieve an item by item id

Permissions:
  • item_read

Produces: application/json
get
/item/items/merchant_item_id/{merchant_item_id}

Retrieves a single item using the specified item id.

SDK Function Name: getItemByMerchantItemId

Parameters
Parameter Description Location Data Type Required
merchant_item_id The item id to retrieve. path string required
_expand The object expansion to perform on the result. See documentation for examples query string optional
_placeholders Whether or not placeholder values should be returned in the result. Useful for UIs that consume this REST API. query boolean optional
Responses
Status Code Reason Response Model
200
Successful response ItemResponse
400
Bad Request 400
401
Unauthorized 401
410
Authorized Application Disabled 410
429
Too Many Requests 429
500
Server Side 500



using System;
using com.ultracart.admin.v2.Api;
using com.ultracart.admin.v2.Model;
using NUnit.Framework;

namespace SdkSample.item
{
    public class GetItemByMerchantItemId
    {

        [Test]
        public void ExecuteTest()
        {
            //TODO-PT
        }

        public static void GetItemByMerchantItemIdCall()
        {
            const string simpleKey = "109ee846ee69f50177018ab12f008a00748a25aa28dbdc0177018ab12f008a00";
            var api = new ItemApi(simpleKey);
        }


    }
}



package item;

import com.ultracart.admin.v2.ItemApi;
import com.ultracart.admin.v2.models.Coupon;
import com.ultracart.admin.v2.models.CouponResponse;
import com.ultracart.admin.v2.util.ApiException;

public class GetItemByMerchantItemId {

    public static void main(String[] args) throws ApiException {

        // Create a Simple Key: https://ultracart.atlassian.net/wiki/spaces/ucdoc/pages/38688545/API+Simple+Key
        final String apiKey = "109ee846ee69f50177018ab12f008a00748a25aa28dbdc0177018ab12f008a00";
        ItemApi itemApi = new ItemApi(apiKey);

        // TODO-PT

    }

}

<?php
/** @noinspection SpellCheckingInspection */
/** @noinspection GrazieInspection */

use ultracart\v2\ApiException;

require_once '../vendor/autoload.php';
require_once '../samples.php';
require_once './item_functions.php'; // <-- see this file for details

// Of the two getItem methods, you'll probably always use getItemByMerchantItemId instead of this one.
// Most item work is done with the item id, not the item oid.   The latter is only meaningful as a primary
// key in the UltraCart databases.  But here is an example of using getItem().  We take the long route here
// of retrieving the item using getItemByMerchantItemId to obtain the oid rather than hard-coding it.  We do this
// because these samples are used in our quality control system and run repeatedly.

try {

    $item_id = insertSampleItem();

    $item_api = Samples::getItemApi();

    // The real devil in the getItem calls is the expansion, making sure you return everything you need without
    // returning everything since these objects are extremely large.
    // These are the possible expansion values.
    /*
        accounting
        amember
        auto_order
        auto_order.steps
        ccbill
        channel_partner_mappings
        chargeback
        checkout
        content
        content.assignments
        content.attributes
        content.multimedia
        content.multimedia.thumbnails
        digital_delivery
        ebay
        email_notifications
        enrollment123
        gift_certificate
        google_product_search
        kit_definition
        identifiers
        instant_payment_notifications
        internal
        options
        payment_processing
        physical
        pricing
        pricing.tiers
        realtime_pricing
        related
        reporting
        restriction
        reviews
        salesforce
        shipping
        shipping.cases
        shipping.destination_markups
        shipping.destination_restrictions
        shipping.distribution_centers
        shipping.methods
        shipping.package_requirements
        tax
        third_party_email_marketing
        variations
        wishlist_member
     */
    $expand = "kit_definition,options,shipping,tax,variations"; // just some random ones.  contact us if you're unsure
    $api_response = $item_api->getItemByMerchantItemId($item_id, $expand, false);
    $item = $api_response->getItem();

    echo 'The following item was retrieved via getItemByMerchantItemId():';
    var_dump($item);

    deleteSampleItem($item_id);

} catch (ApiException $e) {
    echo 'An ApiException occurred.  Please review the following error:';
    var_dump($e); // <-- change_me: handle gracefully
    die(1);
}

Delete an item

Permissions:
  • item_write

Produces: application/json
delete
/item/items/{merchant_item_oid}

Delete an item on the UltraCart account.

SDK Function Name: deleteItem

Parameters
Parameter Description Location Data Type Required
merchant_item_oid The item oid to delete. path integer (int32) required
Responses
Status Code Reason Response Model
204
No Content
400
Bad Request 400
401
Unauthorized 401
410
Authorized Application Disabled 410
429
Too Many Requests 429
500
Server Side 500



using System;
using com.ultracart.admin.v2.Api;
using com.ultracart.admin.v2.Model;
using NUnit.Framework;

namespace SdkSample.item
{
    public class DeleteItem
    {

        [Test]
        public void ExecuteTest()
        {
            //TODO-PT
        }

        public static void DeleteItemCall()
        {
            const string simpleKey = "109ee846ee69f50177018ab12f008a00748a25aa28dbdc0177018ab12f008a00";
            var api = new ItemApi(simpleKey);
        }


    }
}



package item;

import com.ultracart.admin.v2.ItemApi;
import com.ultracart.admin.v2.models.Coupon;
import com.ultracart.admin.v2.models.CouponResponse;
import com.ultracart.admin.v2.util.ApiException;

public class DeleteItem {

    public static void main(String[] args) throws ApiException {

        // Create a Simple Key: https://ultracart.atlassian.net/wiki/spaces/ucdoc/pages/38688545/API+Simple+Key
        final String apiKey = "109ee846ee69f50177018ab12f008a00748a25aa28dbdc0177018ab12f008a00";
        ItemApi itemApi = new ItemApi(apiKey);

        // TODO-PT

    }

}

<?php

use ultracart\v2\ApiException;

require_once '../vendor/autoload.php';
require_once '../samples.php';
require_once './item_functions.php'; // <-- see this file for details

try {

    $item_id = insertSampleItem();
    deleteSampleItem($item_id);

} catch (ApiException $e) {
    echo 'An ApiException occurred.  Please review the following error:';
    var_dump($e); // <-- change_me: handle gracefully
    die(1);
}



Retrieve an item

Permissions:
  • item_read

Produces: application/json
get
/item/items/{merchant_item_oid}

Retrieves a single item using the specified item oid.

SDK Function Name: getItem

Parameters
Parameter Description Location Data Type Required
merchant_item_oid The item oid to retrieve. path integer (int32) required
_expand The object expansion to perform on the result. See documentation for examples query string optional
_placeholders Whether or not placeholder values should be returned in the result. Useful for UIs that consume this REST API. query boolean optional
Responses
Status Code Reason Response Model
200
Successful response ItemResponse
400
Bad Request 400
401
Unauthorized 401
410
Authorized Application Disabled 410
429
Too Many Requests 429
500
Server Side 500



using System;
using com.ultracart.admin.v2.Api;
using com.ultracart.admin.v2.Model;
using NUnit.Framework;

namespace SdkSample.item
{
    public class GetItem
    {

        [Test]
        public void ExecuteTest()
        {
            //TODO-PT
        }

        public static void GetItemCall()
        {
            const string simpleKey = "109ee846ee69f50177018ab12f008a00748a25aa28dbdc0177018ab12f008a00";
            var api = new ItemApi(simpleKey);
        }


    }
}



package item;

import com.ultracart.admin.v2.ItemApi;
import com.ultracart.admin.v2.models.Coupon;
import com.ultracart.admin.v2.models.CouponResponse;
import com.ultracart.admin.v2.util.ApiException;

public class GetItem {

    public static void main(String[] args) throws ApiException {

        // Create a Simple Key: https://ultracart.atlassian.net/wiki/spaces/ucdoc/pages/38688545/API+Simple+Key
        final String apiKey = "109ee846ee69f50177018ab12f008a00748a25aa28dbdc0177018ab12f008a00";
        ItemApi itemApi = new ItemApi(apiKey);

        // TODO-PT

    }

}

<?php
/** @noinspection SpellCheckingInspection */
/** @noinspection GrazieInspection */

use ultracart\v2\ApiException;

require_once '../vendor/autoload.php';
require_once '../samples.php';
require_once './item_functions.php'; // <-- see this file for details

// Of the two getItem methods, you'll probably always use getItemByMerchantItemId instead of this one.
// Most item work is done with the item id, not the item oid.   The latter is only meaningful as a primary
// key in the UltraCart databases.  But here is an example of using getItem().  We take the long route here
// of retrieving the item using getItemByMerchantItemId to obtain the oid rather than hard-coding it.  We do this
// because these samples are used in our quality control system and run repeatedly.

try {

    $item_id = insertSampleItem();
    $item_api = Samples::getItemApi();
    $customer_api = Samples::getCustomerApi(); // only needed for accessing reviewer information below.
    // the _expand variable is null in the following call.  we just need the base object this time.
    $api_response = $item_api->getItemByMerchantItemId($item_id, null, false);
    $item = $api_response->getItem(); // assuming this succeeded

    $merchant_item_oid = $item->getMerchantItemOid();

    // This is the actual call for this script.
    // The real devil in the getItem calls is the expansion, making sure you return everything you need without
    // returning everything since these objects are extremely large.
    // These are the possible expansion values.
    /*
        accounting
        amember
        auto_order
        auto_order.steps
        ccbill
        channel_partner_mappings
        chargeback
        checkout
        content
        content.assignments
        content.attributes
        content.multimedia
        content.multimedia.thumbnails
        digital_delivery
        ebay
        email_notifications
        enrollment123
        gift_certificate
        google_product_search
        kit_definition
        identifiers
        instant_payment_notifications
        internal
        options
        payment_processing
        physical
        pricing
        pricing.tiers
        realtime_pricing
        related
        reporting
        restriction
        reviews
        reviews.individual_reviews
        salesforce
        shipping
        shipping.cases
        shipping.destination_markups
        shipping.destination_restrictions
        shipping.distribution_centers
        shipping.methods
        shipping.package_requirements
        tax
        third_party_email_marketing
        variations
        wishlist_member
     */
    // $expand = "kit_definition,options,shipping,tax,variations"; // just some random ones.  contact us if you're unsure
    $expand = "reviews,reviews.individual_reviews";  // changed the random above to reviews to illustrate accessing product reviews.
    $api_response = $item_api->getItem($merchant_item_oid, $expand, false);
    $item = $api_response->getItem();

    $item_reviews = $item->getReviews();
    $individual_reviews = $item_reviews->getIndividualReviews();
    // do whatever you wish with the reviews.  iterate them, print them, etc.
    // if you need the reviewer information
    foreach ($individual_reviews as $individual_review) {

        // if you need reviewer profile questions, such as "How often do you use this product?", access the
        // rating names and scores.  these are configurable by merchant, so we do not know what your questions may be.
        // See Home -> Configuration -> Items -> Reviews -> Settings
        // Or this URL: https://secure.ultracart.com/merchant/item/review/reviewSettingsLoad.do
        $individual_review->getRatingName1(); // <-- this will not be the full question, but a key string.
        $individual_review->getRatingScore1();

        // if you need the review information, access that via their customer object.  Be careful.  This can result
        // in a LOT of API calls and exhaust your limit.  You may wish to add 'sleep' calls to your loop and cache
        // these results daily or weekly.
        $customer_response = $customer_api->getCustomer($individual_review->getCustomerProfileOid(), "reviewer");
        $customer = $customer_response->getCustomer();
        $reviewer = $customer->getReviewer();
    }

    echo 'The following item was retrieved via getItem():';
    var_dump($item);

    deleteSampleItem($item_id);

} catch (ApiException $e) {
    echo 'An ApiException occurred.  Please review the following error:';
    var_dump($e); // <-- change_me: handle gracefully
    die(1);
}



import {Configuration, ItemApi} from "ultracart_rest_api_v2_typescript";

let configuration = new Configuration({apiKey: "fbabf5fdcb4ad5018bf7c1899e205b004082fc3353603b018bf7c1899e205b00", apiVersion: "2017-03-01"});
const itemApi = new ItemApi(configuration);

const { item } =  await itemApi.getItemByMerchantItemId({merchantItemId: "100item", expand: "all"})

if (item && typeof item.merchant_item_oid !== "undefined") {
   item.description = "hockey rules!";
   const response = await itemApi.updateItem({item, merchantItemOid: item.merchant_item_oid, expand: "all"});
   console.log(response);
}

Update an item

Permissions:
  • item_write

Consumes: application/json
Produces: application/json
put
/item/items/{merchant_item_oid}

Update a new item on the UltraCart account.

SDK Function Name: updateItem

Parameters
Parameter Description Location Data Type Required
item Item to update body Item required
merchant_item_oid The item oid to update. path integer (int32) required
_expand The object expansion to perform on the result. See documentation for examples query string optional
_placeholders Whether or not placeholder values should be returned in the result. Useful for UIs that consume this REST API. query boolean optional
Responses
Status Code Reason Response Model
200
Successful response ItemResponse
400
Bad Request 400
401
Unauthorized 401
410
Authorized Application Disabled 410
429
Too Many Requests 429
500
Server Side 500



using System;
using com.ultracart.admin.v2.Api;
using com.ultracart.admin.v2.Model;
using NUnit.Framework;

namespace SdkSample.item
{
    public class UpdateItem
    {

        [Test]
        public void ExecuteTest()
        {
            //TODO-PT
        }

        public static void UpdateItemCall()
        {
            const string simpleKey = "109ee846ee69f50177018ab12f008a00748a25aa28dbdc0177018ab12f008a00";
            var api = new ItemApi(simpleKey);
        }


    }
}



package item;

import com.ultracart.admin.v2.ItemApi;
import com.ultracart.admin.v2.models.Coupon;
import com.ultracart.admin.v2.models.CouponResponse;
import com.ultracart.admin.v2.util.ApiException;

public class UpdateItem {

    public static void main(String[] args) throws ApiException {

        // Create a Simple Key: https://ultracart.atlassian.net/wiki/spaces/ucdoc/pages/38688545/API+Simple+Key
        final String apiKey = "109ee846ee69f50177018ab12f008a00748a25aa28dbdc0177018ab12f008a00";
        ItemApi itemApi = new ItemApi(apiKey);

        // TODO-PT

    }

}

<?php
/** @noinspection SpellCheckingInspection */
/** @noinspection GrazieInspection */

use ultracart\v2\ApiException;

require_once '../vendor/autoload.php';
require_once '../samples.php';
require_once './item_functions.php'; // <-- see this file for details


try {

    $item_id = insertSampleItem();

    $item_api = Samples::getItemApi();

    // See one of the getItem or getItems samples for possible expansion values
    // See also: https://www.ultracart.com/api/#resource_item.html
    $expand = "pricing";
    $api_response = $item_api->getItemByMerchantItemId($item_id, $expand, false);
    $item = $api_response->getItem();
    $original_price = $item->getPricing()->getCost();

    // update the price of the item.
    $item_pricing = $item->getPricing();
    $item_pricing->setCost(12.99);

    $api_response = $item_api->updateItem($item->getMerchantItemOid(), $item, $expand, false);
    $updated_item = $api_response->getItem();

    // ensure the price was updated.
    echo 'Original Price: ' . $original_price;
    echo 'Updated Price: ' . $updated_item->getPricing()->getCost();

    deleteSampleItem($item_id);

} catch (ApiException $e) {
    echo 'An ApiException occurred.  Please review the following error:';
    var_dump($e); // <-- change_me: handle gracefully
    die(1);
}

Upsert an item content attribute

Permissions:
  • item_write

Consumes: application/json
Produces: application/json
post
/item/items/{merchant_item_oid}/content/attributes

Update an item content attribute, creating it new if it does not yet exist.

SDK Function Name: insertUpdateItemContentAttribute

Parameters
Parameter Description Location Data Type Required
item_attribute Item content attribute to upsert body ItemContentAttribute required
merchant_item_oid The item oid to modify. path integer (int32) required
Responses
Status Code Reason Response Model
400
Bad Request 400
401
Unauthorized 401
410
Authorized Application Disabled 410
429
Too Many Requests 429
500
Server Side 500

Get reviews for an item

Permissions:
  • item_read

Consumes: application/json
Produces: application/json
get
/item/items/{merchant_item_oid}/reviews

Retrieve item reviews.

SDK Function Name: getReviews

Parameters
Parameter Description Location Data Type Required
merchant_item_oid The item oid the review is associated with. path integer (int32) required
Responses
Status Code Reason Response Model
200
Successful response ItemReviewsResponse
400
Bad Request 400
401
Unauthorized 401
410
Authorized Application Disabled 410
429
Too Many Requests 429
500
Server Side 500

Insert a review

Permissions:
  • item_write

Consumes: application/json
Produces: application/json
post
/item/items/{merchant_item_oid}/reviews

Insert a item review.

SDK Function Name: insertReview

Parameters
Parameter Description Location Data Type Required
review Review to insert body ItemReview required
merchant_item_oid The item oid the review is associated with. path integer (int32) required
Responses
Status Code Reason Response Model
200
Successful response ItemReviewResponse
400
Bad Request 400
401
Unauthorized 401
410
Authorized Application Disabled 410
429
Too Many Requests 429
500
Server Side 500
<?php
/** @noinspection SpellCheckingInspection */
/** @noinspection GrazieInspection */

use ultracart\v2\ApiException;

require_once '../vendor/autoload.php';
require_once '../samples.php';
require_once './item_functions.php'; // <-- see this file for details


try {

    // To insert a review, you'll need an item's OID (Object Identifier) first.  So for this example, we create
    // a sample item first, then retrieve it by item id to fetch the item oid.

    echo '<pre>';
    $item_id = insertSampleItem();
    echo '</pre>';
    $item_api = Samples::getItemApi(); // convenience fuction for getting an api handle.

    $expand = 'reviews'; // expand string is 'reviews' because we'll need to update the sample item's review template below.
    // list of expansions for item object: https://www.ultracart.com/api/#resource_item.html

    $item_response = $item_api->getItemByMerchantItemId($item_id, $expand, null);
    $item = $item_response->getItem();
    $item_oid = $item->getMerchantItemOid();

    // The target item must have a review template associated before you may attach a review.
    // You may create a review template here:
    // https://secure.ultracart.com/merchant/item/review/reviewTemplateListLoad.do
    // We're using a review template from our development system and it will not work for you.
    // Once you have a review template, update your item either via our gui or the rest api.
    // GUI: secure.ultracart.com -> Home -> Items -> <your item> -> Edit -> Review tab
    // Since we're using a sample item we just created above (line 17), we'll update via the rest api.
    // The rest api requires the review template oid, which is found on the template screen (url on line 25 above)

    $review_template_oid = 402;
    $reviews = new ultracart\v2\models\ItemReviews();
    $reviews->setReviewTemplateOid($review_template_oid);
    $item->setReviews($reviews);
    $item = $item_api->updateItem($item_oid, $item, $expand, null)->getItem();


    // You will need to know what your
    $review = new ultracart\v2\models\ItemReview();
    $review->setTitle('Best Product Ever!');
    $review->setReview("I loved this product.  I bought it for my wife and she was so happy she cried.  blah blah blah");
    $review->setReviewedNickname("Bob420");
    $review->setFeatured(true); // featured? sure. why not? this is a great review.
    $review->setRatingName1('Durability');
    $review->setRatingName2('Price');
    $review->setRatingName3('Performance');
    $review->setRatingName4('Appearance');
    $review->setRatingScore1(4.5);
    $review->setRatingScore2(3.5);
    $review->setRatingScore3(2.5);
    $review->setRatingScore4(1.5);
    $review->setOverall(5.0); // hooray!
    $review->setReviewerLocation("Southside Chicago");
    $review->setStatus('approved');
    // insert the review and update our local variable to see how the review looks now.
    $review = $item_api->insertReview($item_oid, $review)->getReview();

    echo '<br>This is my review object:<br><pre>';
    var_dump($review);
    echo '</pre>';

    // This will clean up the sample item, but you may wish to review the item in the backend or on your website first.
    // deleteSampleItem($item_id);

} catch (ApiException $e) {
    echo 'An ApiException occurred.  Please review the following error:';
    var_dump($e); // <-- change_me: handle gracefully
    die(1);
}

Delete a review

Permissions:
  • item_write

Consumes: application/json
Produces: application/json
delete
/item/items/{merchant_item_oid}/reviews/{review_oid}

Delete an item review.

SDK Function Name: deleteReview

Parameters
Parameter Description Location Data Type Required
review_oid The review oid to delete. path integer (int32) required
merchant_item_oid The item oid the review is associated with. path integer (int32) required
Responses
Status Code Reason Response Model
400
Bad Request 400
401
Unauthorized 401
410
Authorized Application Disabled 410
429
Too Many Requests 429
500
Server Side 500

Get a review

Permissions:
  • item_read

Consumes: application/json
Produces: application/json
get
/item/items/{merchant_item_oid}/reviews/{review_oid}

Retrieve an item review.

SDK Function Name: getReview

Parameters
Parameter Description Location Data Type Required
review_oid The review oid to retrieve. path integer (int32) required
merchant_item_oid The item oid the review is associated with. path integer (int32) required
Responses
Status Code Reason Response Model
200
Successful response ItemReviewResponse
400
Bad Request 400
401
Unauthorized 401
410
Authorized Application Disabled 410
429
Too Many Requests 429
500
Server Side 500

Update a review

Permissions:
  • item_write

Consumes: application/json
Produces: application/json
put
/item/items/{merchant_item_oid}/reviews/{review_oid}

Update an item review.

SDK Function Name: updateReview

Parameters
Parameter Description Location Data Type Required
review Review to update body ItemReview required
review_oid The review oid to update. path integer (int32) required
merchant_item_oid The item oid the review is associated with. path integer (int32) required
Responses
Status Code Reason Response Model
200
Successful response ItemReviewResponse
400
Bad Request 400
401
Unauthorized 401
410
Authorized Application Disabled 410
429
Too Many Requests 429
500
Server Side 500

Retrieve pricing tiers

Permissions:
  • item_read

Produces: application/json
get
/item/pricing_tiers

Retrieves the pricing tiers

SDK Function Name: getPricingTiers

Parameters
Parameter Description Location Data Type Required
_expand The object expansion to perform on the result. See documentation for examples query string optional
Responses
Status Code Reason Response Model
200
Successful response PricingTiersResponse
400
Bad Request 400
401
Unauthorized 401
410
Authorized Application Disabled 410
429
Too Many Requests 429
500
Server Side 500



using System;
using com.ultracart.admin.v2.Api;
using com.ultracart.admin.v2.Model;
using NUnit.Framework;

namespace SdkSample.item
{
    public class GetPricingTiers
    {

        [Test]
        public void ExecuteTest()
        {
            //TODO-PT
        }

        public static void GetPricingTiersCall()
        {
            const string simpleKey = "109ee846ee69f50177018ab12f008a00748a25aa28dbdc0177018ab12f008a00";
            var api = new ItemApi(simpleKey);
        }


    }
}



package item;

import com.ultracart.admin.v2.ItemApi;
import com.ultracart.admin.v2.models.Coupon;
import com.ultracart.admin.v2.models.CouponResponse;
import com.ultracart.admin.v2.util.ApiException;

public class GetPricingTiers {

    public static void main(String[] args) throws ApiException {

        // Create a Simple Key: https://ultracart.atlassian.net/wiki/spaces/ucdoc/pages/38688545/API+Simple+Key
        final String apiKey = "109ee846ee69f50177018ab12f008a00748a25aa28dbdc0177018ab12f008a00";
        ItemApi itemApi = new ItemApi(apiKey);

        // TODO-PT

    }

}

<?php

use ultracart\v2\ApiException;

require_once '../vendor/autoload.php';
require_once '../samples.php';

$item_api = Samples::getItemApi();


try {
    /*
     * Possible expansion values for PricingTier object:
     * approval_notification
     * signup_notification
     */

    $expand = "approval_notification,signup_notification";
    $api_response = $item_api->getPricingTiers($expand);

} catch (ApiException $e) {
    echo 'ApiException occurred.';
    var_dump($e);
    die(1);
}

var_dump($api_response->getPricingTiers());

Upload an image to the temporary multimedia.

Permissions:
  • item_write

Consumes: multipart/form-data
Produces: application/json
post
/item/temp_multimedia

Uploads an image and returns back meta information about the image as well as the identifier needed for the item update.

SDK Function Name: uploadTemporaryMultimedia

Parameters
Parameter Description Location Data Type Required
file File to upload formData file required
Responses
Status Code Reason Response Model
200
Successful response TempMultimediaResponse
400
Bad Request 400
401
Unauthorized 401
410
Authorized Application Disabled 410
429
Too Many Requests 429
500
Server Side 500



using System;
using com.ultracart.admin.v2.Api;
using com.ultracart.admin.v2.Model;
using NUnit.Framework;

namespace SdkSample.item
{
    public class UploadTemporaryMultimedia
    {

        [Test]
        public void ExecuteTest()
        {
            //TODO-PT
        }

        public static void UploadTemporaryMultimediaCall()
        {
            const string simpleKey = "109ee846ee69f50177018ab12f008a00748a25aa28dbdc0177018ab12f008a00";
            var api = new ItemApi(simpleKey);
        }


    }
}



package item;

import com.ultracart.admin.v2.ItemApi;
import com.ultracart.admin.v2.models.Coupon;
import com.ultracart.admin.v2.models.CouponResponse;
import com.ultracart.admin.v2.util.ApiException;

public class UploadTemporaryMultimedia {

    public static void main(String[] args) throws ApiException {

        // Create a Simple Key: https://ultracart.atlassian.net/wiki/spaces/ucdoc/pages/38688545/API+Simple+Key
        final String apiKey = "109ee846ee69f50177018ab12f008a00748a25aa28dbdc0177018ab12f008a00";
        ItemApi itemApi = new ItemApi(apiKey);

        // TODO-PT

    }

}

<?php
// This method is used internally by UltraCart.
// We don't envision a scenario where a merchant would ever need to call this.
// As such, we're not providing a sample for it.  If you can think of a use for this
// method, contact us, and we'll help you work through it.

Webhooks

The following webhook events are generated for this resource.

Event Description Response Expansion
item_create Trigger when a new item is created Item Yes
item_delete Trigger when an item is deleted Item Yes
item_update Trigger when an item is updated Item Yes

Distance

Attributes
Name Data Type Description
uom string Unit of measure
Allowed Values
  • IN
  • CM
value number The distance measured in UOM

Error

Attributes
Name Data Type Description
developer_message string A technical message meant to be read by a developer
error_code string HTTP status code
more_info string Additional information often a link to additional documentation
object_id string Object id that the error is associated with
user_message string An end-user friendly message suitable for display to the customer

ErrorResponse

Attributes
Name Data Type Description
error Error Error object if unsuccessful
metadata ResponseMetadata Meta-data about the response such as payload or paging information
success boolean Indicates if API call was successful
warning Warning Warning object if a non-fatal issue or side-effect occurs

Item

Attributes
Name Data Type Description
accounting ItemAccounting Accounting such as QuickBooks codes
amember ItemAmember Amember configuration
auto_order ItemAutoOrder Auto Order
ccbill ItemCCBill CCBill.com (Deprecated)
channel_partner_item_mappings array of ItemChannelPartnerMapping Channel Partner Item Mapping
chargeback ItemChargeback Chargeback (deprecated)
checkout ItemCheckout Checkout
content ItemContent Content such as multimedia and attributes
creation_dts (read only) string (dateTime) Date/time of creation
description string(512) Description of the item up to 500 characters.
description_translated_text_instance_oid (read only) integer (int32) Description translated text instance id
digital_delivery ItemDigitalDelivery Digital Delivery
ebay ItemEbay e-Bay
email_notifications ItemEmailNotifications Email notifications
enrollment123 ItemEnrollment123 Enrollment123.com
fulfillment_addons array of ItemFulfillmentAddon Fulfillment Add-ons
gift_certificate ItemGiftCertificate Gift Certificate
google_product_search ItemGoogleProductSearch Google Product Search
identifiers ItemIdentifiers Identifiers such as SKU, Barcode, etc.
inactive boolean True if this item is inactive and can not be purchased
instant_payment_notifications ItemInstantPaymentNotifications Instance Payment Notifications
internal ItemInternal Internal information such as memo
kit boolean True if this item is a kit
kit_component_only boolean True if this item can only be usd as a kit component
kit_definition ItemKitDefinition Kit Definition
last_modified_dts (read only) string (dateTime) Date/time of last modification
merchant_id string(5) UltraCart merchant ID owning item
merchant_item_id string(20) Unique item id assigned to this item
merchant_item_oid (read only) integer (int32) Unique object identifier for this item
options array of ItemOption Options
parent_category_id integer (int32) Parent category of the item. Zero indicates the root folder.
parent_category_path string Parent category path. / indicates the root folder.
payment_processing ItemPaymentProcessing Payment Processing
physical ItemPhysical Physical characters like weight and measurements
pricing ItemPricing Pricing
properties array of ItemProperty Properties
realtime_pricing ItemRealtimePricing Real-time Pricing
recommend_replenishment_days integer (int32) Number of days to recommend replenishment after. Null is not configured. Set to zero to disable.
related ItemRelated Related items
reporting ItemReporting Reporting
restriction ItemRestriction Restrictions
revguard ItemRevguard Revguard.com (Deprecated)
reviews ItemReviews Reviews
salesforce ItemSalesforce Salesforce.com configuration
shipping ItemShipping Shipping
tags ItemTags Tags
tax ItemTax Tax settings
third_party_email_marketing array of ItemThirdPartyEmailMarketing 3rd Party Email Marketing
variant_items array of ItemVariantItem Variant Items
variations array of ItemVariation Variations
wishlist_member ItemWishlistMember WishList Member

ItemAccounting

Attributes
Name Data Type Description
accounting_code string(50) QuickBooks item name if different than the item id
qb_class string(31) QuickBooks class if you are classifying items on your invoices/receipts

ItemAmember

Attributes
Name Data Type Description
amember_payment_duration_days integer (int32) The number of days that the customer should be given access to the item
amember_product_id string(10) A-member product id give customer access to when they purchase this item

ItemAutoOrder

Attributes
Name Data Type Description
auth_future_amount number Amount to try and authorize for the future rebill
auth_test_amount number Amount to try and test authorize
auto_order_cancel_charge_minimum_balance boolean If true, the cost of the cancel item will be the remaining balance of the minimum rebill or lifetime value
auto_order_cancel_item_id string(20) Item id to attempt charging the customer for if they cancel
auto_order_cancel_item_oid integer (int32) Item object identifier to attempt charging the customer for if they cancel
auto_order_cancel_minimum_life_time_count integer (int32) The minimum life time count that must be billed in order to not be charged the cancellation item.
auto_order_cancel_minimum_life_time_value number The minimum life time value that must be paid in order to not be charged the cancellation item.
auto_order_cancel_minimum_rebill_count integer (int32) The minimum rebill count that must be billed in order to not be charged the cancellation item.
auto_order_cancel_minimum_rebill_value number The minimum rebill value that must be paid in order to not be charged the cancellation item.
auto_order_downgrade_items array of string List of downgrade items presented to customer service representatives
auto_order_paused boolean True if the rebill processing of this item is paused
auto_order_prohibit_expiring_cards integer (int32) Minimum number of months before expiration for the card. Overrides the account level setting if higher. Set to zero to disable.
auto_order_schedules array of string The user selectable schedules that are available
Allowed Values
  • Weekly
  • Every 10 Days
  • Biweekly
  • Every 24 Days
  • Every 28 Days
  • Monthly
  • Every 45 Days
  • Every 2 Months
  • Every 3 Months
  • Every 4 Months
  • Every 6 Months
  • Yearly
  • Every 4 Weeks
  • Every 6 Weeks
  • Every 8 Weeks
auto_order_upgrade_items array of string List of upgrade items presented to customer service representatives
auto_order_upsell boolean True if this item uses a fixed upsell step schedule
auto_order_upsell_no_easy_cancel boolean Do not send the easy cancel email to the customer
auto_order_upsell_one_per_customer boolean Limit the purchase of this item to one per customer
auto_orderable boolean True if this item can be automatically ordered by the customer
cancel_other_auto_orders boolean True if other auto orders for this customer should be canceled when this item is ordered
free_shipping_auto_order boolean True if the customer should be given free shipping
refund_other_auto_orders boolean True if other auto orders for this customer should refunded if this item is refunded.
steps array of ItemAutoOrderStep The rebill steps if this auto order is an upsell

ItemAutoOrderStep

Attributes
Name Data Type Description
arbitrary_schedule_days integer (int32) If the schedule is arbitrary, then this is the number of days
arbitrary_unit_cost number Arbitrary unit cost used to override the regular item cost
arbitrary_unit_cost_schedules array of ItemAutoOrderStepArbitraryUnitCostSchedule Arbitrary unit costs schedules for more advanced discounting by rebill attempt
grandfather_pricing array of ItemAutoOrderStepGrandfatherPricing Grand-father pricing configuration if the rebill schedule has changed over time
managed_by string Managed by (defaults to UltraCart)
Allowed Values
  • UltraCart
  • CCBill
  • PayPal
pause_days integer (int32) Number of days to pause
pause_until_date string (dateTime) Wait for this step to happen until the specified date
pause_until_day_of_month integer (int32) Pause until a specific day of the month
pause_until_minimum_delay_days integer (int32) Pause at least this many days between the last order and the calculated next day of month
preshipment_notice_days integer (int32) If set, a pre-shipment notice is sent to the customer this many days in advance
recurring_merchant_item_id string(20) Item id to rebill
recurring_merchant_item_oid integer (int32) Item object identifier to rebill
repeat_count integer (int32) Number of times to rebill. Last step can be null for infinite
schedule string Frequency of the rebill
Allowed Values
  • Weekly
  • Every...
  • Every 10 Days
  • Biweekly
  • Every 24 Days
  • Every 28 Days
  • Monthly
  • Every 45 Days
  • Every 2 Months
  • Every 3 Months
  • Every 4 Months
  • Every 6 Months
  • Yearly
  • Every 4 Weeks
  • Every 6 Weeks
  • Every 8 Weeks
subscribe_email_list_name string Email list name to subscribe the customer to when the rebill occurs
subscribe_email_list_oid integer (int32) Email list identifier to subscribe the customer to when this rebill occurs
type string Type of step (item, kit only, loop or pause)
Allowed Values
  • item
  • pause
  • loop
  • kit only
  • pause until

ItemAutoOrderStepArbitraryUnitCostSchedule

Attributes
Name Data Type Description
arbitrary_unit_cost number Arbitrary unit cost
retry_days integer (int32) Retry days

ItemAutoOrderStepGrandfatherPricing

Attributes
Name Data Type Description
on_or_before_date string (dateTime) On or before date
unit_cost number Unit cost

ItemCCBill

Attributes
Name Data Type Description
ccbill_allowed_currencies string Allowed currencies
ccbill_allowed_types string Allowed types
ccbill_currency_code string Currency code
ccbill_form_name string Form name
ccbill_subaccount_id string Sub-account id
ccbill_subscription_type_id string Subscription type id

ItemChannelPartnerMapping

Attributes
Name Data Type Description
barcode_ua string Barcode UA (EDI only)
barcode_uc string Barcode UC (EDI only)
barcode_ui string Barcode UI (EDI only)
barcode_uk string Barcode UK (EDI only)
buyer_catalog_number string Buyer catalog number (EDI only)
buyer_dpci string Buyer DPCI (EDI only)
buyer_item_number string Buyer item number (EDI only)
channel_partner_code string Channel partner code
channel_partner_oid integer (int32) Channel partner object identifier
cost number Cost given to this channel partner
from_item_id string(30) From Item ID
from_sku string(50) From SKU
mutually_defined_number string Mutually defined number (EDI only)
quantity_ratio_cp integer (int32) Ratio (Channel Partner)
quantity_ratio_uc integer (int32) Ratio (UltraCart)
sku string(50) SKU
unit_of_measure string Unit of measure
vendor_number string Vendor number (EDI only)
vendor_style_number string Vendor style number (EDI only)

ItemChargeback

Attributes
Name Data Type Description
addendums array of ItemChargebackAddendum Addendums (deprecated)
adjustment_requests array of ItemChargebackAdjustmentRequest Adjustment requests (deprecated)

ItemChargebackAddendum

Attributes
Name Data Type Description
chargeback_addendum_oid integer (int32) Chargeback addendum object identifier
description string Description
file_size integer (int32) Size of the file
pages integer (int32) Number of pages

ItemChargebackAdjustmentRequest

Attributes
Name Data Type Description
chargeback_adjustment_request_oid integer (int32) Chargeback adjustment request object identifier
description string Description
reason_code string Reason code

ItemCheckout

Attributes
Name Data Type Description
suppress_buysafe boolean True to suppress buySAFE (deprecated)
terms string(10000) Terms for purchasing this item
terms_if_auto_order boolean Terms only apply if the item is on auto order
terms_translated_text_instance_oid (read only) integer (int32) Terms translated text instance identifier

ItemContent

Attributes
Name Data Type Description
assignments array of ItemContentAssignment StoreFront assignments
attributes array of ItemContentAttribute StoreFront attributes
custom_thank_you_url string Custom Thank You URL
exclude_from_search boolean Exclude from search
exclude_from_sitemap boolean Exclude from the sitemap for the StoreFront
exclude_from_top_sellers boolean Exclude from the top sellers list in the StoreFront
extended_description string(10000) Extended description (max 10000 characters)
extended_description_translated_text_instance_oid (read only) integer (int32) Extneded description text translation instance identifier
multimedia array of ItemContentMultimedia Multimedia
new_item boolean True if the item is new
new_item_end string (dateTime) The date the item should no longer be considered new
new_item_start string (dateTime) The date the item should start being considered new
view_url string Legacy view URL (not used by StoreFronts)

ItemContentAssignment

Attributes
Name Data Type Description
default_assignment boolean True if this group is the default assignment for this item
group_oid integer (int32) Page (group) object identifier
group_path string Page (group) path
host string StoreFront host name
sort_order integer (int32) Sort order (optional)
url_part string(150) URL part if the item id is not used

ItemContentAttribute

Attributes
Name Data Type Description
name string(400) Attribute name
translated_text_instance_oid (read only) integer (int32) Attribute translated text instance identifier
type string Attribute type
Allowed Values
  • boolean
  • color
  • definitionlist
  • html
  • integer
  • mailinglist
  • multiline
  • rgba
  • simplelist
  • string
  • videolist
value string(100000) Attribute value

ItemContentMultimedia

Attributes
Name Data Type Description
cloud_url (read only) string URL where the image can be downloaded from the cloud
cloud_url_expiration (read only) string (dateTime) Expiration date of the cloud URL
code string(20) Code assigned to the file
description string(50000) Description
exclude_from_gallery boolean True to exclude from multimedia gallery
file_name string(75) File name
height integer (int32) Height of the image
merchant_item_multimedia_oid integer (int32) Item multimedia object identifier
orphan boolean True if the multimedia is an orphan of the active StoreFront themes
placeholder boolean True if the object is a place holder that can be populated
temp_multimedia_oid integer (int32) Temporary multimedia object identifier assigned if uploading new multimedia
thumbnails array of ItemContentMultimediaThumbnail Thumbnails of this image
type string Type of file
Allowed Values
  • Image
  • PDF
  • Text
  • Unknown
  • Video
url string URL to download file (on new multimedia record this can be a URL for UltraCart to fetch)
width integer (int32) Width of the image

ItemContentMultimediaThumbnail

Attributes
Name Data Type Description
height integer (int32) Height of the thumbnail
http_url string HTTP URL to view the thumbnail
https_url string HTTPS URL to view the thumbnail
png_format boolean True if PNG, false if JPEG
square boolean True if the thumbnail is square
width integer (int32) Width of the thumbnail

ItemDigitalDelivery

Attributes
Name Data Type Description
activation_code_description string(50) Description of the activation code
activation_code_low_warning integer (int32) The number of activation codes whcih should generate a warning email
activation_code_realtime_url string(350) The URL to retrieve activation codes from in real-time
activation_code_shared_secret string(20) Shared secret used when communicating with the real-time URL
activation_code_type string Type of activation code
Allowed Values
  • off
  • list
  • realtime
digital_items array of ItemDigitalItem Digital items that customer can download when this item is purchased

ItemDigitalItem

Attributes
Name Data Type Description
click_wrap_agreement string Click wrap agreement is presented to the customer before they can purchase your product.
creation_dts (read only) string (dateTime) File creation date
description string(200) Description of the digital item
digital_item_oid integer (int32) The Digital item oid is a primary key used internally by UltraCart. You should not set or change this value. Doing so will have no effect.
external_id string(100) External Id useful for syncing with a remote filesystem, this may be an MD5 hash or whatever suits your needs.
file_size (read only) integer (int64) File size
import_from_url string This url is sourced to create or update a digital file in your digital library. It is only considered during an insert or update operation.
mime_type (read only) string(100) Mime type associated with the file
original_filename string(250) Original filename
pdf_meta ItemDigitalItemPdfMeta Additional properties for pdf files

ItemDigitalItemPdfMeta

Attributes
Name Data Type Description
assembly_allowed boolean Assembly allowed
copy_allowed boolean Copy/Paste is allowed
custom_footer string(8000) A custom footer for each pdf page
custom_header string(8000) A custom header for each pdf page
degraded_printing_allowed boolean Degraded printing allowed
fillin_allowed boolean Fillin is allowed
modify_annotations_allowed boolean Modifying annotations is allowed
modify_contents_allowed boolean Modifying contents is allowed
printing_allowed boolean Printing is allowed
screen_readers_allowed boolean Screen readers are allowed
tagged boolean PDF is tagged

ItemDigitalItemResponse

Attributes
Name Data Type Description
digital_item ItemDigitalItem Digital item
error Error Error object if unsuccessful
metadata ResponseMetadata Meta-data about the response such as payload or paging information
success boolean Indicates if API call was successful
warning Warning Warning object if a non-fatal issue or side-effect occurs

ItemDigitalItemsResponse

Attributes
Name Data Type Description
digital_items array of ItemDigitalItem digital_items
error Error Error object if unsuccessful
metadata ResponseMetadata Meta-data about the response such as payload or paging information
success boolean Indicates if API call was successful
warning Warning Warning object if a non-fatal issue or side-effect occurs

ItemEbay

Attributes
Name Data Type Description
active boolean True if the item is active for listing
category_id integer (int32) e-Bay category ID
category_specifics array of ItemEbayCategorySpecific Answers to category specific questions
condition_description string Description of the condition (e-Bay constant)
condition_id integer (int32) Numerical ID of the condition (e-Bay constant)
consecutive_failures integer (int32) Number of consecutive failures trying to list this item
custom_category1 integer (int64) e-Bay Store category 1
custom_category2 integer (int64) e-Bay Store category 2
dispatch_time_max integer (int32) Maximum number of days it will take to ship the item
domestic_1_additional_cost number Domestic 1 method additional item cost
domestic_1_first_cost number Domestic 1 method first item cost
domestic_2_additional_cost number Domestic 2 method additional item cost
domestic_2_first_cost number Domestic 2 method first item cost
domestic_3_additional_cost number Domestic 3 method additional item cost
domestic_3_first_cost number Domestic 3 method first item cost
domestic_4_additional_cost number Domestic 4 method additional item cost
domestic_4_first_cost number Domestic 4 method first item cost
ebay_auction_id string If listed, this is the e-Bay auction id
ebay_specific_inventory integer (int32) e-Bay specific inventory
ebay_template_name string The template name to use hwen rendering the e-Bay listing
ebay_template_oid integer (int32) The template object identifier to use when rendering the e-Bay listing
end_time (read only) string (dateTime) Date/time of the auction end
free_shipping boolean True if item receives free shipping
free_shipping_method string The method that is free for free shipping
international_1_additional_cost number International 1 method additional item cost
international_1_first_cost number International 1 method first item cost
international_2_additional_cost number International 2 method additional item cost
international_2_first_cost number International 2 method first item cost
international_3_additional_cost number International 3 method additional item cost
international_3_first_cost number International 3 method first item cost
international_4_additional_cost number International 4 method additional item cost
international_4_first_cost number International 4 method first item cost
last_status_dts (read only) string (dateTime) Date/time of the last status check
listed_dispatch_time_max integer (int32) Current listing dispatch time maximum
listed_ebay_template_oid integer (int32) The template object identifier used for the listing
listing_dts (read only) string (dateTime) Date/time of the listing
listing_duration string The duration of the listing
Allowed Values
  • GTC
  • Days 1
  • Days 3
  • Days 5
  • Days 7
  • Days 10
  • Days 14
  • Days 21
  • Days 30
  • Days 60
  • Days 90
  • Days 120
  • End
listing_price number Price to list the item at
listing_price_override number The price to list the item at if different than the regular UltraCart item price
listing_type string The type of e-Bay listing
marketplace_analysis (read only) ItemEbayMarketPlaceAnalysis Details of the marketplace analysis
marketplace_analysis_perform boolean True if marketplace analysis should be performed
marketplace_final_value_fee_percentage number Marketplace FVF percentage
marketplace_last_check_dts (read only) string (dateTime) Date/time of the marketplace analysis last check
marketplace_lowest (read only) boolean True if we are the lowest offer in the marketplace
marketplace_map_violation (read only) boolean True if another seller is violating MAP
marketplace_multiplier number Marketplace multiplier
marketplace_other_price (read only) number Marketplace other price
marketplace_other_seller (read only) string Marketplace other seller
marketplace_other_shipping (read only) number Marketplace other shipping
marketplace_other_total (read only) number Marketplace other total
marketplace_our_additional_profit_potential number Marketplace our additional profit potential
marketplace_our_price (read only) number Marketplace our price
marketplace_our_profit (read only) number Marketplace our profit
marketplace_our_shipping (read only) number Marketplace our shipping
marketplace_our_total (read only) number Marketplace our total
marketplace_overhead number Marketplace overhead
marketplace_profitable (read only) boolean True if our listing is profitable to sell
next_attempt_dts (read only) string (dateTime) Date/time for the next attempt to list
next_listing_duration string The next listing duration to use when the current listing ends.
Allowed Values
  • GTC
  • Days 1
  • Days 3
  • Days 5
  • Days 7
  • Days 10
  • Days 14
  • Days 21
  • Days 30
  • Days 60
  • Days 90
  • Days 120
  • End
no_promotional_shipping boolean True if the item should not qualify for promotional shipping
packaging_handling_costs number Packaging and handling costs
previous_ebay_auction_id (read only) string Previous e-Bay auction id
quantity integer (int32) Quantity available of the item
reserve_price number Reserve price
send_dimensions_and_weight string How to send the item dimensions and weights to e-Bay
Allowed Values
  • packedItem
  • itemOnly
start_time (read only) string Date/time of the auction start
status string Status of the item's listing
Allowed Values
  • Listed
  • To Be Listed
  • Success
  • Error
  • Expired
  • Inactive
  • Revise
  • To Be Delisted
  • To Be Deleted
  • Configuration Issue
  • Listed Other UC Account
target_dispatch_time_max integer (int32) Typical number of days it will take to ship the item

ItemEbayCategorySpecific

Attributes
Name Data Type Description
name string Name of the category specification field
value string Value

ItemEbayMarketListing

Attributes
Name Data Type Description
auction_id string Auction ID
price number Price
seller string Seller
shipping number Shipping
total number Total

ItemEbayMarketPlaceAnalysis

Attributes
Name Data Type Description
adjusted_price number Adjusted price
adjusted_shipping number Adjusted shipping
adjusted_total number Adjusted total
cogs number Cost of goods sold
final_value_fee number Final value fee
minimum_advertised_price number Minimum advertised price
other_listings array of ItemEbayMarketListing Other listings
our_listing ItemEbayMarketListing Our listing
overhead number Overhead
profit_potential number Profit potential

ItemEmailNotifications

Attributes
Name Data Type Description
skip_receipt boolean Skip receipt email to customer
skip_shipment_notification boolean Skip shipment notification to customer

ItemEnrollment123

Attributes
Name Data Type Description
enrollment123_product_code string Enrolment 123 product code

ItemFulfillmentAddon

Attributes
Name Data Type Description
add_item_id (read only) string Add Item Id
add_item_oid integer (int32) Add Item object identifier
initial_order_only boolean Initial Order Only
once_per_order boolean Once Per Order
quantity integer (int32) Quantity

ItemGiftCertificate

Attributes
Name Data Type Description
gift_certificate boolean True if the purchase of this item generates a gift certificate
gift_certificate_expiration_days integer (int32) The number of days that the gift certificate is good for (optional)

ItemGoogleProductSearch

Attributes
Name Data Type Description
adwords_grouping string(50) Adwords grouping
adwords_label1 string(50) Adwords label 1
adwords_label2 string(50) Adwords label 2
adwords_label3 string(50) Adwords label 3
adwords_label4 string(50) Adwords label 4
adwords_label5 string(50) Adwords label 5
age_group string(5) Age group
available_at_physical_store boolean Available at physical store
book_author string(50) Book - author
book_format string(50) Book - format
book_isbn string(20) Bood - ISBN
book_publisher string(50) Book - publisher
category_description string(1000) Category description
color string(100) Color
condition string(15) Condition
custom_label0 string(50) Custom label 0
custom_label1 string(50) Custom label 1
custom_label2 string(50) Custom label 2
custom_label3 string(50) Custom label 3
custom_label4 string(50) Custom label 4
gender string(6) Gender
google_product_category string(250) Google product category
music_artist string(50) Music - artist
music_format string(5) Music - format
music_release_date string (dateTime) Music - release date
omit_from_feed boolean Omit from feed
product_type string(10) Product type
promotion_id1 string(30) Promotion ID 1
promotion_id10 string(30) Promotion ID 10
promotion_id2 string(30) Promotion ID 2
promotion_id3 string(30) Promotion ID 3
promotion_id4 string(30) Promotion ID 4
promotion_id5 string(30) Promotion ID 5
promotion_id6 string(30) Promotion ID 6
promotion_id7 string(30) Promotion ID 7
promotion_id8 string(30) Promotion ID 8
promotion_id9 string(30) Promotion ID 9
search_dts string (dateTime) Search date/time
search_lowest_price number Search lowest price
search_lowest_url string(250) Search lowest URL
search_position integer (int32) Search position
shippingLabel string
size string(20) Size
video_director string(50) Video - director
video_format string(5) Video - format
video_rating string(5) Video - rating
video_release_date string (dateTime) Video - release date
video_starring string(150) Video - starring

ItemIdentifiers

Attributes
Name Data Type Description
barcode string(30) Barcode
barcode_gtin12 string(12) Barcode - GTIN 12
barcode_gtin14 string(14) Barcode - GTIN 14
barcode_upc11 string(11) Barcode - UPC 11
barcode_upc12 string(12) Barcode - UPC 12
manufacturer_name string(50) Manufacturer Name
manufacturer_sku string(25) Manufacturer SKU
unspsc string(20) UNSPSC

ItemInstantPaymentNotification

Attributes
Name Data Type Description
post_operation boolean True for HTTP POST instead of GET
successful_response_text string(1024) Successful response text
url string(1024) URL

ItemInstantPaymentNotifications

Attributes
Name Data Type Description
notifications array of ItemInstantPaymentNotification Notifications

ItemInternal

Attributes
Name Data Type Description
memo string(250) Memo

ItemKitComponent

Attributes
Name Data Type Description
component_cost number Component item cost
component_description (read only) string Component item description
component_merchant_item_id string Component item ID
component_merchant_item_oid integer (int32) Component item object identifier
quantity integer (int32) Quantity

ItemKitDefinition

Attributes
Name Data Type Description
components array of ItemKitComponent Components

ItemOption

Attributes
Name Data Type Description
cost_if_specified number Cost if specified
cost_per_letter number Cost per letter
cost_per_line number Cost per line
ignore_if_default boolean Ignore this option on the order if the default value is selected
label string(50) Label
label_translated_text_instance_oid (read only) integer (int32) Label translated text instance ID
name string(50) Name
name_translated_text_instance_oid (read only) integer (int32) Name translated text instance ID
one_time_fee boolean One time fee
option_oid integer (int32) Option object identifier
required boolean True if the customer is required to specify an answer
system_option boolean True if this is a system option
type string Type of option
Allowed Values
  • dropdown
  • file attachment
  • fixed
  • hidden
  • multiline
  • radio
  • single
values array of ItemOptionValue Values

ItemOptionValue

Attributes
Name Data Type Description
additional_dimension_application string Additional dimensions application
Allowed Values
  • none
  • set item to
  • add item
additional_items array of ItemOptionValueAdditionalItem Additional items to add to the order if this value is selected
cost_change number Cost change
default_value boolean True if default value
digital_items array of ItemOptionValueDigitalItem Digital items to allow the customer to download if this option value is selected
height Distance If additional_dimension_application != none
Additional dimensions (height)
length Distance If additional_dimension_application != none
Additional dimensions (length)
merchant_item_multimedia_oid integer (int32) Multimedia object identifier associated with this option value
option_value_oid integer (int32) Option value object identifier
percent_cost_change number Percentage cost change
translated_text_instance_oid (read only) integer (int32) Translated text instance id
value string(1024) Value
weight_change Weight Weight change
weight_change_percent number Percentage weight change
width Distance If additional_dimension_application != none
Additional dimensions (width)

ItemOptionValueAdditionalItem

Attributes
Name Data Type Description
additional_merchant_item_id string Additional item id
additional_merchant_item_oid integer (int32) Additional item object identifier

ItemOptionValueDigitalItem

Attributes
Name Data Type Description
digital_item_oid integer (int32) Digital item object identifier
original_filename string Original filename

ItemPaymentProcessing

Attributes
Name Data Type Description
block_prepaid boolean True if prepaid cards should be blocked from buying this item
credit_card_transaction_type string Credit card transaction type
Allowed Values
  • auth and capture
  • auth then capture
  • auth only
no_realtime_charge boolean True if no real-time charge should be performed on this item.
payment_method_validity array of string Payment method validity
Allowed Values
  • +Affirm
  • -Affirm
  • +Amazon
  • -Amazon
  • +AMEX
  • -AMEX
  • +CASH
  • -CASH
  • +Check
  • -Check
  • +COD
  • -COD
  • +Diners Club
  • -Diners Club
  • +Discover
  • -Discover
  • +eCheck
  • -eCheck
  • +JCB
  • -JCB
  • +LoanHero
  • -LoanHero
  • +MasterCard
  • -MasterCard
  • +Money Order
  • -Money Order
  • +PayPal
  • -PayPal
  • +Purchase Order
  • -Purchase Order
  • +Quote Request
  • -Quote Request
  • +VISA
  • -VISA
  • -Wire Transfer
  • +Wire Transfer
rotating_transaction_gateway_codes array of string Rotating transaction gateway codes

ItemPhysical

Attributes
Name Data Type Description
height Distance Height
length Distance Length
weight Weight Weight
width Distance Width

ItemPricing

Attributes
Name Data Type Description
allow_arbitrary_cost boolean Allow arbitrary cost
arbitrary_cost_velocity_code string(10000) Arbitrary cost velocity code
auto_order_cost number Cost if customer selects to receive item on auto order. Set to zero to delete.
automatic_pricing_tier_name string Automatic pricing tier name
automatic_pricing_tier_oid integer (int32) Automatic pricing tier object identifier
cogs number Cost of goods sold
cost number Cost
currency_code string(3) Currency code
Allowed Values
  • ARS
  • AUD
  • BRL
  • CAD
  • CHF
  • COP
  • EUR
  • GBP
  • JPY
  • MXN
  • MYR
  • NOK
  • NZD
  • RUB
  • SEK
  • SGD
  • TRY
  • USD
manufacturer_suggested_retail_price number Manufacturer suggested retail price
maximum_arbitrary_cost number Maximum arbitrary cost
minimum_advertised_price number Minimum advertised price
minimum_arbitrary_cost number Minimum arbitrary cost
mix_and_match_group string Mix and match group
mix_and_match_group_oid integer (int32) Mix and match group object identifier
sale_cost number Sale cost
sale_end string (dateTime) If sale_cost specified
Sale end
sale_start string (dateTime) If sale_cost specified
Sale start
tiers array of ItemPricingTier Tiers

ItemPricingTier

Attributes
Name Data Type Description
default_tier (read only) boolean True if this is the default tier
discounts array of ItemPricingTierDiscount Discounts
limit ItemPricingTierLimit Limits
name (read only) string Pricing tier name
pricing_tier_oid (read only) integer (int32) Pricing tier object identifier

ItemPricingTierDiscount

Attributes
Name Data Type Description
cost number Cost
quantity integer (int32) Quantity

ItemPricingTierLimit

Attributes
Name Data Type Description
cumulative_order_limit integer (int32) Cumulative order limit
exempt_from_minimum_item_count boolean Exempt from Minimum Item Count
individual_order_limit integer (int32) Individual order limit
multiple_quantity integer (int32) Multiple quantity
payment_method_validity array of string Payment method validity
Allowed Values
  • +Affirm
  • -Affirm
  • +Amazon
  • -Amazon
  • +AMEX
  • -AMEX
  • +CASH
  • -CASH
  • +Check
  • -Check
  • +COD
  • -COD
  • +Diners Club
  • -Diners Club
  • +Discover
  • -Discover
  • +eCheck
  • -eCheck
  • +JCB
  • -JCB
  • +LoanHero
  • -LoanHero
  • +MasterCard
  • -MasterCard
  • +Money Order
  • -Money Order
  • +PayPal
  • -PayPal
  • +Purchase Order
  • -Purchase Order
  • +Quote Request
  • -Quote Request
  • +VISA
  • -VISA
  • -Wire Transfer
  • +Wire Transfer

ItemProperty

Attributes
Name Data Type Description
expirationDts (read only) string (dateTime) Expiration of the property
name string(100) Property name
value string(1000) Property value

ItemRealtimePricing

Attributes
Name Data Type Description
realtime_pricing_parameter string Real-time pricing provider parameters
realtime_pricing_provider string Real-time pricing provider name
realtime_pricing_provider_oid integer (int32) Real-time pricing provide object identifier

ItemRelated

Attributes
Name Data Type Description
no_system_calculated_related_items boolean True to suppress system calculated relationships
not_relatable boolean Not relatable
related_items array of ItemRelatedItem Related items

ItemRelatedItem

Attributes
Name Data Type Description
related_merchant_item_id string Related item id
related_merchant_item_oid integer (int32) Related item object identifier
type string Relationship type
Allowed Values
  • System
  • UserDefined

ItemReporting

Attributes
Name Data Type Description
report_as_upsell boolean Report as an upsell
report_pickable_quantities array of integer (int32) Report pickable quantities

ItemResponse

Attributes
Name Data Type Description
error Error Error object if unsuccessful
item Item Item
metadata ResponseMetadata Meta-data about the response such as payload or paging information
success boolean Indicates if API call was successful
warning Warning Warning object if a non-fatal issue or side-effect occurs

ItemRestriction

Attributes
Name Data Type Description
exclude_coupon boolean Exclude coupons
exclude_from_free_promotion boolean Exclude from free promotion
items array of ItemRestrictionItem Items
maximum_quantity integer (int32) Maximum quantity
minimum_quantity integer (int32) Minimum quantity (defaults to 1)
multiple_quantity integer (int32) Multiple of quantity
one_per_customer boolean One per customer
purchase_separately boolean Purchase separately

ItemRestrictionItem

Attributes
Name Data Type Description
restrict_merchant_item_id string Restrict item id
restrict_merchant_item_oid integer (int32) Restrict item object identifier
type string Restriction type
Allowed Values
  • can not be purchased with
  • can only be purchased with
  • must be purchased with

ItemRevguard

Attributes
Name Data Type Description
revguard_canceled_csr_prompt_group integer (int64) Canceled CSR prompt group
revguard_canceled_ivr_prompt_group integer (int64) IVR prompt group
revguard_canceled_web_prompt_group integer (int64) Canceled web prompt group
revguard_client_brand integer (int64) Client brand
revguard_csr_prompt_group integer (int64) CSR prompt group
revguard_ivr_prompt_group integer (int64) IVR prompt group
revguard_web_prompt_group integer (int64) Web prompt group

ItemReview

Attributes
Name Data Type Description
customer_profile_oid integer (int32) Customer profile object identifier
featured boolean
helperful_no_votes integer (int32)
helpful_yes_votes integer (int32)
order_id string
overall number
rating_name1 string(100) Rating Name 1
rating_name10 string(100) Rating Name 10
rating_name2 string(100) Rating Name 2
rating_name3 string(100) Rating Name 3
rating_name4 string(100) Rating Name 4
rating_name5 string(100) Rating Name 5
rating_name6 string(100) Rating Name 6
rating_name7 string(100) Rating Name 7
rating_name8 string(100) Rating Name 8
rating_name9 string(100) Rating Name 9
rating_score1 number
rating_score10 number
rating_score2 number
rating_score3 number
rating_score4 number
rating_score5 number
rating_score6 number
rating_score7 number
rating_score8 number
rating_score9 number
recommend_store_to_friend integer (int32)
recommend_to_friend boolean
review string(10000) Review
review_oid integer (int32)
reviewed_nickname string(25) Nickname
reviewer_email string(100) Reviewer Email
reviewer_location string(25) Location
status string Status of the review
Allowed Values
  • approved
  • unapproved
  • rejected
  • multimedia processing
store_feedback string(10000) Store Feedback
submitted_dts string (dateTime) Date/time of review submission
title string(250) Title

ItemReviewResponse

Attributes
Name Data Type Description
error Error Error object if unsuccessful
metadata ResponseMetadata Meta-data about the response such as payload or paging information
review ItemReview Review
success boolean Indicates if API call was successful
warning Warning Warning object if a non-fatal issue or side-effect occurs

ItemReviews

Attributes
Name Data Type Description
has_approved_review (read only) boolean True if the item has an approved review
has_review (read only) boolean True if the item has a review
individual_reviews array of ItemReview
review_count (read only) integer (int32) Number of approved reviews
review_overall (read only) number Overall score of reviews
review_template_name string Review template name
review_template_oid integer (int32) Review template object identifier
reviewable boolean True if the item is reviewable
share_reviews_with_merchant_item_id (read only) string Share reviews with item id. To set, use the share_reviews_with_merchant_item_oid field.
share_reviews_with_merchant_item_oid integer (int32) Share reviews with item oid. To null out this field, set teh value to zero.

ItemReviewsResponse

Attributes
Name Data Type Description
error Error Error object if unsuccessful
metadata ResponseMetadata Meta-data about the response such as payload or paging information
reviews array of ItemReview reviews
success boolean Indicates if API call was successful
warning Warning Warning object if a non-fatal issue or side-effect occurs

ItemSalesforce

Attributes
Name Data Type Description
sfdc_pricebook_id string Salesforce.com pricebook id
sfdc_product_id string Salesforce.com product id

ItemShipping

Attributes
Name Data Type Description
allow_back_order boolean Allow back order
amazon_fba boolean Fulfillment by Amazon.com
case_inner_packs integer (int32) Case inner packs
case_units integer (int32) Case units
cases array of ItemShippingCase Cases
collect_serial_numbers boolean This item is on pre-order
country_code_of_origin string(2) Country code of origin for customs forms. (ISO-3166 two letter code)
customs_description string Customs description
customs_value number Customs value
delivery_on_friday boolean Delivery on Friday
delivery_on_monday boolean Delivery on Monday
delivery_on_saturday boolean Delivery on Saturday
delivery_on_sunday boolean Delivery on Sunday
delivery_on_thursday boolean Delivery on Thursday
delivery_on_tuesday boolean Delivery on Tuesday
delivery_on_wednesday boolean Delivery on Wednesday
destination_markups array of ItemShippingDestinationMarkup Destination markups
destination_restrictions array of ItemShippingDestinationRestriction Destination restrictions
distribution_centers array of ItemShippingDistributionCenter Distribution centers
eta string (dateTime) Estimated time of arrival
free_shipping boolean Qualifies for free shipping
freight_class string Freight class
hazmat boolean Hazardous material
made_to_order boolean True if this item is made to order
made_to_order_lead_time integer (int32) Number of days lead time it takes to make the item before ite can ship
max_days_time_in_transit integer (int32) Maximum days allowed in transit
methods array of ItemShippingMethod Methods
no_shipping_discount boolean No shipping discounts
package_requirements array of ItemShippingPackageRequirement Package requirements
perishable_class_name string Perishable class name
perishable_class_oid integer (int32) Perishable class object identifier
preorder boolean This item is on pre-order
require_delivery_date boolean True to require customer to select a delivery date
restrict_shipment_on_friday boolean Restrict shipment on Friday
restrict_shipment_on_monday boolean Restrict shipment on Monday
restrict_shipment_on_saturday boolean Restrict shipment on Saturday
restrict_shipment_on_sunday boolean Restrict shipment on Sunday
restrict_shipment_on_thursday boolean Restrict shipment on Thursday
restrict_shipment_on_tuesday boolean Restrict shipment on Tuesday
restrict_shipment_on_wednesday boolean Restrict shipment on Wednesday
ship_separately boolean Ship this item in a separate box
ship_separately_additional_weight Weight Ship separately box weight
ship_separately_height Distance Ship separately box height
ship_separately_length Distance Ship separately box length
ship_separately_package_special_type string Ship separately package special type
Allowed Values
  • Crate
  • FedEx: Box
  • FedEx: Small Box
  • FedEx: Medium Box
  • FedEx: Large Box
  • FedEx: Extra Large Box
  • FedEx: Envelope
  • FedEx: Pak
  • FedEx: Tube
  • Pallet Other
  • Pallet 48 x 40
  • Pallet 48 x 48
  • Pallet 60 x 48
  • Pallet 120 x 80
  • Pallet 120 x 100
  • Pallet 120 x 120
  • UPS: Express Box
  • UPS: Letter
  • UPS: Pak
  • UPS: Tube
  • USPS: Express Mail Flat Rate Envelope
  • USPS: Express Mail Padded Flat Rate Envelope
  • USPS: Priority Mail Medium Flat Rate Box
  • USPS: Priority Mail Large Flat Rate Box
  • USPS: Priority Mail Small Flat Rate Box
  • USPS: Priority Mail Regional Rate A Box
  • USPS: Priority Mail Regional Rate B Box
  • USPS: Priority Mail Regional Rate C Box
  • USPS: Priority Mail Flat Rate Envelope
  • USPS: Priority Mail Padded Flat Rate Envelope
  • USPS: Priority Mail Legal Flat Rate Envelope
ship_separately_width Distance Ship separately box width
special_product_type string Special product type (USPS Media Mail)
Allowed Values
  • Book or Software
  • Music
  • Editorial
track_inventory boolean Track inventory

ItemShippingCase

Attributes
Name Data Type Description
case_label string(20) Case label
case_merchant_item_id string Case item id
case_merchant_item_oid integer (int32) Case item object identifier
quantity integer (int32) Case quantity

ItemShippingDestinationMarkup

Attributes
Name Data Type Description
country_code string(2) Country code (ISO-3166 two letter)
flat_fee number Flat fee
per_item number Per item
postal_code string(20) Postal code
shipping_method string Shipping method
state string(32) State

ItemShippingDestinationRestriction

Attributes
Name Data Type Description
country_code string(2) Country code (ISO-3166 two letter)
state string(32) State
validity string Validity
Allowed Values
  • valid only for
  • invalid for

ItemShippingDistributionCenter

Attributes
Name Data Type Description
allocated_to_placed_orders (read only) number Allocated to placed orders
allocated_to_shopping_carts (read only) number Allocated to shopping carts
available_to_allocate (read only) number Available to allocate
cogs (read only) number Cost of goods sold override at the distribution center level
desired_inventory_level number Desired inventory level
distribution_center_code string Distribution center code
distribution_center_oid integer (int32) Distribution center object identifier
eta string (dateTime) Estimated time of arrival
handles boolean True if this distribution center handles this item
inventory_level number Inventory level
maximum_backorder integer (int32) Maximum back-order
reorder_inventory_level number Reorder inventory level (triggers notification)
sku string(50) SKU
stock_picking_location string(20) Stock picking location

ItemShippingMethod

Attributes
Name Data Type Description
cost number Cost
each_additional_item_markup number Each additional item markup
filter_to_if_available boolean Filter to this method if available
first_item_markup number First item markup
fixed_shipping_cost number Fixed shipping cost
flat_fee_markup number Flat fee markup
free_shipping boolean Free shipping
per_item_fee_markup number Per item fee markup
percentage_markup number Percentage markup
percentage_of_item_markup number Percentage of item markup
relax_restrictions_on_upsell boolean Relax restrictions on upsell
shipping_method string Shipping method name
shipping_method_oid integer (int32) Shipping method object identifier
shipping_method_validity string Shipping method validity
Allowed Values
  • invalid for
  • valid for
  • valid only for
signature_required boolean Signature required

ItemShippingPackageRequirement

Attributes
Name Data Type Description
package_name string Package name
package_oid integer (int32) Package object identifier

ItemsRequest

Attributes
Name Data Type Description
items array of Item items

ItemsResponse

Attributes
Name Data Type Description
error Error Error object if unsuccessful
items array of Item items
metadata ResponseMetadata Meta-data about the response such as payload or paging information
success boolean Indicates if API call was successful
warning Warning Warning object if a non-fatal issue or side-effect occurs

ItemTag

Attributes
Name Data Type Description
tagType string tag_tpe
Allowed Values
  • item
  • order
  • customer
tagValue string(100) tag_value

ItemTags

Attributes
Name Data Type Description
tags array of ItemTag tags

ItemTax

Attributes
Name Data Type Description
exemptions array of ItemTaxExemption Exemptions
tax_free boolean True if tax free
tax_product_type string Tax product type
Allowed Values
  • digital
  • physical
  • service
taxable_cost number Taxable cost if different than regular cost

ItemTaxExemption

Attributes
Name Data Type Description
city string(32) City
country_code string(2) Country code (ISO-3166 two letter)
county string(32) County
postal_code string(20) Postal code
state_code string(32) State code

ItemThirdPartyEmailMarketing

Attributes
Name Data Type Description
add_tags array of string Add tags
provider_name string Provider name
Allowed Values
  • ActiveCampaign
  • AWeber
  • Campaign Monitor
  • ConstantContact
  • Emma
  • GetResponse
  • iContact
  • Klaviyo
  • Lyris
  • LyrisHQ
  • MailChimp
  • SilverPop
remove_tags array of string Remove tags
subscribe_lists array of string Subscribe to lists
unsubscribe_lists array of string Unsubscribe from lists

ItemVariantItem

Attributes
Name Data Type Description
description (read only) string(512) Description
merchant_item_multimedia_oid integer (int32) Multimedia object identifier
variant_merchant_item_id string Variant item id
variant_merchant_item_oid integer (int32) Variant item object identifier
variation_options array of string Variation options
variations array of string Variations

ItemVariation

Attributes
Name Data Type Description
default_text string(50) Default text
default_text_translated_text_instance_oid (read only) integer (int32) Default text translated text instance id
name string(50) Name
name_translated_text_instance_oid (read only) integer (int32) Name translated text instance id
options array of ItemVariationOption Options

ItemVariationOption

Attributes
Name Data Type Description
default_option boolean True if default option
merchant_item_multimedia_oid integer (int32) Multimedia object identifier
translated_text_instance_oid (read only) integer (int32) Translated text instance id
value string(50) Value

ItemWishlistMember

Attributes
Name Data Type Description
wishlist_member_instance_description string WishList Member instance description
wishlist_member_instance_oid integer (int32) WishList Member instance object identifier
wishlist_member_sku string(25) WishList Member SKU

PricingTier

Attributes
Name Data Type Description
allow_3rd_party_billing boolean Allow 3rd party billing
allow_cod boolean Allow COD
allow_purchase_order boolean Allow purchase order
allow_quote_request boolean Allow quote request
approval_notification PricingTierNotification Approval notification
auto_approve_cod boolean Auto approve COD
auto_approve_purchase_order boolean Auto approve purchase order
currency_code string Any currency code specified on this pricing tier will force a shopping cart into that currency
default_on_wholesale_signup boolean Default on wholesale signup
default_percentage_discount number Default percentage discount
default_shipping_method_oid integer (int32) Default shipping method oid
default_tier boolean Default tier
display_on_wholesale_signup boolean Display on wholesale signup
exclude_from_free_promotion boolean Exclude from free promotion
exempt_loyalty_rewards boolean Exempt from Loyalty Rewards
exempt_shipping_handling_charge boolean Exempt shipping handling charge
free_shipping boolean Free shipping
free_shipping_minimum number Free shipping minimum
maximum_item_count integer (int32) Maximum item count
minimum_item_count integer (int32) Minimum item count
minimum_subtotal number Minimum subtotal
name string(50) Name
no_coupons boolean No coupons
no_free_shipping boolean No free shipping
no_realtime_charge boolean No realtime charge
not_valid_when_coupon_present boolean Not valid when coupon present
pricing_tier_oid integer (int32) Pricing Tier Oid
realtime_percentage_discount number Realtime percentage discount
restrict_to_distribution_center_oid integer (int32) Restrict inventory to this distribution center oid
signup_notification PricingTierNotification Signup notification
suppress_buysafe boolean Suppress buySAFE (deprecated)
suppress_mailing_list boolean Suppress mailing list
tax_exempt boolean Tax Exempt
track_separately boolean Track separately

PricingTierNotification

Attributes
Name Data Type Description
format string(16) Notification format
subject string(100) Notification subject
text string Notification text

PricingTiersResponse

Attributes
Name Data Type Description
error Error Error object if unsuccessful
metadata ResponseMetadata Meta-data about the response such as payload or paging information
pricingTiers array of PricingTier pricing_tiers
success boolean Indicates if API call was successful
warning Warning Warning object if a non-fatal issue or side-effect occurs

ResponseMetadata

Attributes
Name Data Type Description
payload_name string Payload name
result_set ResultSet Result set

ResultSet

Attributes
Name Data Type Description
count integer (int32) Number of results in this set
limit integer (int32) Maximum number of results that can be returned in a set
more boolean True if there are more results to query
next_offset integer (int32) The next offset that you should query to retrieve more results
offset integer (int32) Offset of this result set (zero based)
total_records integer (int32) The total number of records in the result set. May be null if the number is not known and the client should continue iterating as long as more is true.

TempMultimedia

Attributes
Name Data Type Description
filename string(75) Filename
height (read only) integer (int32) Height
multimedia_type string Multimedia type
Allowed Values
  • Image
  • PDF
  • Text
  • Video
size (read only) integer (int64) Size
temp_multimedia_oid integer (int32) Temporary multimedia object identifier
url (read only) string URL
width (read only) integer (int32) Width

TempMultimediaResponse

Attributes
Name Data Type Description
error Error Error object if unsuccessful
metadata ResponseMetadata Meta-data about the response such as payload or paging information
success boolean Indicates if API call was successful
temp_multimedia TempMultimedia Temporary multimedia
warning Warning Warning object if a non-fatal issue or side-effect occurs

Warning

Attributes
Name Data Type Description
more_info string Additional information often a link to additional documentation
warning_message string A technical message meant to be read by a developer

Weight

Attributes
Name Data Type Description
uom string Unit of measure
Allowed Values
  • KG
  • G
  • LB
  • OZ
value number Weight

400
Status Code 400: bad request input such as invalid json

Headers
Name Data Type Description
UC-REST-ERROR string Contains human readable error message
Response
Name Data Type
body ErrorResponse

401
Status Code 401: invalid credentials supplied

Headers
Name Data Type Description
UC-REST-ERROR string Contains human readable error message
Response
Name Data Type
body ErrorResponse

410
Status Code 410: Your authorized application has been disabled by UltraCart

Headers
Name Data Type Description
UC-REST-ERROR string Contains human readable error message
Response
Name Data Type
body ErrorResponse

429
Status Code 429: you have exceeded the allowed API call rate limit for your application.

Headers
Name Data Type Description
UC-REST-ERROR string Contains human readable error message
Response
Name Data Type
body ErrorResponse

500
Status Code 500: any server side error. the body will contain a generic server error message

Headers
Name Data Type Description
UC-REST-ERROR string Contains human readable error message
Response
Name Data Type
body ErrorResponse