智能小e-外联系统文档

前言

  • 集成配置
  • 同步
  • 单点
  • 外联系统
  • 智能办公
  • 智能问答
  • 智能体

一、 外联系统

智能小e外联系统用于处理第三方API调用、统一认证功能;分别应用在智能办公、数智台、智能问答和智能体中。

创建外联系统,智能小e内置了:e9协同办公系统、e10协同办公系统、e-office协同办公系统。

1、e9协同办公系统

1.1、e9系统appid如何获取

在ecology系统数据库执行以下脚本示例(请不要直接使用示例中的数据):

复制代码
INSERT INTO ECOLOGY_BIZ_EC(ID,APPID,NAME) VALUES('123456','EEAA5436-7577-4BE0-8C6C-89E9D88805EA','智能小e');

COMMIT;
-- 查询是否创建成功
SELECT* FROM ECOLOGY_BIZ_EC;

ECOLOGY_BIZ_EC字段说明:

字段 说明
ID 数据库主键。随便写,保证与ECOLOGY_BIZ_EC表主键标识不冲突即可(对应示例:123456)
APPID 许可证号码。随便写,保证与ECOLOGY_BIZ_EC表许可证号码不冲突即可(对应示例:EEAA5436-7577-4BE0-8C6C-89E9D88805EA)
NAME 许可证名称。随便写(对应示例:上海泛微网络科技股份有限公司)

1.2、配置接口白名单

在ecology系统代码目录中找到以下配置文件:ecology/WEB-INF/prop/weaver_session_filter.properties

复制代码
checkurl=/api/hrm/emmanager;/api/userPhrase;
uncheckurl=/api/ec/dev/app/getCheckSystemInfo;/api/ec/dev/app/emjoin;
unchecksessionurl=/api/ec/dev/util/accesspage;.../api/loginportal/element/;/api/edc/fillin/;

unchecksessionurl后面添加:

复制代码
unchecksessionurl=...;/api/ec/dev/auth/regist;/api/ec/dev/auth/applytoken;

1.3、使用许可证appid开放IP地址

在ecology系统代码目录中找到以下配置文件:ecology/WEB-INF/prop/weaver_rest_token.properties

复制代码
# 限制Rest API Token Invoke注册端IP地址,多个IP地址之间用逗号分隔
# 例如:allowIp=124.221.180.37,182.254.156.222
allowIp=

在allowIp=后面添加客户调用方服务器实际的ip地址(不设置将代表不限制任何ip,生产环境建议设置)

若客户为内网,则需要在服务器上开放IP白名单 124.221.132.20、110.42.214.213、124.220.90.142、42.192.108.51、124.221.180.37、182.254.156.222

具体配置可以参考文档 e9Token认证

1.4、常见问题

注意

错误排查地址:https://e-cloudstore.com/doc.html?appId=c19494db68b34e5883bb1379c6afef2d

1.4.1、无法访问,请检查访问地址

问题原因排查:

  • 域名访问地址不存在、填写错误
  • ip地址为内网ip,需要修改外网ip
  • 端口号没有开放
  • 客户系统网络问题,服务有防火墙配置,需要客户服务端 开放ip白名单: 124.221.132.20、110.42.214.213、124.220.90.142、42.192.108.51、 124.221.180.37、182.254.156.222
1.4.2、token:不存在或者超时a25ed7ba-6027-424d-96ec-99daef56a51d
  • 1、如果客户是集群环境,并且经常复现此类错误,请检查redis是否正常,如果没有使用redis,我这边可以修改为只使用数据库进行存储token,防止复现
  • 2、正常调用出现此类错误的,可以使用postman进行测试,看看token是否很快过期,token很快就过期可能是因为缓存问题,我这边可以修改为只使用数据库进行存储token,防止复现.
1.4.3、注册失败没有在找到正确的APPID:EEAA5436-7577-4BE0-8C6C-89E9D888

问题原因

1.appid填写错误(有可能是换行,加入了特殊字符导致的问题,建议使用postman或其它工具先测试)

2.在数据库执行上面没有提交事务(没有使用commit)

3.请求服务器对应的数据库并不是插入记录的数据库

4.缓存问题,需要清理缓存解决:oa地址+/commcache/cacheMonitor.jsp

1.4.4、执行e9接口注册:未被允许的ip请求


解决方案

  • ecology/WEB-INF/prop/weaver_rest_token.properties该配置文件中未配置接口调用方客户端出口IP地址。在allowIp=后面添加客户调用方服务器实际的ip地址。(不设置将代表不限制任何ip,生产环境建议设置)
    配置好 重启,再次尝试
  • 如果按照上面没有解决;原因可能是没有找到实际到达OA的IP
    • 在ecology日志里面搜索一下"非法ip请求",搜索这个关键字,找到实际到达OA的IP

2、e10协同办公系统


字段 说明
访问地址 e10访问地址,后台管理中心-> 开放平台->接口文档, 这里示例有私有化地址: http://ip:port/papi/openapi 云地址: https://api.eteams.cn
corpid 后台管理中心-> 开放平台-> 开发者资料-> Corpid
app_key 后台管理中心->开放平台->应用管理->通用型应用中的 app_key
app_secret 后台管理中心->开放平台->应用管理->通用型应用中的 app_secret
tenantKey 台管理中心->基本信息->授权信息->组织识别码

2.1、访问地址

e10访问地址,后台管理中心-> 开放平台->接口文档(接口示例), 这里格式:

云地址

私有化地址

注意

私有化访问地址,多一个路径 /papi/openapi

2.2、corpid

后台管理中心, 开放平台,开发者资料,Corpid

2.3、app_key和app_secre

后台管理中心,开放平台,应用管理,通用型应用中的 app_key、app_secret

2.4、tenantKey

后台管理中心,基本信息,授权信息,组织识别码

2.5、常见问题

2.5.1、无法访问,请检查访问地址

问题原因排查:

  • 域名访问地址不存在、填写错误
  • ip地址为内网ip,需要修改外网ip
  • 端口号没有开放
  • 客户系统网络问题,服务有防火墙配置,需要客户服务端 开放ip白名单: 124.221.132.20、110.42.214.213、124.220.90.142、42.192.108.51、 124.221.180.37、182.254.156.222
2.5.2、没有通用型应用,如何创建




说明

添加接口,选择第一个图标,所有接口

说明

1、如果是e-teams云,需要审核,请联系相关负责人通过

2、如果是e-teams私有化(e10),

2.1、首先,切换进入第一个创建租户,

2.2、然后,进入管理后台中心

2.3、其次,进入开放平台

2.4、最后,进入应用管理右上角,有审核管理入口,进入后执行通过即可

2.5.3、创建e-teams通用型应用,没有找到"千里聆"接口权限

如果创建e-teams通用型应用,没有找到"千里聆"接口权限,你需要执行e-teamsSQL脚本:

mysql

复制代码
INSERT INTO open_api_classification (id, create_time, update_time, creator, delete_type, tenant_key,
                                 classification_name, classification_lang_id, classification_type)
VALUES (1048892547885711111, now(), now(), -1, 0, 'all_teams', '千里聆', 286732, 'qianliling')
;

INSERT INTO open_api_info (ID, api_status, CREATE_TIME, UPDATE_TIME, API_NAME, API_PATH, api_version, 			 API_TYPE, API_TYPE_NAME, classification_id, delete_type, creator, tenant_key, service_name, data_id)
VALUES (7350237803345164260, '1', now(),now(), '语料同步获取文件夹',
    '/api/mobile/plugin/rpa/docDir', 'V1', 'qianliling', '千里聆', 1048892547885711111, 0, -1, 'all_teams',
    'weaver-qianliling-service', 'weaver-open-gateway.properties')
;
INSERT INTO open_api_info (ID, api_status, CREATE_TIME, UPDATE_TIME, API_NAME, API_PATH, api_version, API_TYPE, API_TYPE_NAME, classification_id, delete_type, creator, tenant_key, service_name, data_id)
VALUES (7350237803345164261, '1', now(),now(), '语料同步获取文档',
    '/api/mobile/plugin/rpa/docsync', 'V1', 'qianliling', '千里聆', 1048892547885711111, 0, -1, 'all_teams',
    'weaver-qianliling-service', 'weaver-open-gateway.properties')
;
INSERT INTO open_api_info (ID, api_status, CREATE_TIME, UPDATE_TIME, API_NAME, API_PATH, api_version, API_TYPE, API_TYPE_NAME, classification_id, delete_type, creator, tenant_key, service_name, data_id)
VALUES (7350237803345164262, '1', now(),now(), '语料同步获取附件',
    '/api/mobile/plugin/rpa/docfile', 'V1', 'qianliling', '千里聆', 1048892547885711111, 0, -1, 'all_teams',
    'weaver-qianliling-service', 'weaver-open-gateway.properties')
;

oracle

复制代码
INSERT INTO open_api_classification (id, create_time, update_time, creator, delete_type, tenant_key,
                                 classification_name, classification_lang_id, classification_type)
VALUES (1048892547885711111,  sysdate,  sysdate, -1, 0, 'all_teams', '千里聆', 286732, 'qianliling')
;

INSERT INTO open_api_info (ID, api_status, CREATE_TIME, UPDATE_TIME, API_NAME, API_PATH, api_version, API_TYPE,  API_TYPE_NAME, classification_id, delete_type, creator, tenant_key, service_name, data_id)
VALUES (7350237803345164260, '1',  sysdate, sysdate, '语料同步获取文件夹',
    '/api/mobile/plugin/rpa/docDir', 'V1', 'qianliling', '千里聆', 1048892547885711111, 0, -1, 'all_teams',
    'weaver-qianliling-service', 'weaver-open-gateway.properties')
;
INSERT INTO open_api_info (ID, api_status, CREATE_TIME, UPDATE_TIME, API_NAME, API_PATH, api_version, API_TYPE,  API_TYPE_NAME, classification_id, delete_type, creator, tenant_key, service_name, data_id)
VALUES (7350237803345164261, '1',  sysdate, sysdate, '语料同步获取文档',
    '/api/mobile/plugin/rpa/docsync', 'V1', 'qianliling', '千里聆', 1048892547885711111, 0, -1, 'all_teams',
    'weaver-qianliling-service', 'weaver-open-gateway.properties')
;
INSERT INTO open_api_info (ID, api_status, CREATE_TIME, UPDATE_TIME, API_NAME, API_PATH, api_version, API_TYPE,  API_TYPE_NAME, classification_id, delete_type, creator, tenant_key, service_name, data_id)
VALUES (7350237803345164262, '1',  sysdate, sysdate, '语料同步获取附件',
    '/api/mobile/plugin/rpa/docfile', 'V1', 'qianliling', '千里聆', 1048892547885711111, 0, -1, 'all_teams',
    'weaver-qianliling-service', 'weaver-open-gateway.properties')
;

postgresql (pgsql)

复制代码
INSERT INTO open_api_classification (id, create_time, update_time, creator, delete_type, tenant_key,
                                 classification_name, classification_lang_id, classification_type)
VALUES (1048892547885711111,  clock_timestamp(),  clock_timestamp(), -1, 0, 'all_teams', '千里聆', 286732, 'qianliling')
;

INSERT INTO open_api_info (ID, api_status, CREATE_TIME, UPDATE_TIME, API_NAME, API_PATH, api_version, API_TYPE,
                       API_TYPE_NAME, classification_id, delete_type, creator, tenant_key, service_name, data_id)
VALUES (7350237803345164260, '1',  clock_timestamp(), clock_timestamp(), '语料同步获取文件夹',
    '/api/mobile/plugin/rpa/docDir', 'V1', 'qianliling', '千里聆', 1048892547885711111, 0, -1, 'all_teams',
    'weaver-qianliling-service', 'weaver-open-gateway.properties')
;
INSERT INTO open_api_info (ID, api_status, CREATE_TIME, UPDATE_TIME, API_NAME, API_PATH, api_version, API_TYPE,
                       API_TYPE_NAME, classification_id, delete_type, creator, tenant_key, service_name, data_id)
VALUES (7350237803345164261, '1',  clock_timestamp(), clock_timestamp(), '语料同步获取文档',
    '/api/mobile/plugin/rpa/docsync', 'V1', 'qianliling', '千里聆', 1048892547885711111, 0, -1, 'all_teams',
    'weaver-qianliling-service', 'weaver-open-gateway.properties')
;
INSERT INTO open_api_info (ID, api_status, CREATE_TIME, UPDATE_TIME, API_NAME, API_PATH, api_version, API_TYPE,
                       API_TYPE_NAME, classification_id, delete_type, creator, tenant_key, service_name, data_id)
VALUES (7350237803345164262, '1',  clock_timestamp(), clock_timestamp(), '语料同步获取附件',
    '/api/mobile/plugin/rpa/docfile', 'V1', 'qianliling', '千里聆', 1048892547885711111, 0, -1, 'all_teams',
    'weaver-qianliling-service', 'weaver-open-gateway.properties')
;

sqlServer

复制代码
INSERT INTO open_api_classification (id, create_time, update_time, creator, delete_type, tenant_key,
                                 classification_name, classification_lang_id, classification_type)
VALUES (1048892547885711111,  getdate(),  getdate(), -1, 0, 'all_teams', '千里聆', 286732, 'qianliling')
;

INSERT INTO open_api_info (ID, api_status, CREATE_TIME, UPDATE_TIME, API_NAME, API_PATH, api_version, API_TYPE,
                       API_TYPE_NAME, classification_id, delete_type, creator, tenant_key, service_name, data_id)
VALUES (7350237803345164260, '1',  getdate(), getdate(), '语料同步获取文件夹',
    '/api/mobile/plugin/rpa/docDir', 'V1', 'qianliling', '千里聆', 1048892547885711111, 0, -1, 'all_teams',
    'weaver-qianliling-service', 'weaver-open-gateway.properties')
;
INSERT INTO open_api_info (ID, api_status, CREATE_TIME, UPDATE_TIME, API_NAME, API_PATH, api_version, API_TYPE,
                       API_TYPE_NAME, classification_id, delete_type, creator, tenant_key, service_name, data_id)
VALUES (7350237803345164261, '1',  getdate(), getdate(), '语料同步获取文档',
    '/api/mobile/plugin/rpa/docsync', 'V1', 'qianliling', '千里聆', 1048892547885711111, 0, -1, 'all_teams',
    'weaver-qianliling-service', 'weaver-open-gateway.properties')
;
INSERT INTO open_api_info (ID, api_status, CREATE_TIME, UPDATE_TIME, API_NAME, API_PATH, api_version, API_TYPE,
                       API_TYPE_NAME, classification_id, delete_type, creator, tenant_key, service_name, data_id)
VALUES (7350237803345164262, '1',  getdate(), getdate(), '语料同步获取附件',
    '/api/mobile/plugin/rpa/docfile', 'V1', 'qianliling', '千里聆', 1048892547885711111, 0, -1, 'all_teams',
    'weaver-qianliling-service', 'weaver-open-gateway.properties')
;

二、外联系统关联后,常见问题

算法中台,创建EC语料同步任务,"获取e10系统accessToken失败"

解决方案:参考 2.1、访问地址

请求外联系统响应失败,请检查非标包

在浏览中,F12后,再次选择外联系统,找到请求接口"/checkSystemReason",如下图:

或者如下:

解决方案:参考, 2.5.3、创建e-teams通用型应用,没有找到"千里聆"接口权限