1. 联通OMS
BBC联通OMS方式为,BBC通过队列的方式将BBC中的订单
售后
退款
等相关消息推送到prism
,
galaxy
通过监听prism
消息,获取订单
,售后
,退款
等相关数据推送到OMS,目前只支持自营店铺进行联通
1.1. 相关软件安装
在BBC联通OMS的过程中,涉及到BBC
,prism
,galaxy
,OMS
四个软件或系统,这里不再进行BBC、OMS系统安装部署文档说明。
在查看该文档的情况下默认BBC、OMS系统已经安装完成!
1.1.1. prism安装部署(本文档基于Centos 6.5,64位)
安装mongodb,提供给prism使用
sudo yum install mongo-10gen.x86_64
安装prism,shopex提供的prism的rpm安装包
rpm -ivh prism-3.0.8b-shopex.x86_64.rpm
安装erlang,rabbitmq需要使用erlang
yum install erlang.x86_64
安装rabbitmq,提供给prism消息队列使用
yum install rabbitmq_server.x86_64
开启rabbitmq的web服务
rabbitmq-plugins enable rabbitmq_management
配置
vim /usr/local/prism/conf/app.conf
确保15672
端口,8080
端口能够访问[default] appname = prism debug = prod mongodb = 127.0.0.1 mongodb_pool_size = 4096 webapp_listen = :8080 # saas地址 super_listen = :8081 masterdomain = .local:8080 # mongo中相关的collection名称 db_base = prism db_stat = prism_stat db_token = prism_token # oauth后台,OauthMysql或者OauthApi oauth_backend = OAuthApi # 独立部署模式 single_mode = yes # 禁止追踪api调用记录 disable_tracing = false # 禁止saas记录各个站点的api调用log disable_site_log = false # 禁止api频率限制 disable_flow_control = false # 消息队列软件 defualt = rabbitmq backend_queue = default [notify] # rabbitmq相关设置 notify_support = true rabbitmq_server = amqp://127.0.0.1:5672 rabbitmq_user = admin rabbitmq_password = idney837hdhs rabbitmq_vhost = prism rabbitmq_web = http://127.0.0.1:15672/ [proxy] # 全内网代理设置 # 用户中心用户oms申请证书的服务器 user_center = http://service.shopex.cn/ # oms设置绑定关系的服务器 bind = http://www.matrix.ecos.shopex.cn/ # prism外网地址 domain = http://prism.shopex.cn:8080/ # 内网galaxy bbc相关api的前缀 galaxy = http://127.0.0.1:6980/api/ecos.ome-bbc/ # 矩阵服务器 matrix = http://matrix.ecos.shopex.cn/
启动
/etc/init.d/prism [start|restart|stop]
日志文件
/usr/local/prism/logs/
注意 重装
prism
后需要重新配置BBC联通OMSprism
1.1.2. galaxy安装部署
安装
galaxy
,准备galaxy
的rpm
源,服务器要求 Centos6.5rpm -ivh galaxy-2.4.5-shopex.x86_64.rpm(如有就版本需要卸载旧版本)
配置
安装完成后,将BBC中的
script/galaxy/erp-bbc-2
文件夹放入/usr/local/galaxy/data/
下,并做如下配置打开文件:
vim /usr/local/galaxy/data/erp-bbc-2/node/prism.amq.json
galaxy
读取prism
队列的相关配置{ "title": "test", "type": "prism_amq", "config": { "host": "http://127.0.0.1:8080/api", //prism的api地址 格式为http://xxx.xxx/api "key": "47ekkd3x", //读取prism队列的key BBC绑定prism后开通的开发者账号的key "secret": "htzu32hyjqoryatn4o3l" //读取prism队列的secret BBC绑定prism后开通的开发者账号的secret } }
打开文件:
vim /usr/local/galaxy/data/erp-bbc-2/node/shopex_certi.json
galaxy
读取oms
绑定信息的相关配置{ "title": "test", "type": "mongo", //mongo的服务器地址 prism "config": { "server":"127.0.0.1:27017", "database":"shopex_certi", //存储绑定信息的collection 不可修改 "user":"", //mongo用户名 "password":"" //mongo密码 } }
启动
/etc/init.d/galaxy start 重启 killgalaxy的进程再启动
注意事项 prism服务重新启动后,galaxy也需要重新启动
日志文件
/usr/local/galaxy/log/
1.2. 配置
1.2.1. 初始化,BBC联通prism
检查prism是否为API代理OAuth
登录prism后台,点击
OAuth菜单
->后端参数
,保证OAuth服务的后端模式为API代理OAuth。如图:如果为mysql模式,对于saas prism来说在申请修改OAuth服务的后端模式,独立部署的prism,请根据prism部署手册安装
打开prism后台,获取admin用户的
key
和secret
。点击进入我的账号查看,如图:BBC中将
config/prism.php
复制到config/production/prism.php
,并且修改以下提示的参数/* |-------------------------------------------------------------------------- | 是否将系统消息推送到prism |-------------------------------------------------------------------------- | 如果开启则创建订单,退款等消息会推送到prism,改为true */ 'prismNotify' => false, /* |-------------------------------------------------------------------------- | Prism服务器的Host地址 |-------------------------------------------------------------------------- | | prism服务器的地址,URL地址最后不要加 "/" | */ 'prismHostUrl' => 'http://prism.bryant.onex.software:8080', /* |-------------------------------------------------------------------------- | Prism管理员的Key和Secret |-------------------------------------------------------------------------- | | prism第一次启动时会在命令行显示,如果忘记,在prism后台的用户中心可以看到 | */ 'prismAdminKey' => '5ioviqux', 'prismAdminSecret' => 'qzafphmi4tppgzncafdb', /* |-------------------------------------------------------------------------- | Prism api和应用的提供者的email和密码 |-------------------------------------------------------------------------- | | api提供者的账号密码,要求账号不存在,否则会报错。 | 最好修改该默认账号和密码 | */ 'prismUserEmail' => 'test@test.cn', 'prismUserPassword' => 'demo123',
注意:需要修改prismUserEmail,prismUserPassword,防止泄露
执行BBC的CMD命令将BBC配置参数和联通所需的API推送到prism
#将BBC的api在prism的映射初始化 ./cmd system:prism forceupdate #进行Oauth的自动化配置 ./cmd system:prism oauthUpdate #初始化BBC消息推送到prism设置 ./cmd system:prism initNotify #初始化店铺消息路由 ./system:prism initShopRouting
检查初始化是否成功
检查Api调用权限是否配置成功
打开prism后台,进入应用菜单,在应用列表中的点击进入
bbcopenstandard
的应用, 查看联通所需的API是否在API调用权限列表内,如图:BBC联通OMS所需API
//售后退款相关API aftersales.refundapply.shop.check # 商家审核,更新退款申请单 aftersales.refundapply.shop.add # 添加退款申请单 aftersales.refundapply.get # 获取退款申请单详情 aftersales.get # 获取单个售后申请单详情 aftersales.status.update # 更改售后单状态 //商品相关API item.shop.store.update # 库存回写 item.search # 搜索商品信息 item.list.get # 根据多个商品item_id组分别获取商品以及商品下的规格货品信息 item.get # 根据单个商品id获取商品以及商品下的规格货品信息 item.sku.get # 根据sku_id获取货品的信息 //订单联通相关API trade.shop.get # 获取单个订单详情 trade.cancel # 取消未付款订单 trade.delivery # 发货
如果调用API权限不足可通过prism页面(上图)进行授权
1.2.2. BBC开放API权限申请流程
一套OMS有且只能对应一个BBC的开发者账号。如果OMS需要绑定多个BBC的店铺。
所有需要绑定的BBC的店铺绑定同一个开发者账号的Key和Secret。
- 打开BBC运营平台开放
开发者列表->新增开发者账号
,新增一个开发者账号 - 将新增的开发者账号的
Key
和Secret
提供给galaxy,将用于galaxy监听prism消息队列使用 - 打开BBC商家中心(
必须为自营店铺
)店铺->开发者中心
,输入开发者账号的Key
和Secret
申请开通 - 商家申请后到运营平台
开发者中心->商家列表
申请开通绑定 - 运营平台通过申请后,进入商家中心的开发者中心开启
开发者模式
1.2.3. 检测配置是否有问题
检测是否可以OAuth登录
打开prism后台,进入OAuth 检测用户是否存在,通过则表示正常。 如果返回null,可进入到BBC后台查看API调用日志
检测BBC是否有推送到prism消息权限
在检查Api调用权限是否配置成功页面是否有messages消息队列权限
1.2.4. OMS和BBC的绑定。
只要在OMS端单项绑定即可。
OMS添加店铺
绑定类型是
BBC商城
地址填写prism的地址(注意,域名后面不要有'''/'''符号)
输入开发者账号的
key
和Secret
,打开oauth登录页面,使用BBC店铺账号登录即可。