Skip to content

KoboToolbox 节点#

使用 KoboToolbox 节点在 KoboToolbox 中自动化工作,并将 KoboToolbox 与其他应用程序集成。n8n 内置支持广泛的 KoboToolbox 功能,包括创建、更新、删除和获取文件、表单、钩子和提交。

在此页面上,您将找到 KoboToolbox 节点支持的操作列表和更多资源的链接。

凭据

请参考 KoboToolbox 凭据 获取设置身份验证的指导。

操作#

  • File 文件
    • Create 创建
    • Delete 删除
    • Get 获取
    • Get Many 获取多个
  • Form 表单
    • Get 获取
    • Get Many 获取多个
      • Redeploy 重新部署
  • Hook 钩子
    • Get 获取
    • Get Many 获取多个
    • Logs 日志
    • Retry All 重试全部
    • Retry One 重试一个
  • Submission 提交
    • Delete 删除
    • Get 获取
    • Get Many 获取多个
    • Get Validation Status 获取验证状态
    • Update Validation Status 更新验证状态

模板和示例#

Browse KoboToolbox integration templates, or search all templates

选项#

查询选项#

查询提交操作支持查询选项:

  • Parameters 参数面板的主要部分:
    • Start 开始控制查询开始的索引偏移量(使用 API 分页逻辑)。
    • Limit 限制设置要返回的最大记录数。请注意,无论您提供什么值,API 始终限制返回 30,000 条记录。
  • Query Options 查询选项部分,您可以激活以下参数:
    • Query 查询让您以 MongoDB 的 JSON 查询格式指定过滤谓词。例如:{"status": "success", "_submission_time": {"$lt": "2021-11-01T01:02:03"}} 查询所有状态字段值为 success 且在 2021 年 11 月 1 日 01:02:03 之前提交的提交。
    • Fields 字段让您指定要获取的字段列表,以减轻响应负载。
    • Sort 排序让您以 MongoDB JSON 格式提供排序标准列表。例如,{"status": 1, "_submission_time": -1} 指定按状态升序排序,然后按提交时间降序排序。

有关这些选项的更多详细信息,请参阅 Formhub API 文档

提交选项#

所有返回表单提交数据的操作都提供调整响应的选项。这些包括:

  • 下载选项让您下载链接到每个特定表单提交的任何附件,如图片和视频。它还让您选择命名模式和要下载的文件大小(如果可用 - 通常用于图像)。
  • 格式化选项执行一些重新格式化,如关于重新格式化中所述。

关于重新格式化#

KoboToolbox 提交数据的默认 JSON 格式有时难以处理,因为它不感知架构,因此所有字段都作为字符串返回。

此节点提供轻量级的主观重新格式化逻辑,通过 Reformat? 重新格式化?参数启用,可用于所有返回表单提交的操作:提交查询、获取和附件下载操作。

启用时,重新格式化:

  • 按照表单的组重新组织 JSON 为多级层次结构。默认情况下,问题分组层次结构通过字段名称中的 / 字符体现,例如 Group1/Question1。启用重新格式化后,n8n 将这些重新组织为 Group1.Question1,作为嵌套的 JSON 对象。
  • 重命名字段以修剪 _(许多下游系统不支持)。
  • 将所有地理空间字段(点、线和区域问题类型)解析为其标准 GeoJSON 等效项。
  • 将所有匹配任何 Multiselect Mask 多选掩码通配符掩码的字段拆分为数组。由于多选字段显示为空格分隔的字符串,无法通过算法猜测,因此您必须提供字段命名掩码。将掩码格式化为逗号分隔的列表。列表支持 * 通配符。
  • 将所有匹配任何 Number Mask 数字掩码通配符掩码的字段转换为 JSON 浮点数。

以下是 JSON 中的详细示例:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
{
  "_id": 471987,
  "formhub/uuid": "189436bb09a54957bfcc798e338b54d6",
  "start": "2021-12-05T16:13:38.527+02:00",
  "end": "2021-12-05T16:15:33.407+02:00",
  "Field_Details/Field_Name": "Test Fields",
  "Field_Details/Field_Location": "-1.932914 30.078211 1421 165",
  "Field_Details/Field_Shape": "-1.932914 30.078211 1421 165;-1.933011 30.078085 0 0;-1.933257 30.078004 0 0;-1.933338 30.078197 0 0;-1.933107 30.078299 0 0;-1.932914 30.078211 1421 165",
  "Field_Details/Crops_Grown": "maize beans avocado",
  "Field_Details/Field_Size_sqm": "2300",
  "__version__": "veGcULpqP6JNFKRJbbMvMs",
  "meta/instanceID": "uuid:2356cbbe-c1fd-414d-85c8-84f33e92618a",
  "_xform_id_string": "ajXVJpBkTD5tB4Nu9QXpgm",
  "_uuid": "2356cbbe-c1fd-414d-85c8-84f33e92618a",
  "_attachments": [],
  "_status": "submitted_via_web",
  "_geolocation": [
    -1.932914,
    30.078211
  ],
  "_submission_time": "2021-12-05T14:15:44",
  "_tags": [],
  "_notes": [],
  "_validation_status": {},
  "_submitted_by": null
}

启用重新格式化,并使用适当的多选和数字格式掩码(例如,分别为 Crops_**_sqm),n8n 将其解析为:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
{
  "id": 471987,
  "formhub": {
    "uuid": "189436bb09a54957bfcc798e338b54d6"
  },
  "start": "2021-12-05T16:13:38.527+02:00",
  "end": "2021-12-05T16:15:33.407+02:00",
  "Field_Details": {
    "Field_Name": "Test Fields",
    "Field_Location": {
      "lat": -1.932914,
      "lon": 30.078211
    },
    "Field_Shape": {
      "type": "polygon",
      "coordinates": [
        {
          "lat": -1.932914,
          "lon": 30.078211
        },
        {
          "lat": -1.933011,
          "lon": 30.078085
        },
        {
          "lat": -1.933257,
          "lon": 30.078004
        },
        {
          "lat": -1.933338,
          "lon": 30.078197
        },
        {
          "lat": -1.933107,
          "lon": 30.078299
        },
        {
          "lat": -1.932914,
          "lon": 30.078211
        }
      ]
    },
    "Crops_Grown": [
      "maize",
      "beans",
      "avocado"
    ],
    "Field_Size_sqm": 2300
  },
  "version": "veGcULpqP6JNFKRJbbMvMs",
  "meta": {
    "instanceID": "uuid:2356cbbe-c1fd-414d-85c8-84f33e92618a"
  },
  "xform_id_string": "ajXVJpBkTD5tB4Nu9QXpgm",
  "uuid": "2356cbbe-c1fd-414d-85c8-84f33e92618a",
  "attachments": [],
  "status": "submitted_via_web",
  "geolocation": {
    "lat": -1.932914,
    "lon": 30.078211
  },
  "submission_time": "2021-12-05T14:15:44",
  "tags": [],
  "notes": [],
  "validation_status": {},
  "submitted_by": null
}

如果不支持您的操作该怎么办#

如果此节点不支持您想要执行的操作,您可以使用 HTTP 请求节点来调用服务的 API。

您可以在 HTTP 请求节点中使用为此服务创建的凭据:

  1. 在 HTTP 请求节点中,选择身份验证 > 预定义凭据类型
  2. 选择您要连接的服务。
  3. 选择您的凭据。

有关更多信息,请参阅自定义 API 操作