/v2/providers/seller_api/apis/api/v1/marketplace/seller-products2609170000Product Creation (Rocket Growth & Rocket Growth/Marketplace Hybrid Products)
Summary
Product Creation (Rocket Growth & Rocket Growth/Marketplace Hybrid Products)
Details
Available buyer market: Korean
API to register products sold on Coupang.
In case of Rocket Growth product creation, to successfully call the API, first go to WING platform > seller information menu > additional information menu > "OPEN API key issuance" area and click "Agree to use and review criteria for Rocket Growth product creation API" on the right side to consent and then use.
If you use the Marketplace product creation API, you can create Rocket Growth products or Rocket Growth & Marketplace hybrid products with the same endpoint, but you must use the new schema in this document. You can refer to the green text for the parameters added/changed in the existing product creation API. If you add a Rocket Growth product to an existing Marketplace product, you can add it using the product modification API.
In order to create a product, you must include information such as shipping/return locations, category, koshi info, option info that complies to Coupang's guides.
Please download the product registration guide below for further details:
Download Coupang OPENAPI Product Registration Guide
Path
Example endpoint
https://api-gateway.coupang.com/v2/providers/seller_api/apis/api/v1/marketplace/seller-productsURL API Name
Request body
Request parameters
Body parameter
| Name | Type | Description | ||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| object | ||||||||||||||||||||||||||
| O O | object[] | Display category code Check by either using category list query API or downloading the category info excel. displayCategoryCode ※ If you do not enter the displayCategoryCode, click here for the category auto matching service. | ||||||||||||||||||||||||
| sellerProductName* | string | Product name for registration Product name used for PO. max length: 100 characters | ||||||||||||||||||||||||
| vendorId* | string | VendorID Unique code issued to vendor by Coupang. Can be found in Wing after log-in. | ||||||||||||||||||||||||
| saleStartedAt* | string | Starting date of sales "yyyy-MM-dd'T'HH:mm:ss" format | ||||||||||||||||||||||||
| saleEndedAt* | string | Ending date of sales "yyyy-MM-dd'T'HH:mm:ss" format, *can input long period of up to 2099. | ||||||||||||||||||||||||
| displayProductName | string | Product name for display Actual product name to be displayed on Coupang product detail page. [brand]+[generalProductName] format is encouraged. Product can still be registered with this field left empty. If left empty, either [brand]+[generalProductName] or [sellerProductName] format will be displayed instead. max length: 100 characters | ||||||||||||||||||||||||
| brand | string | Brand Input the official brand name in Korean/ English with no space in between and no special characters. | ||||||||||||||||||||||||
| brandId | string | Brand ID associated with the product. Returned when brand information exists.
| ||||||||||||||||||||||||
| generalProductName | string | Product name Product name without buying option[Attribute exposed] info (e.g., size, color, etc.). Model name can be added. | ||||||||||||||||||||||||
| productGroup | string | Product category Represents the product type. You may refer to display category's final leaf category name. No need to input this if identical with product name [generalProductName]. | ||||||||||||||||||||||||
| marketplaceShippingAndReturnInfo | object | Delivery and return information is required for creating Marketplace items. As for Rocket Growth, Coupang delivers and receive returns and hence this information may be null for creating Rocket Growth listing only.
| ||||||||||||||||||||||||
| deliveryMethod* marketplaceShippingAndReturnInfo.deliveryMethod | string | Delivery method
| ||||||||||||||||||||||||
| deliveryCompanyCode* marketplaceShippingAndReturnInfo.deliveryCompanyCode | string | Courier code link for courier code | ||||||||||||||||||||||||
| deliveryChargeType* marketplaceShippingAndReturnInfo.deliveryChargeType | string | Delivery fee type
set up amount for initial shipping fee on return (one-way)[deliveryChargeOnReturn] and return shipping fee (one-way)[returnCharge] ● For paid delivery: set up amount for standard shipping fee[deliveryCharge] and return shipping fee (one-way) ● For conditional free delivery: set up amount for standard shipping fee and return shipping fee (one-way) ● For fee on arrival: Categories applicable for fee on arrival are predefined and shared with seller support center to guide vendors. ※ For [CONDITIONAL_FREE], you may freely set a conditional amount.
| ||||||||||||||||||||||||
| deliveryCharge* marketplaceShippingAndReturnInfo.deliveryCharge | number | Standard delivery fee Input one-way delivery fee amount for paid delivery and conditional free delivery. | ||||||||||||||||||||||||
| freeShipOverAmount* marketplaceShippingAndReturnInfo.freeShipOverAmount | number | Conditional amount for free delivery ● Ex) if you want to set condition of at least 10,000 won for free delivery, set [deliveryChargeType] to 'CONDITIONAL_FREE' and input 10000 for [freeShipOverAmount]. ※ can only input in 100 won units or more ※ input 0 for free delivery | ||||||||||||||||||||||||
| deliveryChargeOnReturn* marketplaceShippingAndReturnInfo.deliveryChargeOnReturn | number | Initial shipping fee on return Shipping fee paid by customer for free delivery return. | ||||||||||||||||||||||||
| remoteAreaDeliverable* marketplaceShippingAndReturnInfo.remoteAreaDeliverable | string | Remote area delivery possible or not
| ||||||||||||||||||||||||
| unionDeliveryType* marketplaceShippingAndReturnInfo.unionDeliveryType | string | Bundled delivery possible or not
shipping location info mandatory (only products with same shipping location can be bundled delivered). Cannot block paid on arrival option.
| ||||||||||||||||||||||||
| returnCenterCode* marketplaceShippingAndReturnInfo.returnCenterCode | string | Return location center code Extract and input return location center code after creating return location. ● return location can be created through WING or return location creation API. ● if you are unable to create return location, input "NO_RETURN_CENTERCODE" to manually add return location info. ※ Auto return integration service (Goodsflow) is available only if you have a contracted courier. Return location center code is mandatory. ※ For overseas shipping, you must input Korean return location address and the contracted courier code to generate return location center code. *overseas shipping return location guide (Click) | ||||||||||||||||||||||||
| returnChargeName* marketplaceShippingAndReturnInfo.returnChargeName | string | Return location name Check on Coupang Wing or by registering return location through Return location query API. 'query return location and input display value of shippingPlaceName' | ||||||||||||||||||||||||
| companyContactNumber* marketplaceShippingAndReturnInfo.companyContactNumber | string | Return location contact number Check on Coupang Wing or by registering return location through Return location query API | ||||||||||||||||||||||||
| returnZipCode* marketplaceShippingAndReturnInfo.returnZipCode | string | Return location postal code Check on Coupang Wing or by registering return location through return location query API | ||||||||||||||||||||||||
| returnAddress* marketplaceShippingAndReturnInfo.returnAddress | string | Return location address Check on Coupang Wing or by registering return location through return location query API | ||||||||||||||||||||||||
| returnAddressDetail* marketplaceShippingAndReturnInfo.returnAddressDetail | string | Return location detail address Check on Coupang Wing or by registering Return location through return location query API | ||||||||||||||||||||||||
| returnCharge* marketplaceShippingAndReturnInfo.returnCharge | number | Return shipping fee One-way delivery fee for picking up return. *can only input value 100%-150% of initial shipping fee on return. | ||||||||||||||||||||||||
| outboundShippingPlaceCode* marketplaceShippingAndReturnInfo.outboundShippingPlaceCode | number | Shipping location address code Mandatory when selecting bundled delivery. Check by using shipping location query API. When selecting Overseas Purchasing Agency (AGENT_BUY), only overseas addresses can be entered. | ||||||||||||||||||||||||
| vendorUserId* | string | Actual user ID (Coupang Wing ID) User ID affiliated to the vendor. | ||||||||||||||||||||||||
| requested* | boolean | Request for automatic approval or not Choose auto approve or not when registering a product ● false : only save the uploaded contents and do not request for approval yet. (To start selling an item, you must request for sales through Wing or product approval request API) ● true : save and automatically request approval for sales | ||||||||||||||||||||||||
| items* | object[] | Vendor item option list Can add up to max 200 options. | ||||||||||||||||||||||||
| itemName* items[].itemName | string | Vendor item option name Input for each item so that there is no overlap. This is not the option name displayed on the site and may change depending on the buying option. max length: 150 characters | ||||||||||||||||||||||||
| maximumBuyForPerson* items[].maximumBuyForPerson | number | Max order quantity per person Maximum quantity a person can order for that product. input '0' if no limit needs to be applied. ex) if max order quantity per person is set to 100 and max order quantity period is set at 3, then one person can buy maximum 100 for 3 days total. | ||||||||||||||||||||||||
| maximumBuyForPersonPeriod* items[].maximumBuyForPersonPeriod | number | Max order quantity period Time period for the max order quantity limit. input '1' if no time period needs to be applied. ex) if max order quantity per person is set to 100 and max order quantity period is set at 3, then one person can buy maximum 100 for 3 days total. | ||||||||||||||||||||||||
| outboundShippingTimeDay* items[].outboundShippingTimeDay | number | Outbound shipping days (day) input how many days after the order date (D-day) will the order be outbounded. ex) input '1' if outbound is the next day (D+1) | ||||||||||||||||||||||||
| unitCount* items[].unitCount | number | Unit count Input the number of units included in product. Then, (sale price ÷ unit count) will be calculated to display (price per 1 unit, #,000 won). Input '0' for products that don't need unit price. | ||||||||||||||||||||||||
| adultOnly* items[].adultOnly | string | 19 or older
| ||||||||||||||||||||||||
| taxType* items[].taxType | string | Taxable or not
| ||||||||||||||||||||||||
| parallelImported* items[].parallelImported | string | Parallel import or not
| ||||||||||||||||||||||||
| overseasPurchased* items[].overseasPurchased | string | Overseas purchasing agency or not
| ||||||||||||||||||||||||
| pccNeeded* items[].pccNeeded | boolean | PCC(personal customs clearance code) required or not In the case of overseas purchasing agency(AGENT_BUY), the product PCC must be entered as true.
| ||||||||||||||||||||||||
| Key items[].pccNeeded.Key | string | Value
| ||||||||||||||||||||||||
| certifications items[].certifications | object[] | Product certification info Product certification info | ||||||||||||||||||||||||
| certificationType items[].certifications[].certificationType | string | Certification info type Use Category meta data querying API to find the right type. For categories that do not require certification: NOT_REQUIRED | ||||||||||||||||||||||||
| certificationCode items[].certifications[].certificationCode | string | Certification info code Code issued by certification authority. | ||||||||||||||||||||||||
| certificationAttachments items[].certifications[].certificationAttachments | object[] | Certification info attachments The key of Map is fixed with below two and there is only one of them is needed:
Note: for registering mobile phone with category (displayCategoryCode = 62600, Consumer Electronics>Cell Phone/Tablet PC/Accessories>Cell Phone/Tablet PC>Cell Phone>Unregistered Phones), you can upload below files by setting image url in the attachments.
| ||||||||||||||||||||||||
| searchTags items[].searchTags | object[] | Keywords Can repeatedly input as much as needed. ["keyword1","keyword2"] Can input max 20 keywords with each max length of 20 characters. Cannot enter special characters aside from !@#$%^&*-+;:’. | ||||||||||||||||||||||||
| images* items[].images | object[] | Image list Can input repeatedly as much as needed. | ||||||||||||||||||||||||
| imageOrder* items[].images[].imageOrder | number | Image display order 0,1,2... | ||||||||||||||||||||||||
| imageType* items[].images[].imageType | string | Image type Representative image type Can upload square image under 3MB in JPG and PNG format (min 500 x 500px, max 5000 x 5000px) ● Mandatory REPRESENTATION : square main image ● Optional DETAIL : other images (can upload max 9 images) USED_PRODUCT: used item condition image (can upload max 4 images) | ||||||||||||||||||||||||
| cdnPath* items[].images[].cdnPath | string | Coupang CDN path Directly input if uploaded to Coupang CDN. At least one of vendorPath or cdnPath is required. max length: 200 characters | ||||||||||||||||||||||||
| vendorPath* items[].images[].vendorPath | string | Vendor image path Image path used by vendor. If path begins with http://, it will be automatically downloaded and added to Coupang CDN. At least one of vendorPath or cdnPath is required. Only 80, 443 port image path can be used. max length: 200 characters | ||||||||||||||||||||||||
| notices items[].notices | object[] | Display info list Can check and choose necessary display info by using Category meta data query API or the All categories list excel file. | ||||||||||||||||||||||||
| noticeCategoryName items[].notices[].noticeCategoryName | string | Display info category name Input one of the product display info category for each category. Can check and choose necessary display info by using Category meta data query API or the All categories list excel file. | ||||||||||||||||||||||||
| noticeCategoryDetailName items[].notices[].noticeCategoryDetailName | string | Display info category detail name
| ||||||||||||||||||||||||
| content items[].notices[].content | string | Content
| ||||||||||||||||||||||||
| attributes* items[].attributes | object[] | Option list (attributes) Object to input option list as predefined by each category level. Can input as many buying options as needed. Cannot be added if all values of buying option (attribute exposed) are the same. Mandatory to input at least one value. For attributes you don't prefer to input, either remove from attributes list or enter and send attributeValueName as "". | ||||||||||||||||||||||||
| attributeTypeName* items[].attributes[].attributeTypeName | string | Option type name Can check and select the appropriate option type name by either using Category meta data query API or All category list excel file. max length: 25 characters | ||||||||||||||||||||||||
| attributeValueName* items[].attributes[].attributeValueName | string | Option value Input unit and the value corresponding to option type name [attributeTypeName] Ex) "200ml" max length: 30 characters | ||||||||||||||||||||||||
| contents* items[].contents | object[] | Contents list Can input repeatedly as much as needed. | ||||||||||||||||||||||||
| contentsType* items[].contents[].contentsType | string | Contents type
| ||||||||||||||||||||||||
| contentDetails* items[].contents[].contentDetails | object[] | Detail content list
| ||||||||||||||||||||||||
| content* items[].contents[].contentDetails[].content | string | Content
| ||||||||||||||||||||||||
| detailType* items[].contents[].contentDetails[].detailType | string | Detailed type
| ||||||||||||||||||||||||
| offerCondition items[].offerCondition | string | Product condition Cannot change offerCondition once product is created. Can choose from below values based on display category code. If left empty, it will be handled as NEW.
| ||||||||||||||||||||||||
| offerDescription items[].offerDescription | string | Used item detailed description Describe condition of used item, max 700 characters. Can only write when offerCondition is entered as used. | ||||||||||||||||||||||||
| rocketGrowthItemData* items[].rocketGrowthItemData | object | All parameters of this object are required, except external VendorSku, ModelNo. If requesting sku creation of Rocket Growth items or for both Rocket Growth and Marketplace items. If the request is for creating Marketplace item only, these parameters should be null.
| ||||||||||||||||||||||||
| barcode items[].rocketGrowthItemData.barcode | string | Barcode Valid standard product code attached to product. Below cases are considered valid barcode:
| ||||||||||||||||||||||||
| emptyBarcodeReason items[].rocketGrowthItemData.emptyBarcodeReason | string | Reason for no barcode max length: 100 characters If you would like to generate Coupang generated barcode, provide “AUTO_GENERATED” as reason | ||||||||||||||||||||||||
| emptyBarcode items[].rocketGrowthItemData.emptyBarcode | boolean | If sku information will be provided through Create Product API, barcode should be provided as required information
| ||||||||||||||||||||||||
| externalVendorSku items[].rocketGrowthItemData.externalVendorSku | string | Vendor product code (vendor SKU code) Can arbitrarily set vendor's unique item code value. This value will be included in PO query API response. May be passed as null | ||||||||||||||||||||||||
| modelNo items[].rocketGrowthItemData.modelNo | string | Model Number May be passed as null | ||||||||||||||||||||||||
| priceData* items[].rocketGrowthItemData.priceData | object | |||||||||||||||||||||||||
| originalPrice* items[].rocketGrowthItemData.priceData.originalPrice | number | Original base price for discount (list price) Price before discount that is used to calculate discount rate (%). If same price with sale price is inputted, it will be displayed as "Coupang price". use [change option level original base price] API to change this post-approval. | ||||||||||||||||||||||||
| salePrice* items[].rocketGrowthItemData.priceData.salePrice | number | Sale price Input sale price. During "initial" product registration, sale price can only be entered before product approval request. Once approved, sale price can be changed through [change option level price] API. | ||||||||||||||||||||||||
| skuInfo items[].rocketGrowthItemData.skuInfo | object | This is an optional object when requesting item creation. These information may be provided during item creation or when creating inbound(currently this service is available on Wing). If chosen to provide sku information during item creation, all parameters under this object are required and partial information will lead to error. If you decide to provide skuInfo, “additionalInformationForRocketGrowth” > “rfmInboundName” item is a required information. If skuInfo has values and no “rfmInboundName” it will lead to error. | ||||||||||||||||||||||||
| fragile items[].rocketGrowthItemData.skuInfo.fragile | boolean | Whether it is a fragile product true or false
| ||||||||||||||||||||||||
| weight items[].rocketGrowthItemData.skuInfo.weight | number | The default weight unit is g.
| ||||||||||||||||||||||||
| netWeight items[].rocketGrowthItemData.skuInfo.netWeight | number | The default unit of net weight is g.
| ||||||||||||||||||||||||
| width items[].rocketGrowthItemData.skuInfo.width | number | The default unit of width is mm.
| ||||||||||||||||||||||||
| length items[].rocketGrowthItemData.skuInfo.length | number | The default unit of length is mm.
| ||||||||||||||||||||||||
| height items[].rocketGrowthItemData.skuInfo.height | number | Height, the default unit is mm.
| ||||||||||||||||||||||||
| quantityPerBox items[].rocketGrowthItemData.skuInfo.quantityPerBox | number | quantityPerBox should be 1 for Rocket Growth all the time.
| ||||||||||||||||||||||||
| distributionPeriod items[].rocketGrowthItemData.skuInfo.distributionPeriod | number | Distribution period(in days) which should indicate that the product needs to be consumed within. This field is required for categories where “isExpirationDateRequiredForRocketGrowth = true” according to Category Metadata Query API
| ||||||||||||||||||||||||
| expiredAtManaged items[].rocketGrowthItemData.skuInfo.expiredAtManaged | boolean | True if when we have distributionPeriod > 0 False if distributionPeriod = 0 | ||||||||||||||||||||||||
| marketplaceItemData* items[].marketplaceItemData | object | Parameters of this object are required if requesting creation of Marketplace items or for both Rocket Growth and Marketplace items. If the request is for creating Rocket Growth item only, these parameters should be null.
| ||||||||||||||||||||||||
| externalVendorSku items[].marketplaceItemData.externalVendorSku | string | Vendor product code (vendor SKU code) Can arbitrarily set vendor's unique item code value. This value will be included in PO query API response. | ||||||||||||||||||||||||
| maximumBuyCount items[].marketplaceItemData.maximumBuyCount | number | Quantity available for sale Input inventory quantity available for sale. During "initial" product registration, available inventory can only be entered before product approval request. Once approved, available inventory count can be changed through [change option level quantity] API. max value: 99999 | ||||||||||||||||||||||||
| modelNo items[].marketplaceItemData.modelNo | string | Model Number
| ||||||||||||||||||||||||
| emptyBarcode items[].marketplaceItemData.emptyBarcode | boolean | No barcode True when there is no barcode | ||||||||||||||||||||||||
| barcode items[].marketplaceItemData.barcode | string | Barcode Valid standard product code attached to product. | ||||||||||||||||||||||||
| emptyBarcodeReason items[].marketplaceItemData.emptyBarcodeReason | string | Reason for no barcode max length: 100 characters | ||||||||||||||||||||||||
| priceData* items[].marketplaceItemData.priceData | object | |||||||||||||||||||||||||
| originalPrice* items[].marketplaceItemData.priceData.originalPrice | number | Original base price for discount (list price) Price before discount that is used to calculate discount rate (%). If same price with sale price is inputted, it will be displayed as "Coupang price". use [change option level original base price] API to change this post-approval. | ||||||||||||||||||||||||
| salePrice* items[].marketplaceItemData.priceData.salePrice | number | Sale price Input sale price. During "initial" product registration, sale price can only be entered before product approval request. Once approved, sale price can be changed through [change option level price] API. | ||||||||||||||||||||||||
| requiredDocuments | object[] | Input if required documents are mandatory Can input doc with file size up to 5MB (PDF, HWP, DOC, DOCX, TXT, PNG, JPG, JPEG) | ||||||||||||||||||||||||
| templateName requiredDocuments[].templateName | string | Required document template name Can check through Category meta data querying API | ||||||||||||||||||||||||
| documentPath requiredDocuments[].documentPath | string | Required document Coupang CDN path At least one of documentPath or vendorDocumentPath is required. max length: 150 characters | ||||||||||||||||||||||||
| vendorDocumentPath requiredDocuments[].vendorDocumentPath | string | Required document vendor path If required document path starts with http://, then it will be automatically downloaded and added to Coupang CDN. At least one of documentPath or vendorDocumentPath is required. max length: 150 characters | ||||||||||||||||||||||||
| extraInfoMessage | string | Message with information on made to orders. Message to be displayed when customers select delivery type "made to order". | ||||||||||||||||||||||||
| manufacture | string | Manufacturer If cannot input exact manufacturer info, then input same info as [brand]. | ||||||||||||||||||||||||
| additionalInformationForRocketGrowth* | object | |||||||||||||||||||||||||
| rfmInboundName additionalInformationForRocketGrowth.rfmInboundName | string | This field indicates the Rocket Growth logistics information name as part of inbounding information. If you decide to provide “skuInfo”, this is a required information. If skuInfo has values and no “rfmInboundName” it will lead to error. | ||||||||||||||||||||||||
| legalAgreement* additionalInformationForRocketGrowth.legalAgreement | string | This field indicates the Rocket Growth legal agreement for handling Rocket Growth products. Any value for this key other than "AGREE" would result in error. All Rocket Growth item creation requires consent information on policy. See the policy below.
|
Response body
Response message
| Name | Type | Description |
|---|---|---|
| code | string | result code SUCCES/ERROR |
| message | string | message
|
| data | integer | registered product ID =sellerProductId |
Response Example
"code": "SUCCESS"Error codes
| HTTP | Code | Message |
|---|---|---|
| -- | ||