第三方消息二开对接方案

栏目:云星空知识作者:金蝶来源:金蝶云社区发布:2024-09-23浏览:1

第三方消息二开对接方案

【应用场景】

金蝶云星空提供了第三方消息记录功能(版本:PT-151005 [8.2.0.20231109] 支持),方便客户做第三方消息的二开对接,推送到第三方平台;对于星空云短信停售后,客户仍需短信功能,也可用第三方消息二开方案推送到第三方短信运营商。



【实现步骤】

<1>启用第三方消息设置,并维护好“接口数据加密公钥”,此密钥是RSA加密方式的密钥,可以从网上获取,密钥长度为2048。

--补充,RSA密钥获取方式:百度搜索“rsa密钥生成器”,选择密钥大小为2048位,这样更安全,生成RSA密钥对,将公钥维护到配置界面,私钥用第<3>步接口数据解密。如下图:


<2>启用第三方消息后,系统中所有第三方消息(包括原云短信生成的数据),将会写入到第三方消息列表


<3>客户若有对接应用需求,可以通过接口(详见接口文档附件获取第三方消息接口说明.rar),把数据获取出来,再二开把数据推送数据(比如:以短信方式,推送给短信运营商),接口数据是通过1步骤的公钥加密,需要通过RSA的私钥解密。


<4>获取的数据,做完逻辑后,需要调用webapi接口,状态字段更新为“已处理,保证下次接口获取不到此笔数据。


<5>如果需要第三方消息即时处理,可扩展第三方消息单据,增加保存服务插件去推送消息。

<6>以下提供c#代码的列子:详细代码见附件第三方消息即时发送参考代码.rar


<7>步骤6,系统产生消息时,发送一次,可能存在失败,最好的实践方式,在6的基础上,配合步骤3和4,做个工具,定时检查是否有消息推送失败,失败了,在尝试推送,可保证消息都成功推送出去。


【功能验证】

<1>加上保存的服务插件,在登录接口发送验证码.

<2>第三方消息单据记录到数据,且状态更新为已处理

<3>后台日志同时也记录到这条消息内容和手机号



版本PT-151005 [8.2.0.20231109]对短信菜单进行了隐藏,如需恢复菜单,可到业务中心库执行以下脚本。执行后重新登录Administrator账号,可查看短信菜单。脚本如下(注意分sqlsever和oracle数据库脚本)

--TO SQL SERVER:

-1.备份数据

SELECT * INTO T_META_CONSOLESUBFUNC231219 FROM T_META_CONSOLESUBFUNC;

SELECT * INTO T_META_CONSOLESUBFUNC_L231219 FROM T_META_CONSOLESUBFUNC_L;

--2还原短信菜单

IF NOT EXISTS (SELECT 1 FROM T_META_CONSOLESUBFUNC WHERE FSubFuncID = '58b4cb689552dd')

BEGIN

INSERT INTO T_META_CONSOLESUBFUNC (FSUBFUNCID, FNUMBER, FSUBSYSTEMID, FSEQ, FISDEFAULT) VALUES ('58b4cb689552dd', N'DXFW', N'SET', 35, 1)

END

;

IF NOT EXISTS (SELECT 1 FROM T_META_CONSOLESUBFUNC_L WHERE (FSubFuncID = '58b4cb689552dd' AND FLOCALEID = 2052))

BEGIN

INSERT INTO T_META_CONSOLESUBFUNC_L (FPKID, FSUBFUNCID, FLOCALEID, FNAME, FDESCRIPTION) VALUES ('58b4cb689552de', '58b4cb689552dd', 2052, N'短信服务', N' ')

END

;


--TO ORACLE:

--1.备份数据

CREATE TABLE T_META_CONSOLESUBFUNC231219 AS SELECT * FROM T_META_CONSOLESUBFUNC;

CREATE TABLE T_META_CONSOLESUBFUNC_L231219 AS SELECT * FROM T_META_CONSOLESUBFUNC_L;


--2.还原短信菜单

BEGIN

DECLARE CNT PLS_INTEGER;

BEGIN

 select COUNT(*) FCOUNT INTO CNT from (SELECT 1 FROM T_META_CONSOLESUBFUNC WHERE FSubFuncID = '58b4cb689552dd' );

IF CNT = 0 THEN

EXECUTE IMMEDIATE 'INSERT INTO T_META_CONSOLESUBFUNC (FSUBFUNCID, FNUMBER, FSUBSYSTEMID, FSEQ, FISDEFAULT) VALUES (''58b4cb689552dd'', N''DXFW'', N''SET'', 35, 1)';

END IF;

END;

DECLARE CNT PLS_INTEGER;

BEGIN

 select COUNT(*) FCOUNT INTO CNT from (SELECT 1 FROM T_META_CONSOLESUBFUNC_L WHERE (FSubFuncID = '58b4cb689552dd' AND FLOCALEID = 2052) );

IF CNT = 0 THEN

EXECUTE IMMEDIATE 'INSERT INTO T_META_CONSOLESUBFUNC_L (FPKID, FSUBFUNCID, FLOCALEID, FNAME, FDESCRIPTION) VALUES (''58b4cb689552de'', ''58b4cb689552dd'', 2052, N''短信服务'', N'' '')';

END IF;

END;

END;


第三方消息二开对接方案

【应用场景】金蝶云星空提供了第三方消息记录功能(版本:PT-151005 [8.2.0.20231109] 支持),方便客户做第三方消息的二开对接,推送到第...
点击下载文档
确认删除?
回到顶部
客服QQ
  • 客服QQ点击这里给我发消息