ebay api开发
因公司项目需求,要进行ebay api开发,网上很多资料已过时,自己记录一下。
准备工作
一、注册账号
1开发者账号注册
https://developer.ebay.com/signin?return_to=%2FDevZone%2Faccount%2F
2ebay有专门的测试环境,可以注册买家和卖家的账号和pp账号
买家和卖家沙盒账号注册,由于要进行交易,起码要注册两个账号,一个买家和一个卖家
https://developer.ebay.com/DevZone/SandboxUser/
3注册paypal账号
https://www.paypal.com/c2/webapps/mpp/account-selection
先注册一个正式的pp账号,然后进行邮箱验证,再访问pp的api链接
https://developer.paypal.com/developer/accounts/
在这里可以随便创建多个pp沙盒测试账号
二、ebay和paypal api链接
Ebay中文api: http://www.ebay.cn/developer/api/
eBay批量接口:https://developer.ebay.com/DevZone/bulk-data-exchange/CallRef/index.html
Ebay api: http://developer.ebay.com/DevZone/XML/docs/Reference/eBay/index.html
Ebay skd下载地址: https://go.developer.ebay.com/javasdk
Ebay api测试: https://developer.ebay.com/my/api_test_tool?index=0
Paypal api: https://developer.paypal.com/
三、ebay开发
1登陆ebay开发者账号,创建一个应用(Application Keys)
2卖家账号对应用进行授权,获得token,才可以对账号进行操作,前期可在开发者账号登录ebay账号进行授权,后期可以通过api开发直接获得账号授权。
3获取账号授权token后,可以下载对应开发方言的sdk进行进行开发,我用java进行开发,下载java sdk,解压后,将lib目录下的三个ebay jar包导入项目,并且将lib\externalLib下的jar包导入项目,如果是maven工程,也可以将他的helloworld依赖包导入
在sdk samples目录下,有很多例子,可以通过它的例子进行你需要的功能开发,将helloworld项目导入,输入你的tokoen和apiserverurl,沙盒环境url为
https://api.sandbox.ebay.com/wsapi
正式环境url为
拉取订单api方法为getOrdres,发货api是completeSale,具体可以看demo例子
Ebay订单发货,如果订单地址和paypal是址不同,要以paypal地址为准,所以还要拉取paypal地址
拉取paypal地址,可以下载paypal sdk,地址为
https://developer.paypal.com/docs/classic/api/nvpsoap-sdks/
进行paypal开发,要先拿到paypal的签名,登录paypal账号,
拿到api Username,api Password和Signature,可以把sdk下的merchantsample项目导入eclipse或者ide,打开com.sample.util. Configuration类下,设置你的api信息,并把web项目运行起来
输入transaction ID,则可以查询账单信息,transaction ID,可以在order的api获取
//订单交易信息
ExternalTransactionType[] ettArr = order.getExternalTransaction();
for(int e=0;e<ettArr.length;e++){
ExternalTransactionType ett = ettArr[e];
String etId = ett.getExternalTransactionID();
-----------------针对ebay 接口封Ip,调用返回慢的方案----------
在批量接口没有测试好的情况下,调用ebay接口处理大量数据的方案
1.目前每小时31万的处理量:是158个海外香港服务器上部署的服务 + 120 个借调国内新服务上部署的服务 共同完成的;31万=158+120=278个服务
2.发布可以采取 AAA 控制台应用+Program.main 调用需启动的任务,发布生成可执行安装包,快速安装到需要的服务器,丢弃之前复杂的部署方法;
158个海外服务器上部署的服务 + 120 个借调新服务器(跑完这几天的数据,各自部署的记得释放):
1. 海外服务器:158服务开启 ,采集频率是60秒一次,每次获取50个 itemid 做为一批 6线程
服务_ 海外1
2. 借用服务器:120个服务,
A:3台服务器 * 5份服务
B:3台服务器 * 5份服务
C:12台堡垒机 * 5份服务;
D:8台服务器 * 5份服务
---测试网络-------
tracert -d 目的地址
跟着路由,看ip是否相同
tracert -d api.ebay.com
tracert -d baidu.com
hosts 122.228.23.252 api.ebay.com