如何查看淘宝开放平台文档

主要类别为:

这里以API文档为例,以下是所有阿里系下软件的API文档

这里博主以机票API为说明:

一:先看适用范围,区别有 是否收费、是否授权、是否聚石塔限制

二:请求的基础目标URL

三:怎么去请求目标URL

注意这个SDK下载中的内容按照自己开通的类目有关,内容是不一样的

开放平台-文档中心-SDK下载

四:怎么对接淘宝推送过来的消息代码,记得导入SDK后使用

package com.example.jxls;

import com.alibaba.fastjson.JSON;
import com.taobao.api.ApiException;
import com.taobao.api.DefaultTaobaoClient;
import com.taobao.api.TaobaoClient;
import com.taobao.api.internal.tmc.Message;
import com.taobao.api.internal.tmc.MessageHandler;
import com.taobao.api.internal.tmc.MessageStatus;
import com.taobao.api.internal.tmc.TmcClient;
import com.taobao.api.internal.toplink.LinkException;
import com.taobao.api.request.TmcUserGetRequest;
import com.taobao.api.request.TmcUserPermitRequest;
import com.taobao.api.response.TmcUserGetResponse;
import com.taobao.api.response.TmcUserPermitResponse;

/**
 * @program: jxls
 * @description:
 * @author: jcl
 * @create: 2025-04-02 11:32
 **/
public class testflyPig {
    public static void main(String[] args) throws ApiException, LinkException, InterruptedException {
        String url = "http://gw.api.taobao.com/router/rest";
        String appkey = "********";
        String secret = "*************";
        String sessionKey = "*******";
        TmcClient client = new TmcClient(appkey, secret, "default"); // 关于default参考消息分组说明
        client.setQueueSize(1000);  //被推送的缓冲队列 不要设置太大 避免堆积过久 导致未即时处理 导致雪崩重发
        client.setThreadCount(Math.max(1, Runtime.getRuntime().availableProcessors() - 1)); //处理消息线程数

        client.setMessageHandler(new MessageHandler() {
            public void onMessage(Message message, MessageStatus status) {
                // 注意处理时间耗时, 收到消息后若阻塞1分钟仍未处理完毕(当前onMessage函数未执行完毕), 将导致确认超时, 会导致重发消息, 请根据处理tps设置分组流控!
                // 注意日志级别 主动打些日志 避免收到消息而不能断定是否收到了消息
                System.out.println("receiveMsg " + message.getTopic() + " " + message.getContent() );

                try {
                    // todo 业务处理
                    // xxxxxx
                } catch (Exception e) {
                    // todo 自行记录异常信息  !!! 重要 避免排查为什么消息不确认 大部分场景是isv代码逻辑抛出异常了
                    System.out.println(e.getMessage());
                    e.printStackTrace();

                    // todo 若希望这条消息等会再重发一次过来 则标记消息消费失败  约6分钟后重新加入消费队列待消费
                    // status.fail(e.getMessage()); // 标记消息消费失败

                    // 重试注意:不是所有的异常都需要系统重试。
                    // 对于字段不全、主键冲突问题,导致写DB异常,不可重试,否则消息会一直重发
                    // 对于,由于网络问题,权限问题导致的失败,可重试。
                    // 重试时间 6分钟不等,不要滥用,否则会引起雪崩
                }
            }
        });
        //连接失败时会抛出异常, 请不要捕获, 避免未连接而不知晓, 第一次启动成功后, 后续断开会自动重连
        client.connect("ws://mc.api.taobao.com");
        //        todo 请关注当前client需要消费消息的环境  各个环境消息隔离 但分组配置公用
        //        , "ws://premc.api.taobao.com/"    // 预发环境 测试环境
        //        , "ws://mc.api.taobao.com/"       // 生产环境 线上环境
        System.out.println("tmc-client信息 client:" + JSON.toJSONString(client));
        System.out.println("api调用地址 getApiUrl: " + client.getApiUrl());
        System.out.println("tmc-client 在线状态 isOnline: " + client.isOnline());
        //连接正常时 注意tmcClient实例 不能被销毁 (对象回收机制)
        if(client.isOnline()) {
            Thread.sleep(Long.MAX_VALUE);
        }
    }

    private static void get(String url, String appkey, String secret) throws ApiException {
        TaobaoClient client = new DefaultTaobaoClient(url, appkey, secret);
        TmcUserGetRequest req = new TmcUserGetRequest();
        req.setFields("user_nick,topics,user_id,is_valid,created,modified");
        req.setNick("testnick");
        req.setUserPlatform("tbUIC");
        TmcUserGetResponse rsp = client.execute(req);
        System.out.println(rsp.getBody());
    }

    private static void permit(String url, String appkey, String secret, String sessionKey) throws ApiException {
        TaobaoClient client = new DefaultTaobaoClient(url, appkey, secret);
        TmcUserPermitRequest req = new TmcUserPermitRequest();
        req.setTopics("taobao_trade_TradeCreate,taobao_refund_RefundCreate");
        TmcUserPermitResponse rsp = null;
        rsp = client.execute(req, sessionKey);
        System.out.println(rsp.getBody());
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值