全部文档
文档中心数据流3.0节点组件服务HTTP API

HTTP API

标准化的 API 接口集成,通过界面配置快速完成API请求的编排与响应处理。

节点有两种配置方式:

  1. 界面UI配置:逐一配置【请求信息、请求头、查询参数、请求体】

  2. 从cURL导入:解析提供的cURL,并自动配置好【请求信息、请求头、查询参数、请求体】

以企微机器人通知的接口为例。

点击从cURL导入,在弹出的窗口中粘贴cURL,点击确定

确定后会自动填充【请求信息、请求头、查询参数、请求体】配置。

UI 配置中的文本输入框为数据流专用的 PY 文本输入框,支持使用双花括号引用预置变量或编写 PY 表达式。变量范围和引用方式参见预置变量

与普通文本框的区别在于,PY文本输入框支持用双花括号{{}}占位,在括号内可写PY表达式,例如引用预置变量等。

例如数据流的启动参数为{"entity":"A"},PY文本输入框的内容为http://test.{{Pipeline.params.entity}}.com,则得到http://test.A.com

  • 请求信息:目前支持GET、POST、PUT、PATCH、DELETE类型的调用,选择请求类型后,输入BaseURL,通常为?前的部分

  • 请求头:键值对形式,点击+添加行。Content-Type参数会根据请求体类型自动识别,无需手动添加,手动添加的会被忽略

  • 查询参数:键值对形式,点击+添加行。通常为完整URL中?后的部分

  • 请求体:目前支持jsonraw(text/plain)xml类型,选择不同类型,需要输入不同的请求体内容

    • 无:无需输入

    • json:需要输入py表达式,执行时会转换为json字符串

    • raw(text/plain):PY文本输入框,可以用双花括号{{}}占位,在括号内可用PY表达式

    • xml:也是PY文本输入框,可以用双花括号{{}}占位,在括号内可用PY表达式

  • 超时时间

    • 支持自定义超时时间,当节点运行时间超过此处设置的超时时间,节点运行失败,进入节点异常处理流程

  • 调用成功后参数转换:

    • 当调用结果为200时,可对接口返回的结果进行转换,常用于提取嵌套数据或格式兼容等,原始返回的结果以变量’data’表示

    • 例如此接口调用成功会,返回的内容是{"companyInfo":{"Code":"A","Name":"A公司"}},参数转换内容为data.companyInfo.Code,则得到A

调试结果为对应API定义的response,如果启用了【调用成功后参数转换】,当调用结果为200时,会对返回的结果进一步转换,例如:

提供本次调试对应的cURL,可复制:

以下示例用于说明常见配置方式。具体接口地址、请求字段和模板编码可能因组件版本或项目配置不同而变化,请以目标环境实际开放的接口和权限为准。

调用同一应用内受信任的组件服务时,请求头可能需要使用 spaceapp 以及当前运行身份等上下文信息。这些信息可以通过 DeepFOS 的 OPTION 获取,并由前置的 PY 代码节点传递给 HTTP API 节点,例如:

不要在脚本或节点配置中长期保存 Cookie、Authorization 或访问令牌,也不要将其输出到业务日志。定时运行或服务调用应使用项目认可的认证方式,并为运行身份授予完成任务所需的最小权限。

对应接口地址:system-server/message-service/push-email-message

配置参考:

Header:调用同一环境内受信任的组件服务时,可按权限从 deepfos.OPTION.api.header 获取当前运行上下文所需的请求头信息。

Body-json:

Copy
{
	'params': [
        {
			'messageScope': 'CONTENT', 
			'paramName': 'task_link', 
			'paramValue': 'https://example.com/task/123',
			'scope': 2
			},
        {
			'messageScope': 'TITLE', 
			'paramName': 'title', 
			'paramValue': '待办通知', 
			'scope': 1
			}
        ], 

	"ccEmail": [{
		"id": Pipeline.run.initiator_id,
		"type": "USER"
	}],

	"receiver": [{
		"id": Pipeline.run.initiator_id,
		"type": "USER"
	}],

	"sender": Pipeline.run.initiator_id,

	"templateCode": "email_task",

	"attachment":[
		{"id":"U_1433955f-ee16-48c6-91d1-7aac9e4bfbb0",
		"space":Operator.pycode1.data.space},
		{"id":"U_3a31219c-3915-428d-80f3-bd46f4686d01",
		"space":Operator.pycode1.data.space},
	]
}

调试结果:

运行效果:

对应接口地址:system-server/message-service/send-email

配置参考:

Header:调用同一环境内受信任的组件服务时,可按权限从 deepfos.OPTION.api.header 获取当前运行上下文所需的请求头信息。

Body-json:

Copy
{
	'params': [
        {
			'messageScope': 'CONTENT', 
			'paramName': 'task_link', 
			'paramValue': 'https://example.com/task/123',
			'scope': 2
			},
        {
			'messageScope': 'TITLE', 
			'paramName': 'title', 
			'paramValue': '待办通知', 
			'scope': 1
			}
        ], 

	"receiver": [
		"user1@example.com",
		"user2@example.com"
	],

	"ccEmail": [
		"copy1@example.com",
		"copy2@example.com"
	],

	"sender": Pipeline.run.initiator_id,

	"templateCode": "email_task",

	"attachment":[
		{"id":"U_1433955f-ee16-48c6-91d1-7aac9e4bfbb0",
		"space":Operator.pycode1.data.space},
		{"id":"U_3a31219c-3915-428d-80f3-bd46f4686d01",
		"space":Operator.pycode1.data.space},
	]
}

调试结果:

运行效果:

对应接口地址:system-server/s/email/send-single

配置参考:

Header:调用同一环境内受信任的组件服务时,可按权限从 deepfos.OPTION.api.header 获取当前运行上下文所需的请求头信息。





调试结果:

运行效果:

回到顶部

咨询热线

400-821-9199