淘宝客订单API获取订单代码

Trade 数据结构

名称 类型 是否隐私 描述
seller_nick String Y
卖家昵称
buyer_nick String Y
买家昵称
title String Y
商品标题
type String Y
交易类型
refund_status String Y
退款状态.可选 值:WAIT_SELLER_AGREE(买家已经申请退款,等待卖家同意),WAIT_BUYER_RETURN_GOODS(卖家已经同意退款,等待 买家退货),WAIT_SELLER_CONFIRM_GOODS5(买家已经退货,等待卖家确认收货),CLOSED(退款关闭),SUCCESS(退 款成功),SELLER_REFUSE_BUYER(卖家拒绝退款),NO_REFUND(没有退款)
created Date Y
交易创建时间。格 式:yyyy-MM-dd HH:mm:ss
iid String Y
商品Item的id.可以通过 taobao.item.get获取详细的商品Item的信息
price String Y
商品价格。精确到2位小数;单 位:元。如:200.07,表示:200元7分
pic_path String Y
商品图片的绝对路径
num int Y
购买数量。取值范围:大于零的 整数
tid String Y
子订单id
buyer_message String Y
买家留言
sid String Y
物流Shipping的id
shipping_type String Y
创建交易时的物流方式(交易完 成前,物流方式有可能改变,但tc里的这个字段一直不变)。可选值:free(卖家承担运费),post(平邮),express(快 递),ems(EMS),virtual(虚拟物品)
alipay_no String Y
支付宝交易号
payment String Y
实付金额。精确到2位小数;单 位:元。如:200.07,表示:200元7分
discount_fee String Y
系统优惠金额。精确到2位小 数;单位:元。如:200.07,表示:200元7分
adjust_fee String Y
卖家优惠金额.格式 为:1.01;单位:元;精确到小数点后两位.
snapshot_url String Y
订单快照URL
status String Y
订单状态.可选 值:WAIT_BUYER_PAY(等待买家付款),WAIT_BUYER_CONFIRM_GOODS(卖家已发 货),WAIT_SELLER_SEND_GOODS(买家已付款),TRADE_FINISHED(交易成功),TRADE_CLOSED(交易关 闭),TRADE_CLOSED_BY_TAOBAO(交易被淘宝关闭),TRADE_NO_CREATE_PAY(没有创建外部交易(支付宝交 易)),OTHER(其他状态)
seller_rate Boolean Y
卖家是否已评价。可选 值:true(已评价),false(未评价)
buyer_rate Boolean Y
买家是否已评价。可选 值:true(已评价),false(未评价)
buyer_memo String Y
买家备注
seller_memo String Y
卖家备注
pay_time Date Y
付款时间。格式:yyyy- MM-dd HH:mm:ss
end_time Date Y
交易成功时间(更新交易状态为 成功的同时更新)/确认收货时间。格式:yyyy-MM-dd HH:mm:ss
modified Date Y
交易修改时间(用户对订单的操 作会更新此字段)。格式:yyyy-MM-dd HH:mm:ss
buyer_obtain_point_fee String Y
买家获得积分,返点的积分。格 式:100;单位:个
point_fee String Y
买家使用积分。格式:100; 单位:个.
real_point_fee String Y
买家实际使用积分。格 式:100;单位:个.
total_fee String Y
应付金额。精确到2位小数;单 位:元。如:200.07,表示:200元7分
post_fee String Y
邮费。精确到2位小数;单位: 元。如:200.07,表示:200元7分
buyer_alipay_no String Y
买家支付宝账号
receiver_name String Y
收货人的姓名
receiver_state String Y
收货人的所在省份
receiver_city String Y
收货人的所在城市
receiver_district String Y
收货人的所在地区
receiver_address String Y
收货人的详细地址
receiver_zip String Y
收货人的邮编
receiver_mobile String Y
收货人的手机号码
receiver_phone String Y
收货人的电话号码
consign_time Date Y
卖家发货时间。格 式:yyyy-MM-dd HH:mm:ss
buyer_email String Y
买家Email
commission_fee String Y
交易佣金。精确到2位小数;单 位:元。如:200.07,表示:200元7分
seller_alipay_no String Y
卖家支付宝账号
seller_mobile String Y
卖家手机
seller_phone String Y
卖家电话
seller_name String Y
卖家姓名
seller_email String Y
卖家Email
available_confirm_fee String Y
能够确认收货的实付款。精确到 2位小数;单位:元。如:200.07,表示:200元7分
has_postFee String Y
是否包含邮费。与 available_confirm_fee同时使用。可选值:true(包含),false(不包含)
received_payment String Y
卖家实际收到的支付宝打款金 额。精确到2位小数;单位:元。如:200.07,表示:200元7分
cod_fee String Y
货到付款服务费。精确到2位小 数;单位:元。如:200.07,表示:200元7分
timeout_action_time Date Y
订单超时到期时间。格 式:yyyy-MM-dd HH:mm:ss
orders Order[] Y
订单列表
sku_id String Y
商品的最小属性单元Sku的 id.可以通过APItaobao.item.sku.get获取详细的Sku信息
sku_properties_name String Y
sku的值。如:机身颜色:黑 色;手机套餐:官方标配
item_meal_name String Y
套餐的值。如:M8原装电池: 便携支架:M8专用座充:莫凡保护袋
outer_iid String Y
商家外部编码(可与商家外部系 统对接).外部商家自己定义的商品Item的id,可以通过APITaobao.fullitems.get获取 商品的Item的信息
outer_sku_id String Y
外部网店自己定义的Skuid

TaobaokeShop 数据结构

名称 类型 是否隐私 描述
user_id String N
店铺用户id
shop_title String N
店铺名称
click_url String N
店铺推广URL
shop_commission.rate String N
淘宝客店铺佣金比率

TaobaokeReportMember 数据结构

名称 类型 是否隐私 描述
app_key String Y
应用授权码
outer_code String Y
推广渠道
trade_id Long Y
淘宝交易号
pay_time Date Y
成交时间
pay_price Double Y
成交价格
auction_id Long Y
商品ID
auction_title String Y
商品标题
auction_number Long Y
商品成交数量
category_id Long Y
所购买商品的类目ID
category_name String Y
所购买商品的类目名称
shop_title String Y
店铺名称
discount Double Y
佣金比例
taoke_amount Double Y
用户获得的佣金




如何使用淘宝客API获取淘宝客订单 ,获取到订单后 ,将订单记录插入到 OenJWeb的淘宝客订单表 ,下面 是代码 :

 

package org.openjweb.core.taobao.service.impl;

import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.List;

import javax.servlet.http.HttpServletRequest;

import org.apache.log4j.Logger;
import org.openjweb.core.entity.CommUser;
import org.openjweb.core.service.IDBSupportService;
import org.openjweb.core.service.ServiceLocator;
import org.springframework.security.context.SecurityContextHolder;
import org.openjweb.core.service.BaseMasterDetailService;
import org.openjweb.core.taobao.entity.TaobaoTbkOrder;
import org.openjweb.core.taobao.service.ITaobaoTbkOrderService;
import org.openjweb.core.util.StringUtil;

import com.taobao.api.ApiException;
import com.taobao.api.DefaultTaobaoClient;
import com.taobao.api.TaobaoClient;
import com.taobao.api.domain.TaobaokeReportMember;
import com.taobao.api.request.TaobaokeReportGetRequest;
import com.taobao.api.response.TaobaokeReportGetResponse;

public class TaobaoTbkOrderServiceImpl extends BaseMasterDetailService
  implements ITaobaoTbkOrderService {
 private static final Logger logger = Logger
   .getLogger(TaobaoTbkOrderServiceImpl.class);

 public void getTBKOrder(String url, String appkey, String secret,
   String date,   HttpServletRequest request)
   throws Exception
 {
  url = ServiceLocator.getSysConfigService().getStringValueByParmName("tbkUrl");
  appkey =  ServiceLocator.getSysConfigService().getStringValueByParmName("tbkAppkey");
  secret =  ServiceLocator.getSysConfigService().getStringValueByParmName("tbkSecret");   
     TaobaoClient client = new DefaultTaobaoClient(url, appkey, secret);
  TaobaokeReportGetRequest req = new TaobaokeReportGetRequest();
  req.setFields("category_id,category_name,commission,commission_rate,item_num,item_title,num_iid,outer_code,pay_price,pay_time,real_pay_fee,seller_nick,shop_title,trade_id,trade_parent_id");
  req.setDate(date);
  
  logger.info("开始查询日期为:"+date+"的订单!");
  req.setPageSize(100L); // 每页返回结果数,默认是40条.最大每页100
  long pageNo = 1L;
  TaobaokeReportGetResponse response = null;
  IDBSupportService service = (IDBSupportService)ServiceLocator.getBean("IDBSupportService3");
  while(true)
  {
      //req.setPageNo(pageNo); // 当前页数.只能获取1-499页数据.
      response = client.execute(req);
      if(response!=null)
      {
       List<TaobaokeReportMember> orders = response.getTaobaokeReport().getTaobaokeReportMembers();
       if(orders==null||orders.size()==0)
       {
        logger.info("未找到订单,退出......");
        break;
       }
          //if (orders != null && orders.size() > 0) {
       for (int i = 0; i < orders.size(); i++) 
       {
        TaobaokeReportMember order = orders.get(i);
        //查询系统中是否已经有此订单商品,如果有,跳过,如果没有,则插入一条新记录
        String proCode = String.valueOf(order.getNumIid());//商品ID
        String orderId = String.valueOf(order.getTradeId());//交易号,即定单
        int count = Integer.parseInt(service.findSingleValueByHql("select count(*) from TaobaoTbkOrder where orderNo='"+orderId+"' and proCode='"+proCode+"'").toString());
        if(count>0)continue;//已经有则不插入
        TaobaoTbkOrder orderEnt = new TaobaoTbkOrder();
        orderEnt.setRowId(StringUtil.getUUID());
        orderEnt.setCreateDt(StringUtil.getCurrentDateTime());
        orderEnt.setUpdateDt(orderEnt.getCreateDt());
        orderEnt.setCreateUid("admin");
        orderEnt.setUpdateUid("admin");
        orderEnt.setProCode(proCode);
        orderEnt.setOrderNo(orderId);
        logger.info("支付时间:"+order.getPayTime().toString());
        String dt = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss") .format(order.getPayTime());
        orderEnt.setOrderDt(dt);//日期
        orderEnt.setStoreName(order.getSellerNick());//卖家昵称
        orderEnt.setStoreName2(order.getShopTitle());//店铺名称
        orderEnt.setYongjinRate(order.getCommissionRate());// 佣金比率
        orderEnt.setYongjinAmt(new Double(order.getCommission()));// 佣金金额
        orderEnt.setPurQty(new Double(String.valueOf(order.getItemNum())));// 购买数量
        orderEnt.setProName(order.getItemTitle());// 商品标题
        orderEnt.setUnitPrice(new Double(order.getPayPrice()));// 成交价格
        logger.info("实际成交额: ");
        logger.info(order.getRealPayFee());
        orderEnt.setOrderAmt(new Double(order.getRealPayFee()));//实际成交
        //orderEnt.setOrderStatus(order.get)
        //System.out.println(order.getCategoryId()); // 类目
        //System.out.println(order.getCategoryName());// 类目名称
        //System.out.println(order.getOuterCode());// 推广渠道
           //System.out.println(order.getPayTime()); // 支付时间 Sat Dec 22
     //System.out.println(order.getRealPayFee()); // 实际支付金额
        //System.out.println(order.getTradeParentId());// 淘宝父交易号
        service.saveOrUpdate(orderEnt);
       }
       pageNo++;
       req.setPageNo(pageNo);
      }
      else
      {
       logger.info("淘宝客获取订单,响应为空.....");
       throw new Exception ("淘宝客获取订单,响应为空.....");
        
       //break; //如果未获得相应,退出()
      }
  }
  

 }
}

 



阅读更多
想对作者说点什么?

博主推荐

换一批

没有更多推荐了,返回首页