Results 1 to 11 of 11
  1. #1
    Newbie
    Join Date
    June 19th, 2012
    Posts
    7
    Using spaces in manufacturer-sku with Commission Junction
    Hi Folks,

    I'm at my wits end here and was hoping someone else has some insight to my problem.

    I've presented this to CJ and evidently they are submitting it to their developers.
    My customers look up many of the products they are looking for by model number (manufacturer-sku). However, model numbers containing spaces throw an error when submitted to the search api link at CJ.

    Example:
    (This will throw a java error when included in the API link)
    manufacturer-sku=M5A78L-M LX PLUS

    (This will not throw an error, but will return 0 results)
    manufacturer-sku=M5A78L-MLXPLUS

    Using the advertiser-sku=N82E16813131795 will result in a positive hit showing that the original model number with spaces does in fact exist in the resulting XML...

    <manufacturer-sku>M5A78L-M LX PLUS</manufacturer-sku>

    I can use the keyword parameter, and it will work fine, however when a model number consist of a common word, it returns far too many irrelevant results.

  2. #2
    ABW Ambassador isellstuff's Avatar
    Join Date
    November 9th, 2005
    Location
    Virginia
    Posts
    1,659
    To me, it appears that you are getting the terms "SKU" and "manufacturer part number" mixed up. Your examples are for manufacturer part numbers.

    So, a SKU is an internal identifier that a merchant uses for inventory tracking. Quite frequently it is a barcode number that can be scanned by a barcode scanner during the shipping process. SKU's don't have spaces in them.

    A manufacturer part number is usually a human readable string that customers use to identify products.

    As a merchant, you might be using the MPN (manufacturer part number) as a SKU, but that is not the generally accepted practice. Sometimes merchants will modify the MPN to make it a SKU as you have done in your example.

    You need to submit the MPN in a different column as there are values for both in the CJ datafeed format, as well as UPC code. Price comparison websites need as many unique identifiers as you can give them in your feed. (MPN, Manufacturer, UPC)

  3. #3
    ABW Ambassador isellstuff's Avatar
    Join Date
    November 9th, 2005
    Location
    Virginia
    Posts
    1,659
    Its also important to realize that SKU's must be unique. Frequently, a Manufacturer Part Number may refer to a whole family of products with slight variations. In other words 1 MPN = Many SKU's. (think color variations on the same product for instance)

  4. #4
    Newbie
    Join Date
    June 19th, 2012
    Posts
    7
    Thanks for the help, and I get what you are saying. However, my problem isn't merely confusing one value for another. It's pretty straight forward.

    CJ uses the "manufacturer-sku" field to store the products model number in the xml. For instance using the model number "GA-Z77X-UD5H" as a search value for <manufacturer-sku> returns the following. (shortened for brevity)

    <product>
    ...
    <isbn/>
    <manufacturer-name>GIGABYTE</manufacturer-name>
    <manufacturer-sku>GA-Z77X-UD5H</manufacturer-sku>
    <name>GIGABYTE GA-Z77X-UD5H ATX Intel Motherboard</name>
    <price>199.99</price>
    <retail-price/>
    <sale-price>199.99</sale-price>
    <sku>N82E16813128545</sku>
    <upc>818313014368</upc>
    </product>

    Model numbers are in fact manufacturer-skus; it is how a manufacturer identifies a single product in their inventory, and yes, they differ based even on variation in color. No two products (of the same MFG) will have the same model number.

    In the above example, everything works great because there are no spaces. But look again at my OP. The record exists, and the value (with spaces) exists in the manufacturer-sku field of the resulting xml when using the advertiser-sku (which I understand is unique to the vendor).

    My issue is the fact that spaces are considered an illegal character when searching the manufacturer-sku field, even though the field itself may contain spaces. It's contradictory.

    Here's the java error which gets thrown ANY time a space is used in the manufacturer-sku field. (

    Caused by: java.net.URISyntaxException: Illegal character in query at index
    106: http://products-int.cj.com/productSe...nufacturerSku=m5a78l-m
    lx plus
    &recordsPerPage=null&pageNumber=null&operator=OR

  5. #5
    ABW Ambassador isellstuff's Avatar
    Join Date
    November 9th, 2005
    Location
    Virginia
    Posts
    1,659
    I'm still confused by your naming convention. We, as publishers, see the following header in datafeeds. MPN's are in the "MaunfacturerID" column.

    PROGRAMNAME PROGRAMURL CATALOGNAME LASTUPDATED NAME KEYWORDS DESCRIPTION SKU MANUFACTURER MANUFACTURERID UPC ISBN CURRENCY SALEPRICE PRICE RETAILPRICE FROMPRICE BUYURL IMPRESSIONURL IMAGEURL ADVERTISERCATEGORY THIRDPARTYID THIRDPARTYCATEGORY AUTHOR ARTIST TITLE PUBLISHER LABEL FORMAT SPECIAL GIFT PROMOTIONALTEXT STARTDATE ENDDATE OFFLINE ONLINE INSTOCK CONDITION WARRANTY STANDARDSHIPPINGCOST


    Also, I don't know the cause, but I see much MPN duplication in datafeeds across the merchants I process. I'm guessing it varies by industry. BTW, Electronics/Software will have the best datafeed quality, something like "clothing" or arts and crafts might have the worst.

  6. #6
    Newbie
    Join Date
    June 19th, 2012
    Posts
    7
    I'm not using a datafeed.

    I'm using the product-search.api.cj. The naming convention is not mine, it is CJ's. The XML I showed is from CJ as the result of an API. such as the following.

    https://product-search.api.cj.com/v2...ser-ids=joined

  7. #7
    ABW Ambassador isellstuff's Avatar
    Join Date
    November 9th, 2005
    Location
    Virginia
    Posts
    1,659
    Are you encoding the spaces when making the API call?

    e.g. M5A78L-M LX PLUS needs to be M5A78L-M+LX+PLUS

    Sorry, I don't know your level of expertise. Google "Url Encoding" for more information.

    About the naming conventions, I am surprised that there isn't a 1-1 correspondence across CJ's technologies. It makes it harder to have conversations like this.

  8. #8
    Newbie
    Join Date
    June 19th, 2012
    Posts
    7
    I certainly agree with you on the naming conventions quirk. I had the same difficulty explaining the issue to the CJ help desk as well.

    As far as encoding, I've tried that with + and %20. It just gets replaced with a space and it becomes an illegal character. You can image how frustrating that is.

    I was using datafeeds previously, but found it to be too cumbersome. Developing a datafeed manager was not my greatest desire. I did okay with it, but it was too slow and prone to die at the mercy of the web server when the host would do maintenance. (but that's a whole other issue).

  9. #9
    Newbie
    Join Date
    June 19th, 2012
    Posts
    7
    So, it seems the + is the correct character, however, it has to be the URL encoding form %2B. (not sure why I didn't try this to begin with after your suggestion)

    I went to the help desk again at CJ and they reviewed it further.

    Thanks for the help, This issue is solved.

  10. #10
    Member WiredPages's Avatar
    Join Date
    January 18th, 2005
    Posts
    55
    If the dashes work, rather than the spaces- why not submit the query replacing spaces with dashes?
    [FONT=Trebuchet MS][SIZE=2][url=http://remix.qisoftware.com/]Remix[/url] | [url=http://wiredpages.qisoftware.com/]WiredPages[/url][/SIZE][/FONT]

  11. #11
    ABW Ambassador isellstuff's Avatar
    Join Date
    November 9th, 2005
    Location
    Virginia
    Posts
    1,659
    Quote Originally Posted by WiredPages View Post
    If the dashes work, rather than the spaces- why not submit the query replacing spaces with dashes?
    The dashes didn't work for SKU's that contain spaces. The OP had to find the right encoding format for spaces when making the API call. For his particular problem, he had to double encode, e.g. ' ' -> '+' -> '%2B'.

    I'm unclear on why the double encoding was necessary. You can surmise that at some point during the API call, the + was getting decoded when it shouldn't have been. Was it the browser, the library used to make the call, or CJ's web servers? I dunno.

  12. Thanks From:

  13. Newsletter Signup

+ Reply to Thread

Similar Threads

  1. Double Commission on the HomeSav Commission Junction affiliate program
    By brandonmbeard in forum Paid Announcements and Advertising
    Replies: 0
    Last Post: April 2nd, 2012, 09:57 AM

Tags for this Thread

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •