콘텐츠로 이동
📣 인포그랩에서 OpenAI 기술 기반으로 자체 개발한 자동화 번역 프로그램을 통해 n8n 공식 문서의 한글판을 국내 최초로 제공합니다.

KoboToolbox 노드#

KoboToolbox 노드를 사용하여 KoboToolbox에서 작업을 자동화하고, KoboToolbox를 다른 애플리케이션과 통합할 수 있습니다. n8n은 파일, 양식, 훅 및 제출 생성, 업데이트, 삭제 및 가져오기를 포함한 광범위한 KoboToolbox 기능에 대한 기본 지원을 제공합니다.

이 페이지에서는 KoboToolbox 노드가 지원하는 작업 목록과 추가 리소스 링크를 찾을 수 있습니다.

자격 증명

KoboToolbox 자격 증명를 참조하여 인증 설정에 대한 지침을 확인하세요.

작업#

  • 파일
    • 생성
    • 삭제
    • 가져오기
    • 여러 개 가져오기
  • 양식
    • 가져오기
    • 여러 개 가져오기
      • 재배포
    • 가져오기
    • 여러 개 가져오기
    • 로그
    • 모든 재시도
    • 하나 재시도
  • 제출
    • 삭제
    • 가져오기
    • 여러 개 가져오기
    • 유효성 검사 상태 가져오기
    • 유효성 검사 상태 업데이트

템플릿 및 예제#

Browse KoboToolbox integration templates, or search all templates

옵션#

쿼리 옵션#

쿼리 제출 작업은 쿼리 옵션을 지원합니다:

  • 매개변수 패널의 주요 섹션에서:
    • 시작은 쿼리를 시작할 인덱스 오프셋을 제어합니다(API 페이지 매김 로직 사용).
    • 제한은 반환될 최대 레코드 수를 설정합니다. 제공하는 값에 상관없이 API는 항상 30,000개의 반환 레코드 한도가 있습니다.
  • 쿼리 옵션 섹션에서 다음 매개변수를 활성화할 수 있습니다:
    • 쿼리는 MongoDB의 JSON 쿼리 형식으로 필터 조건을 지정할 수 있게 해줍니다. 예: {"status": "success", "_submission_time": {"$lt": "2021-11-01T01:02:03"}}는 필드 status의 값이 success인 모든 제출을 쿼리하며, 2021년 11월 1일 01:02:03 이전에 제출된 경우입니다.
    • 필드는 응답을 가볍게 만들기 위해 가져올 필드 목록을 지정할 수 있게 해줍니다.
    • 정렬은 MongoDB JSON 형식으로 정렬 기준 목록을 제공할 수 있게 해줍니다. 예: {"status": 1, "_submission_time": -1}는 오름차순 상태로 정렬한 다음 내림차순 제출 시간으로 정렬합니다.

이 옵션에 대한 자세한 내용은 Formhub API 문서에서 찾을 수 있습니다.

제출 옵션#

제출 데이터를 반환하는 모든 작업은 응답을 조정할 수 있는 옵션을 제공합니다. 여기에는 다음이 포함됩니다:

  • 다운로드 옵션은 각 특정 양식 제출과 연결된 첨부 파일(예: 사진 및 비디오)을 다운로드할 수 있게 해줍니다. 또한 이름 패턴 및 다운로드할 파일 크기를 선택할 수 있습니다(가능한 경우, 일반적으로 이미지의 경우).
  • 서식 지정 옵션은 서식 지정에 대한 설명에서 설명한 대로 일부 서식을 다시 지정하는 작업을 수행합니다.

서식 지정에 대하여#

KoboToolbox 제출 데이터의 기본 JSON 형식은 스키마를 인식하지 못하기 때문에 다루기 어려울 수 있으며, 모든 필드가 문자열로 반환됩니다.

이 노드는 모든 양식 제출을 반환하는 작업에서 사용할 수 있는 서식 지정 여부? 매개변수로 활성화된 경량화된 의견 기반의 서식 지정 로직을 제공합니다: 제출 쿼리, 가져오기 및 첨부파일 다운로드 작업.

서식 지정이 활성화되면:

  • JSON을 양식의 그룹을 따르는 다단계 계층으로 재조직합니다. 기본적으로 질문 그룹화 계층은 필드 이름에서 / 문자를 사용하여 나타내며, 예: Group1/Question1. 서식 지정을 활성화하면 n8n은 이를 Group1.Question1으로, 중첩된 JSON 객체로 변환합니다.
  • 필드 이름에서 _를 제거하여 다운스트림 시스템에서 지원되지 않는 문제를 방지합니다.
  • 모든 지리공간 필드(포인트, 선 및 면 질문 유형)를 표준 GeoJSON 형식으로 구문 분석합니다.
  • 다중 선택 마스크 와일드카드 마스크에 맞는 모든 필드를 배열로 분할합니다. 다중 선택 필드는 공백으로 구분된 문자열로 표시되므로 알고리즘적으로 추측할 수 없으므로 필드 이름 마스크를 제공해야 합니다. 마스크를 쉼표로 구분된 목록으로 형식화합니다. 목록은 * 와일드카드를 지원합니다.
  • 번호 마스크 와일드카드 마스크에 맞는 모든 필드를 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
}
인포레터에서 최신 DevOps 트렌드를 격주로 만나보세요!