首页 > 开发文档 > 数据同步服务

数据同步服务

1.概述

许多卖家和ISV在采用API获取订单、商品、退款等主要的信息的时候,由于网络、服务器、开发技术水平等影响,常常会出现数据重复、数据漏单或者是获取不了数据的现象,这使得卖家尤其是在应对大促的时候束手无策,只能眼睁睁的看着生意溜走或者被投诉,如何才能让卖家再也不用为这些事情烦恼呢?云鼎推出了数据同步服务,通过使用云鼎中的云数据库,实现将京东的交易、商品、退款等主要数据直接实时、准确地推送给用户,让用户再也不用为这些数据而烦恼!

2.数据同步服务使用

申请须知

1.数据同步服务支持宙斯平台订单数据推送到云鼎RDS数据库中,RDS数据库只支持包年包月购买的Mysql数据库

2.订单推送服务更适用订单处理类服务(如ERP、订单管理等)

3.开通申请审核预计1~3个工作日

4.数据同步服务只支持华北-北京区域

 

2.1.     数据同步服务开通

ISV服务商/自研商家向商务运营人员申请开通数据同步服务权限。

申请开通数据同悄功能,请发邮件至:JCloud-YD@jd.com邮箱;

业务场景:(需注明场景)

申请原因:(需注明理由)

申请人信息:

用户PIN

公司名称

appkey

应用名称

应用简介

联系人

联系电话

邮箱

申请原因

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

审核周期:1~3个工作日

2.2.     数据同步服务设置

数据同步服务权限开通后,您可在数据推送服务页面进行服务配置,该页面可以设置推送的数据库实例、设置同步内容、管理商家,开启、关闭推送,详细如下描述。

注意:启用服务时,要求数据库实例大于等于1、商家数大于等于1,才能启用成功,否则启用失败。

2.2.1.    设置数据库

设置同步到哪个数据库实例,选择同步的实例名称右箭头添加

设置中:

设置完成:

2.2.2.    设置同步内容

用户可以自定义系统推送的目及返回字段。

点击设置同步内容后弹出编窗口,选中需要推送的数据,点击确定。

设置中:

设置完成:

2.2.3.    设置同步商家

点击管理商家,进入商家列表页,点击【添加商家】按钮后弹出添加窗口,选择实例名称,输入商家ID,点击确定完成。

设置中:

设置完成:

2.2.4.    开启/关闭推送服务

1.     点击【开启推送】按钮后,该服务启用,按钮变为关闭推送;

2.     点击【关闭推送】按钮后,该服务停止,按钮变为开启推送。


2.3. 数据同步服务表结构

数据同步服务数据推送到默认库jcloud_yunding_db_push,该库中包含交易yd_pop_order等表。数据推送表结构设计为:关键字段+Text大字段,其中关键字段的命名和API返回字段是一致的。业务字段增加,只增加到Text大字段里。而关键字段一旦确定,就不会再改变。

1.      表名称:yd_pop_order

2.       表结构如下

序号

名称

数据类型

可否为空

总长度

描述

1

vender_id

bigint

不可以

 

商家ID

2

pushModified

datetime

可以

 

数据推送的修改时间

3

pin

varchar

可以

50

开发者PIN

4

orderId

bigint

不可以

 

订单Id

5

state

varchar

可以

50

订单状态

6

orderType

varchar

可以

10

订单类型

7

created

datetime

可以

 

交易创建时间

8

modified

datetime

可以

 

交易修改时间

9

pushCreated

datetime

可以

 

数据推送的创建时间

10

responseJson

text

可以

 

API返回的整个JSON字符串

(参看jingdong.pop.order.get

11

hashcode

varchar

可以

128

用来做数据校验的字段

12

version

varchar

不可以

128

订单版本


3. 返回示例

{
"chineseErrCode": "",
"englishErrCode": "",
"numberCode": ,
"success":
},
"orderInfo": {
"balanceUsed": "",
"consigneeInfo": {
"city": "",
"cityId": "",
"county": "",
"countyId": "",
"fullAddress": "",
"fullname":
"mobile": "",
"province": "",
"provinceId": "",
"telephone": "",
"town": "",
"townId": ""
},
"couponDetailList": [
{

}
],
"deliveryType": "",
"freightPrice": "",
"invoiceInfo": "",
"itemInfoList": [
{
"giftPoint": "",
"itemTotal": "",
"jdPrice": "",
"outerSkuId": "",
"productNo": "",
"skuId": "",
"skuName": "",
"wareId": ""
}
],
"logisticsId": "",
"modified": "",
"orderEndTime": "",
"orderId": "",
"orderPayment": "",
"orderRemark": "",
"orderSellerPrice": "",
"orderSign": "",
"orderSource": "",
"orderStartTime": "",
"orderState": "",
"orderStateRemark": "",
"orderTotalPrice": "",
"orderType": "",
"outBoundDate": "",
"payType": "",
"paymentConfirmTime": "",
"pin": "",
"returnOrder": "",
"sellerDiscount": "",
"storeOrder": "",
"venderId": "",
"venderRemark": "",
"waybill": ""
}
}

3. 云鼎数据推送接口使用说明

以下部分内部引用京东云SDK使用说明https://github.com/jdcloud-api/jdcloud-sdk-java

 

3.1. 环境准备

1.京东云Java SDK适用于jdk7及以上版本.

2.在开始调用京东云open API之前, 需提前在京东云用户中心账户管理下的AccessKey管理页面申请accesskeysecretKey密钥对(简称AK/SK.AK/SK信息请妥善保管, 如果遗失可能会造成非法用户使用此信息操作您在云上的资源, 给你造成数据和财产损失.

3.商家的vender_id可以通过JOS API获取,详见:https://open.jd.com/home/home#/doc/api?apiCateId=88&apiId=493&apiName=jingdong.seller.vender.info.get

3.2. SDK使用方法

如果您使用Apache Maven来管理Java项目, 只需在项目的pom.xml文件加入相应的依赖项即可, 如下所示:

<dependency>
<groupId>com.jdcloud.sdk</groupId>
<artifactId>yundingdatapush</artifactId>
<version>1.0.2</version>
</dependency>

目前云鼎数据推送SDK版本为1.0.2

3.3. 调用SDK

Java SDK的调用主要分为4步:

1.设置accessKeysecretKey

2.创建Client

3.设置请求参数

4.执行请求得到响应

以下为查询已经开通的用户的调用示例:

public class YundingdatapushClientExample {

public static void main(String[] args) {

// 1.设置accessKey和secretKey
String accessKeyId = "{accessKey}";
String secretAccessKey = "{secretKey}";
CredentialsProvider credentialsProvider = new StaticCredentialsProvider(accessKeyId, secretAccessKey);

// 2.创建YundingdatapushClient
YundingdatapushClient client = YundingdatapushClient.builder()
.credentialsProvider(credentialsProvider)
.httpRequestConfig(new HttpRequestConfig.Builder().protocol(Protocol.HTTPS).build()) //默认为HTTPS
.build();

// 3.设置请求参数
DescribeDatapushVendersRequest request = new DescribeDatapushVendersRequest();
request.setAppkey("{appkey(JOS应用唯一标识)}");

// 4.执行请求得到响应
DescribeDatapushVendersResponse response = client.describeDatapushVenders(request);

// 5.处理响应
System.out.println(new Gson().toJson(response));

}

}

3.4.    接口说明

目前云鼎数据推送SDK支持以下4个接口:

接口名称

请求方式

功能描述

addDatapushVender

POST

添加数据推送用户

deleteDatapushVender

DELETE

删除数据推送用户

describeDatapushVenders

GET

查询已经开通的用户

describeRdsInstances

GET

查询开通数据推送的数据库实例

3.4.1.   添加数据推送用户(addDatapushVender)

请求参数

名称

类型

是否必需

默认值

描述

datapushVender

Vender

True

添加/删除数据推送用户对象

Vender

名称

类型

是否必需

默认值

描述

appkey

String

True

appkey

ydRdsInstanceId

String

True

云鼎数据库实例ID

venderId

String

True

商家ID

返回参数

名称

类型

描述

requestId

String

返回码

返回码

描述

200

OK

400

Invalid parameter

401

Authentication failed

404

Not found

500

Internal server error

503

Service unavailable


3.4.2. 删除数据推送用户(deleteDatapushVender)

请求参数

名称

类型

是否必需

默认值

描述

appkey

String

True

appkey

ydRdsInstanceId

String

True

云鼎数据库实例ID

venderId

String

True

商家ID

返回参数

名称

类型

描述

requestId

String

返回码

返回码

描述

200

OK

400

Invalid parameter

401

Authentication failed

404

Not found

500

Internal server error

503

Service unavailable

3.4.3. 查询已经开通的用户(describeDatapushVenders)

请求参数

名称

类型

是否必需

默认值

描述

appkey

String

True

appkey

pageNumber

Integer

False

1

页码

pageSize

Integer

False

20

页大小

ydRdsInstanceId

String

False

云鼎数据库实例ID

rdsInstanceName

String

False

数据库实例名称

venderId

String

False

商家ID

venderName

String

False

店铺名称

返回参数

名称

类型

描述

result

Result

requestId

String

Result

名称

类型

描述

venders

Vender[]


Vender

名称

类型

描述

appkey

String

appkey

ydRdsInstanceId

String

云鼎数据库实例ID

venderId

String

商家ID

venderName

String

店铺名称

返回码

返回码

描述

200

OK

400

Invalid parameter

401

Authentication failed

404

Not found

500

Internal server error

503

Service unavailable

3.4.4.   查询开通数据推送的数据库实例(describeRdsInstances)

请求参数

名称

类型

是否必需

默认值

描述

appkey

String

True

appkey

返回参数

名称

类型

描述

result

Result

requestId

String

Result

名称

类型

描述

venders

RdsInstance[]

RdsInstance

名称

类型

描述

instanceId

String

RDS实例ID

regionId

String

地域

vpcId

String

所属私有网络ID

vpcName

String

所属私有网络名称

instanceName

String

RDS实例名称

instanceStatus

String

RDS实例状态

instanceType

String

RDS实例类型

instanceClass

String

RDS实例规格

返回码

返回码

描述

200

OK

400

Invalid parameter

401

Authentication failed

404

Not found

500

Internal server error

503

Service unavailable