45
Catalog API (beta) Getting Started Guide and Reference Manual Version 1.0 October 18, 2011

Catalog API (beta) Getting Started Guide and Reference Manual

  • Upload
    others

  • View
    10

  • Download
    0

Embed Size (px)

Citation preview

Catalog API (beta) Getting Started Guide and Reference Manual

Version 1.0

October 18, 2011

TableofContentsPartA:GettingStartedGuide

1.Overview1.1CatalogAPI 11.1.1Catalog 11.1.2CatalogQuery 12.Knownissues 23.Security 43.1DataSecurityPrerequisites 43.2Authentication 44.ImplementationSteps 54.1MerchantSteps 54.2PartnerSteps 55.TestingEnvironment 76.ContactInformation 77.Glossary 78.OtherResources 8

PartB:ReferenceManual

1.Introduction 91.1CatalogAPIXSD 91.2CommonElements 91.2.1RequestXMLStructure 91.2.2Errors 101.3MonogramsandInscriptions 101.4Non‐ASCIISpecialCharacters 111.5AttributeNames 122.Catalog(Create,Update,Delete) 132.1CreateItem 132.1.2RequestsandResponses 132.2Update 272.2.1RequestsandResponses 272.3Delete 292.3.1RequestsandResponses 29

3.CatalogQuery(Get) 313.1SimpleSearch 313.1.2RequestsandResponses 313.2AdvancedSearch 333.2.1SearchOperators 333.2.2NotesforBooleanSearch 343.2.3RequestsandResponses 343.3ItemDetails(getItemDetails) 393.3.1SupportedFilters 393.3.2RequestsandResponses 394.ErrorMessages 42

Yahoo!MerchantSolutions–CatalogAPI(Beta)•v.1.0,October18,2011 1

PartA:GettingStartedGuide1.OverviewThisdocumentprovidesYahoo!Storemerchantsandpartnerswithhigh‐levelgettingstartedinformationforimplementingandusingtheCatalogAPI,whichiscurrentlyinbetarelease.IncludedbelowareAPIresourceoverviews,knownissues,securityinformation,merchantandpartnerimplementationsteps,contactinformation,aglossary,andalistofadditionalresourcesyoumaywishtoconsult.ThebetareleaseofourCatalogAPIallowsmerchantsandpartnerstomanageastore’sproductcatalogandbymakingwebservicecalls,andfacilitatesintegrationwiththird‐partycatalogmanagementsystems.UsingthissetofAPIs,merchantsandauthenticatedpartnersmaycreate,update,anddeleteitems,producttables,andattributes,andqueryastore’sproductcatalog.PartA,Sections1.1.1and1.1.2describetheseoperationsinmoredetail,whilePartBofthisdocumentprovidesAPIreferencematerial,includingsampleXMLrequestsandresponses,andalinktotheCatalogAPIXSD.1.1CatalogAPI TheCatalogAPIfollowsgeneralREST(RepresentationalStateTransfer)style,butusesthePOSTmethod.TheCatalogAPIoperatesinnon‐bulkmode,andsupportscreating,updating,deleting,orgetting(querying)uptoamaximumof100itemsperAPIcall.Onlyoneactionmaybeperformedonanitemormultipleitemspercall.(Forexample,youmayupdatemultipleitemsinasingleAPIcall,butcannotupdatesomeitemsanddeleteotheritemsinthissamecall.)TheCatalogAPIcurrentlyincludesthefollowingtwohigh‐levelresourcesuponwhichoperationsmaybeperformed:CatalogandCatalogQuery.Forallowedverbs,URLs,sampleXMLrequestsandresponses,errorcodes,andinformationaboutusingspecialcharactersinAPIcalls,pleaseseePartB:ReferenceManual.1.1.1CatalogOperationsperformedontheCatalogresourceenableAPIuserstocreate,update,anddeleteitemsfromastore’sproductcatalog.ModificationstoaproductcatalogmadeusingoperationsperformedontheCatalogresourcewillbereflectedinthestore’sCatalogManager.1.1.2CatalogQueryItemsinaproductcatalogmaybequeriedbyperformingoperationsontheCatalogQueryresource.Simplesearch(searchingitemsbykeyword),advancedsearch(searchingitemsbyconditions),anditemlistsearch(retrievingdetailsaboutitems)areallsupported.

Yahoo!MerchantSolutions–CatalogAPI(Beta)•v.1.0,October18,2011 2

2.KnownissuesThefollowingisalistofknownissuesorlimitationsfortheCatalogAPI:

• APIcallsmaynotbemadewhileStoreEditorispublishing.AttemptstomakeAPIcallswhileStoreEditorispublishingwillresultinthefollowingerrormessage:10601=YourStoreEditoriscurrentlypublishing.Whilethispublishisinprogress,youcannotusetheCatalogAPI.Oncepublishingiscomplete,youmaycontinuetouseit.

• APIcallsmaynotbemadewhilethemaximumnumbersofprocesses(6processes)areoccurringinStoreEditororCatalogManager.AttemptstomakeAPIcallswhenthemaximumnumberofprocesseshasbeenreachedwillresultinthefollowingerrormessage:10600=ThemaximumnumberofStoreEditororCatalogManagerprocesseshasbeenreached,andyourrequestcannotbeperformedatthistime.Pleasetryyourrequestagainlater.

• APIcallswillbequeuedwhenanactionthatwilltakeanextendedperiodoftimetocompleteisinprocessinStoreEditororCatalogManager.APIscallsmadeduringthistypeofeventwillresultinthefollowingerrormessage:10602=AnactioninStoreEditororCatalogManageriscurrentlyinprogress,andmaytakeanextendedperiodoftimetocomplete.YourAPIcallmaybequeued.TocheckonthestatusofyourAPIcall,pleasewaitforaperiodoftimeandperforma"get"request.

• Multiplevaluesforthesameattributearenotdetected.Whenmultiplevaluesappear,onlythelastelementisinspected.Intheexamplebelow,twovaluesaregivenforthe<GiftCert>attribute,butonlythelastoneisdetected.

<Item>

<ID>autoitem1</ID><GiftCert>yes</GiftCert><Name>autoitem1</Name><GiftCert>no</GiftCert><TableId>custom‐allattr</TableId></Item>

• ResponsesforcallsmissingthestoreID,securityheader,partnertoken,and/orresourcelistdonotincludethefieldnameofthemissinginformation.Instead,theresponsewillcontainthefollowing:

Yahoo!MerchantSolutions–CatalogAPI(Beta)•v.1.0,October18,2011 3

<?xmlversion="1.0"encoding="utf‐8"?><ystorewsResponse><ErrorMessages><Error><Code>10400</Code><Message>Badrequestormissingtags</Message></Error></ErrorMessages></ystorewsResponse>

• Whennon‐ASCIIspecialcharactersareupdatedusingtheCatalogAPI,thesecharactersmustbesentintheXMLrequestusingtheirHTMLentity.Belowisanexampleofhowtoincludethecopyrightsymbolinarequestforanitemnamed"test1©":<ID>createAPIs2</ID><Name>test1&amp;copy;</Name><Price>12</Price>Inthisexample,theHTMLentity&amp;copy;isusedforthecopyrightsymbol©.Pleasenotethatthesymbol(inthiscase,©)willnotdisplayinitssymbolformatinCatalogManager.Whenthecorrectentityisused,thesymbolwilldisplayinitsexpectedsymbolformatinStoreEditorandonthepublishedpagesonyourlivesite.EntitiesforspecialcharactersmaybefoundinPartB,Section1.4ofthisdocument.

Yahoo!MerchantSolutions–CatalogAPI(Beta)•v.1.0,October18,2011 4

3.Security3.1DataSecurityPrerequisitesYahoo!iscommittedtothesecurityofstoredata.Toensuredatasecurity,allwebservicecallsaretobemadeoveranHTTPSconnectionsecuredby128‐bitSSLv3,oraTLSconnection.PleasenotethatSSLv2isnotsupportedorallowed.3.2AuthenticationAccesstoCatalogAPIsmustberestrictedtoauthenticatedandauthorizedpartnersonly.Eachtimeapartnermakesacall,theymustberecognizedashavingvalidaccesstodoso.AllWebserviceAPIsthataccessastore’sdatarequireacontracttokentobeincluded.ContracttokenswillbegeneratedbyYahoo!andsenttopartnersbyemailaftermerchantsgrantaccesstoCatalogAPIs.Thesetokenswillexpireannually.PartnersareencouragedtosetupemailaliasesdedicatedtohandlingAPIcommunicationandadministrativeprocesses.Shouldacontracttokenbecomecompromised,thetokenmaybemadeinvalid,andareplacementtokenrequested.Althoughcontracttokensmaybereplaced,itistheresponsibilityofthepartnertoprotectthesetokensfrombeingexposedtooutsideparties.

Yahoo!MerchantSolutions–CatalogAPI(Beta)•v.1.0,October18,2011 5

4.ImplementationSteps4.1MerchantStepsStepOne:RequirementsInordertousetheCatalogAPI,merchantsmusthaveaYahoo!MerchantSolutionsStandardorProfessionalaccount,anduseCatalogManager.StepTwo:GrantingPartnerAccessPartnersareresponsibleforprovidingmerchantswiththeirpartneraccountID.Onceamerchanthasreceivedapartner’saccountID,theymayusetheAPISettingsTooltograntthepartnerCatalogAPIaccess.AmerchantmustgrantthisaccessforeachstoretheywishapartnertohaveCatalogAPIaccesspermissionsfor.Tograntpartneraccess:

1. InStoreManager,accesstheReal‐TimeLinksarea.2. IntheReal‐TimeLinksarea,choosetheAPISettingslink.3. UsingtheAPISettingstool,clickthe“AddNewPartner”button.4. EnteraPartnerIDcodewhenprompted.5. Select“CatalogAPI”fromthelistofAPIs,thenclickthe“Update”button.6. VerifyaccesssettingsinthePartnerAccesstable.

4.2PartnerStepsStepOne:RequirementsPartnersmusthaveaPartnerAccountID.ThisIDmustbeprovidedbythepartnerinallemailcommunicationsregardingWebServices.IfyoudonotyethaveapartnerID,learnhowtoapplyforone.StepTwo:ProvideMerchantswithPartnerAccountIDPartnersmustprovidetheirPartnerAccountIDtomerchantswhosestorestheyrequestCatalogAPIaccessfor.OnceamerchanthasgrantedapartnerCatalogAPIaccess,acontracttokenwillbegeneratedbyYahoo!andsenttothepartnerattheirregisteredemailaddress.

Yahoo!MerchantSolutions–CatalogAPI(Beta)•v.1.0,October18,2011 6

StepThree:MakeWebServiceCallsAllwebservicecallsmustincludethevalidcontracttokeninthesecurityheader:

<SecurityHeader><PartnerStoreContractToken>PartnerContractToken</PartnerStoreContractToken></SecurityHeader>

ForinformationaboutwebservicerequestsandXMLsamples,pleaseseePartB:ReferenceManual.

Yahoo!MerchantSolutions–CatalogAPI(Beta)•v.1.0,October18,2011 7

5.TestingEnvironmentPartnersmustcreateaYahoo!storetobeusedasatestenvironmentforCatalogAPIs.PartnerswhohavepreviouslycreatedteststoresfortestingAPIsmayusethesestorestotestCatalogAPIs.6.ContactInformationPartnersmayemailsbs‐store‐partner@yahoo‐inc.com.Allcommunicationshouldincludethepartner’saccountIDandcompanyname.7.GlossaryCatalogManager:CatalogManagerisaMerchantSolutionstoolthatallowsyoutomanageyourinventoryandorganizeandupdateyouritemswithoutchangingthelayoutorlookofyoursite.ContractToken:AcontracttokenisgeneratedandsenttoapartneronceamerchanthasgrantedthepartneraccesstoAPIsfortheirstore.Thesetokensmustbeusedinallwebservicecallsmadeforthestore.PartnerAccountID:APartnerAccountIDisaunique,identifyingcodethatapartnermustprovidetoamerchant,inorderforthemerchanttoprovisionthepartnerwithstoreAPIaccess.IfapartnerdoesnotalreadyhaveaPartnerAccountID,theymustrequestone.ProductTable:Tablesallowyoutomanageyourcatalogitemsmoreefficiently.Alloftheitemsyouaddtoyourcatalogmustbeplacedwithinatable. Real­TimeLinks:TheReal‐TimeLinksfeaturecanbeenableduponrequestforMerchantSolutionsStandard,Professional,andYahoo!Storemerchants.ThisfeatureisnotavailablewithMerchantSolutionsStarterplans.Real‐TimeLinksmustbeenabledforamerchanttoprovisionapartnerwithstoreAPIaccess.REST:RepresentationalStateTransfer(REST).RESToperatesonresource‐orientedservices.CatalogAPIsfollowgeneralRESTstyle,butusePOSTmethods.SSL:SSL,orSecureSocketsLayer,isaprotocolusedfortransmittingprivatedata,whichencryptsthedatasent.CatalogAPIssupport128‐bitSSLv3.

Yahoo!MerchantSolutions–CatalogAPI(Beta)•v.1.0,October18,2011 8

8.OtherResourcesAPIs

• CatalogAPIs–PartB:ReferenceManual• Yahoo!DeveloperNetwork• Yahoo!MerchantSolutionsIntegrations

REST

• RepresentationalStateTransferintheWikipedia

Yahoo!MerchantSolutions–CatalogAPI(Beta)•v.1.0,October18,2011 9

PartB:ReferenceManual1.IntroductionThisdocumentisintendedasareferenceguidetooutlinedetailsofCatalogAPIs.Documentationforeachresourceincludestheresource'sallowedverbs,URLsandmethods,requestandresponsefields,sampleXML,anderrorcodes.ForadditionalinformationaboutYahoo!MerchantSolutions'CatalogAPIs,pleaseseePartAofthisdocument,CatalogAPIs:GettingStarted.Thissectionincludesoverviews,securityinformation,merchantandpartnergettingstartedinformation,andfurtherresourcesyoumaywishtoconsult.1.1CatalogAPIXSDTheXSDfortheCatalogAPImaybeaccessedat:http://store.yahoo.com/lib/vw/catalog‐api.xsd1.2CommonElementsThissectionmakesnoteofelementscommontoeachresource.Forresource‐specificURLsandmethods,requestandresponseXMLsamples,anderrors,pleaseseesections...1.2.1RequestXMLStructureRequestXMLforeachresourcehasthefollowingcommonstructure,wheretheResourceListelementenclosestheresourcebeingoperatedupon.Theverbsthatmaybeuseddependingupontheoperationbeingperformedareget,update,create,ordelete.

<ystorewsRequest><Version>1.0</Version><StoreID></StoreID><SecurityHeader><PartnerStoreContractToken>String</PartnerStoreContractToken></SecurityHeader><Verb>verb</Verb><ResourceList></ResourceList></ystorewsRequest>

Yahoo!MerchantSolutions–CatalogAPI(Beta)•v.1.0,October18,2011 10

1.2.2ErrorsGlobalHTTPerrors:ThefollowinglistofHTTPerrorcodesarereturnedbyallAPIs:HTTP_OKHTTP_BAD_REQUESTHTTP_NOT_FOUNDHTTP_INTERNAL_SERVER_ERRORHTTP_CREATEDHTTP_SERVICE_UNAVAILABLEHTTP_GATEWAY_TIME_OUTApplicationerrorcodes:TheerrorcodesandmessageslistedbelowaregenericerrorsthatmaybereturnedbyallAPIs.AfulllistofCatalogAPIerrorscanbefoundinsection4.Errorcode Message10400 Youhavemadeaninvalidrequest,oramandatorytagismissingfromyour

request.10009 Authorizationrequired.10010 Accessdenied.10011 TheHTTPmethodyouhaveattemptedisnotallowed.10500 Aninternalerrorhasoccurred.10401 Themandatorytag%sismissingfromyourXMLrequest.10402 Thetag%sappearsmultipletimesinyourXMLrequest.10403 Theinputfortag%siseitheraninvalidvalueorusesanincorrectformat.10006 Anerroroccurredwhilecommunicatingwiththestore%s.Thisstoreisnot

online.Pleasetryyourrequestagain,orcontactthestoreowneriftheerrorpersists.

1.3MonogramsandInscriptionsWhencreatingorupdatinganitemwithaninscriptionormonogram,therequestshouldbepassedtotheAPIasanoption.Forexample,ifcreatinganitemwithamonogram“testmonogram,”withafront‐sideengravingoptionandamaximumof12charactersthatwouldbeenteredinStoreEditoras"Front‐sideEngraving"Inscription12,thisinformationpassedinyourrequestcallwouldlooklikethefollowingexample:

<Option><Name>Monogram</Name><ValueList><Value>testmonogram</Value></ValueList>

Yahoo!MerchantSolutions–CatalogAPI(Beta)•v.1.0,October18,2011 11

</Option><Option><Name>Inscription</Name><ValueList><Value>Front‐sideEngraving</Value><Value>12</Value></ValueList></Option>1.4Non­ASCIISpecialCharactersWhennon‐ASCIIspecialcharactersareupdatedusingtheCatalogAPI,thesecharactersmustbesentintheXMLrequestusingtheirHTMLentity.Forallspecialcharactersexcluding<(&lt;),>(&gt;),'(&apos;)and"(&quot;),theentitymustbeginwith&amp;.Forexample,thecopyrightsymbol(©)shouldbeformattedas&amp;copy.Belowisanexampleofhowtoincludethecopyrightsymbolinarequestforanitemnamed"test1©":<ID>createAPIs2</ID><Name>test1&amp;copy;</Name><Price>12</Price>Inthisexample,theHTMLentity&amp;copy;isusedforthecopyrightsymbol©.Pleasenotethatthesymbol(inthiscase,©)willnotdisplayinitssymbolformatinCatalogManager.WhenthecorrectHTMLentityisused,thesymbolwilldisplayinitsexpectedsymbolformatinStoreEditorandonthepublishedpagesonyourlivesite.HTMLentitiesreferenceForalistofspecialcharacters,pleaseseethereferencetablesathttp://www.zytrax.com/tech/web/entities.htmlandrefertothe“Format”columnforeachspecialcharacter.Asnotedabove,withtheexceptionof<(&lt;),>(&gt;),'(&apos;)and"(&quot;),&amp;mustprefixtheentity,andthe&ontheentitygiveninthetableisremoved.Forexample,&copy;becomes&amp;copy;and&reg;becomes&amp;reg.

Yahoo!MerchantSolutions–CatalogAPI(Beta)•v.1.0,October18,2011 12

1.5AttributeNamesThefollowingisalistofattributenamesusedfortheCatalogAPI,andtheirequivalentinCatalogManager.Catalog API Attribute Name Catalog Manager Attribute Name ID id Name name Code code Price price SalePrice sale-price ShipWeight ship-weight Orderable orderable Taxable taxable GiftCert gift-certificate Headline headline Caption caption Abstract abstract Label label NeedBill need-bill NeedPayment need-payment NeedShip need-ship Availability availability PersonalizationCharge personalization-charge ProductURL product-url Manufacturer manufacturer Brand brand Gender gender Inyshopping in-yshopping Upc upc ManufacturerPartNumber manufacturer-part-number ModelNumber model-number ISBN isbn MerchantCategory merchant-category Classification classification Condition condition Color color Size size Msrp msrp AgeGroup age-group AgeRange age-range Medium medium PromoText promo-text StyleNumber style-number Style style Ypath ypath YahooShoppingCategory yahoo-shopping-category EAN ean TableId tableid

Yahoo!MerchantSolutions–CatalogAPI(Beta)•v.1.0,October18,2011 13

2.Catalog(Create,Update,Delete)

2.1CreateItemCreateItemallowsyoutocreateanewitemwithinatableinyourproductcatalog.Allrequiredattributesforthetablemustbeincludedintherequestinorderfortheitemtosuccessfullybecreated.Requiredattributesthathavedefaultvaluesdonotneedtobesentintherequest,butshouldbeincludedifyouwishtooverwritethedefaultvalue.RequiredattributesandallattributesforeachtablecontainedinyourproductcatalogcanbefoundintheManageTablessectionofCatalogManager(StoreManager>CatalogManager>ManageTables).RESTbasedURL:https://<storeid>.catalog.store.yahooapis.com/V1/CatalogMethod:POST2.1.2RequestsandResponsesRequestfields:RequestField Type Cardinality Valid Values Description Catalog/ItemList ItemListType Required 1 N/A List of Items ItemList: RequestField Type Cardinality Valid Values Description Item ItemType Required. 1 or

more N/A Information about

the items to be added to the catalog.

Item: RequestField Type Cardinality Valid Values Description Item/ID string Required 1 Valid unique item id Valid unique item id Item/Name string Required 1 Valid name Name of the item Item/Code CodeType Optional N/A Code of the item. If not

passed item id will be used for the code.

Item/Price Numeric . Use space separated numbers for quantity pricing.

Required 1 Number Quantity pricing should follow the format below: 10 5 45 10 80 In this example, 10 is the base price, 5-item price is 45, and-10 item price is 80.

Item/SalePrice Numeric and % numeric

Optional Number for exact price. Use %10 to give 10% discount on

Sale price of the item.

Yahoo!MerchantSolutions–CatalogAPI(Beta)•v.1.0,October18,2011 14

Price. Item/ShipWeight Numeric Optional Numeric Ship weight of the item Item/Orderable Boolean Required. 1 Yes /No Flag to indicate whether

the item is orderable. Item/Taxable Boolean Required. 1 Yes /No Flag to indicate whether

the item is taxable. Item/GiftCert Boolean Optional. 1 Yes /No Flag to indicate whether

the item is gift cert item. Item/OptionList OptionListTy

pe. Optional. 1 N/A List of item options.

Item/Headline String Optional Text If supplied, used instead of Name at the top of the item page, and when item is listed in a group or as an accessory.

Item/Caption String Optional Text Item description. Item/Abstract String Optional Text Used when text is

needed for a description on another page.

Item/Label String Optional Text If supplied, used as the text when item is one of the specials on the home page (index) if you have "Specials-format" set to "As-Thumbnails.” (Deprecated for Editor 3.0 templates)

Item/NeedBill Boolean. Optional. 1 Yes /No Indicates if customers are required to enter a billing address during checkout when ordering the item.

Item/NeedPay Boolean. Optional. 1 Yes /No Item/NeedPayment Boolean. Optional. 1 Yes /No Indicates if customers

are required to enter payment information during checkout (yes) or whether payment information is not required (no) in the case of free items.

Item/NeedPayShip Boolean. Optional. 1 Yes /No Indicates if customers are required to enter a shipping address during checkout (yes) or whether a shipping address is not required (no) when selling downloadable goods, subscriptions, or donations.

Item/Availability Predefined set

Optional.1 SAME_DAY NEXT_DAY 2_3_DAY 3_4_DAY 5_7_DAY 1_2_WEEKS 2_3_WEEKS 4_6_WEEKS

Availability of the item. These values correspond to the following: Usually ships the same business day=SAME_DAY

Yahoo!MerchantSolutions–CatalogAPI(Beta)•v.1.0,October18,2011 15

6_8_WEEKS CONTACT_US IN_STOCK AVAILABLE OUT_OF_STOCK PRE_ORDER

Usually ships the next business day=NEXT_DAY Usually ships in 2-3 business days=2_3_DAY Usually ships in 3-4 business days=3_4_DAY Usually ships in 5-7 business days=5_7_DAY Usually ships in 1-2 weeks=1_2_WEEKS Usually ships in 2-3 weeks=2_3_WEEKS Usually ships in 4-6 weeks=4_6_WEEKS Usually ships in 6-8 weeks=6_8_WEEKS Contact us for availability=CONTACT_US In Stock=IN_STOCK Available for Order=AVAILABLE Out of Stock=OUT_OF_STOCK Preorder=PRE_ORDER

Item/ PersonalizationCharge

Numeric Optional.1 numeric Amount to be charged for items with monogram or inscription options.

Item/ProductURL ystoreURLInputType

Optional 1. Valid urls like https:// or https://

Item/Manufacturer String Optional Manufacturer Item manufacturer informaton

Item/Brand String Optional Existing help Item brand information. Item/Gender String Optional men | women | unisex Gender information,

usually used for apparel items.

Item/Inyshopping boolean Optional Yes/No Used to indicate if you would like the item to be included in Yahoo! Shopping.

Item/Upc Integer Optional UPC stands for Universal Product Code. It is a unique 12-digit number.

Item/ManufacturerPartNumber

string Optional Manufacturer's part number that refers to the exact configuration of the product.

Item/ModelNumber string Optional Model number for an item.

Item/ISBN Integer Optional International Standard Book Number (ISBN) used as a unique numeric commercial book identifier.

Yahoo!MerchantSolutions–CatalogAPI(Beta)•v.1.0,October18,2011 16

Item/MerchantCategory string Optional If you are a Yahoo! Shopping merchant, you can use this field to enter your merchant category.

Item/Classification Restricted set

Optional new overstock damaged returned refurbished open box liquidation used

Indicates whether the item is new, overstock, refurbished, etc. If you are selling used products, a classification must be included.

Item/Condition Restricted set

Optional New Like new Very good Good Acceptable Refurbished Used

Condition of the item.

Item/Color string Optional Color of the item. Item/Size string Optional Size of the item. Item/Msrp string Optional The manufacturer's

suggested retail price for the item.

Item/AgeGroup Restricted set

Optional infant|toddler|child|pre-teen|teen|adult

Age group information. Highly recommended for Apparel products.

Item/AgeRange string Optional Age range information for the item. Highly recommended for Toys products.

Item/Medium Restricted set

Optional CD Casette MiniDisc LPd EP 45 VHS Beta 8mm Laser Disc DVD VCD

A Yahoo! Shopping attribute, used for music and video products only.

Item/PromoText string Optional Promo-text is a Yahoo! Shopping field. You may use this field to relay any special promotions associated with the product. Up to 50 characters of text.

Item/StyleNumber string Optional Style-number is a Yahoo! Shopping field. It is used for items in the Apparel and Home and Garden categories.

Item/Style string Optional Yahoo! Shopping field used in the Apparel and Home and Garden Categories (for example, "chino" pants,

Yahoo!MerchantSolutions–CatalogAPI(Beta)•v.1.0,October18,2011 17

"denim" shirt). Item/Ypath string Optional Ypath was previously

used to identify specific products for placement in Yahoo! Shopping. Replaced by YahooShoppingCategory.

Item/YahooShoppingCategory

string Optional Yahoo! Shopping category for the item.

Item/EAN integer Optional EAN (or "European Article Numbering") is sometimes used instead of UPC. It is a 13-digit unique code for products.

Item/CustomData CustomDataType

Optional All merchant-created fields in the table should come under CustomDataType

Item/TableId string Required 1 Valid table names. Table to which the item belongs.

CodeType: Request Field Type Cardinality Valid Values Description Item/Code/Value string Required. 1 N/A Code of the base

item. Item/Code/ItemCodeList ItemCodeListType Optional.1 or more Need to be passed

only if option level codes are there.

Item/Code/ItemCodeList/ Value

string 1 Valid option code value

Option code value.

Item/Code/ItemCodeList/ ItemCodeOption/Name

string 1 or more Valid option name

Item/Code/ItemCodeList/ ItemCodeOption/Value

string 1 or more Valid option value

Optioncodesexample:

<Code><Value>basecode</Value><ItemCodeList><Value>code1</Value><ItemCodeOption><Name>test</Name><Value>val1</Value></ItemCodeOption><ItemCodeOption><Name>test1</Name><Value>val1opt2</Value></ItemCodeOption></ItemCodeList>

Yahoo!MerchantSolutions–CatalogAPI(Beta)•v.1.0,October18,2011 18

Note:TheItemCodeOptionshouldonlybeincludediftheitemhasoption‐levelcodes.Whenanitemhasonlyabasecode,therequestwillbeformattedas:

<Code><Value>basecode</Value></Code>

OptionListType: Request Field Type Cardinality Valid Values Description Item/OptionList/Option OptionType 1 or more Item/OptionList/Option/ Name

string Required. 1 N/A Name of the option.

Item/ OptionList/Option/ ValueList/Value

string Required.1 or more Option value

Optionslistexample:

<OptionList><Option><Name>test</Name><ValueList><Value>val1</Value><Value>val2</Value></ValueList></Option><Option><Name>test1</Name><ValueList><Value>val1opt2</Value><Value>val2opt2</Value></ValueList></Option></OptionList>

Yahoo!MerchantSolutions–CatalogAPI(Beta)•v.1.0,October18,2011 19

Responsefields:Createresponseswillcontainonlyinformationalmessagesorerrormessages.Responsesforsingleitemrequestswillcontainonlyaninfomessageoranerrormessage.Responsesformultipleitemrequestswillcontaininformationand/orerrormessagesbasedontheactionstatus. Response Field Description InfoMessages/Info/Code The numerical code assigned to

the info message.

InfoMessages /Info/Message Message related to the request performed.

ErrorMessages/Error/Code The numerical code assigned to the error

ErrorMessages/Error/Message Error message corresponding to the error code, explaining the error that has occurred.

SampleXMLrequest:

<?xmlversion="1.0"encoding="UTF‐8"?><ystorewsRequest><StoreID>odhyan</StoreID><SecurityHeader><PartnerStoreContractToken>token</PartnerStoreContractToken></SecurityHeader><Version>1.0</Version><Verb>create</Verb><ResourceList><Catalog><ItemList><Item><ID>autoitem1789</ID><Name>autoitem1789</Name><Code><Value>autoitem1789</Value></Code>

Yahoo!MerchantSolutions–CatalogAPI(Beta)•v.1.0,October18,2011 20

<Price>5.0</Price><SalePrice>5.0</SalePrice><ShipWeight>5.0</ShipWeight><Orderable>yes</Orderable><Taxable>yes</Taxable><GiftCert>no</GiftCert><Monogram>testmonogram</Monogram><Headline>testheadline</Headline><Caption>testcaption</Caption><Abstract>testabstract</Abstract><Label>testlabel</Label><NeedBill>yes</NeedBill><NeedPayment>Yes</NeedPayment><NeedShip>yes</NeedShip><Availability>Usuallyshipsthenextbusinessday</Availability><PersonalizationCharge>45.98</PersonalizationCharge><ProductURL>http://www.producturl.com</ProductURL><Manufacturer>somethingco</Manufacturer><Brand>yahoo</Brand><Gender>men</Gender><Inyshopping>yes</Inyshopping><Upc>123456789089</Upc><ManufacturerPartNumber>67890</ManufacturerPartNumber><ModelNumber>2345</ModelNumber><ISBN>7689046789733</ISBN><MerchantCategory>MerchantCategory</MerchantCategory><Classification>new</Classification><Condition>Good</Condition><Color>Green</Color><Size>56</Size><Msrp>187</Msrp><AgeGroup>toddler</AgeGroup><AgeRange>45</AgeRange><Medium>CD</Medium><PromoText>celebrate</PromoText><StyleNumber>9876</StyleNumber><Style>regularstyles</Style><Ypath>pathrequired</Ypath><YahooShoppingCategory>road</YahooShoppingCategory><EAN>8987897655333</EAN><CustomData><Name>page‐title</Name><Value>text1here</Value></CustomData><CustomData><Name>keywords</Name><Value>miskyw</Value></CustomData><CustomData><Name>description</Name>

Yahoo!MerchantSolutions–CatalogAPI(Beta)•v.1.0,October18,2011 21

<Value>desc</Value></CustomData><CustomData><Name>lotsize</Name><Value>sizee</Value></CustomData><CustomData><Name>show‐button</Name><Value>yes</Value></CustomData><CustomData><Name>cost</Name><Value>897</Value></CustomData><CustomData><Name>lotinfo</Name><Value>isvexp</Value></CustomData><CustomData><Name>lotinfos</Name><Value>tooexp</Value></CustomData><CustomData><Name>dimensions</Name><Value>iswhat</Value></CustomData><CustomData><Name>free‐shipping</Name><Value>yes</Value></CustomData><CustomData><Name>free‐ship‐method</Name><Value>ups</Value></CustomData><CustomData><Name>ship‐alone</Name><Value>yes</Value></CustomData><CustomData><Name>flat‐ship‐rate</Name><Value>1098</Value></CustomData><CustomData><Name>number‐of‐boxes</Name><Value>897</Value></CustomData><CustomData><Name>origin‐zip</Name><Value>yews</Value></CustomData>

Yahoo!MerchantSolutions–CatalogAPI(Beta)•v.1.0,October18,2011 22

<CustomData><Name>multi‐box‐weights</Name><Value>now</Value></CustomData><CustomData><Name>multi‐box‐dimensions</Name><Value>text</Value></CustomData><CustomData><Name>invalid‐ship‐methods</Name><Value>Upps</Value></CustomData><CustomData><Name>exclude‐from‐free‐ship</Name><Value>yes</Value></CustomData><CustomData><Name>freight‐item</Name><Value>yes</Value></CustomData><CustomData><Name>canonical‐link</Name><Value>whatisthis</Value></CustomData><CustomData><Name>promo‐var‐1</Name><Value>iswhat</Value></CustomData><CustomData><Name>promo‐var‐2</Name><Value>yes</Value></CustomData><CustomData><Name>promo‐var‐3</Name><Value>nfeo</Value></CustomData><CustomData><Name>promo‐var‐4</Name><Value>text4</Value></CustomData><CustomData><Name>promo‐var‐5</Name><Value>mtext4</Value></CustomData><CustomData><Name>flat‐ship‐rates</Name><Value>medtext5</Value></CustomData><CustomData><Name>markup</Name>

Yahoo!MerchantSolutions–CatalogAPI(Beta)•v.1.0,October18,2011 23

<Value>123</Value></CustomData><CustomData><Name>min‐ord</Name><Value>1098</Value></CustomData><CustomData><Name>last‐update</Name><Value>lastup</Value></CustomData><CustomData><Name>category1</Name><Value>yes</Value></CustomData><CustomData><Name>category11</Name><Value>no</Value></CustomData><CustomData><Name>hide‐cross‐multi‐add</Name><Value>yes</Value></CustomData><CustomData><Name>lions‐price</Name><Value>2345</Value></CustomData><CustomData><Name>manufacturer‐part</Name><Value>bigtext5</Value></CustomData><CustomData><Name>image‐url</Name><Value>dsvcs</Value></CustomData><CustomData><Name>lotqty</Name><Value>tyu</Value></CustomData><CustomData><Name>price‐each</Name><Value>897</Value></CustomData><CustomData><Name>c4‐new‐graphic</Name><Value>yes</Value></CustomData><CustomData><Name>c4‐new‐graphic2</Name><Value>no</Value></CustomData>

Yahoo!MerchantSolutions–CatalogAPI(Beta)•v.1.0,October18,2011 24

<CustomData><Name>c4‐new‐graphic3</Name><Value>yes</Value></CustomData><CustomData><Name>multi‐add</Name><Value>no</Value></CustomData><CustomData><Name>c4‐related‐items</Name><Value>medtext6</Value></CustomData><CustomData><Name>c4‐parent‐id</Name><Value>tyuik</Value></CustomData><CustomData><Name>min‐qty</Name><Value>1098</Value></CustomData><CustomData><Name>section‐price‐from</Name><Value>897</Value></CustomData><CustomData><Name>path</Name><Value>dsdcs</Value></CustomData><CustomData><Name>c4‐new‐graphic4</Name><Value>no</Value></CustomData><CustomData><Name>c4‐new‐graphic5</Name><Value>yes</Value></CustomData><CustomData><Name>c4‐new‐graphic6</Name><Value>no</Value></CustomData><TableId>default‐table</TableId></Item></ItemList></Catalog></ResourceList></ystorewsRequest>

Yahoo!MerchantSolutions–CatalogAPI(Beta)•v.1.0,October18,2011 25

SampleXMLresponse:

<ystorews:ystorewsResponsexmlns:ystorews="urn:yahoo:sbs:ystorews"><Version>1.0</Version><InfoMessages><Info><Code>20000</Code><Message>Itemautoitem1789createdsuccessfully.</Message></Info></InfoMessages></ystorews:ystorewsResponse>

SampleXMLrequestwithinscriptionandmonogramoptions:

<?xmlversion="1.0"encoding="UTF‐8"?><ystorewsRequest><Version>1.0</Version><StoreID>ysbsqa‐51‐cpers‐07‐12‐2010</StoreID><SecurityHeader><PartnerStoreContractToken>String</PartnerStoreContractToken></SecurityHeader><Verb>create</Verb><ResourceList><Catalog><ItemList><Item><ID>autoitem12</ID><Name>autoitem12</Name><Code><Value>autoitem12</Value></Code><Price>5.0</Price><SalePrice>5.0</SalePrice><ShipWeight>5</ShipWeight><Orderable>yes</Orderable><Taxable>yes</Taxable><OptionList><Option><Name>Monogram</Name><ValueList><Value>testmonogram1</Value></ValueList></Option><Option><Name>Inscription</Name><ValueList><Value>Front‐sideEngraving</Value><Value>12</Value></ValueList></Option></OptionList>

Yahoo!MerchantSolutions–CatalogAPI(Beta)•v.1.0,October18,2011 26

<TableId>custom‐options</TableId></Item></ItemList></Catalog></ResourceList></ystorewsRequest>

SampleXMLresponseforrequestwithinscriptionandmonogramoptions:

<ystorews:ystorewsResponsexmlns:ystorews="urn:yahoo:sbs:ystorews"><Version>1.0</Version><InfoMessages><Info><Code>20000</Code><Message>Itemautoitem12createdsuccessfully.</Message></Info></InfoMessages>

</ystorews:ystorewsResponse>

Yahoo!MerchantSolutions–CatalogAPI(Beta)•v.1.0,October18,2011 27

2.2UpdateUpdateisusedtoupdateitemsinyourproductcatalog.AllfieldsusedforCreateItem(seePartB,Section2)excludingtableidanditemidmaybeupdatedusingtheUpdateAPI.Onlythefieldsthattheuserwishestoupdateneedtobesentintheupdaterequest.Notes:Ifyouwishtoupdateanoptioncodevalue,thecompletecodelistshouldbesentinyourrequest.Theupdaterequestwilloverwritetheexistingoptioncodevalue.Anincrementalupdateofasingleoptioncodecannotbeperformed.Inaddition,anincrementalupdateofanitemoptionalsocannotbeperformed.Acompletelistofoptionsmustbeincludedwhenmakinganupdaterequest.RESTbasedURL:https://<storeid>.catalog.store.yahooapis.com/V1/CatalogMethod:POST2.2.1RequestsandResponsesRequestfields:PleaseseethefieldslistedforCreateItem(section2.1.1).Responsefields:PleaseseethefieldslistedforCreateItem(section2.1.1).SampleXMLrequest:<?xmlversion="1.0"encoding="UTF‐8"?><ystorewsRequest><Version>1.0</Version><StoreID>ysbsqa‐ms2‐edit102‐08aug10</StoreID><SecurityHeader><PartnerStoreContractToken>token</PartnerStoreContractToken></SecurityHeader><Verb>update</Verb><ResourceList><Catalog><ItemList><Item><ID>autoitem1</ID><Name>autoitemtest123</Name> <TableId>custom‐allattr</TableId></Item></ItemList></Catalog>

Yahoo!MerchantSolutions–CatalogAPI(Beta)•v.1.0,October18,2011 28

</ResourceList></ystorewsRequest>SampleXMLresponse:<ystorews:ystorewsResponsexmlns:ystorews="urn:yahoo:sbs:ystorews"><Version>1.0</Version><ErrorMessages><Error><Code>40013</Code><Message>Itemautoitem890couldnotbeupdated.Thisitemdoesnotexistinyourproductcatalog.</Message></Error></ErrorMessages><InfoMessages><Info><Code>40000</Code><Message>Itemautoitem1updatedsuccessfully.</Message></Info><Info><Code>40000</Code><Message>Itemautoitem2updatedsuccessfully.</Message></Info><Info><Code>40000</Code><Message>Itemautoitem3updatedsuccessfully.</Message></Info><Info><Code>40000</Code><Message>Itemautoitem4updatedsuccessfully.</Message></Info></InfoMessages></ystorews:ystorewsResponse>

Yahoo!MerchantSolutions–CatalogAPI(Beta)•v.1.0,October18,2011 29

2.3DeleteTheDeleteAPIisusedtodeleteitemsfromyourproductcatalog.ThedeleterequestmustincludetheIDoftheitemyouwishtodelete.RESTbasedURL:https://<storeid>.catalog.store.yahooapis.com/V1/CatalogMethod:POST2.3.1RequestsandResponsesRequestfieldsRequest Field Type Cardinality Valid Values Description ItemIDList/ID string 1 or more Valid id values ID of the item

to be deleted ResponsefieldsDeleteresponseswillcontainonlyinformationalmessagesorerrormessages.Responsesforsingleitemrequestswillcontainonlyaninfomessageoranerrormessage.Responsesformultipleitemrequestswillcontaininformationand/orerrormessagesbasedontheactionstatus.SampleXMLrequest:

<?xmlversion="1.0"encoding="utf‐8"?><ystorewsRequest><StoreID>ysbsqa‐ms2‐edit102‐08aug10</StoreID><SecurityHeader><PartnerStoreContractToken>token</PartnerStoreContractToken></SecurityHeader><Version>1.0</Version><Verb>delete</Verb><ResourceList><Catalog><ItemIDList><ID>autoitem1</ID></ItemIDList></Catalog></ResourceList></ystorewsRequest>

SampleXMLresponse:

<ystorews:ystorewsResponsexmlns:ystorews="urn:yahoo:sbs:ystorews"><Version>1.0</Version>

Yahoo!MerchantSolutions–CatalogAPI(Beta)•v.1.0,October18,2011 30

<InfoMessages><Info><Code>50000</Code><Message>Itemautoitem1deletedsuccessfully.</Message></Info></InfoMessages></ystorews:ystorewsResponse>

Yahoo!MerchantSolutions–CatalogAPI(Beta)•v.1.0,October18,2011 31

3.CatalogQuery(Get)

3.1SimpleSearchSimpleSearchsupportssearchesusing“contains”butnot“exactlymatches.”SimpleSearchisusedtosearchforitemsinyourproductcatalogbykeyword.Thekeywordusedwillbematchedagainstproductname,idorcode.Nootherfieldswillbesearched.Forexample,asearchforthekeyword"test"willreturnitemstest,test1,test123,etc.RESTbasedURL:https://<storeid>.catalog.store.yahooapis.com/V1/CatalogQueryMETHOD:POST3.1.2RequestsandResponsesRequestfields:Request Field Type Cardinality Valid Values Description SimpleSearch/Keyword string 1 Search string The id, name,

or code of the item to be searched for.

Responsefields:TheresponsewillreturnalistofitemIDsifoneormorematchingitemswasfound.Ifoneormoreitemsisnotfound,theresponsewillcontainaninfomessage.Response Field Type Cardinality Description ItemIDList/ID string 0 or more IDs of all items

matching the search keyword.

InfoMessages/Info/Code 0 or 1 30010 InfoMessages/Info/Message 0 or 1 No matching

items were found.

SampleXMLrequest:

<?xmlversion="1.0"encoding="utf‐8"?><ystorewsRequest><StoreID>yhst‐128028951810566</StoreID><SecurityHeader><PartnerStoreContractToken>String</PartnerStoreContractToken></SecurityHeader>

Yahoo!MerchantSolutions–CatalogAPI(Beta)•v.1.0,October18,2011 32

<Verb>get</Verb><Version>1.0</Version><ResourceList><CatalogQuery><SimpleSearch><Keyword>flower</Keyword><TableId>newtable</TableId></SimpleSearch></CatalogQuery></ResourceList></ystorewsRequest>

SampleXMLresponse:

<ystorews:ystorewsResponsexmlns:ystorews="urn:yahoo:sbs:ystorews"><Version>1.0</Version><ResponseResourceList><Catalog><ItemIDList><ID>flower10000</ID></ItemIDList></Catalog></ResponseResourceList></ystorews:ystorewsResponse>

Yahoo!  Merchant  Solutions  –  Catalog  API  (Beta)  •  v.  1.0,  October  18,  2011     33  

3.2  Advanced  Search    Advanced  Search  mirrors  the  Advanced  Search  feature  in  Catalog  Manager.  Using  Advanced  Search,  you  can  search  for  items  in  your  product  catalog  based  on  search  conditions.  The  search  request  may  include  up  to  5  search  criteria.  An  Advanced  Search  call  will  return  a  list  of  item  IDs.    REST  based  URL:  https://<storeid>.catalog.store.yahooapis.com/V1/CatalogQuery  METHOD:  POST  

 3.2.1  Search  Operators    The  following  search  operators  are  available  for  Advanced  Search.  Please  note  that  not  all  search  operators  are  supported  for  each  attribute.  For  a  list  of  attributes  and  supported  operators,  please  consult  the  table  below.    Operators  and  definitions:    • lt  –  less  than  • gt  –  greater  than  • cn  –  contains  • eq  –  exactly  matches  

 Important  note:  Operators  are  case-­‐sensitive  and  must  use  all  lowercase.  If  lowercase  is  not  used,  either  an  error  or  no  results  will  be  returned.    Attributes  and  supported  operators:    Note  for  custom  fields:  The  operators  supported  for  custom  fields  is  determined  by  the  attribute  type  of  the  custom  field  (e.g.,  string,  numeric,  Boolean,  enumeration).   Attribute Attribute type Supported operators id, name, code, options, headline, caption, abstract, label, product url, manufacturer, brand, gender, upc, manufacturer-part-number, model-number, isbn, merchant-category, color, size, age-range, promo-text, style-number, style, ypath, yahoo-shopping-category, ean

String cn, eq

price, sale-price, ship-weight, msrp, personalization-charge

Numeric eq, lt, gt, cn

orderable, taxable, gift-certificate, need-bill, need-payment, need-ship, in-yshopping

Boolean eq

age-group, availability, classification, condition, gender, medium

Enumeration eq

Yahoo!MerchantSolutions–CatalogAPI(Beta)•v.1.0,October18,2011 34

3.2.2NotesforBooleanSearchWhenmakingasearchcall(CatalogQuery)onBooleanfields,theoperatorusedmustbeeq(<Operator>eq</Operator)andthesupportedvaluesare0or1.BooleanfieldsavailableforsearchcallsarethestandardBooleanfieldsandanycustomBooleanfieldsthathavebeencreatedfortheproductcatalog.

Standardbooleanfieldsare:orderable,taxable,gift‐certificate,need‐bill,need‐payment,need‐ship,in‐yshopping3.2.3RequestsandResponsesRequestfields:Request Field Type Cardinality Valid Values Description AdvancedSearch /Filter/Match

any /all 1 any / all Use any for finding items matching any of the conditions specified. It is equivalent to SQL OR condition. Use all for finding items matching all the search conditions. It is equivalent to SQL AND statement.

AdvancedSearch /Filter/CriteriaList/ Criteria/TableId

String Optional Valid table id Pass the table-id to search within a table. If this tag is missing the advanced search will be executed on all the tables.

AdvancedSearch /Filter/CriteriaList/ Criteria/ Attribute

1 to 5 See the table for valid standard attributes. For custom attributes, use attribute name which is visible in catalog manager advanced search.

AdvancedSearch /Filter/CriteriaList/ Criteria/

1 to5 See the table for valid

Yahoo!MerchantSolutions–CatalogAPI(Beta)•v.1.0,October18,2011 35

Operator standard operators based on operators.

AdvancedSearch /Filter/CriteriaList/ Criteria/ Value

1 to 5 Pass numeric or string value based on the attribute type.

The search value

Responsefields:PleaserefertotheSimpleSearchresponseinformationinsection3.1.2.SampleXMLrequest:

<?xmlversion="1.0"encoding="utf‐8"?><ystorewsRequest><StoreID>yhst‐128028951810566</StoreID><SecurityHeader><PartnerStoreContractToken>String</PartnerStoreContractToken></SecurityHeader><Verb>get</Verb><Version>1.0</Version><ResourceList><CatalogQuery><AdvancedSearch><Filter><Match>any</Match><CriteriaList><Criteria><TableId>newtable</TableId><Attribute>orderable</Attribute><Operator>eq</Operator><Value>1</Value></Criteria></CriteriaList></Filter></AdvancedSearch></CatalogQuery></ResourceList></ystorewsRequest>

SampleXMLresponse:

<ystorews:ystorewsResponsexmlns:ystorews="urn:yahoo:sbs:ystorews"><Version>1.0</Version><ResponseResourceList>

Yahoo!MerchantSolutions–CatalogAPI(Beta)•v.1.0,October18,2011 36

<Catalog><ItemIDList><ID>flower10000</ID></ItemIDList></Catalog></ResponseResourceList></ystorews:ystorewsResponse>

SpecificsearchtypeXMLrequestexamples:1.SearchforALLitemswhicharetaxableandhaveasalepricegreaterthan$100

<ystorewsRequest><StoreID>yhst‐111111111111111</StoreID><SecurityHeader><PartnerStoreContractToken></PartnerStoreContractToken></SecurityHeader><Verb>get</Verb><Version>1.0</Version><ResourceList><CatalogQuery><AdvancedSearch><Filter><Match>all</Match><CriteriaList><Criteria><Attribute>taxable</Attribute><Operator>eq</Operator><Value>1</Value></Criteria><Criteria><Attribute>sale­price</Attribute><Operator>gt</Operator><Value>100</Value></Criteria></CriteriaList></Filter></AdvancedSearch></CatalogQuery></ResourceList></ystorewsRequest>

2.SearchforallitemsthatareEITHERtaxableORhaveasalepricegreaterthan$100

<ystorewsRequest><StoreID>yhst‐111111111111111</StoreID>

Yahoo!MerchantSolutions–CatalogAPI(Beta)•v.1.0,October18,2011 37

<SecurityHeader><PartnerStoreContractToken></PartnerStoreContractToken></SecurityHeader><Verb>get</Verb><Version>1.0</Version><ResourceList><CatalogQuery><AdvancedSearch><Filter><Match>any</Match><CriteriaList><Criteria><Attribute>taxable</Attribute><Operator>eq</Operator><Value>1</Value></Criteria><Criteria><Attribute>sale‐price</Attribute><Operator>gt</Operator><Value>100</Value></Criteria></CriteriaList></Filter></AdvancedSearch></CatalogQuery></ResourceList></ystorewsRequest>

3.ExampleBooleansearchforallitemsthataregiftcertificates(gift­certificates)andarenottaxable

<ystorewsRequest><StoreID>yhst‐128028951810566</StoreID><SecurityHeader><PartnerStoreContractToken>String</PartnerStoreContractToken></SecurityHeader><Verb>get</Verb><Version>1.0</Version><ResourceList><CatalogQuery><AdvancedSearch><Filter><Match>any</Match><CriteriaList><Criteria><Attribute>gift‐certificate</Attribute><Operator>eq</Operator>

Yahoo!MerchantSolutions–CatalogAPI(Beta)•v.1.0,October18,2011 38

<Value>1</Value></Criteria><Criteria><Attribute>taxable</Attribute><Operator>eq</Operator><Value>0</Value></Criteria></CriteriaList></Filter></AdvancedSearch></CatalogQuery></ResourceList></ystorewsRequest>

Yahoo!MerchantSolutions–CatalogAPI(Beta)•v.1.0,October18,2011 39

3.3ItemDetails(getItemDetails)ItemDetails(getItemDetails)canbeusedtoretrieveiteminformationforspecifieditemIDs.Filtersfortherequiredfieldsmaybepassedintheresponse.RESTbasedURL:https://<storeid>.catalog.store.yahooapis.com/V1/CatalogQueryMETHOD:POST3.3.1SupportedFiltersThesupportedfiltersforthisoperationare:mandatory,store,shopping,custom,all3.3.2RequestsandResponsesRequestfields:Request Field Type Cardinality Valid Values Description ItemIDList/ID string 1 or more Valid id values ID of the item for details are

to be fetched. AttributesType 1 all

mandatory store shopping custom

All – Fetches all attributes Mandatory- Fetches all mandatory attributes Store- Fetches all store attributes Shopping – Fetches all the shopping attributes Custom- Fetches all the custom attributes Attributes for each category can be found in Catalog Manager > Manage Tables.

Responsefields:AttributesreturnedintheresponsewillbebasedupontheAttributesTyperequested.SampleXMLrequest:

<ystorewsRequest><Version>1.0</Version><StoreID>adi</StoreID><SecurityHeader><PartnerStoreContractToken>String</PartnerStoreContractToken></SecurityHeader>

Yahoo!MerchantSolutions–CatalogAPI(Beta)•v.1.0,October18,2011 40

<Verb>get</Verb><ResourceList><CatalogQuery><ItemQueryList><ItemIDList><ID>aditestitem1</ID></ItemIDList><ItemIDList><ID>aditestitem2</ID></ItemIDList><ItemIDList><ID>aditestitem3</ID></ItemIDList><ItemIDList><ID>aditestitem4</ID></ItemIDList><ItemIDList><ID>aditestitem5</ID></ItemIDList><AttributesType>mandatory</AttributesType><!—thiscanbestore,shopping,mandatory,customorall‐‐></ItemQueryList></CatalogQuery></ResourceList></ystorewsRequest>

SampleXMLresponse:

<ystorews:ystorewsResponsexmlns:ystorews="urn:yahoo:sbs:ystorews"><Version>1.0</Version><ResponseResourceList><Catalog><ItemList><Item><ID>aditestitem1</ID><Name>aditestitem1createdforthisitem</Name><Code>aditestitem1</Code><Price>12.00</Price><SalePrice>10.00</SalePrice><ShipWeight>1.00</ShipWeight><Orderable>Yes</Orderable><Taxable>Yes</Taxable></Item><Item><ID>aditestitem2</ID><Name>aditestitem2createdforthisitem&#174;</Name><Code>aditestitem2</Code><Price>12.00</Price><SalePrice>10.00</SalePrice>

Yahoo!MerchantSolutions–CatalogAPI(Beta)•v.1.0,October18,2011 41

<ShipWeight>1.00</ShipWeight><Orderable>Yes</Orderable><Taxable>No</Taxable></Item><Item><ID>aditestitem3</ID><Name>aditestitem3createdforthisitem</Name><Code>aditestitem3</Code><Price>12.00</Price><SalePrice>10.00</SalePrice><ShipWeight>1.00</ShipWeight><Orderable>Yes</Orderable><Taxable>Yes</Taxable></Item><Item><ID>aditestitem4</ID><Name>aditestitem4createdforthisitem</Name><Code>aditestitem4</Code><Price>12.00</Price><SalePrice>10.00</SalePrice><ShipWeight>1.00</ShipWeight><Orderable>Yes</Orderable><Taxable>No</Taxable></Item><Item><ID>aditestitem5</ID><Name>aditestitem5createdforthisitem</Name><Code>aditestitem5</Code><Price>12.00</Price><SalePrice>10.00</SalePrice><ShipWeight>1.00</ShipWeight><Orderable>Yes</Orderable><Taxable>No</Taxable></Item></ItemList></Catalog></ResponseResourceList></ystorews:ystorewsResponse>

Yahoo!MerchantSolutions–CatalogAPI(Beta)•v.1.0,October18,2011 42

4.ErrorMessagesErrorcode Message10400 Youhavemadeaninvalidrequest,oramandatorytagismissingfromyour

request.10009 Authorizationrequired.10010 Accessdenied.10011 TheHTTPmethodyouhaveattemptedisnotallowed.10500 Aninternalerrorhasoccurred.10401 Themandatorytag%sismissingfromyourXMLrequest.10402 Thetag%sappearsmultipletimesinyourXMLrequest.10403 Theinputfortag%siseitheraninvalidvalueorusesanincorrectformat.10006 Anerroroccurredwhilecommunicatingwiththestore%s.Thisstoreisnot

online.Pleasetryyourrequestagain,orcontactthestoreowneriftheerrorpersists.

10600 ThemaximumnumberofStoreEditororCatalogManagerprocesseshasbeenreached,andyourrequestcannotbeperformedatthistime.Pleasetryyourrequestagainlater.

10601 YourStoreEditoriscurrentlypublishing.Whilethispublishisinprogress,youcannotusetheCatalogAPI.Oncepublishingiscomplete,youmaycontinuetouseit.

10602 AnactioninStoreEditororCatalogManageriscurrentlyinprogress,andmaytakeanextendedperiodoftimetocomplete.YourAPIcallmaybequeued.TocheckonthestatusofyourAPIcall,pleasewaitforaperiodoftimeandperforma"get"request.

20000 Item%screatedsuccessfully.20001 Item%screatedsuccessfully.Thefollowingattribute(s)werenotaddedtothe

item,astheydonotbelongtothespecifiedtable:%s.20010 YourrequestforitemID%sismissingthefollowingrequiredattribute(s):%s.20011 Thetablename%sisinvalidfortheitemID%s.20012 Tableerror.TheitemID%scannotbeaddedtothetable%s,becausethetable

doesnotcontaintherequireddata(noattributesfoundforthetable).Pleaseaddtheitemtoadifferenttable.

20013 Invalidadditemrequest.Theitem%salreadyexistsinthisstore.20014 YourrequestcontainsoneormoreinvalidattributesforitemID%s.30010 Nomatchingitemswerefound.40000 Item%supdatedsuccessfully.40011 Attributescouldnotbeupdatedforitem%s.Yourupdatesincludeachangeto

thepriceorsale‐priceattribute,andquantitypricingappliestothisitem.40012 Notallattributeswereupdatedforitem%s.Thefollowingattribute(s)werenot

updated:%s.40013 Item%scouldnotbeupdated.Thisitemdoesnotexistinyourproductcatalog.50000 Item%shasbeendeleted.50010 Unabletodeleteitem%s.Pleasecheckthatthisitemexistsinyourstore.