一、总概
1.1、通讯协议遵循 HTTP (1.0/1.1)
1.2、数据包装采用JSON,遵循RFC4627
非ASCII字符编码:UTF-8 (65001) 或者 \u转义
*特别提示,共有8个ASCII码采用x编码转义:
"(双引号) = \x22
\(反斜杠) = \x5C
/(斜杠) = \x2F
(换行符) = \x0A
(回车符) = \x0D
(制表符) = \x09 (罕用)
(退格符) = \x08 (极罕用)
(换页符) = \x0C (极罕用)
*POST数据,遵循上述编码规则,不进行URL_Encode(定义URL_ENCODE=1,强制URL_ENCODE)
1.3、接口API为:“/cgi-bin/EmsData.dll?DoApp”
1.4、接口请求方式为:POST
1.5、安全控制,MD5数字签名,绑定客户ID、客户密钥,通过与时间戳生成摘要码验证。
1.6、服务器程序配置:
EmsData.dll为IIS的筛选、扩展程序,与GInfo.dll同类,在配置GInfo.dll的系统上,配置该筛选器及扩展模块
EmsData.dll使用GInfo.dll的服务器安全配置参数。所以在GInfo配置并成功运行后,再简单添加EmsData.dll即可。
二、JSON命名规范
2.1、RequestName:发起请求名称,为请求方的第一个顶级成员名称,定义如下:
{"RequestName":"TimeStamp"}: *服务器时间戳获取,用于调试
{"RequestName":"GenerateMD5","cString":"1881405534421123xxxxxxxx"}: *获取MD5,用于调试
{"RequestName":"ClientInfo","icID":79,"TimeStamp":1405534421123,"MD5":"6c08ea4dff56d5a7a959c09f121c3c4f"}: 客户信息查询请求,成功返回完整的客户信息
{"RequestName":"PreInputSet","icID":79,"TimeStamp":1405534421123,"MD5":"6c08ea4dff56d5a7a959c09f121c3c4f",...}: 客户预录单数据写入(添加、修改)
{"RequestName":"PreInputDel","icID":79,"TimeStamp":1405534421123,"MD5":"6c08ea4dff56d5a7a959c09f121c3c4f",...}: 客户预录单数据删除
{"RequestName":"PreInputData","icID":79,"TimeStamp":1405534421123,"MD5":"6c08ea4dff56d5a7a959c09f121c3c4f",...}: 客户预录单数据单票查询,返回完整数据
{"RequestName":"PreInputDatab","icID":79,"TimeStamp":1405534421123,"MD5":"6c08ea4dff56d5a7a959c09f121c3c4f",...}: 客户预录单数据批量查询,返回完整数据
{"RequestName":"PreInputList","icID":79,"TimeStamp":1405534421123,"MD5":"6c08ea4dff56d5a7a959c09f121c3c4f",...}: 客户预录单数据列表查询
{"RequestName":"RecList","icID":79,"TimeStamp":1405534421123,"MD5":"6c08ea4dff56d5a7a959c09f121c3c4f",...}: 客户快递单数据列表查询
{"RequestName":"EmsKindList","icID":79,"TimeStamp":1405534421123,"MD5":"6c08ea4dff56d5a7a959c09f121c3c4f"}: 客户可见快递类别列表查询
{"RequestName":"FeeList","icID":79,"TimeStamp":1405534421123,"MD5":"6c08ea4dff56d5a7a959c09f121c3c4f",...}: 客户收款记录数据列表查询
{"RequestName":"PreInputTotal","icID":79,"TimeStamp":1405534421123,"MD5":"6c08ea4dff56d5a7a959c09f121c3c4f",...}: 客户预录单数据按留用串汇总
{"RequestName":"QueryPrice","icID":79,"TimeStamp":1405534421123,"MD5":"6c08ea4dff56d5a7a959c09f121c3c4f",...}: 客户价格(报价)查询
{"RequestName":"DoIDCardPicSet","icID":79,"TimeStamp":1405534421123,"MD5":"6c08ea4dff56d5a7a959c09f121c3c4f",...}:客户添加全名址记录及身份证图片数据
{"RequestName":"DoGetNo","icID":79,"TimeStamp":1405534421123,"MD5":"6c08ea4dff56d5a7a959c09f121c3c4f",...}: 客户获取运单号(预先提取)
{"RequestName":"VstGoodsList","icID":79,"TimeStamp":1405534421123,"MD5":"6c08ea4dff56d5a7a959c09f121c3c4f",...}: 客户储运物品库存信息列表
{"RequestName":"GetClientID","TimeStamp":1405534421123,"MD5":"6c08ea4dff56d5a7a959c09f121c3c4f",...}: 通过客户GInfo登入帐号密码,获取EMMis中的客户ID和密钥
*如下为转发打包操作*(ver:5.6),帮助参阅:help_api.txt
{"RequestName":"RecTransBagSet","icID":79,"TimeStamp":1405534421123,"MD5":"6c08ea4dff56d5a7a959c09f121c3c4f",...}: 转发打包数据添加
{"RequestName":"RecTransBagDel","icID":79,"TimeStamp":1405534421123,"MD5":"6c08ea4dff56d5a7a959c09f121c3c4f",...}: 转发打包数据删除
{"RequestName":"RecTransSet","icID":79,"TimeStamp":1405534421123,"MD5":"6c08ea4dff56d5a7a959c09f121c3c4f",...}: 转发预报到件数据添加
{"RequestName":"RecTransDel","icID":79,"TimeStamp":1405534421123,"MD5":"6c08ea4dff56d5a7a959c09f121c3c4f",...}: 转发预报到件数据删除
{"RequestName":"RecTransData","icID":79,"TimeStamp":1405534421123,"MD5":"6c08ea4dff56d5a7a959c09f121c3c4f",...}: 转发预报到件数据单票查询,返回完整数据
{"RequestName":"RecTransList","icID":79,"TimeStamp":1405534421123,"MD5":"6c08ea4dff56d5a7a959c09f121c3c4f",...}: 转发预报到件数据列表查询
{"RequestName":"RecTransBagList","icID":79,"TimeStamp":1405534421123,"MD5":"6c08ea4dff56d5a7a959c09f121c3c4f",...}: 转发打包数据列表查询
{"RequestName":"FeeAdd","icID":79,"TimeStamp":1405534421123,"MD5":"a0caf889cb4c05a5fe01827d5c4aeb72",...}: 客户收款记录数据添加,此为支付(充值)专用,使用EMMis中的pda密钥进行签名认证
{"RequestName":"DoSRIList","icID":79,"TimeStamp":1405534421123,"MD5":"6c08ea4dff56d5a7a959c09f121c3c4f",...}: 客户全名址记录数据列表查询
{"RequestName":"DoSRISet","icID":79,"TimeStamp":1405534421123,"MD5":"6c08ea4dff56d5a7a959c09f121c3c4f",...}: 客户全名址记录数据添加或修改
{"RequestName":"DoSRIDel","icID":79,"TimeStamp":1405534421123,"MD5":"6c08ea4dff56d5a7a959c09f121c3c4f",...}: 客户全名址记录数据记录删除
{"RequestName":"DoSRIData","icID":79,"TimeStamp":1405534421123,"MD5":"6c08ea4dff56d5a7a959c09f121c3c4f",...}: 客户全名址记录数据单条记录提取
{"RequestName":"RecDatab","icID":79,"TimeStamp":1405534421123,"MD5":"6c08ea4dff56d5a7a959c09f121c3c4f",...}: 客户业务单数据批量查询,返回完整数据
{"RequestName":"DoSRIFile","icID":79,"TimeStamp":1405534421123,"MD5":"6c08ea4dff56d5a7a959c09f121c3c4f",...}: 客户全名址记录关联文件数据(身份证图片)提取
2.1.2、几乎每一个请求都必须包含成员变量:icID、TimeStamp、MD5。
2.1.2.1、icID:客户在EMMis中建档时由系统生成的唯一整数值,同时还应该点击“客户API密钥”,为客户设置密钥(修改密钥通常需要重新启动www服务)
2.1.2.2、TimeStamp:时间戳,1970.1.1 0:0:0开始到请求时刻的毫秒数(UTC),13位整数。注意北京时间为东8区,需要调整时差。
2.1.2.3、MD5:数字签名,=MD5(icID+TimeStamp+客户密钥)
*比如客户密钥为“1234ABCD”,如上例程为:MD5("7914055344211231234ABCD")="306f241be2d5963f20be2966f9961f55"
2.1.2.4、MD5:加强的数字签名,=MD5(icID+TimeStamp+客户密钥+消息ID)
*比如客户密钥为“1234ABCD”,
请求数据为:{"RequestName":"RecList","icID":79,"TimeStamp":1405534421123,"cUniqueMsgID":"6d950424-032a-4ebd-832d-8d643e4f7d98","MD5":"f48b3bac260f5902b2aca9f8e59ebf77",...}
如上请求:MD5("7914055344211231234ABCD6d950424-032a-4ebd-832d-8d643e4f7d98")="f48b3bac260f5902b2aca9f8e59ebf77"
*消息ID字节长度:0-36字节,确保在一定的时间阀值内唯一!
2.2、ReturnValue:响应返回状态码,为响应方的第一个顶级成员名称,整数值,通用定义如下:
{"ReturnValue":0,...}: 没有结果或零处理
{"ReturnValue":1,...}: 大于零,结果数或处理记录数,为成功的标识
{"ReturnValue":-1,...}: 唯一性字段值重复,操作失败
{"ReturnValue":-2,...}: 记录不存在,操作失败
{"ReturnValue":-3,...}: 未提供必须的请求参数,操作失败
{"ReturnValue":-4,...}: 请求不支持,版本错误或请求未实现
{"ReturnValue":-5,...}: Json数据格式错误,未解析出"RequestName"
{"ReturnValue":-6,...}: Json数据格式错误,双引号(")配对异常
{"ReturnValue":-7,...}: 安全校验失败,不是配置的IP或数字签名错误
{"ReturnValue":-8,...}: 未获授权
{"ReturnValue":-9,...}: EmsData.dll程序错误,通常为数据库查询失败
{"ReturnValue":-999,...}: 超过并发线程极限,稍后再试!请控制并发请求数!
{"ReturnValue":-9999,...}: 数据库忙,稍后再试!
{"ReturnValue":-710,...}: icID 错误,未提供或小于1
{"ReturnValue":-711,...}: icID 错误,客户不存在或者未配置合法密钥
{"ReturnValue":-720,...}: TimeStamp 错误,超出了同步阈值
{"ReturnValue":-730,...}: MD5 错误,长度不是32字符
{"ReturnValue":-731,...}: MD5 错误,不匹配
{"ReturnValue":-732,...}: 消息ID(cUniqueMsgID)不唯一
{"ReturnValue":-733,...}: 消息ID(cUniqueMsgID)空 (系统配置必须提供时)
{"ReturnValue":-732,...}: 密钥少于4位,不合法
*负数值均为失败,更多的含义在具体的请求中定义。
2.3、记录字段命名采用类匈牙利命名法,第一个符号小写,为字段数据类型,名称实词首字母大写
n:单字节正整数,取值0-255,常为枚举值。如:nItemType(快件类型)
d:日期,实际为一固定格式字符串,格式为:“YYYY-MM-DD hh:mm:ss”,年月日为必须。如:dDate(业务日期)
i:4字节整数,取值+-2^31。如:iItem(件数)
f:双精度数,精确小数位数因字段而异。如:fWeight(重量,3位小数)
b:逻辑值,true/false。如:bSmsSend(是否发派件短信)
c:字符串,合法的长度区间,长度按ANSI字节计算。如:cRName(收件人姓名,1-62字节)
三、各请求详解及例子
3.1、ClientInfo
3.1.1、请求:
{"RequestName":"ClientInfo","icID":79,"TimeStamp":1405534421123,"MD5":"6c08ea4dff56d5a7a959c09f121c3c4f","bListDepot":false,"bListEmsKind":true}
3.1.1.1、字段名解释
icID:客户ID,在EMMis系统的id,整数,大于零
bListDepot:列关联仓库
bListEmsKind:列关联快递类别
3.1.2、样例
3.1.2.1、请求:
API: /cgi-bin/EmsData.dll?DoApp
POST_DATA:{"RequestName":"ClientInfo","icID":79,"TimeStamp":1405534421123,"MD5":"6c08ea4dff56d5a7a959c09f121c3c4f"}
3.1.2.2、响应:
{"ReturnValue":1,"icID":79,"cWebAccount":"Just4Test","fCredit":413800.00,"fBalance":404605.43,"iNoAudit":3809,"fNoAudit":398890.98,"fABalance":419514.45,"cAccount":"Test","cStation":"南京","cUnitName":"调试专用","cUnitNameE":"Just for Test","cAddr":"上海市福州路667好45TTyyy","cAddrE":"1234 # Jingjiang Rd.o\x0D\x0AShanghai+家ffff","cCity":"上海市","cCityE":"shanghai","cProvince":"上海市","cProvinceE":"shanghai","cCountry":"中国","cCountryE":"China","cSign":"李ab","cSignE":"Micheal+Lee","cPostCode":"200001","cPhone":"13916365333","cFax":"5555556666","cSms":"13916365333","cEMail":"shichun_li@yahoo.com","cQQ":"a%bcdgg%gg444","cMSN":"耿耿gfffff","cSkype":"123abc222","cWang":"55555","cWeChat":"1234566666","cBy1":"把1\x22","cBy2":"把2\x5C\x5C\x2F\x2F","cBy3":"把3","cBy4":"把4","cBy5":"把5","acDepot":[],"acEmsKind":["DHL","TNT","市内快递","新竹貨運"]}
3.1.2.3、特别提示:
该接口有多种用途,本质上为查询客户基本资讯。
可用于任何时候的客户资料查询、帐号余额情况查询等。
3.1.3、字段名解释
icID:客户ID。
cWebAccount:客户网站登入帐号,1-30字符
fCredit:客户授信额
fBalance:客户结算余额
iNoAudit:客户未核销快件票数
fNoAudit:客户未核销快件快递费总额
fABalance:客户可用发货余额
*以下字段均为客户在EMMis中的档案信息*
cAccount:客户帐号,1-30字符
cStation:客户所属站点,0-15字符
cUnitName:客户单位名称,1-63字符
cUnitNameE:客户单位名称(英文),0-127字符
cAddr:地址,0-127字符
cAddrE:地址(英文),0-127字符
cCity:城市,0-63字符
cCityE:城市(英文),0-63字符
cProvince:省州,0-15字符
cProvinceE:省州(英文),0-30字符
cCountry:国家,0-30字符
cCountryE:国家(英文),0-63字符
cSign:客户签名,0-30字符
cSignE:客户签名(英文),0-30字符
cPostCode:邮编,0-15字符
cPhone:电话,0-22字符
cFax:传真,0-22字符
cSms:短信,0-22字符
cEMail:电邮,0-63字符
cQQ:QQ,0-63字符
cMSN:MSN,0-63字符
cSkype:Skype,0-63字符
cWang:旺旺,0-63字符
cWeChat:微信帐号,0-30字符
cBy1:备用1,0-63字符
cBy2:备用2,0-63字符
cBy3:备用3,0-63字符
cBy4:备用4,0-63字符
cBy5:备用5,0-254字符
acDepot:列关联仓库(编码)数组
acEmsKind:列关联快递类别数组
3.2.1、PreInputSet
3.2.1、请求:
{"RequestName":"PreInputSet","icID":79,"TimeStamp":1405534421123,"MD5":"6c08ea4dff56d5a7a959c09f121c3c4f","RecList":[{"iID":0,"nItemType":1,"nLanguage":2,"cEmsKind":"EMS国际","cDes":"美国","fWeight":2.123,"cNum":"CNEX1234567","cNo":"EM123456789CN","GoodsList":[{"cxGoods":"电视机","ixQuantity":1,"fxPrice":1500.12},{"cxGoods":"裤子","ixQuantity":2,"fxPrice":88.99}]},...]}
3.2.1.1、字段名解释
icID:客户ID,必须。客户唯一识别。
*RecList:快件预录记录列表,为1-N个快件记录对象
#如下为记录对象的成员,除了必须的,其它可不提供
iID:预录记录ID,大于零,表明为记录数据修改,否则,为新记录添加。必须提供,且必须是记录对象的第一个参数(将用于辅助定界)!
nItemType:快件类型,默认为1。取值为:0(文件),1(包裹),2(防水袋)
nLanguage:地域语言,默认为0。取值为:0(中国大陆),1(华语),2(其它地域)
nState:记录状态(直录单有效),默认为0(未发送)。取值为:0(未发送),1(已发送)...
cEmsKind:快递类别,1-15字符,必须。
cEmsKindc:快递类别(客户要求),1-15字符。
cEmsKindw:快递类别(客户希望),1-15字符。
cAddrFrom:出发地,0-63字符。
cDes:目的地,1-63字符,必须。
fWeight:重量,公斤,3位小数。
iLong:长,厘米。
iWidth:宽,厘米。
iHeight:高,厘米。
iItem:件数,默认1。
nPayWay:付款方式,默认为0。取值为:0(月结),1(现付),2(到付)
fAmount:快递费,2位小数。
#启用客户直录单=1,且客户档案勾选[直录单]时,此接口转向业务记录直接录单!
dDate:业务日期(正式单),YYYY-MM-DD
cReceiver:收件人,0-63字符。
cRUnit:收件单位,0-254字符。
cRAddr:收件地址,0-254字符。
cRCity:收件城市,0-126字符。
cRPostcode:收件邮编,0-15字符。
cRProvince:收件省州,0-63字符。
cRCountry:收件国家,0-126字符。
cRPhone:收件电话,0-63字符。
cREMail:收件电邮,0-63字符。
cRSms:收件短信,0-22字符。
cRIDCard:收件证照号,0-30字符。
cNum:内单号,7-30字符。(通常为系统配置自动生成)
cNo:转单号,7-30字符。
cRNo:参考号,0-30字符。
cCNo:报关号,0-30字符。
cSender:发件人,0-30字符。
cSUnit:发件单位,0-127字符。
cSAddr:发件地址,0-127字符。
cSCity:发件城市,0-63字符。
cSPostcode:发件邮编,0-15字符。
cSProvince:发件省州,0-30字符。
cSCountry:发件国家,0-63字符。
cSPhone:发件电话,0-63字符。
cSEMail:发件电邮,0-63字符。
cSSms:发件短信,0-22字符。
cSIDCard:发件证照号,0-30字符。
cDepart:所属部门,0-30字符。
cMark:标签,0-15字符。
cMemo:备注,0-254字符。
cReserve:留用串,0-30字符。
iReserve:留用数,默认0
cBy1:备用1,0-63字符。
cBy2:备用2,0-63字符。
cBy3:备用3,0-63字符。
cBy4:备用4,0-63字符。
cBy5:备用5,0-254字符。
cGoods:物品描述,0-254字符。
iQuantity:物品数量,默认0
fPrice:物品单价,2位小数。
cMoney:货币代码,0-3字符。
fGoods:物品货值,代收货款收件人支付的货值,2位小数。
fGoodsc:物品返回客户货值,代收货款向客户返还的货值,2位小数。
fDValue:物品声明价,2位小数。
fIValue:物品投保价,2位小数。
cPayDir:结算指示,0-3字符。
cOrigin:原产地国家代码,0-3字符。
cGoodsA:物品别名,通常为英文描述,0-254字符。
cGCodeA:物品甲码,通常为HS编码,0-63字符。
cGCodeB:物品乙码,通常为统一编码,0-63字符。
cGCodeC:物品丙码,通常为客户编码,0-63字符。
cGUnit:物品单位,0-15字符。
fGCustom:关税额,2位小数。
fGCRate:税率,4位小数。
fgWeight:物品净重,3位小数。
cgURL:物品URL,(http开头),0-254字符
cPacking:包装,0-15字符。
cTransNote:托运备注,0-63字符。
#如下为7个运费附加字段,选择提供(v4.2)
faGet:提货费,2位小数。
faSafe:保险费,2位小数。
faPack:包装费,2位小数。
faOther:杂费,2位小数。
faCheck:验货费,2位小数。
faRemote:偏远费,2位小数。
faBy:其它费,2位小数。
**GoodsList:快件所含物品列表,为0-100个物品对象
#如果只有一种物品,物品信息存放在上述顶层记录字段即可,多种物品,需要此对象描述
#为了区分,命名在顶层字段名称中嵌入了一个“x”,注意字段长度有所不同。
cxGoods:物品描述,0-63字符。必须。
ixQuantity:物品数量。必须。
fxPrice:物品单价,2位小数。
cxGoodsA:物品别名,通常为英文描述,0-63字符。
cxGCodeA:物品甲码,通常为HS编码,0-63字符。
cxGCodeB:物品乙码,通常为统一编码,0-63字符。
cxGCodeC:物品丙码,通常为客户编码,0-63字符。
cxGUnit:物品单位,0-15字符。
fxGCustom:关税额,2位小数。
fxGCRate:税率,4位小数。
fxgWeight:物品净重,3位小数。
cxgURL:物品URL,(http开头),0-254字符
**ItemList:一票多件件分单信息列表,为0-100个分单信息对象
#如有长宽高等分单信息,需要此对象描述
fxWeight:重量(或称重),必须,且大于零。
ixLong:长,整数,厘米。
ixWidth:宽,整数,厘米。
ixHeight:高,整数,厘米。
cxGoods:物品描述,0-63字符。
ixQuantity:物品数量。
fxPrice:物品单价,2位小数。
cxGoodsA:物品别名,通常为英文描述,0-63字符。
cxGCodeA:物品甲码,通常为HS编码,0-63字符。
cxGCodeB:物品乙码,通常为统一编码,0-63字符。
cxGCodeC:物品丙码,通常为客户编码,0-63字符。
fxGCustom:关税额,2位小数。
fxGCRate:税率,4位小数。
cxNo:分转单号,0-30字符。
cxRNo:分参考号,0-30字符。
3.2.2、响应:
{"ReturnValue":3,"OK":1,"ErrList":[{"iIndex":0,"iID":0,"cNum":"CEN88676666","cNo":"","cMess":"运单号重复","cReserve":"","cBy1":"","cBy2":"","cBy3":"","cBy4":"","cBy5":""},{"iIndex":1,"iID":123,"cNum":"EM77882299CN","cNo":"EM123456789CN","cMess":"","cReserve":"留用串","cBy1":"","cBy2":"","cBy3":"","cBy4":"","cBy5":"Test备5"},{"iIndex":2,"iID":0,"cNum":"","cNo":"","cMess":"目的地空","cReserve":"","cBy1":"","cBy2":"","cBy3":"","cBy4":"","cBy5":""}]}
3.2.2.1、字段名解释
ReturnValue:正数,处理记录数。负数,失败(-2:icID错误;-3:没有RecList;-9:系统错误)
OK:成功数
*ErrList:处理记录信息列表,按原始顺序返回。
iIndex:索引位置,0开始
iID:记录ID,一条预录单记录,都有一个唯一的不可更改的ID,系统识别码,对于记录的删除、修改则以此识别。
cNum:内单号,记录在系统内部的运单号,唯一。
cNo:转单号,记录在系统的转运单号,可能有系统生成。
cMess:错误信息,0-63字符,空串为无错误。
*如果emsdata.ini定义了“字段填写定义”,则可能返回期望的数据
cReserve:留用串,0-30字符。
cBy1:备用1,0-62字符。
cBy2:备用2,0-62字符。
cBy3:备用3,0-62字符。
cBy4:备用4,0-62字符。
cBy5:备用5,0-254字符。
3.3.1、PreInputDel
3.3.1、请求:
{"RequestName":"PreInputDel","icID":79,"TimeStamp":1405534421123,"MD5":"6c08ea4dff56d5a7a959c09f121c3c4f","iIDs":[1,2,3,...]}
3.3.1.1、字段名解释
icID:客户ID,必须。客户唯一识别。
iIDs:预录记录ID数组,1-N个大于零的整数
3.3.2、响应:
{"ReturnValue":3,"OK":1,"ErrList":[{"iIndex":0,"iID":1,"cMess":"记录不存在"},{"iIndex":2,"iID":3,"cMess":"快件已操作,不能删除"}]}
3.3.2.1、字段名解释
ReturnValue:正数,处理记录数。负数,失败(-2:icID错误;-3:没有ID数组;-9:系统错误)。
OK:成功数
*ErrList:失败记录列表
iIndex:索引位置,0开始
iID:记录ID
cMess:错误信息,1-63字符
3.4、PreInputData
3.4.1、请求:
{"RequestName":"PreInputData","icID":79,"TimeStamp":1405534421123,"MD5":"6c08ea4dff56d5a7a959c09f121c3c4f","iID":2,"cNum":"LS000000341SH"}
3.4.1.1、字段名解释
icID:客户ID,在EMMis系统的id,整数,大于零,必须提供
iID:记录ID,大于零,如提供,优先采用,则无需提供cNum
cNum:内单号,7-30字符,精确匹配
3.4.2、样例
3.4.2.1、请求:
API: /cgi-bin/EmsData.dll?DoApp
POST_DATA:{"RequestName":"PreInputData","icID":79,"TimeStamp":1405534421123,"MD5":"6c08ea4dff56d5a7a959c09f121c3c4f","cNum":"RB00012352CN"}
3.4.2.2、响应:
{"ReturnValue":1,"icID":79,"iID":1599,"irID":0,"nItemType":1,"nLanguage":2,"cEmsKind":"EMS国际","cEmsKindi":"EMS国际","cAddrFrom":"上海青浦","cDes":"美国","fWeight":0.000,"iLong":0,"iWidth":0,"iHeight":0,"iItem":1,"siPayWay":1,"fAmount":0.00,"cReceiver":"David Esparza","cRUnit":"","cRAddr":"2706 Illinois Ave","cRCity":"South Gate","cRPostcode":"90280","cRProvince":"CA","cRCountry":"United States","cRPhone":"52423432423","cREMail":"derookie45@gmail.com","cRSms":"","cNum":"RB00012352CN","cNo":"RB00012352CN","cRNo":"3EK05589Y12168527","cCNo":"","cSender":"王恒","cSUnit":"上海华天国际","cSAddr":"上海市青浦区124号","cSCity":"青浦","cSPostcode":"200045","cSProvince":"上海","cSCountry":"中国","cSPhone":"13912345678","cSEMail":"wh@163.com","cSSms":"13912345555","cDepart":"市场部","cMark":"","cMemo":"$0.00","cReserve":"","iReserve":0,"cBy1":"","cBy2":"","cBy3":"","cBy4":"","cBy5":"","cGoods":"硬粒小麦,用醋或醋酸制作的黄瓜及小黄瓜","iQuantity":3,"fPrice":1.66,"fGoods":0.00,"fGoodsc":0.00,"fDValue":5.00,"fIValue":0.00,"cMoney":"USD","cPayDir":"PP","cOrigin":"","cGoodsA":"","cGCodeA":"","cGCodeB":"","cGCodeC":"","fGCustom":0.00,"fGCRate":0.0000,"cPacking":"Aug-16-12","cTransNote":"1,2","GoodsList":[{"cxGoods":"硬粒小麦","ixQuantity":1,"fxPrice":1.00,"cxGoodsA":"","cxGCodeA":"","cxGCodeB":"","cxGCodeC":"","fxGCustom":0.00,"fxGCRate":0.0000},{"cxGoods":"用醋或醋酸制作的黄瓜及小黄瓜","ixQuantity":2,"fxPrice":2.00,"cxGoodsA":"","cxGCodeA":"","cxGCodeB":"","cxGCodeC":"","fxGCustom":0.00,"fxGCRate":0.0000}]}
3.4.3、字段名解释,参阅3.2.1.1
irID:处理到快递系统后的记录ID。可以理解:0=未处理(未收取快件包裹);>0:已处理(已经收取快件包裹)
ReturnValue:1,成功。负数,失败(-2:记录不存在;-6:快件已操作,入快递系统;-9:系统错误)。
cEmsKindi:快递类别客户显示名称,可能与系统中真实的字段值不一样,1-15字符
3.5、PreInputList
3.5.1、请求:
{"RequestName":"PreInputList","icID":79,"TimeStamp":1405534421123,"MD5":"6c08ea4dff56d5a7a959c09f121c3c4f","iPage":1,"iPagePer":100,"dqBDate":"2013-10-03","dqEDate":"2014-01-20","cqDes":"美国","cqEmsKind":"EMS国际","cqStateMask":"10","cqNum":"EMS7788","cqMark":"","cqReserve":""}
3.5.1.1、字段名解释
icID:客户ID,在EMMis系统的id,整数,大于零,必须提供。
iPage:页次,默认1
iPagePer:每页记录数,默认值0,有效值0-1000,(0 表示仅返回记录总数)
*如下为筛选条件
cqStateMask:查询记录筛选:记录状态掩码,共2种状态,用2位0或1表示,1表示筛选,0表示过滤。如未处理(10),所有(11),已处理(01)
0:未处理
1:已处理
dqBDate:查询记录筛选:开始日期
dqBDate:查询记录筛选:结束日期
cqDes:查询记录筛选:目的地,包含查找
cqEmsKind:查询记录筛选:快递类别
cqNum:查询记录筛选:内单号,包含查找。可以提供用“,”分割的多个运单号,总长度小于12000字节,如"12345,66222,EE772222CN,UP334444HH",进行多单号精确查询
cqMark:查询记录筛选:标签,包含查找
cqReserve:查询记录筛选:留用串,包含查找
3.5.2、响应:
{"ReturnValue":1,"iPage":2,"iPagePer":100,"iTotalRec":2000,"dqBDate":"2013-10-03","dqEDate":"2014-01-20","cqDes":"美国","cqEmsKind":"EMS国际","cqNum":"EMS7788","cqMark":"","cqReserve":"","RecList":[{"iID":10,"dDate":"2014-01-20 12:46:23","nItemType":1,"nLanguage":2,"cEmsKind":"EMS国际","cDes":"美国","fWeight":2.123,"cNum":"CNEX1234567","cNo":"EM123456789CN"..},,...]}
3.5.2.1、字段名解释,参阅3.2.1.1,不提供物品明细
ReturnValue:1成功并有数据;0:无记录;负数:查询失败
iTotalRec:符合查询条件的记录总数。当前返回的记录明细由RecList决定,为0 - iPagePer条。
iID:记录ID,大于零,记录操作的唯一标识,记录数据修改或删除时,须提供。
dDate:记录录入系统日期时间。
3.5.2.2、样例
{"ReturnValue":1,"icID":79,"iPage":1,"iPagePer":8,"iTotalRec":23,"dqBDate":"2013-10-03","dqEDate":"2014-01-20","cqDes":"","cqEmsKind":"","cqStateMask":"","cqNum":"","cqMark":"","cqReserve":"","RecList":[{"iID":1669,"irID":0,"dDate":"2013-12-27 15:47:58","nItemType":1,"nLanguage":2,"cEmsKind":"俄通收专线","cEmsKindi":"俄通收专线","cAddrFrom":"","cDes":"俄罗斯","fWeight":1.200,"iLong":0,"iWidth":0,"iHeight":0,"iItem":1,"siPayWay":0,"fAmount":0.00,"cReceiver":"FFDFSDFSA","cRUnit":"","cRAddr":"FDSFDF,4234,333333fffff","cRCity":"","cRPostcode":"101000","cRProvince":"","cRCountry":"FDSFASFAS","cRPhone":"fdsafsafsa","cREMail":"","cRSms":"","cNum":"PX423432424","cNo":"","cRNo":"","cCNo":"","cSender":"","cSUnit":"","cSAddr":"ffdsfsaf","cSCity":"","cSPostcode":"","cSProvince":"","cSCountry":"","cSPhone":"","cSEMail":"","cSSms":"","cDepart":"","cMark":"","cMemo":"dfsafsaf","cReserve":"!货值错误","iReserve":0,"cBy1":"","cBy2":"","cBy3":"","cBy4":"","cBy5":"","cGoods":"234242342","iQuantity":1,"fPrice":0.00,"fGoods":0.00,"fGoodsc":0.00,"fDValue":0.00,"fIValue":0.00,"cMoney":"CNY","cPayDir":"PP","cOrigin":"CN","cGoodsA":"","cGCodeA":"","cGCodeB":"","cGCodeC":"","fGCustom":0.00,"fGCRate":0.0000,"cPacking":"","cTransNote":""},{"iID":1668,"irID":0,"dDate":"2013-12-27 11:05:02","nItemType":1,"nLanguage":2,"cEmsKind":"俄通收专线","cEmsKindi":"俄通收专线","cAddrFrom":"","cDes":"俄罗斯","fWeight":1.200,"iLong":0,"iWidth":0,"iHeight":0,"iItem":1,"siPayWay":0,"fAmount":0.00,"cReceiver":"HH42342342","cRUnit":"","cRAddr":"4342134214","cRCity":"","cRPostcode":"","cRProvince":"","cRCountry":"RU","cRPhone":"77423343242","cREMail":"","cRSms":"","cNum":"PX884234324324","cNo":"","cRNo":"","cCNo":"","cSender":"","cSUnit":"","cSAddr":"","cSCity":"","cSPostcode":"","cSProvince":"","cSCountry":"","cSPhone":"","cSEMail":"","cSSms":"","cDepart":"","cMark":"","cMemo":"","cReserve":"*城市ID错误","iReserve":0,"cBy1":"","cBy2":"","cBy3":"","cBy4":"","cBy5":"","cGoods":"1RWERWQ","iQuantity":1,"fPrice":1.20,"fGoods":0.00,"fGoodsc":0.00,"fDValue":0.00,"fIValue":0.00,"cMoney":"CNY","cPayDir":"PP","cOrigin":"CN","cGoodsA":"","cGCodeA":"","cGCodeB":"","cGCodeC":"","fGCustom":0.00,"fGCRate":0.0000,"cPacking":"","cTransNote":""},{"iID":1667,"irID":0,"dDate":"2013-12-25 18:50:22","nItemType":1,"nLanguage":2,"cEmsKind":"俄通收专线","cEmsKindi":"俄通收专线","cAddrFrom":"","cDes":"俄罗斯","fWeight":2.330,"iLong":0,"iWidth":0,"iHeight":0,"iItem":1,"siPayWay":0,"fAmount":0.00,"cReceiver":"HH433","cRUnit":"","cRAddr":"234,7,UUREEE","cRCity":"","cRPostcode":"101000","cRProvince":"","cRCountry":"RU","cRPhone":"883333344444","cREMail":"","cRSms":"","cNum":"PX7824545633","cNo":"1009502962","cRNo":"","cCNo":"","cSender":"","cSUnit":"","cSAddr":"","cSCity":"","cSPostcode":"","cSProvince":"","cSCountry":"","cSPhone":"","cSEMail":"","cSSms":"","cDepart":"","cMark":"","cMemo":"","cReserve":"1009502962","iReserve":54,"cBy1":"","cBy2":"","cBy3":"","cBy4":"","cBy5":"","cGoods":"FFF","iQuantity":1,"fPrice":2.60,"fGoods":0.00,"fGoodsc":0.00,"fDValue":0.00,"fIValue":0.00,"cMoney":"CNY","cPayDir":"PP","cOrigin":"CN","cGoodsA":"","cGCodeA":"","cGCodeB":"","cGCodeC":"","fGCustom":0.00,"fGCRate":0.0000,"cPacking":"","cTransNote":""},{"iID":1666,"irID":0,"dDate":"2013-12-25 18:45:26","nItemType":1,"nLanguage":2,"cEmsKind":"俄通收专线","cEmsKindi":"俄通收专线","cAddrFrom":"","cDes":"俄罗斯","fWeight":2.455,"iLong":0,"iWidth":0,"iHeight":0,"iItem":1,"siPayWay":0,"fAmount":0.00,"cReceiver":"BBFDD","cRUnit":"","cRAddr":"1,4,UUYERTRR","cRCity":"","cRPostcode":"101000","cRProvince":"","cRCountry":"RU","cRPhone":"99883333333","cREMail":"","cRSms":"","cNum":"PX542331111","cNo":"1009502906","cRNo":"","cCNo":"","cSender":"","cSUnit":"","cSAddr":"","cSCity":"","cSPostcode":"","cSProvince":"","cSCountry":"","cSPhone":"","cSEMail":"","cSSms":"","cDepart":"","cMark":"","cMemo":"","cReserve":"1009502906","iReserve":53,"cBy1":"","cBy2":"","cBy3":"","cBy4":"","cBy5":"","cGoods":"GGG","iQuantity":1,"fPrice":1.40,"fGoods":0.00,"fGoodsc":0.00,"fDValue":0.00,"fIValue":0.00,"cMoney":"CNY","cPayDir":"PP","cOrigin":"CN","cGoodsA":"","cGCodeA":"","cGCodeB":"","cGCodeC":"","fGCustom":0.00,"fGCRate":0.0000,"cPacking":"","cTransNote":""},{"iID":1665,"irID":0,"dDate":"2013-12-25 18:30:50","nItemType":1,"nLanguage":2,"cEmsKind":"俄通收专线","cEmsKindi":"俄通收专线","cAddrFrom":"","cDes":"俄罗斯","fWeight":1.330,"iLong":0,"iWidth":0,"iHeight":0,"iItem":1,"siPayWay":0,"fAmount":0.00,"cReceiver":"KHH333","cRUnit":"","cRAddr":"234,7,STREET","cRCity":"","cRPostcode":"101000","cRProvince":"","cRCountry":"RU","cRPhone":"4777555555","cREMail":"","cRSms":"","cNum":"PX77312312312","cNo":"1009502741","cRNo":"","cCNo":"","cSender":"","cSUnit":"","cSAddr":"","cSCity":"","cSPostcode":"","cSProvince":"","cSCountry":"","cSPhone":"","cSEMail":"","cSSms":"","cDepart":"","cMark":"","cMemo":"","cReserve":"1009502741","iReserve":52,"cBy1":"","cBy2":"","cBy3":"","cBy4":"","cBy5":"","cGoods":"RR555","iQuantity":1,"fPrice":23.00,"fGoods":0.00,"fGoodsc":0.00,"fDValue":0.00,"fIValue":0.00,"cMoney":"CNY","cPayDir":"PP","cOrigin":"CN","cGoodsA":"","cGCodeA":"","cGCodeB":"","cGCodeC":"","fGCustom":0.00,"fGCRate":0.0000,"cPacking":"","cTransNote":""},{"iID":1664,"irID":0,"dDate":"2013-12-25 09:56:54","nItemType":1,"nLanguage":2,"cEmsKind":"俄通收专线","cEmsKindi":"俄通收专线","cAddrFrom":"","cDes":"俄罗斯","fWeight":1.230,"iLong":0,"iWidth":0,"iHeight":0,"iItem":1,"siPayWay":0,"fAmount":0.00,"cReceiver":"vvvv","cRUnit":"","cRAddr":"fdff,7,uurrr","cRCity":"","cRPostcode":"101000","cRProvince":"","cRCountry":"ru","cRPhone":"77634333333","cREMail":"","cRSms":"","cNum":"PX366633333","cNo":"1009497377","cRNo":"","cCNo":"","cSender":"","cSUnit":"","cSAddr":"","cSCity":"","cSPostcode":"","cSProvince":"","cSCountry":"","cSPhone":"","cSEMail":"","cSSms":"","cDepart":"","cMark":"","cMemo":"","cReserve":"1009497377","iReserve":32,"cBy1":"","cBy2":"","cBy3":"","cBy4":"","cBy5":"","cGoods":"dffff","iQuantity":1,"fPrice":2.33,"fGoods":0.00,"fGoodsc":0.00,"fDValue":0.00,"fIValue":0.00,"cMoney":"CNY","cPayDir":"PP","cOrigin":"CN","cGoodsA":"","cGCodeA":"","cGCodeB":"","cGCodeC":"","fGCustom":0.00,"fGCRate":0.0000,"cPacking":"","cTransNote":""},{"iID":1663,"irID":0,"dDate":"2013-12-24 20:33:21","nItemType":1,"nLanguage":2,"cEmsKind":"俄通收专线","cEmsKindi":"俄通收专线","cAddrFrom":"","cDes":"俄罗斯","fWeight":0.000,"iLong":0,"iWidth":0,"iHeight":0,"iItem":1,"siPayWay":0,"fAmount":0.00,"cReceiver":"hhffff","cRUnit":"ggggghfh","cRAddr":"203,7,hhgeeefffff","cRCity":"","cRPostcode":"101000","cRProvince":"544444","cRCountry":"ru","cRPhone":"2233655555","cREMail":"","cRSms":"","cNum":"PX4555555ZZ","cNo":"","cRNo":"","cCNo":"","cSender":"","cSUnit":"fdsfsd","cSAddr":"gfdsgdgfgggghhhhfffff","cSCity":"","cSPostcode":"","cSProvince":"","cSCountry":"","cSPhone":"535435344444","cSEMail":"","cSSms":"","cDepart":"","cMark":"","cMemo":"fdgsdgddddffff","cReserve":"!没有出重","iReserve":0,"cBy1":"","cBy2":"","cBy3":"","cBy4":"","cBy5":"","cGoods":"ffff","iQuantity":1,"fPrice":1.55,"fGoods":0.00,"fGoodsc":0.00,"fDValue":0.00,"fIValue":0.00,"cMoney":"CNY","cPayDir":"PP","cOrigin":"CN","cGoodsA":"","cGCodeA":"","cGCodeB":"","cGCodeC":"","fGCustom":0.00,"fGCRate":0.0000,"cPacking":"","cTransNote":""},{"iID":1662,"irID":19943,"dDate":"2013-12-24 12:09:30","nItemType":1,"nLanguage":2,"cEmsKind":"俄通收专线","cEmsKindi":"俄通收专线","cAddrFrom":"","cDes":"俄罗斯","fWeight":1.230,"iLong":0,"iWidth":0,"iHeight":0,"iItem":1,"siPayWay":0,"fAmount":0.00,"cReceiver":"ggtt","cRUnit":"","cRAddr":"23,7,treee","cRCity":"Петропавловск-Камчатский 40","cRPostcode":"683040","cRProvince":"","cRCountry":"rusian","cRPhone":"432432424","cREMail":"","cRSms":"","cNum":"PX66288222222","cNo":"1009484225","cRNo":"","cCNo":"","cSender":"","cSUnit":"","cSAddr":"ffff","cSCity":"","cSPostcode":"","cSProvince":"","cSCountry":"","cSPhone":"","cSEMail":"","cSSms":"","cDepart":"","cMark":"","cMemo":"","cReserve":"1009484225","iReserve":21,"cBy1":"","cBy2":"","cBy3":"","cBy4":"","cBy5":"","cGoods":"dddd","iQuantity":1,"fPrice":1.24,"fGoods":0.00,"fGoodsc":0.00,"fDValue":0.00,"fIValue":0.00,"cMoney":"CNY","cPayDir":"PP","cOrigin":"CN","cGoodsA":"","cGCodeA":"","cGCodeB":"","cGCodeC":"","fGCustom":0.00,"fGCRate":0.0000,"cPacking":"","cTransNote":""}]}
3.6、RecList
3.6.1、请求:
{"RequestName":"RecList","icID":79,"TimeStamp":1405534421123,"MD5":"6c08ea4dff56d5a7a959c09f121c3c4f","iPage":1,"iPagePer":100,"dqBDate":"2013-10-03","dqEDate":"2014-01-20","cqDes":"美国","cqEmsKind":"EMS国际","cqStateMask":"00111111111","bqAudit":false,"iqfID":0,"cqNum":"EMS7788","cqMark":"","cqReserve":""}
3.6.1.1、字段名解释
icID:客户ID,在EMMis系统的id,整数,大于零,必须提供。
iPage:页次,默认1
iPagePer:每页记录数,默认值0,有效值0-1000,(0 表示仅返回记录总数)
*如下为筛选条件
dqBDate:查询记录筛选:开始日期
dqBDate:查询记录筛选:结束日期
cqDes:查询记录筛选:目的地,包含查找
cqEmsKind:查询记录筛选:快递类别
cqStateMask:查询记录筛选:记录状态掩码,共11种状态,用11位0或1表示,1表示筛选,0表示过滤。如送达状态(00010000000),所有已发送(01111111111),所有异常(00001111111)
0:未发送
1:已发送
2:转运中
3:送达
4:超时
5:扣关
6:地址错误
7:快件丢失
8:退件
9:其它异常
10:销毁
bqAudit:查询记录筛选:是否核销付款,true或false
iqfID:查询记录筛选:关联收款核销记录ID,可查询某笔收款核销的所有业务记录
cqNum:查询记录筛选:内单号,包含查找。可以提供用“,”分割的多个运单号,总长度小于12000字节,如"12345,66222,EE772222CN,UP334444HH",进行多单号精确查询
cqMark:查询记录筛选:标签,包含查找
cqReserve:查询记录筛选:留用串,包含查找
cqReceiver:查询记录筛选:收件人姓名,精确查找
*所有筛选条件均可不提供
3.6.2、响应:
{"ReturnValue":1,"iPage":2,"iPagePer":100,"iTotalRec":2000,"dqBDate":"2013-10-03","dqEDate":"2014-01-20","cqDes":"","cqEmsKind":"EMS国际","cqStateMask":"","bqAudit":false,"cqNum":"","RecList":[{"iID":10,"dDate":"2014-01-20 12:46:23","nItemType":1,"nLanguage":2,"cEmsKind":"EMS国际","cDes":"美国","fWeight":2.123,"cNum":"CNEX1234567","cNo":"EM123456789CN"..},,...]}
3.6.2.1、字段名解释,参阅3.2.1.1,3.5.2.1
ReturnValue:1成功并有数据;0:无记录;负数:查询失败
iTotalRec:符合查询条件的记录总数。当前返回的记录明细由RecList决定,为0 - iPagePer条。
*RecList
irID:业务记录ID,大于零。注意区分,预录单的ID为iID,少一个“r”。
dDate:业务日期。
dSysDate:业务记录系统时间。
fSPrice:标准价,2位小数。
nState:记录状态,取值(0-10),参阅3.6.1.1(cStateMask)
bAudit:是否核销付款,true或false
ifID:收款核销记录ID,大于零:关联的收款核销记录ID;0:未收款核销
cEmsKindc:快递类别(客户要求)
cEmsKindci:快递类别(客户要求)显示名称
iCubic:体积,立方厘米
faBase:快递费:基础费用
faAddOn:快递费:燃油附加费
faCustom:快递费:报关费
faOther:快递费:杂费
faGet:快递费:取件费
faCarry:快递费:派件费
faSafe:快递费:保险费
faPack:快递费:包装费
faCheck:快递费:验货费
faRemote:快递费:偏远费
faBy:快递费:其它费
faAddRate:燃油附加费率,4位小数
fDiscount:折扣,4位小数
cLTDate:末条追踪信息:日期时间
cLTPlace:末条追踪信息:操作地点
cLTInfo:末条追踪信息:详细信息
3.6.2.2、样例
{"ReturnValue":1,"icID":79,"iPage":1,"iPagePer":5,"iTotalRec":199,"dqBDate":"2013-10-03","dqEDate":"2014-01-20","cqDes":"","cqEmsKind":"","cqStateMask":"","cqNum":"","cqMark":"","cqReserve":"","RecList":[{"irID":20141,"dDate":"2014-01-20","nItemType":1,"fWeight":0.000,"iLong":0,"iWidth":0,"iHeight":0,"iCubic":0,"fAmount":0.00,"fSPrice":0.00,"nState":3,"nPayWay":0,"bAudit":false,"ifID":0,"iItem":1,"cEmsKind":"荷兰邮政","cEmsKindi":"","cEmsKindc":"荷兰邮政","cEmsKindci":"","cDes":"马尔代夫","cReceiver":"","cNum":"RS108315564NL","cNo":"RS108315564NL","cRNo":"","cCNo":"","cMark":"","cMemo":"","cGoods":"","cLTDate":"2014-02-24 17:18","cLTPlace":"MVMLEA","cLTInfo":"Final Delivery","iReserve":0,"iQuantity":1,"fGoods":0.00,"fGoodsc":0.00,"faBase":0.00,"faAddOn":0.00,"faCustom":0.00,"faOther":0.00,"faAddRate":0.0000,"faGet":0.00,"faCarry":0.00,"faSafe":0.00,"faPack":0.00,"faCheck":0.00,"faRemote":0.00,"faBy":0.00,"fDiscount":0.0000},{"irID":20186,"dDate":"2014-01-19","nItemType":1,"fWeight":0.000,"iLong":0,"iWidth":0,"iHeight":0,"iCubic":0,"fAmount":0.00,"fSPrice":0.00,"nState":3,"nPayWay":0,"bAudit":false,"ifID":0,"iItem":1,"cEmsKind":"荷兰邮政","cEmsKindi":"","cEmsKindc":"荷兰邮政","cEmsKindci":"","cDes":"危地马拉","cReceiver":"","cNum":"RS109670249NL","cNo":"RS109670249NL","cRNo":"","cCNo":"","cMark":"","cMemo":"","cGoods":"","cLTDate":"2014-02-24","cLTPlace":"","cLTInfo":"Entregado","iReserve":0,"iQuantity":1,"fGoods":0.00,"fGoodsc":0.00,"faBase":0.00,"faAddOn":0.00,"faCustom":0.00,"faOther":0.00,"faAddRate":0.0000,"faGet":0.00,"faCarry":0.00,"faSafe":0.00,"faPack":0.00,"faCheck":0.00,"faRemote":0.00,"faBy":0.00,"fDiscount":0.0000},{"irID":20143,"dDate":"2014-01-19","nItemType":1,"fWeight":0.000,"iLong":0,"iWidth":0,"iHeight":0,"iCubic":0,"fAmount":0.00,"fSPrice":0.00,"nState":3,"nPayWay":0,"bAudit":false,"ifID":0,"iItem":1,"cEmsKind":"荷兰邮政","cEmsKindi":"","cEmsKindc":"荷兰邮政","cEmsKindci":"","cDes":"马来西亚","cReceiver":"","cNum":"RS109676462NL","cNo":"RS109676462NL","cRNo":"","cCNo":"","cMark":"","cMemo":"","cGoods":"","cLTDate":"2014-02-05 17:36","cLTPlace":"CW SUBANG JAYA","cLTInfo":"Item has been successfully delivered","iReserve":0,"iQuantity":1,"fGoods":0.00,"fGoodsc":0.00,"faBase":0.00,"faAddOn":0.00,"faCustom":0.00,"faOther":0.00,"faAddRate":0.0000,"faGet":0.00,"faCarry":0.00,"faSafe":0.00,"faPack":0.00,"faCheck":0.00,"faRemote":0.00,"faBy":0.00,"fDiscount":0.0000},{"irID":20210,"dDate":"2014-01-18","nItemType":1,"fWeight":0.000,"iLong":0,"iWidth":0,"iHeight":0,"iCubic":0,"fAmount":0.00,"fSPrice":0.00,"nState":3,"nPayWay":0,"bAudit":false,"ifID":0,"iItem":1,"cEmsKind":"荷兰邮政","cEmsKindi":"","cEmsKindc":"荷兰邮政","cEmsKindci":"","cDes":"匈牙利","cReceiver":"","cNum":"RS109735072NL","cNo":"RS109735072NL","cRNo":"","cCNo":"","cMark":"","cMemo":"","cGoods":"","cLTDate":"2014-02-27 09:03","cLTPlace":"HUNGARY","cLTInfo":"The item has been delivered successfully","iReserve":0,"iQuantity":1,"fGoods":0.00,"fGoodsc":0.00,"faBase":0.00,"faAddOn":0.00,"faCustom":0.00,"faOther":0.00,"faAddRate":0.0000,"faGet":0.00,"faCarry":0.00,"faSafe":0.00,"faPack":0.00,"faCheck":0.00,"faRemote":0.00,"faBy":0.00,"fDiscount":0.0000},{"irID":20152,"dDate":"2014-01-18","nItemType":1,"fWeight":0.000,"iLong":0,"iWidth":0,"iHeight":0,"iCubic":0,"fAmount":0.00,"fSPrice":0.00,"nState":3,"nPayWay":0,"bAudit":false,"ifID":0,"iItem":1,"cEmsKind":"荷兰邮政","cEmsKindi":"","cEmsKindc":"荷兰邮政","cEmsKindci":"","cDes":"秘鲁","cReceiver":"","cNum":"RS109680793NL","cNo":"RS109680793NL","cRNo":"","cCNo":"","cMark":"","cMemo":"","cGoods":"","cLTDate":"2014-02-08","cLTPlace":"EL ENVIO FUE ENTREGADO EL 08\x2F02\x2F2014","cLTInfo":"EL ENVIO FUE ENTREGADO EL 08\x2F02\x2F2014 AL DESTINATARIO EVER PEREZ ARTEAGA","iReserve":0,"iQuantity":1,"fGoods":0.00,"fGoodsc":0.00,"faBase":0.00,"faAddOn":0.00,"faCustom":0.00,"faOther":0.00,"faAddRate":0.0000,"faGet":0.00,"faCarry":0.00,"faSafe":0.00,"faPack":0.00,"faCheck":0.00,"faRemote":0.00,"faBy":0.00,"fDiscount":0.0000}]}
3.7、EmsKindList
3.7.1、请求:
{"RequestName":"EmsKindList","icID":79,"TimeStamp":1405534421123,"MD5":"6c08ea4dff56d5a7a959c09f121c3c4f"}
3.7.2、响应:
{"ReturnValue":3,"List":[{"cEmsKind":"DPD欧洲","cEmsKindi":"DPD专线"},{"cEmsKind":"EMS国际","cEmsKindi":"国际快线"},{"cEmsKind":"UPS","cEmsKindi":"UPS"}]}
3.7.2.1、字段名解释
ReturnValue:快递类别条数
cEmsKind:快递类别名称,系统中真实操作的名称,也是录单数据传送的字段值,1-15字节
cEmsKindi:客户操作界面显示的快递类别名称,1-15字节
3.8、FeeList
3.8.1、请求:
{"RequestName":"FeeList","icID":79,"TimeStamp":1405534421123,"MD5":"6c08ea4dff56d5a7a959c09f121c3c4f","iPage":1,"iPagePer":100,"dqBDate":"2013-10-03","dqEDate":"2014-01-20","cqTypeMask":"","cqPayWayMask":"","cqMark":"","cqInvoice":"","cqMoney":"CNY","cqRefNo":""}
3.5.1.1、字段名解释
icID:客户ID,在EMMis系统的id,整数,大于零,必须提供。
iPage:页次,默认1
iPagePer:每页记录数,默认值100,有效值0-1000,(0 表示仅返回记录总数)
*如下为筛选条件
cqTypeMask:查询记录筛选:记录类别掩码,共2种,用2位0或1表示,1表示筛选,0表示过滤。如核收(10),清缴(01)
0:核收 (关联1-n条快递业务记录,通常有票单金额,可以查询业务记录明细)
1:清缴 (无业务记录关联,金额可以为正负数,负数可以理解为退款...)
cqPayWayMask:查询记录筛选:付款方式掩码,共5种方式,用5位0或1表示,1表示筛选,0表示过滤。如现金(10000),冲销(00010),非冲销(11101)
0:现金
1:转帐
2:网络
3:冲销
4:其它
dqBDate:查询记录筛选:开始日期
dqBDate:查询记录筛选:结束日期
cqMark:查询记录筛选:标签,包含查找
cqInvoice:查询记录筛选:发票号,包含查找
cqMoney:查询记录筛选:币种,国际三字代码,如USD
cqRefNo:查询记录筛选:票证号,包含查找
3.8.2、响应:
{"ReturnValue":1,"iPage":2,"iPagePer":100,"iTotalRec":2000,"dqBDate":"2013-10-03","dqEDate":"2014-01-20","cqTypeMask":"","cqPayWayMask":"","cqMark":"","cqInvoice":"","cqMoney":"CNY","cqRefNo":"","RecList":[{"ifID":10,"dDate":"2014-01-20 12:46:23","nItemType":1,"nLanguage":2,"cEmsKind":"EMS国际","cDes":"美国","fWeight":2.123,"cNum":"CNEX1234567","cNo":"EM123456789CN"..},,...]}
3.8.2.1、字段名解释
ReturnValue:1成功并有数据;0:无记录;负数:查询失败
iTotalRec:符合查询条件的记录总数。当前返回的记录明细由RecList决定,为0 - iPagePer条。
ifID:记录ID,大于零,可用于RecList中的iqfID查询业务记录明细。
dDate:付款日期。
dSysDate:业务记录系统时间。
nType:记录类别,枚举值:0:核收;1:清缴
cMoney:币种,国际三字代码。
fFee:付款金额,2位小数,可以为负数。
fFeer:关联票单总计金额,2位小数,“清缴”类别为零。
fChg:原始货币金额,2位小数,当用非本币付款时记录此项。
nPayWay:付款方式,枚举值:0:现金;1:转帐;2:网络;3:冲销;4:其它
cInvoice:发票号。
cRefNo:票证号,通常为付款方关联的支付号码。
cDocNo:会计记帐凭证号。
cMark:标签
cMemo:备注
3.8.2.2、样例
"ReturnValue":1,"icID":79,"iPage":1,"iPagePer":10,"iTotalRec":5,"dqBDate":"2010-10-03","dqEDate":"2014-01-20","cqTypeMask":"","cqPayWayMask":"","cqMark":"","cqInvoice":"","cqMoney":"CNY","cqRefNo":"","RecList":[{"ifID":252,"dDate":"2013-06-14","nType":1,"cMoney":"CNY","fFee":90000.00,"fFeer":0.00,"fChg":90000.00,"nPayWay":0,"cInvoice":"hfdgh","cRefNo":"","cDocNo":"","cMark":"","cMemo":""},{"ifID":247,"dDate":"2013-03-07","nType":0,"cMoney":"CNY","fFee":0.00,"fFeer":117.32,"fChg":0.00,"nPayWay":0,"cInvoice":"","cRefNo":"","cDocNo":"","cMark":"","cMemo":""},{"ifID":240,"dDate":"2012-09-02","nType":0,"cMoney":"CNY","fFee":676.95,"fFeer":676.95,"fChg":676.95,"nPayWay":0,"cInvoice":"gfsdgsdgsd","cRefNo":"","cDocNo":"","cMark":"","cMemo":""},{"ifID":238,"dDate":"2012-03-16","nType":0,"cMoney":"CNY","fFee":0.00,"fFeer":0.00,"fChg":0.00,"nPayWay":0,"cInvoice":"","cRefNo":"","cDocNo":"","cMark":"","cMemo":""},{"ifID":220,"dDate":"2011-03-14","nType":0,"cMoney":"CNY","fFee":0.00,"fFeer":493.54,"fChg":0.00,"nPayWay":0,"cInvoice":"","cRefNo":"","cDocNo":"","cMark":"","cMemo":""}]}
3.9、PreInputTotal
3.9.1、请求:
{"RequestName":"PreInputTotal","icID":79,"TimeStamp":1405534421123,"MD5":"6c08ea4dff56d5a7a959c09f121c3c4f","dqBDate":"2013-10-03","dqEDate":"2014-01-20","cqReserves":["AAA","BBB","CCC"]}
3.9.1.1、字段名解释
icID:客户ID,在EMMis系统的id,整数,大于零,必须提供。
*如下为筛选条件
dqBDate:查询记录筛选:开始日期
dqBDate:查询记录筛选:结束日期
cqReserves:查询记录筛选:留用串数组,精确匹配
3.9.2、响应:
{"ReturnValue":1,"TotalList":[{"cReserve":"AAA","iTotal":10,...},,...]}
3.9.2.1、字段名解释,参阅3.2.1.1,不提供物品明细
ReturnValue:>0 成功,留用串数;0:无记录;负数:查询失败
iTotal:汇总数。
3.9.2.2、样例
3.9.2.2.1、{"RequestName":"PreInputTotal","icID":79,"dqBDate":"2013-10-03","dqEDate":"2014-01-20"}
{"ReturnValue":10,"icID":79,"TotalList":[{"cReserve":"","iTotal":15},{"cReserve":"!货值错误","iTotal":1},{"cReserve":"!没有出重","iTotal":1},{"cReserve":"*城市ID错误","iTotal":1},{"cReserve":"1009484225","iTotal":1},{"cReserve":"1009497377","iTotal":1},{"cReserve":"1009502741","iTotal":1},{"cReserve":"1009502906","iTotal":1},{"cReserve":"1009502962","iTotal":2}]}
3.9.2.2.2、{"RequestName":"PreInputTotal","icID":79,"cqReserves":["1009502906","1009502962","CCC"]}
{"ReturnValue":3,"icID":79,"TotalList":[{"cReserve":"1009502906","iTotal":1},{"cReserve":"1009502962","iTotal":2}]}
3.10、QueryPrice
3.10.1、请求:
{"RequestName":"QueryPrice","icID":79,"TimeStamp":1405534421123,"MD5":"6c08ea4dff56d5a7a959c09f121c3c4f","cqFrom":"","cqDes":"美国","cqEmsKind":"","nqItemType":1,"fqWeight":1.234,"fqLong":20,"fqWidth":30.5,"fqHeight":18.9}
3.10.1.1、字段名解释
icID:客户ID,在EMMis系统的id,整数,大于零,必须提供。
*如下为查询条件
cqFrom:快递类别设置中的“站点标示”,0-15字符,一般不提供。
cqDes:目的地,1-63字符,必须提供。可以为目的地编码。
cqEmsKind:快递类别,0-15字符,如提供,则为特定快递类别价格查询,否则提供“nqFilter”筛选的快递类别。
nqItemType:快递类型,数字:0:文件;1:包裹;2:防水袋。
fqWeight:重量,公斤,三位小数。通常理解为称重(如果有长、宽、高数据)
fqLong:长,厘米,一位小数。
fqWidth:宽,厘米,一位小数。
fqHeight:高,厘米,一位小数。
nqFilter:快递类别筛选模式,默认0,全部。1:“客户可见”的快递类别;2:“公布标准价”的快递类别
3.10.2、响应:
{"ReturnValue":1,...."RecList":[{"cEmsKind":"AAA",...},,...]}
3.10.2.1、字段名解释
ReturnValue:>0 成功,报价记录条数;0:无记录;负数:查询失败
-14:查询条件检测失败
-15:cqDes 目的地空或无
-16:fqWeight 重量小于或等于0
frWeight:计价重量,公斤,三位小数。体积重与称重中的较重者。体积重的算法依据EMMis“数据初始化”中的“泡重计算”配置。
cEmsKind:快递类别,真实的。
cEmsKindd:快递类别,客户看到的,可能与真实的不一样。
fPrice:报价总额。
fAddOn:燃油附加费。
fCustoms:报关费。
nDaysB:预计最短派送天数。
nDaysE:预计最长派送天数。
fcWeight:限重,公斤。
fcLong:限长,米。
fcCubic:限体积,立方米。
cMemo:备注。
cMethod:价格计算过程。
cStation:站点标示,与“cqFrom”同属。
3.10.2.2、样例
3.10.2.2.1、
{"ReturnValue":8,"icID":79,"cqFrom":"","cqDes":"US","cqEmsKind":"","nqItemType":1,"fqWeight":1.234,"fqLong":20.0,"fqWidth":30.5,"fqHeight":30.9,"frWeight":3.840,"RecList":[{"cEmsKind":"EMS国际E1","cEmsKindi":"EMS国际E1","fPrice":33.60,"fsPrice":0.00,"fAddOn":0.00,"fCustoms":8.00,"fDiscount":0.00,"nDaysB":4,"nDaysE":7,"fcWeight":0.000,"fcLong":0.00,"fcCubic":0.0000,"cMemo":"推荐级别5星
生效时间2012-12-30起
kkk-uuu
","cMethod":" 12.00(首重500克)
+ 36.00(续重9.00元\x2F1000克:9.00*4)
- 19.20(折扣:48.00*40.00%)
+ 4.80(报关费)
────────────────
= 33.60(会员价)
","cStation":"上海"},{"cEmsKind":"佐川急便","cEmsKindi":"佐川急便","fPrice":46.24,"fsPrice":0.00,"fAddOn":0.00,"fCustoms":0.00,"fDiscount":0.00,"nDaysB":0,"nDaysE":0,"fcWeight":0.000,"fcLong":0.00,"fcCubic":0.0000,"cMemo":"","cMethod":" 61.25(速查0-30000克)
- 15.01(段折扣:61.25*24.50%)\x0D\x0A────────────────
= 46.24(会员价)
","cStation":""},{"cEmsKind":"AIRPAK","cEmsKindi":"AIRPAK","fPrice":48.00,"fsPrice":0.00,"fAddOn":0.00,"fCustoms":0.00,"fDiscount":0.00,"nDaysB":0,"nDaysE":0,"fcWeight":0.000,"fcLong":0.00,"fcCubic":0.0000,"cMemo":"","cMethod":" 12.00(首重500克)
+ 36.00(续重9.00元\x2F1000克:9.00*4)
────────────────
= 48.00(会员价)
","cStation":""},{"cEmsKind":"新加坡邮政","cEmsKindi":"新加坡邮政","fPrice":62.00,"fsPrice":0.00,"fAddOn":0.00,"fCustoms":0.00,"fDiscount":0.00,"nDaysB":0,"nDaysE":0,"fcWeight":0.000,"fcLong":0.00,"fcCubic":0.0000,"cMemo":"","cMethod":" 14.00(首重500克)
+ 48.00(续重12.00元\x2F1000克:12.00*4)
────────────────
= 62.00(会员价)
","cStation":""},{"cEmsKind":"深圳东方联球","cEmsKindi":"深圳东方联球","fPrice":80.00,"fsPrice":0.00,"fAddOn":0.00,"fCustoms":0.00,"fDiscount":0.00,"nDaysB":0,"nDaysE":0,"fcWeight":0.000,"fcLong":0.00,"fcCubic":0.0000,"cMemo":"","cMethod":" 18.00(首重500克)
+ 62.00(续重15.50元\x2F1000克:15.50*4)
────────────────
= 80.00(会员价)
","cStation":""},{"cEmsKind":"北京网易速达","cEmsKindi":"北京网易速达","fPrice":125.00,"fsPrice":0.00,"fAddOn":0.00,"fCustoms":0.00,"fDiscount":0.00,"nDaysB":0,"nDaysE":0,"fcWeight":0.000,"fcLong":0.00,"fcCubic":0.0000,"cMemo":"","cMethod":" 33.00(首重500克)
+ 92.00(续重23.00元\x2F1000克:23.00*4)
────────────────
= 125.00(会员价)
","cStation":""},{"cEmsKind":"UPS","cEmsKindi":"UPS","fPrice":433.95,"fsPrice":0.00,"fAddOn":15.00,"fCustoms":5.00,"fDiscount":0.00,"nDaysB":5,"nDaysE":8,"fcWeight":0.000,"fcLong":0.00,"fcCubic":0.0000,"cMemo":"推荐级别4星
生效时间2012-12-25
未来三年对GDP增长贡献不低于0.7个百分点
电子信息产业调整<\x2FFONT>和振兴规划10日正式发布
","cMethod":" 228.00(首重500克)
+ 518.00(续重74.00元\x2F500克:74.00*7)
- 373.00(段折扣:746.00*50.00%)\x0D\x0A+ 55.95(燃附15.00%)
+ 5.00(报关费)
────────────────
= 433.95(会员价)
","cStation":""},{"cEmsKind":"EMS国际","cEmsKindi":"EMS(国际)","fPrice":820.28,"fsPrice":0.00,"fAddOn":1.00,"fCustoms":4.00,"fDiscount":0.00,"nDaysB":1,"nDaysE":10,"fcWeight":66.600,"fcLong":2.55,"fcCubic":0.4212,"cMemo":"推荐级别5星
生效时间2012-12-30起
2. 东部海区风力较大
29日~30日,受冷空气和
东海中部和东部海域、台湾以东洋面将有
§上海地铁检修库坍塌致5死 工地为交工一直赶工[新浪网 07:37]
§张磊避谈四强前景两次陷沉默 对手给上海女排出招[新浪网 01:35]
§上海女排主帅:新年愿望是想赢球 目标转移到全运会[新浪网 00:27]
§浙江女排终结郎家军七连胜 八一擒上海获宝贵3分[新浪网 21:40]
§城市动起来上海美起来 沪10万人长跑登高迎新年[新浪网 16:47]
hfjkdsf
kkkkkkk","cMethod":" 252.00(首重500克)
+ 551.25(续重78.75元\x2F500克:78.75*7)
+ 8.03(燃附1.00%)
+ 4.00(报关费)
+ 5.00(固定杂费)\x0D\x0A────────────────
= 820.28(同行报价)
","cStation":"上海"}]}
3.11、DoIDCardPicSet
3.11.1、请求:
{"RequestName":"DoIDCardPicSet","icID":79,"TimeStamp":1405534421123,"MD5":"6c08ea4dff56d5a7a959c09f121c3c4f","iID":0,"cRName":"张三","cIDCard":"100222xx8822","cMark":"2x","cEx1":"EM6655222CN","nType":1,"vPic1":"as56...","vPic2":"as56..."}
3.4.1.1、字段名解释
icID:客户ID,在EMMis系统的id,整数,大于零,必须提供
iID:记录ID,大于零,修改记录
cRName:姓名,1-30字符,新加必须提供
cIDCard:证照号,7-30字符,新加必须提供
cMark:标签,0-15字符
cEx1:扩展1,0-63字符,常用于关联运单号
nType:记录类别,(0:发名址;1:收名址;2:它名址)
vPic1:正面图片数据(base64编码)
vPic2:反面图片数据(base64编码)
3.11.2、样例
3.11.2.2、响应:
3.11.3、字段名解释,参阅3.2.1.1
ReturnValue:大于零,成功(记录ID)。负数,失败。
-11:证照号太短(<7)
-12:姓名空
-13:正面图片数据不存在
-14:正面图片数据太少(<1k)
-15:正面图片数据太多(>1m)
-16:正面图片数据解码错误(base64)
-17:反面图片数据不存在
-18:反面图片数据太少(<1k)
-19:反面图片数据太多(>1m)
-20:反面图片数据解码错误(base64)
-21:正面图片数据解码错误(图片)
-22:反面图片数据解码错误(图片)
-23:图片合成错误(罕见)
-24:图片合成数据导出错误(极罕见)
3.12、DoGetNo
3.12.1、请求:
{"RequestName":"DoGetNo","icID":79,"TimeStamp":1405534421123,"MD5":"6c08ea4dff56d5a7a959c09f121c3c4f","cEmsKind":"韩国专线","iType":0}
3.12.1.1、字段名解释
icID:客户ID,在EMMis系统的id,整数,大于零,必须提供。
cEmsKind:快递类别,0-15字符,必须提供。
iType:类别,默认0。0(转单号);1(内单号)
3.12.2、响应:
{"ReturnValue":1,"cNo":"CR123456789EE"}
3.12.2.1、字段名解释
ReturnValue:
0:获取失败,没有资源或未定义
1:成功;解析cNo中的运单号
-14:未提供快递类别(cEmsKind)
-15:未定义该快递类别的转单获取
3.13、VstGoodsList
3.13.1、请求:
{"RequestName":"VstGoodsList","icID":79,"TimeStamp":1425514690000,"MD5":"be2dfd4c4824eeec12b1cfbd24a2cf24","iPage":1,"iPagePer":100,"cqName":"","cqScanCode":"","cqMark":""}
3.13.1.1、字段名解释
icID:客户ID,在EMMis系统的id,整数,大于零,必须提供。
iPage:页次,默认1
iPagePer:每页记录数,默认值0,有效值0-1000,(0 表示仅返回记录总数)
*如下为筛选条件
cqName:查询记录筛选:物品名称,包含查找
cqScanCode:查询记录筛选:物品扫描码,包含查找。可以提供用“,”分割的多个物品扫描码,总长度小于12000字节,如"12345,66222,EE772222CN,UP334444HH",进行多物品扫描码精确查询
cqMark:查询记录筛选:标签,包含查找
3.13.2、响应:
{"ReturnValue":1,"icID":79,"iPage":1,"iPagePer":100,"iTotalRec":6,"cqName":"","cqScanCode":"","cqMark":"","RecList":[{"iID":8,"cName":"白杯子","cNameE":"","cScanCode":"BBZ","cGCode":"BBZ","cUnit":"","fWeight":0.000,"cLwh":"0*0*0","cColor":"","cSize":"","cBrand":"","cModel":"","cMark":"","cMemo":"","cStore":"","cShelf":"","iIn":2220,"iOut":0,"iBag":0,"iQuantity":2220,"iMin":500,"iMax":1000},...]}
3.13.2.1、字段名解释
ReturnValue:1成功并有数据;0:无记录;负数:查询失败
iTotalRec:符合查询条件的记录总数。当前返回的记录明细由RecList决定,为0 - iPagePer条。
iID:记录ID,大于零,记录操作的唯一标识。
cName:物品名称。
cNameE:英文物品名称。
cScanCode:物品扫描码。
cGCode:物品编码。
cUnit:计量单位。
fWeight:重量。
cLwh:体积(长*宽*高)。
cColor:颜色。
cSize:尺码。
cBrand:商标。
cModel:型号。
cMark:标签。
cMemo:备注。
cStore:库房。
cShelf:架位。
iIn:入库总量。
iOut:出库总量。
iBag:打包指令总量。
iQuantity:当前库存。
iMin:最小库存设定。
iMax:最大库存设定。
3.13.2.2、样例
{"ReturnValue":1,"icID":79,"iPage":1,"iPagePer":100,"iTotalRec":6,"cqName":"","cqScanCode":"","cqMark":"","RecList":[{"iID":8,"cName":"白杯子","cNameE":"","cScanCode":"BBZ","cGCode":"BBZ","cUnit":"","fWeight":0.000,"cLwh":"0*0*0","cColor":"","cSize":"","cBrand":"","cModel":"","cMark":"","cMemo":"","cStore":"","cShelf":"","iIn":2220,"iOut":0,"iBag":0,"iQuantity":2220,"iMin":500,"iMax":1000},{"iID":7,"cName":"笔记本","cNameE":"NoteBook","cScanCode":"NT","cGCode":"NT001","cUnit":"","fWeight":0.000,"cLwh":"0*0*0","cColor":"","cSize":"","cBrand":"","cModel":"","cMark":"","cMemo":"","cStore":"","cShelf":"","iIn":6470,"iOut":3415,"iBag":3415,"iQuantity":3055,"iMin":100,"iMax":100000},{"iID":5,"cName":"打印机wh-01","cNameE":"打印机wh-01","cScanCode":"DYJ","cGCode":"DYJ","cUnit":"","fWeight":0.000,"cLwh":"0*0*0","cColor":"","cSize":"","cBrand":"","cModel":"","cMark":"","cMemo":"","cStore":"","cShelf":"","iIn":30,"iOut":3,"iBag":3,"iQuantity":27,"iMin":0,"iMax":0},{"iID":9,"cName":"黑杯子","cNameE":"","cScanCode":"HBZ","cGCode":"HBZ","cUnit":"","fWeight":0.000,"cLwh":"0*0*0","cColor":"","cSize":"","cBrand":"","cModel":"","cMark":"","cMemo":"","cStore":"","cShelf":"","iIn":1000,"iOut":0,"iBag":0,"iQuantity":1000,"iMin":500,"iMax":1000},{"iID":2,"cName":"联想手机","cNameE":"Phone","cScanCode":"PH123","cGCode":"TEL99","cUnit":"只","fWeight":0.000,"cLwh":"0*0*0","cColor":"","cSize":"","cBrand":"","cModel":"","cMark":"","cMemo":"","cStore":"001","cShelf":"K9","iIn":14,"iOut":2,"iBag":2,"iQuantity":12,"iMin":0,"iMax":0},{"iID":4,"cName":"孟牛500克牛奶","cNameE":"milk 500g","cScanCode":"MM3456","cGCode":"MM500-","cUnit":"箱","fWeight":10.000,"cLwh":"30*40*50","cColor":"白色","cSize":"","cBrand":"孟牛","cModel":"","cMark":"上海","cMemo":"","cStore":"002","cShelf":"HG-23-Y","iIn":318,"iOut":49,"iBag":49,"iQuantity":269,"iMin":1000,"iMax":5000}]}
3.14、GetClientID
3.14.1、请求:
{"RequestName":"GetClientID","TimeStamp":1429754090000,"MD5":"be2dfd4c4824eeec12b1cfbd24a2cf24","cWcid":"test","cWebAc":"Just4Test","cPassword":"1234","bGenKey":true}
3.14.1.1、字段名解释
cWcid:GInfo网站ID,必须。
cWebAc:GInfo网站会员帐号,必须。
cPassword:GInfo网站会员密码,必须。
bGenKey:是否在客户没有设置密钥时,自动设置。逻辑值true/false,默认false(不设置)
*此接口的MD5请随机生成,建议用时间戳与一个随机串组合成源数据
*MD5 务必使用小写字符!
3.14.2、响应:
{"ReturnValue":79,"cWebAc":"Just4Test","icID":79,"cKey":"5357015007065707"}
ReturnValue:大于0:成功,客户ID;负数:失败
-2:GInfo中没有该帐号
-12:WebAc空
-13:Wcid空
-14:密码错
-22:EMMis中没有客户与此GInfo帐号关联
-23:EMMis中,还没有为此客户设置密钥
icID:客户ID,在EMMis系统的id。
cKey:加密后密钥。
解码算法:
1,将该串按16进制文本还原为字节(两个16进制码还原为一个字节码)
2,将还原的字节码逐一与MD5的字节进行异或运算
如例解码结果为:1234abcd
参考如下c++代码:
char * Decode_x(char *psz, char *pszMD5)
{
int i,j;
unsigned char c;
//i为解码索引,j为原码索引,判断字串结束符(0值字节),退出循环
//非c程序通常用字串长度作退出循环判断
for(i=0,j=0; psz[j]; i++,j++)
{
//处理第一个字符,将其换算为字节内码值(高4位)
//16进制换算:0=0,1=1,2=2,....9=9,aA=10,bB=11,cC=12,dD=13,eE=14,fF=15
//如果不是c程序,简单16个if换算,结果乘以16就是所谓高4位值
c = (psz[j]>='A' ? ((psz[j] & 0xDF)-'A')+10 : (psz[j]-'0'))<<4;
//判断第二个字符,正常情况下,此情形不会发生,因为格式化的16进制一定为偶数
if(!psz[++j]) break;
//处理第二个字符,将其换算为字节内码值(低4位)
//将低4位值加到高4位值上,即为解码字节的内码值(中间态密文)
c |= (psz[j]>='A' ? ((psz[j] & 0xDF)-'A')+10 : (psz[j]-'0'));
//赋值到解码索引位置
psz[i] = (char)c;
}
//设置解码字串结束符
psz[i] = '\0';
//i为解码索引,判断0值字节为字串结束,退出循环
for( i=0;psz[i];i++)
{
//逐字节与MD5串进行异或运算,不用担心越界,密钥长度不会超过30字符
psz[i] ^= pszMD5[i];
}
//返回解码字串指针,实际上就是原码字串指针,字串长度应该为原码长度的一半
return psz;
}
*Decode_x("5357015007065707","be2dfd4c4824eeec12b1cfbd24a2cf24") == "1234abcd"*
"53"到"1"的计算过程
5=5*16=80 //高4位
3=3 //低4位
80+3=83 //中间态密文内码
83异或"b"(MD5的第1个字符,内码98)=49 == "1"的内码
//Java 函数示例
public class xDecode {
public static byte[] hexToBytes(char [] hex){
int length = hex.length / 2;
byte[] raw = new byte[length];
for (int i = 0; i < length; i++) {
int high = Character.digit(hex[i * 2], 16);
int low = Character.digit(hex[i * 2 + 1], 16);
int value = (high << 4) | low;
if (value > 127)
value -= 256;
raw[i] = (byte) value;
}
return raw;
}
public static byte[] hexToBytes(String hex){
return hexToBytes(hex.toCharArray());
}
public static String Decode_x(String s,String md5){
int iLen = s.length();
if(iLen <= 0) return "";
if(iLen % 2 != 0) return "";
StringBuilder sb = new StringBuilder();
byte [] bs = hexToBytes(s);
byte [] bd = md5.getBytes();
char c;
for(int i=0;i