商品导入接口规范

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

1/9商品导入接口规范1.调用入口不同的协议采用不同的调用入口,具体如下:协议调用入口SOAP://fxt.freep.cn/api/Gateway.svc/http如果需要创建SOAP客户端,可以从以下地址获取服务元数据(遵循WSDL标准):。2.操作调用本接口包含身份验证(Authenticate)和导入商品(ImportGoods)两个操作,每一个操作都有一个唯一的名称,其调用地址为:调用入口+路径分隔符+操作名,例如身份认证操作的调用入口为:(SOAP)(HTTP)3.操作参数(1)不同的操作有不同的参数,详见《商品导入接口操作说明》。(2)所有参数都需要序列化,序列化规则参见本文档中的“序列化规则”一节。(3)参数中包含中文字符时需要编码,编码标准采用utf-8。(4)采用HTTP协议时,所有参数均以POST方法提交,并封装于请求正文。(5)调用导入商品操作时需要携带Cookie身份凭证,此身份凭证由身份验证操作颁发,由调用方负责保存。4.操作返回值(1)各操作的返回值参见《商品导入接口操作说明》。(2)返回值已序列化,序列化规则见本文档中的“序列化规则”一节。(3)返回值中如果包含中文字符,采用utf-8标准进行编码。(4)服务端执行操作失败将向调用方发送错误信息,错误信息数据结构的名称为BusinessFault,其序列化规则请参见本文档中的“序列化规则”一节。(5)采用HTTP协议时,不论服务端执行成功还是失败返回的Http状态码均为200,如果执行成功则在响应消息正文中包含返回值(已序列化),如果执行失败则在响应消息正文中包含错误信息(已序列化)。2/95.序列化规则使用SOAP协议调用接口时,仅支持XML序列化方案。如果使用HTTPREST协议调用接口,则可以自主指定XML或JSON序列化方案,指定方式为在HTTP请求头中设置“Content-Type:application/xml”或“Content-Type:application/json”。(1)请求数据的序列化XML序列化:操作名xmlns=简单参数名参数值/简单参数名!--对于枚举类型,用枚举项名称--复杂参数名xmlns:i=属性名属性值/属性名!--对于枚举类型,用枚举项名称--属性名属性值/属性名!--更多属性--/复杂参数名集合参数名xmlns:i=元素类型名/元素类型名元素类型名/元素类型名!--更多元素--/集合参数名/操作名请求数据XML序列化示例:JoinSchoolxmlns=!--操作名:JoinSchool--personsxmlns:i=!--集合参数:persons--Person!--集合中的第一个元素--Age22/AgeProvince湖北省/ProvinceSchools!—Person类的Schools属性,为集合类型--SchoolAge80/AgeIsGoodfalse/IsGood!--bool类型--Name沙洋中学/NameTypeGaoZhong/Type!--枚举类型,使用枚举项值--/School/SchoolsSex男/Sex/PersonPerson!--集合中的第二个元素--3/9Age23/AgeProvince湖北省/ProvinceSchoolsSchoolAge60/AgeIsGoodfalse/IsGoodName襄樊一中/NameTypeGaoZhong/Type/School/SchoolsSex男/Sex/Person/personsschoolxmlns:i=!--复杂参数:school--Age90/AgeIsGoodtrue/IsGoodName湖北大学/NameTypeDaXue/Type/schooljoinTime2014-09-03/joinTime!--简单参数:joinTime--/JoinSchoolJSON序列化:{“简单参数名”:”简单参数值”,!--对于枚举类型,用枚举值--“复杂参数名”:{“属性名1”:”属性值1”,!--对于枚举类型,用枚举值--“属性名2”:”属性值2”!--更多属性--},“集合参数名”:[{!—集合中的第一个对象--“属性名1”:”属性值1”,“属性名2”:”属性值2”!--更多属性--},{!—集合中的第二个对象--“属性名1”:”属性值1”,“属性名1”:”属性值2”!--更多属性--4/9}!--更多对象--]}请求数据JSON序列化示例:{persons:[!—集合参数:persons--{!—集合中的第一个对象--Age:10,Province:湖北省,Schools:[!—Person类的Schools属性,为集合类型--{Age:70,IsGood:false,!—bool类型--Name:沙洋中学,Type:0!—枚举类型,使用枚举值--}],Sex:男},{!—集合中的第二个对象--Age:23,Province:湖北省,Schools:[{Age:70,IsGood:false,Name:襄樊一中,Type:0}],Sex:男”}],school:{!—复杂参数:school--Age:90,IsGood:true,Name:湖北大学,Type:2},joinTime:2014-09-03!—简单参数:joinTime--}5/9(2)返回值的序列化XML序列化:!--基元类型返回值--操作名Responsexmlns=返回值/操作名Result!--对于枚举类型,使用枚举项名称--/操作名Response!--复杂类型返回值--操作名Responsexmlns==属性名属性值/属性名!--对于枚举类型,使用枚举项名称--属性名属性值/属性名属性名属性值/属性名!--更多属性--/操作名Result/操作名Response!--集合类型返回值--操作名Responsexmlns==元素类型名/元素类型名元素类型名/元素类型名!--更多元素--/操作名Result/操作名Response返回值XML序列化示例:!--基元类型返回值示例--GetSchoolTypeResponsexmlns=!--复杂类型返回值示例--GetPersonResponsexmlns==北京/ProvinceSchools!--一个集合类型的属性:Schools--School!--Schools集合第一个对象--Age80/AgeIsGoodfalse/IsGood!--bool类型--6/9Name沙洋中学/NameTypeGaoZhong/Type!—枚举类型--/SchoolSchool!--Schools集合第二个对象--Age90/AgeIsGoodtrue/IsGoodName湖北大学/NameTypeDaXue/Type/School/SchoolsSex女/Sex/GetPersonResult/GetPersonResponse!--集合类型返回值示例--GetSchoolsResponsexmlns==!--集合中的第一个元素--Age80/AgeIsGoodfalse/IsGood!--bool类型--Name沙洋中学/NameTypeGaoZhong/Type!—枚举类型--/SchoolSchool!--集合中的第二个元素--Age90/AgeIsGoodtrue/IsGoodName湖北大学/NameTypeDaXue/Type/School/GetSchoolsResult/GetSchoolsResponseJSON序列化:!--基元类型返回值--{“操作名Result”:返回数据!—对于枚举类型,使用枚举值--}!--复杂类型返回值,返回类型为类,结构等类型时适用--{“操作名Result”:{“属性名1”:”属性值1”,!—对于枚举类型,使用枚举值--“属性名2”:”属性值2”7/9!—更多属性--}}!--集合类型返回值--{“操作名Result”:[{!—集合对象1--“属性名1”:”属性值1”,!—对于枚举类型,使用枚举值--“属性名2”:”属性值2”},!--更多属性--},{!—集合对象1--“属性名1”:”属性值1”,“属性名2”:”属性值2”},!--更多属性--}!--更多对象--]}返回值JSON序列化示例:!--基元类型返回值--{“GetSchoolTypeResult”:3!--枚举类型使用枚举值,而不是枚举项名称--}!--复杂类型返回值--{“GetPersonResult”:{“Age”:22,“Province”:”湖北省”,“Schools”:[!--一个集合类型的属性:Schools--{!--Schools集合第一个对象--“Age”:90,“IsGood”:false,!--bool类型--“Name”:”湖北大学”,“Type”:3!--枚举类型--},{!--School

1 / 9
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功