创建或更新产品和SKU
<p>[TOC]</p>
<p>你在网上商店(平台)卖东西,需要添加新产品或更新现有产品的信息,比如添加新的SKU(比如不同颜色或尺码的版本)或更新产品的描述和价格。当你完成这些操作后,Fruugo会把结果发送给你:</p>
<ul>
<li>
<p><strong>创建或更新</strong>:你可以通过Fruugo的系统来添加新产品或更新现有产品的信息。比如,你可能需要添加一个新的SKU(比如红色的中号T恤),或者更新产品的价格和描述。</p>
</li>
<li>
<p><strong>操作结果</strong>:一旦你完成了创建或更新操作,Fruugo会把结果发送到你之前设置好的Webhook端点。这个结果会以一个特殊的格式(MessageEnvelope对象)发送,里面包含了更新后的信息(SaveProductResponse)。</p>
</li>
<li><strong>Webhook端点</strong>:这是一个你指定的网址,Fruugo会自动向这个网址发送更新结果。这样你就可以在你的系统中接收到更新信息,并进行后续处理,比如更新你的库存记录或价格表。</li>
</ul>
<h1>请求</h1>
<h4>products>product</h4>
<table>
<thead>
<tr>
<th style="text-align: left;">字段</th>
<th style="text-align: left;">注释</th>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align: left;">productId</td>
<td style="text-align: left;">你自己的产品标识代码,当你在订单信息中看到它时能够识别。当SKU有多种选项(如颜色、尺码等)时,应使用相同的ProductId来将它们归为一组。</td>
</tr>
<tr>
<td style="text-align: left;">brand</td>
<td style="text-align: left;">是产品的品牌,比如“耐克”、“阿迪达斯”等</td>
</tr>
<tr>
<td style="text-align: left;">manufacturer</td>
<td style="text-align: left;">生产这个产品的公司或制造商的名字。有时候,一个品牌可能会由多个制造商生产</td>
</tr>
<tr>
<td style="text-align: left;">category</td>
<td style="text-align: left;">你希望产品被归类到的类别,比如“男士服装”、“电子产品”等。在Fruugo上,你需要使用他们提供的完整类别路径,这样系统才能准确地将产品分类,方便顾客找到,并且还能用于计算税收等。</td>
</tr>
</tbody>
</table>
<h4>products>skus</h4>
<table>
<thead>
<tr>
<th style="text-align: left;">字段</th>
<th style="text-align: left;">注释</th>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align: left;">skuId</td>
<td style="text-align: left;">如果产品有多个选项,SkuId唯一标识并区分每个选项。如果产品没有多个选项,SkuId可以与ProductId相同。每个ProductId和SkuId的组合必须是唯一的,不能在其他任何产品中重复。</td>
</tr>
<tr>
<td style="text-align: left;">gtins</td>
<td style="text-align: left;">这是一个数组,用来存储与SKU相关的全球贸易项目编号(GTINs)。GTIN是一种国际标准的产品标识符,比如条形码。如果这个SKU有对应的条形码,就可以在这里填写。</td>
</tr>
<tr>
<td style="text-align: left;">details</td>
<td style="text-align: left;">详情细节</td>
</tr>
<tr>
<td style="text-align: left;">supplyInfo</td>
<td style="text-align: left;">你需要知道每件商品的库存情况以及如何补充库存。supplyInfo就是用来记录这些信息的。</td>
</tr>
<tr>
<td style="text-align: left;">pricingInfo</td>
<td style="text-align: left;">SKU的价格信息。可以包括不同的价格类型,比如零售价、批发价、促销价等。</td>
</tr>
<tr>
<td style="text-align: left;">packageWeight</td>
<td style="text-align: left;">运输重量,以克为单位,没有小数点或单位测量。例如,190。</td>
</tr>
<tr>
<td style="text-align: left;">volume</td>
<td style="text-align: left;">SKU的体积,以立方厘米为单位。注意:体积信息可以提供,并将存储在Fruugo系统中,但目前不会使用。</td>
</tr>
</tbody>
</table>
<h4>products>skus>gtins</h4>
<table>
<thead>
<tr>
<th style="text-align: left;">字段</th>
<th style="text-align: left;">注释</th>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align: left;">codeType</td>
<td style="text-align: left;">比如"EAN"(欧洲商品编号)、"ISBN"(国际标准书号)、"UPC"(通用产品代码)等,这些是预定义的类型选项,你可以从中选择一个来表示你的产品代码是什么类型的。</td>
</tr>
<tr>
<td style="text-align: left;">code</td>
<td style="text-align: left;">这是实际代码,比如一个EAN条形码的数字</td>
</tr>
</tbody>
</table>
<h4>products>skus>details</h4>
<table>
<thead>
<tr>
<th style="text-align: left;">字段</th>
<th style="text-align: left;">注释</th>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align: left;">skuDescriptions</td>
<td style="text-align: left;">SKU的详细描述信息,可以多条信息</td>
</tr>
<tr>
<td style="text-align: left;">media</td>
<td style="text-align: left;">可能包括图片,视频等多媒体内容</td>
</tr>
</tbody>
</table>
<h4>products>skus>details>skuDescriptions</h4>
<table>
<thead>
<tr>
<th style="text-align: left;">字段</th>
<th style="text-align: left;">注释</th>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align: left;">language</td>
<td style="text-align: left;">翻译语言</td>
</tr>
<tr>
<td style="text-align: left;">title</td>
<td style="text-align: left;">标题</td>
</tr>
<tr>
<td style="text-align: left;">text</td>
<td style="text-align: left;">文本</td>
</tr>
<tr>
<td style="text-align: left;">attributes</td>
<td style="text-align: left;">属性,可以多条信息</td>
</tr>
</tbody>
</table>
<h4>products>skus>details>media</h4>
<table>
<thead>
<tr>
<th style="text-align: left;">字段</th>
<th style="text-align: left;">注释</th>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align: left;">description</td>
<td style="text-align: left;">描述</td>
</tr>
<tr>
<td style="text-align: left;">url</td>
<td style="text-align: left;">资源地址</td>
</tr>
<tr>
<td style="text-align: left;">type</td>
<td style="text-align: left;">类型,例如mp4,png</td>
</tr>
</tbody>
</table>
<h4>products>skus>supplyInfo</h4>
<table>
<thead>
<tr>
<th style="text-align: left;">字段</th>
<th style="text-align: left;">注释</th>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align: left;">stockStatus</td>
<td style="text-align: left;">库存状态,INSTOCK表示该SKU目前是有库存的,可以销售。BACKORDERED:产品目前缺货,但已预订。OUTOFSTOCK:产品目前缺货,但可能会再次有货。NOTAVAILABLE:产品永久缺货,需要移除。</td>
</tr>
<tr>
<td style="text-align: left;">stockQuantity</td>
<td style="text-align: left;">库存数量:这是一个数字,表示你手头有多少件这个产品。比如,如果你有50件T恤,那么stockQuantity就是50。默认值:如果你没有确切的库存数量,可以使用默认值。比如,对于有库存的产品,可以默认设置为100;对于缺货的产品,可以默认设置为0。如果你有库存INSTOCK,stockQuantity应该是一个正数,比如100。如果你没有库存OUTOFSTOCK,stockQuantity应该是0。限制:库存数量不能是负数或小数,因为这意味着你不可能有负数或部分的产品库存。</td>
</tr>
<tr>
<td style="text-align: left;">leadTime</td>
<td style="text-align: left;">天数范围:这个数字从1到99,表示你需要多少天才能发货。比如,如果leadTime是3,那么顾客下单后,你需要3天才能发货。适用情况:只有当产品是有库存的(INSTOCK)时,leadTime才有意义。它用来告诉顾客,虽然你有库存,但可能需要一些时间来准备发货。默认24小时:如果没有特别说明,通常默认发货时间为24小时。leadTime是用来表示超过这个默认时间的额外等待时间。</td>
</tr>
<tr>
<td style="text-align: left;">restockDate</td>
<td style="text-align: left;">日期格式:日期需要按照“年-月-日”的格式来写。比如,如果产品预计在2025年1月15日重新有货,那么restockDate就是“2025-01-15”。适用情况:只有当产品的库存状态是OUTOFSTOCK(缺货)时,restockDate才有意义。它帮助顾客了解他们需要等待多久才能购买到这个产品。作用:通过提供restockDate,你可以让顾客知道产品何时会再次可用,这样他们可以提前计划或在那天再来查看产品是否可以购买。</td>
</tr>
</tbody>
</table>
<h4>products>skus>pricingInfo</h4>
<table>
<thead>
<tr>
<th style="text-align: left;">字段</th>
<th style="text-align: left;">注释</th>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align: left;">vatRate</td>
<td style="text-align: left;">增值税率仅限欧盟,数值范围:从0到100,表示增值税率的百分比。比如,如果增值税率是20%,那么vatRate就是20。格式要求:可以是整数,也可以是最多两位小数的小数。比如,20.5%的增值税率可以表示为20.5。非欧盟国家:如果你在非欧盟国家销售商品,增值税不适用时,vatRate应设置为0</td>
</tr>
</tbody>
</table>
<p><em>增值税的原理
生产和销售过程中的税:假设你买了一件衣服,这件衣服从原材料到成品再到你手中,经过了多个环节,比如纺织、裁剪、缝制、运输等。每个环节都增加了衣服的价值,增值税就是对这些增加的价值征收的税。
税款由消费者承担:虽然增值税是由商家收取的,但最终是由消费者承担的。商家会在商品价格中加上增值税,然后把这部分税款交给政府。</em></p>
<table>
<thead>
<tr>
<th style="text-align: left;"></th>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align: left;">currency</td>
<td style="text-align: left;">currency就是用来告诉Fruugo你的商品价格是用哪种货币表示的。三位ISO代码:每种货币都有一个由三个字母组成的代码,比如美元是"USD",欧元是"EUR"。这些代码是国际标准,用来唯一标识每种货币。支持的货币:Fruugo支持多种货币,你可以选择其中一种来表示你的商品价格。比如,如果你在英国注册的商店,你可以选择"GBP"(英镑)。建议使用本币:为了方便管理和避免汇率波动带来的风险,建议你使用你注册国家的本币来设置商品价格。</td>
</tr>
<tr>
<td style="text-align: left;">country</td>
<td style="text-align: left;">两位ISO代码:每个国家都有一个由两个字母组成的代码,比如美国是"US",中国是"CN"。这些代码是国际标准,用来唯一标识每个国家。唯一性:在数组中,每个国家代码都是唯一的,不能重复。比如,如果你的商品可以销售到美国和英国,你的数组就是["US", "GB"]。支持的国家:Fruugo支持多个国家,你可以选择其中一些来表示你的商品可以销售到哪些国家。</td>
</tr>
<tr>
<td style="text-align: left;">normalPrice</td>
<td style="text-align: left;">顾客看到的就是这个价格 vatInclusive是否包含增值税</td>
</tr>
<tr>
<td style="text-align: left;">discountPrice</td>
<td style="text-align: left;">折扣价格,vatInclusive是否包含增值税,startDate(折扣开始日期)endDate(结束日期)</td>
</tr>
</tbody>
</table>