bulkMigrateListing
<p><strong>POST</strong> / bulk_migrate_listing</p>
<p>此调用用于将现有eBay列表转换为相应的Inventory API对象。如果eBay列表成功迁移到Inventory API模型,则会创建新的Inventory List,Inventory Item和Offer对象。对于成功迁移的多变体列表,除了刚才提到的三个新的Inventory API对象之外,还将创建一个Inventory Item Group对象。如果易趣物品清单是具有兼容车辆清单的汽车零件或配件清单(Trading API的添加/修改/重新安置/验证呼叫中的ItemCompatibilityList容器),则将创建产品兼容性对象。</p>
<p><strong>迁移要求</strong></p>
<p>要符合迁移条件,有效的易趣物品必须符合以下要求:</p>
<ul>
<li>清单类型是固定价格</li>
<li>上市持续时间为'GTC'(好'直到取消)</li>
<li>列表中的项目必须具有与其关联的卖方定义的SKU值,并且在多变体列表的情况下,每个产品变体还必须具有其自己的SKU值</li>
<li>商家政策(付款,退货政策和运输)必须在商家信息中使用,因为旧的付款,退货政策和送货字段将不被接受。使用与列表关联的付款政策,必须启用即时付款要求,并且唯一接受的付款方式应为PayPal</li>
<li>必须在列表中设置邮政/邮政编码(Trading的ItemType中的PostalCode字段)或城市(Trading的ItemType中的Location字段); 此国家/地区也是必需的,但此值在Trading API中是必需的,因此将始终为每个商家信息设置此值</li>
</ul>
<p><strong>不受支持的列表功能</strong></p>
<p>以下功能尚未通过Inventory API设置或修改,但即使在成功迁移到Inventory模型后,它们仍将保留在活动的eBay列表中。这样做的缺点是,一旦迁移发生,卖方将完全阻止(在API或我的易趣中)修改这些功能/设置:</p>
<ul>
<li>最佳优惠设置,包括最佳优惠自动接受和自动拒绝价格阈值</li>
<li>任何列表级买方要求</li>
<li>销售收入的慈善捐款</li>
<li>列表设计模板应用于列表</li>
<li>列出增强功能,例如粗体列表标题或Gallery Plus</li>
<li>列在两个类别(次要类别)</li>
</ul>
<h6>调用</h6>
<p>在bulkMigrateListings调用的请求有效负载中,卖方将传入一到五个eBay列表ID(也称为项ID)的数组。为了节省时间和麻烦,卖方应对每个列表进行预先检查,以确保这些列表符合要迁移到新库存模型的要求。此调用没有路径或查询参数。</p>
<h6>调用响应</h6>
<p>如果eBay列表成功迁移到新的Inventory模型,将发生以下情况:
将为列表中的项目创建Inventory Item对象,并且可以通过Inventory API访问此对象
将为列表创建Offer对象,并且可以通过Inventory API访问此对象
将创建库存位置对象并与Offer对象关联,因为库存位置必须与已发布的商品关联
Bulk Migrate Listings调用的响应有效负载将显示每个列表迁移的结果。这些结果包括HTTP状态代码,用于指示每个列表迁移的成功或失败,与每个项目关联的SKU值,以及迁移是否成功,即提供ID值。SKU值将在Inventory API中用于管理Inventory Item对象,Offer ID值将在Inventory API中用于管理Offer对象。将针对尝试迁移发生错误和/或警告的每个列表返回错误和/或警告容器。</p>
<p>如果成功迁移多变量列表以及商品和库存地点对象,则将为商品中的每个商品变体创建库存物品对象,并且还将创建库存物料组对象,将这些变体分组在一起Inventory API平台。对于具有指定的兼容车辆列表的汽车零件或配件列表,除了创建的库存项目,库存位置和商品对象之外,还将在库存API平台中创建产品兼容性对象。</p>
<h5>Input</h5>
<h6>Resource URI (production)</h6>
<p><strong>POST</strong> <a href="https://api.ebay.com/sell/inventory/v1/bulk_migrate_listing">https://api.ebay.com/sell/inventory/v1/bulk_migrate_listing</a></p>
<h6>URI parameters</h6>
<p>This method has no URI parameters.</p>
<h6>HTTP request headers</h6>
<p>对eBay REST操作发出的所有请求都要求您提供授权 HTTP标头以进行身份验证授权。
此外,此方法要求您包含Content-Type标头,其值应设置为“ application / json ”。请参阅<a href="http://developer.ebay.com/devzone/rest/ebay-rest/content/rest-request-components.html#HTTP" title="HTTP请求标头">HTTP请求标头</a>- 打开其余请求组件页面以获取详细信息</p>
<h6>OAuth范围</h6>
<p>此请求需要使用<a href="https://developer.ebay.com/api-docs/static/oauth-authorization-code-grant.html" title="授权代码授权">授权代码授权</a>流创建的访问令牌,使用以下列表中的一个范围:</p>
<p><a href="https://api.ebay.com/oauth/api_scope/sell.inventory">https://api.ebay.com/oauth/api_scope/sell.inventory</a></p>
<p>有关详细信息,请参阅<a href="https://developer.ebay.com/api-docs/static/oauth-tokens.html" title="OAuth访问令牌">OAuth访问令牌</a>。</p>
<h6>Request payload</h6>
<pre><code class="language-json">{
"requests": [
{
"listingId": "string"
}
]
}</code></pre>
<h6>Request fields</h6>
<table>
<thead>
<tr>
<th>Input container/field</th>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td>requests</td>
<td>array of MigrateListing</td>
<td>这是bulkMigrateListings请求有效内容的基本容器。此容器中将包含一到五个eBay列表。发生:必需</td>
</tr>
<tr>
<td>requests.listingId</td>
<td>string</td>
<td>要迁移到新Inventory模型的eBay列表的唯一标识符。在Trading API中,此字段称为ItemID。此处可在单独的listingId字段中指定最多五个唯一的易趣物品清单。卖方应确保这些列表中的每一个都符合本“呼叫参考”页面顶部所述的要求。发生:必需</td>
</tr>
</tbody>
</table>
<h5>Output</h5>
<h6>HTTP response headers</h6>
<p>This call has no response headers.</p>
<h6>Response payload</h6>
<pre><code class="language-json">{
"responses": [
{
"statusCode": "integer",
"listingId": "string",
"inventoryItemGroupKey": "string",
"marketplaceId": "MarketplaceEnum : [EBAY_US,EBAY_MOTORS,EBAY_CA,EBAY_GB,EBAY_AU,EBAY_AT,EBAY_BE_FR,EBAY_FR,EBAY_DE,EBAY_IT,EBAY_BE_NL,EBAY_NL,EBAY_ES,EBAY_CH,EBAY_TW,EBAY_CZ,EBAY_DK,EBAY_FI,EBAY_GR,EBAY_HK,EBAY_HU,EBAY_IN,EBAY_ID,EBAY_IE,EBAY_IL,EBAY_MY,EBAY_NZ,EBAY_NO,EBAY_PH,EBAY_PL,EBAY_PT,EBAY_PR,EBAY_RU,EBAY_SG,EBAY_ZA,EBAY_SE,EBAY_TH,EBAY_VN,EBAY_CN,EBAY_PE,EBAY_CA_FR,EBAY_JP]",
"inventoryItems": [
{
"sku": "string",
"offerId": "string"
}
],
"errors": [
{
"errorId": "integer",
"domain": "string",
"subdomain": "string",
"category": "string",
"message": "string",
"parameters": [
{
"value": "string",
"name": "string"
}
],
"longMessage": "string",
"inputRefIds": [
"string"
],
"outputRefIds": [
"string"
]
}
],
"warnings": [
{
"errorId": "integer",
"domain": "string",
"subdomain": "string",
"category": "string",
"message": "string",
"parameters": [
{
"value": "string",
"name": "string"
}
],
"longMessage": "string",
"inputRefIds": [
"string"
],
"outputRefIds": [
"string"
]
}
]
}
]
}</code></pre>
<h6>Response fields</h6>
<table>
<thead>
<tr>
<th>Output container/field</th>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td>responses</td>
<td>array of PriceQuantityResponse</td>
<td>此容器将返回正在更新的每个商品/库存商品的HTTP状态代码,商品ID和SKU值,以及在尝试更新这些商品/库存商品时触发任何错误或警告时的错误和/或警告容器。发生:总是</td>
</tr>
<tr>
<td>responses.statusCode</td>
<td>integer</td>
<td>此容器中返回的值将指示尝试更新商品的价格和/或数量(在相应的offerId字段中指定)或尝试更新库存的总“发货到库”数量的状态item(在相应的sku字段中指定)。要成功更新商品或库存商品记录,200将在此字段中显示值。对于不成功的尝试,400将在此字段中显示值。发生:总是</td>
</tr>
<tr>
<td>responses.errors</td>
<td>array of ErrorDetailV3</td>
<td>如果有一个或多个与商品或库存商品记录更新相关的错误,则将返回此容器。发生:有条件的</td>
</tr>
<tr>
<td>responses.errors.errorId</td>
<td>integer</td>
<td>唯一代码,用于标识发生的特定错误或警告。您的应用程序可以在自定义错误处理算法中使用错误代码作为标识符。发生:有条件的</td>
</tr>
<tr>
<td>responses.errors.domain</td>
<td>string</td>
<td>发生错误或警告的域的名称。发生:有条件的</td>
</tr>
<tr>
<td>responses.errors.subdomain</td>
<td>string</td>
<td>发生错误或警告的子域的名称。发生:有条件的</td>
</tr>
<tr>
<td>responses.errors.category</td>
<td>string</td>
<td>此字符串值表示错误类别。有三类错误:请求错误,应用程序错误和系统错误。发生:有条件的</td>
</tr>
<tr>
<td>responses.errors.message</td>
<td>string</td>
<td>导致错误或警告的条件的描述。发生:有条件的</td>
</tr>
<tr>
<td>responses.errors.parameters</td>
<td>array of ErrorParameterV3</td>
<td>各种警告和错误消息返回一个或多个变量,这些变量包含有关错误或警告的上下文信息。这通常是触发错误或警告的字段或值。发生:有条件的</td>
</tr>
<tr>
<td>responses.errors.parameters.value</td>
<td>string</td>
<td>这是为name字段中指定的元素传递的实际值。发生:有条件的</td>
</tr>
<tr>
<td>responses.errors.parameters.name</td>
<td>string</td>
<td>这是导致调用请求出现问题的输入字段的名称。发生:有条件的</td>
</tr>
<tr>
<td>responses.errors.longMessage</td>
<td>string</td>
<td>导致错误或警告的条件的详细说明,以及有关如何解决问题的信息。发生:有条件的</td>
</tr>
<tr>
<td>responses.errors.inputRefIds</td>
<td>array of string</td>
<td>一个或多个引用ID的数组,用于标识与错误或警告关联最密切的特定请求元素(如果有)。发生:有条件的</td>
</tr>
<tr>
<td>responses.errors.outputRefIds</td>
<td>array of string</td>
<td>一个或多个引用ID的数组,用于标识与错误或警告关系最密切的特定响应元素(如果有)。发生:有条件的</td>
</tr>
<tr>
<td>responses.warnings</td>
<td>array of ErrorDetailV3</td>
<td>如果有一个或多个警告与商品或库存商品记录的更新相关联,则将返回此容器。发生:有条件的</td>
</tr>
<tr>
<td>responses.warnings.errorId</td>
<td>integer</td>
<td>唯一代码,用于标识发生的特定错误或警告。您的应用程序可以在自定义错误处理算法中使用错误代码作为标识符。发生:有条件的</td>
</tr>
<tr>
<td>responses.warnings.domain</td>
<td>string</td>
<td>发生错误或警告的域的名称。发生:有条件的</td>
</tr>
<tr>
<td>responses.warnings.subdomain</td>
<td>string</td>
<td>发生错误或警告的子域的名称。发生:有条件的</td>
</tr>
<tr>
<td>responses.warnings.category</td>
<td>string</td>
<td>此字符串值表示错误类别。有三类错误:请求错误,应用程序错误和系统错误。发生:有条件的</td>
</tr>
<tr>
<td>responses.warnings.message</td>
<td>string</td>
<td>导致错误或警告的条件的描述。发生:有条件的</td>
</tr>
<tr>
<td>responses.warnings.parameters</td>
<td>array of ErrorParameterV3</td>
<td>各种警告和错误消息返回一个或多个变量,这些变量包含有关错误或警告的上下文信息。这通常是触发错误或警告的字段或值。发生:有条件的</td>
</tr>
<tr>
<td>responses.warnings.parameters.value</td>
<td>string</td>
<td>这是为name字段中指定的元素传递的实际值。发生:有条件的</td>
</tr>
<tr>
<td>responses.warnings.parameters.name</td>
<td>string</td>
<td>这是导致调用请求出现问题的输入字段的名称。发生:有条件的</td>
</tr>
<tr>
<td>responses.warnings.longMessage</td>
<td>string</td>
<td>导致错误或警告的条件的详细说明,以及有关如何解决问题的信息。发生:有条件的</td>
</tr>
<tr>
<td>responses.warnings.inputRefIds</td>
<td>array of string</td>
<td>一个或多个引用ID的数组,用于标识与错误或警告关联最密切的特定请求元素(如果有)。发生:有条件的</td>
</tr>
<tr>
<td>responses.warnings.outputRefIds</td>
<td>array of string</td>
<td>一个或多个引用ID的数组,用于标识与错误或警告关系最密切的特定响应元素(如果有)。发生:有条件的</td>
</tr>
</tbody>
</table>
<p><strong>HTTP状态代码</strong>
此调用可以返回以下HTTP状态代码之一。状态代码的概述,请参阅<a href="https://developer.ebay.com/api-docs/static/rest-response-components.html#HTTP" title="HTTP状态代码">HTTP状态代码</a>在使用eBay RESTful API中。</p>
<table>
<thead>
<tr>
<th>状态码</th>
<th>含义</th>
</tr>
</thead>
<tbody>
<tr>
<td>200</td>
<td>成功</td>
</tr>
<tr>
<td>207</td>
<td>多态</td>
</tr>
<tr>
<td>400</td>
<td>错误的请求</td>
</tr>
<tr>
<td>500</td>
<td>内部服务器错误</td>
</tr>
</tbody>
</table>
<p><strong>错误代码</strong>
有关错误的更多信息以及其他常见错误的代码,请参阅<a href="https://developer.ebay.com/api-docs/static/handling-error-messages.html" title="处理错误">处理错误</a>。</p>
<table>
<thead>
<tr>
<th>状态码</th>
<th>域</th>
<th>类别</th>
<th>含义</th>
</tr>
</thead>
<tbody>
<tr>
<td>25001</td>
<td>API_INVENTORY</td>
<td>应用</td>
<td>发生了系统错误。{附加信息}</td>
</tr>
<tr>
<td>25718</td>
<td>API_INVENTORY</td>
<td>请求</td>
<td>无法迁移列表。{附加信息}</td>
</tr>
</tbody>
</table>
<p><strong>示例</strong>
新的API调用?请参阅<a href="https://developer.ebay.com/api-docs/static/make-a-call.html" title="拨打电话">拨打电话</a>。</p>
<p>注意:这些样本中的标识符(例如订单ID或用户ID)和个人数据可能是匿名的,或者在eBay上可能不再有效。如有必要,请在您的请求中替换当前相关的eBay数据。</p>
<p>示例1:批量迁移列表
此调用会将三个活动的eBay列表迁移到新的Inventory模型。eBay列表将保持活动状态,并且将在Inventory API中创建新对象,以便可以使用Inventory API管理项目和相关商品。</p>
<h6>Input</h6>
<p>此呼叫将尝试更新eBay美国站点上的三个活动列表。此调用没有URL或查询参数,eBay列表ID(也称为项ID)在请求有效内容中的请求容器下传递。</p>
<p><strong>POST</strong>
<a href="https://api.ebay.com/sell/inventory/v1/bulk_migrate_listing">https://api.ebay.com/sell/inventory/v1/bulk_migrate_listing</a></p>
<pre><code class="language-json">{
"requests": [
{
"listingId": "160009220563"
},
{
"listingId": "160009220564"
},
{
"listingId": "160009220565"
}
]
}</code></pre>
<h6>Output</h6>
<p>正如您在输出中看到的那样,传递到请求有效负载的三个eBay列表ID有三种不同的结果。 </p>
<p>该160009220563列表实际上是一个多变量列表,并且根据statusCode值200以及没有任何错误或警告消息,所有四个产品变体都已成功迁移到新的Inventory模型。为四个SKU中的每一个创建了一个库存项目对象,这四个库存项目对象都将使用其SKU值进行标识。还为四个变体中的每一个创建了一个Offer对象,这四个Offer对象都将使用其offerId进行标识值。最后,为这组变体创建了一个Inventory Item Group对象,并且将使用其inventoryItemGroupKey值标识此对象- dress_shirt_3。 </p>
<p>该160009220564列表是单变体列表,并且基于statusCode值200以及没有任何错误或警告消息,此列表也已成功迁移到新的Inventory模型。为此SKU创建了Inventory Item对象,并且将使用其SKU值标识此Inventory Item对象。还为此列表创建了一个Offer对象,此Offer对象将使用offerId值进行标识。</p>
<p>试图迁移160009220565列表失败,如下所示statusCode值400,表示错误请求。该消息对场下的错误容器表示失败,因为易趣上市并没有明确的SKU值迁移。要解决此问题,卖方必须进行ReviseFixedPriceItem调用(Trading API)以将SKU值添加到列表中,然后卖方可以再次尝试迁移。</p>
<pre><code class="language-json">{
"responses": [
{
"statusCode": 200,
"listingId": "160009220563",
"inventoryItemGroupKey": "dress_shirt_3",
"marketplaceId": "EBAY_US",
"inventoryItems": [
{
"sku": "dress_shirt_3_v2",
"offerId": "5359900001"
},
{
"sku": "dress_shirt_3_v3",
"offerId": "5359899001"
},
{
"sku": "dress_shirt_3_v1",
"offerId": "5359901001"
},
{
"sku": "dress_shirt_3_v4",
"offerId": "5359902001"
}
]
},
{
"statusCode": 200,
"listingId": "160009220564",
"marketplaceId": "EBAY_US",
"inventoryItems": [
{
"sku": "dress_shirt",
"offerId": "5360726001"
}
]
},
{
"statusCode": 400,
"marketplaceId": "160009220565",
"errors": [
{
"errorId": 25001,
"domain": "API_INVENTORY",
"subdomain": "Selling",
"category": "REQUEST",
"message": "item sku cannot be null or empty."
"parameters": []
}
]
}
]
}</code></pre>