文档中心 > 解决方案

商品导购解决方案

更新时间:2023/07/07 访问次数:2478

场景说明

商家应用开放的商品导购能力,可实现商品信息查询,商品详情页跳转,商品收藏,打开购物车,商品sku展示能力,能够实现在小程序中直接完成商品交易的完整闭环。开始接入

可实现能力介绍

卖家商品查询

打开商品详情页

打开商品sku面板

打开购物车

商品收藏

查看交易记录

前置知识

小程序应用结构

小程序云服务

小程序API调用

标杆案例

image.pngimage.pngimage.png

接入流程图

相关API

API名称

API功能说明

依赖能力

my.authorize

获取用户授权,以获取用户信息

小程序-发起用户授权

taobao.items.onsale.get

获取当前商家在售商品列表

卖家商品查询

my.tb.openDetail

打开商品详情页

商家应用-打开商品详情页

my.tb.showSku

打开商品sku面板

商家应用-商品SKU选择器

my.tb.collectGoods

收藏商品

商家应用-商品收藏

my.tb.openCart

打开购物车

商家应用-打开购物车

taobao.open.trades.sold.get

查询商家近三个月的交易记录

查询订单信息(简版)

详细集成步骤

   1. 用户授权

     功能描述:获取用户授权,用户获取用户信息,是后面加购,收藏等接口调用的必要条件。该接口需要C端调用。

my.authorize({
  scopes: 'scope.userInfo',
  success: (res) => {
    my.alert({
    content: JSON.stringify(res),
  });
  },
});

2. 获取商品itemId

获取商品id有三种方式

第一种:让商家在千牛端配置需要投放到小程序的商品id,isv将商品id存储到自己的数据库,C端通过调服务端的接口获取

依赖能力:小程序云函数,云数据库

数据写入数据库,参考文档添加单条数据

从数据库中读取,参考文档查找记录

第二种:通过调卖家商品查询接口获取taobao.items.onsale.get

需要商家先在千牛端完成授权后才可调用

依赖能力:小程序云函数

exports.invokeTopApi = async (context) => {
  try {
    const result = await context.cloud.topApi.invoke({
      api : 'taobao.items.onsale.get',
      data : {
        'fields':'num_iid,title,price',
        'page_no':'1',
        'q':'商品标题'
      },  
      autoSession: true,

 });  
 return {  success: true,  data: result  };  
 } catch (e) {
  return {  success: false,  data: e  } 
 } 
};

第三种:直接在代码中固定的商品id

3. 打开商品详情页

功能描述:打开商品详情页,页面为官方业务,功能与店铺商品详情一致。可以加购和直接支付交易

     该接口需要C端调用。

 

my.tb.openDetail ({
  itemId: "576308890723",
  success: (res) => {
    my.alert({ content: "success" });
  },
  fail: (res) => {
    my.alert({ content: "fail - " + res.error });
  },
});

4. 显示sku面板

功能描述:显示商品的sku信息,可以直接完成加购或者支付交易。  该接口需要C端调用。

my.tb.showSku({  
   itemId: '544753431554',   
   success: (result) => {  
      // 这里把用户选中数据返回给业务方处理,会返回加购的itemId,skuId,数量
      my.showToast({  
        content: 'showSku ' + JSON.stringify(result)  
      });  
   } 
});

5. 商品收藏

功能描述:收藏商品  该接口需要C端调用。

依赖能力:商家应用-商品收藏

my.tb.collectGoods({
  id: 536027498869,
  success: (res) => {
    my.alert({ content: "success - " + JSON.stringify(res) })
  },
  fail: (res) => {
    my.alert({ content: "fail - " + JSON.stringify(res) })
  },
  complete: (res) => {
    my.alert({ content: "complete - " + JSON.stringify(res) })
  }
 })

 

6. 打开购物车

功能描述:从小程序跳转到手淘购物车。

my.tb.openCart({
  success: (res) => {
    console.log(res);
  },
  fail: (res) => {
   console.log(res);
  },
})

7.查看交易订单

功能描述:用户在小程序内收藏商品,跳转商品详情,打开sku面板后完成购买操作,可以使用埋点配合交易订单数据,验证应用的实际效果。

消费者端查看订单,常用于需要获取用户在当前店铺订单的场景

exports.invokeTopApi = async (context) => {
  try {
    const result = await context.cloud.topApi.invoke({
      api : 'taobao.open.trades.sold.get',
      data : {
        'fields':'tid,type,status,payment,orders,rx_audit_status,buyer_nick',
        'page_no':'1',
        'buyer_open_id':'xxxxxxx',
        'status':'TRADE_FINISHED'
      },  
      autoSession: true,

 });  
 return {  success: true,  data: result  };  
 } catch (e) {
  return {  success: false,  data: e  } 
 } 
};

商家端查看

exports.invokeTopApi = async (context) => {
  try {
    const result = await context.cloud.topApi.invoke({
      api : 'taobao.open.trades.sold.get',
      data : {
        'fields':'tid,type,status,payment,orders,rx_audit_status,buyer_nick',
        'page_no':'1',
        'buyer_open_id':'xxxxxxx',
        'status':'TRADE_FINISHED'
      }
 });  
 return {  success: true,  data: result  };  
 } catch (e) {
  return {  success: false,  data: e  } 
 } 
};

 

 

 

FAQ

关于此文档暂时还没有FAQ
返回
顶部