常见问题
- 云商店是否可以提供正向代理服务器的IP地址给商家,以建立访问白名单?
- 接口调测里面的生产地址是什么?
生产地址是商家用来接收华为云商店同步数据的地址,商品的五个地址和kit的五个地址要求填写一样的值
- 商品的五个接口(get请求),通过参数activity的值来识别是哪个接口在同步数据(具体参见接口描述)
- KIT的五个接口(post请求),在生产地址后面自动拼接对应固定子路径来区分哪个接口同步数据(具体参见接口描述)
注:在不改变页面填写的参数的前提下,每个接口多次调测都要能保证返回成功,各个接口间没有先后顺序
- 生产地址能不能先使用商家测试环境的地址?
可以先使用测试环境地址调测接口、创建应用凭证、对接登录,但是发布商品时必须创建正式的应用凭证,因此在申请正式的应用凭证前还需用生产环境的地址调测接口、创建应用凭证、对接登录。
- 租户同步中的域名domainName应该如何填写?有何用处?
domainName在接口调测时仅用于测试,可随便填写;在实际的租户同步接口中,domainName是云商店分配的,买家在下单商品后,云商店会同步租户信息至商家侧,商家需要存储租户ID和域名的对应关系;domainName的具体使用请参见登录流程。
- 租户同步接口调试时,商家收到的数据为什么少了instanceId、orderId字段?
在租户同步接口调试时,由于没有真实的订单信息,所以这两个字段都是为空。只有当买家去购买商家的商品,产生真实订单后才会传对应参数值。
- 应用同步里的公钥如何生成?
密钥长度>=3072bit,密钥格式为PKCS#8,不设置私钥密码。
- 应用接入调试-应用同步接口调试页面中客户端secret填什么?
客户端secret调测的时候随便写,然后页面填写公钥(去掉前后注释);华为会在后台通过公钥对secret加密传给伙伴,伙伴接收到后根据对应的私钥来解密,解密结果为页面填写的值,则解密成功。(比如页面填写的test,加密后变成abs,伙伴最后能解密得到test就可以)。
- 接口调测验签失败是什么原因?
- 客户先看下有没有成功接收到请求参数,如果没有的话需要先确认下生产地址url是否正确(参照上文第二点);
- 看下返回结果resultCode是不是六个0;返回结果body签名的key的获取是不是对的,计算签名值的时候不要key+timeStamp,只要key。body是json字符串格式:{"resultCode":"000000","resultMsg":"Success"};
- 看下返回方式,要把body放到response里:response.getWriter().print(body);不要直接return一个对象;
- 再看下返回内容是不是接口定义的返回字段。
- 接口调测提示服务不可达怎么办?
- 确认接口地址是否正确,kit的五个接口地址我们会后台拼接子路径
- 接收到请求参数后,日志查看下最终返回的是不是成功结果信息(应用同步接口需要看下是否私钥解密失败)
- 联营kit的五个接口什么时候会同步数据
- 卖家侧:
- 创建应用凭证的时候会调用{1.租户同步,2.应用同步,5.组织部门同步(全量)}三个接口给伙伴同步数据;
- 申请测试账号的时候调用{3.应用授权同步}接口将该账号相关信息同步给伙伴
- 买家侧:
- 应用绑定组织的时候会调用{1.租户同步,2.应用同步,5.组织部门同步(全量)}三个接口给伙伴同步数据;
- 给组织下账号授权该应用的时候调用{3.应用授权同步}接口将该账号相关信息同步给伙伴;
- 绑定组织后对组织下部门调整的时候会调用{4.组织部门同步(增量)}
- 卖家侧:
- 一个应用对应的应用登录地址是唯一的吗?
应用登录地址是申请应用凭证时填写的,商家创建的每个应用对应的应用登录地址要保持唯一,便于登录时匹配对应的应用。该地址是用户从统一登录平台登录成功后重定向到商家的地址,商家接收到请求后,调用token和userinfo接口来获取到登录用户信息。
- 登录调测获取token接口返回失败怎么办?
获取token的接口地址是{domain_name}/api/v1/oauth2/token;该接口涉及到三个动态参数的本地查下:
- domain_name:域名,在租户同步接口中传递了该参数,通过tenant查到对应的值,本身带有https协议头
- clientId:应用同步接口中传递了该值,通过tenantId和appId到应用同步接口中查到对应的clientId;appId伙伴可以在应用凭证保存后重新编辑,应用登录地址后面拼上该appId,或者直接根据接收登录请求的地址本地映射appId
- clientSecret:逻辑同clientId,需要注意此时需要通过私钥解密后传明文
- 发布kit商品的时候选择应用不显示生产地址怎么办?
找到这个应用维护的生产地址,到[调试用例管理]菜单下查询该地址对应的调测成功的案例,找到后随便点一条最后的操作列的“调测”,然后无序的调测十个接口(除了应用同步接口复制公钥,其余参数都不改直接多次调测),需要接口都调测成功。最后检查发布的商品是包周期还是按次的还是都有,确认新购接口是不是都调测并保存了对应场景。
- 商品发布提示缺少SaaS调试示例接口怎么办?
确认商品发布是包周期还是按次的,在新购接口里是否有对应的调测记录。调测的接口不分先后调用顺序,要保证多次重复调用都返回成功。
- 买家应用绑定组织卖家侧收到租户同步接口失败提醒(查不到实例instanceId)怎么办?
先在卖家侧再调测下租户同步接口,创建一条测试应用凭证,都成功的话,和商家确认下新购接口同步的时候,需要根据orderId来查是否已有对应的instanceId,如果已有则不要再新生成一个替换已有的。(买家查询订单资源信息的时候也会调用新购接口,此时商家不要去更新该订单的instanceId)
- 一个商品可以有多个appId吗?
- 之前在云商店上架过SaaS商品,现在上架联营SaaS是在之前的商品上升级为联营SaaS还是需要重新创建一个商品?
上架联营SaaS商品不能在之前的商品上升级,需要重新创建一个新的商品。点击发布联营商品,支持两种模式创建商品:复制商品信息和创建商品信息。
- 怎么才能在应用授权同步接口里拿到授权账号的手机号邮箱等信息?
商家创建应用凭证后,需要在操作列先申请授权权限,因为涉及隐私信息,所以只能申请后等买家去选择授权哪些额外信息同步过来。
- 授权账号角色有哪些,是否可设置?
当前账号角色只有user和admin两个角色,因为每家商家的角色范围可能存在不一致场景,所以我们这只是设置这两种角色。伙伴可以拿到这两种角色账号后根据自身业务分配权限等操作。需要注意的是我们这边不会限制买家必须两种角色都要创建