宜搭集成化&自动化里通过连接器从外部api获取到数组怎么循环遍历到表单里面?

阿里云服务器

在阿里云宜搭(Yida)的 集成化与自动化 功能中,如果你通过 连接器 从外部 API 获取到了一个 数组类型的数据,并希望将这个数组中的每一项 循环遍历并写入到表单的明细表(子表单)或主表字段中,你可以使用 「自动化流程」中的「循环执行」节点 来实现。

以下是详细的实现步骤(适用于宜搭 高级版/专业版,支持自动化流程):


✅ 场景示例

假设:

  • 外部 API 返回数据如下:

    {
      "code": 0,
      "data": [
        { "name": "张三", "age": 25, "dept": "技术部" },
        { "name": "李四", "age": 28, "dept": "销售部" }
      ]
    }
  • 你想将 data 数组中的每个对象,逐条插入到表单的「员工明细」子表单中


✅ 实现步骤

第一步:创建自动化流程

  1. 进入你的表单详情页。

  2. 点击右上角「...」→「自动化」→「新建自动化流程」。

  3. 触发条件选择:

    • 「表单提交后」

    • 「通过连接器调用后」(如果你是通过 API 触发)

第二步:添加「连接器」节点,调用外部 API

  1. 添加一个「连接器」节点。

  2. 配置你的外部 API 请求(URL、Headers、Method 等)。

  3. 保存后,系统会自动解析返回结果,你可以看到返回的 data 是一个数组。

✅ 建议:在连接器配置中,使用「数据路径」提取数组,例如:$.data,这样后续节点可以直接使用这个数组。


第三步:添加「循环执行」节点(关键步骤)

  1. 在连接器节点后,添加一个 「循环执行」 节点。

  2. 配置循环数据源:

    • 循环对象:选择连接器返回的数组字段,例如:

      连接器节点名称.返回结果.data

      或者如果你在连接器中已提取为 $.data,则直接选择该字段。

  3. 循环体内部可以使用 item 变量来代表数组中的每一项。

📌 注意:在循环中,item 就是当前遍历的对象,如 { "name": "张三", "age": 25 }


第四步:在循环体内「更新表单」或「添加子表单数据」

  1. 在「循环执行」节点内部,添加一个 「更新当前表单」「添加子表单数据」 节点。

  2. 配置子表单字段映射:

    • 员工姓名 → 映射为 item.name

    • 年龄 → 映射为 item.age

    • 部门 → 映射为 item.dept

    • 假设你的子表单字段为:

  3. 保存配置。


✅ 最终流程结构示意

触发条件(表单提交)
        ↓
   [连接器] 调用外部 API,获取数组
        ↓
[循环执行] 循环对象:连接器返回.data
        ↓
    ┌─────────────┐
    │ item = {name, age, dept} │
    └─────────────┘
        ↓
[添加子表单数据] 
   员工姓名 ← item.name
   年龄     ← item.age  
   部门     ← item.dept
        ↓
   (循环下一条)

✅ 注意事项

  1. 子表单必须提前创建:确保你的表单中已添加「明细表」或「子表单」组件,并命名好字段。

  2. 数据路径正确:在连接器返回结果中,确保你能正确提取数组字段(可用 JSON Path 测试)。

  3. 性能限制:循环次数不宜过多(建议 < 100 条),避免流程超时。

  4. 错误处理:可添加「条件判断」节点,跳过空值或异常数据。

  5. 仅高级版支持:免费版宜搭不支持「循环执行」和「自动化」,需升级。


✅ 替代方案(无循环节点时)

如果你的版本不支持「循环执行」,可以考虑:

  • 使用 自定义连接器 + 服务端钩子(Webhook),在后端处理数组并调用宜搭 OpenAPI 批量更新。

  • 调用宜搭的 「批量新增子表单数据」API(需开发能力)。


✅ 宜搭 OpenAPI 参考(开发者可选)

如果你想通过代码实现,可调用:


✅ 总结

步骤操作
1用「连接器」获取外部 API 返回的数组
2使用「循环执行」节点遍历数组
3在循环体内用「添加子表单数据」将 item.xxx 写入表单
4确保子表单字段与 item 字段一一对应

✅ 只要你的宜搭版本支持「自动化」和「循环执行」,就可以轻松实现数组数据的遍历写入。

如果你能提供具体的 API 返回格式和表单结构,我可以帮你写出更精确的字段映射。需要吗?