KoboToolbox 노드 문서
n8n v2.29KoboToolbox 노드를 사용하여 KoboToolbox에서 작업을 자동화하고, KoboToolbox를 다른 애플리케이션과 통합하세요. 이 페이지에서는 KoboToolbox 노드가 지원하는 작업 목록과 추가 리소스에 대한 링크를 확인할 수 있습니다.
KoboToolbox 노드를 사용하여 KoboToolbox에서 작업을 자동화하고, KoboToolbox를 다른 애플리케이션과 통합하세요. n8n은 파일, 폼, 훅, 제출물의 생성, 업데이트, 삭제, 가져오기를 포함하여 다양한 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
템플릿 및 예제#
KoboToolbox 노드 문서 통합 템플릿 살펴보기 또는 전체 템플릿 검색하기
옵션#
쿼리 옵션#
Query Submission 작업은 다음 쿼리 옵션을 지원합니다.
- Parameters 패널의 메인 섹션에서:
- Start는 쿼리를 시작할 인덱스 오프셋을 제어합니다(API 페이지네이션 로직을 사용하기 위함).
- Limit은 반환할 최대 레코드 수를 설정합니다. 어떤 값을 입력하든 API는 항상 최대 30,000개의 레코드를 반환한다는 점에 유의하세요.
- Query Options 섹션에서는 다음 매개변수를 활성화할 수 있습니다.
- Query를 사용하면 MongoDB의 JSON 쿼리 형식으로 필터 조건을 지정할 수 있습니다. 예를 들어
{"status": "success", "_submission_time": {"$lt": "2021-11-01T01:02:03"}}은status필드 값이success이고 2021년 11월 1일 01:02:03 이전에 제출된 모든 제출물을 쿼리합니다. - Fields를 사용하면 응답을 더 가볍게 만들기 위해 가져올 필드 목록을 지정할 수 있습니다.
- Sort를 사용하면 MongoDB JSON 형식으로 정렬 기준 목록을 제공할 수 있습니다. 예를 들어
{"status": 1, "_submission_time": -1}은 status 오름차순, submission time 내림차순으로 정렬 순서를 지정합니다.
- Query를 사용하면 MongoDB의 JSON 쿼리 형식으로 필터 조건을 지정할 수 있습니다. 예를 들어
이 옵션에 대한 자세한 내용은 Formhub API 문서에서 확인할 수 있습니다.
제출 옵션#
폼 제출 데이터를 반환하는 모든 작업은 응답을 조정할 수 있는 옵션을 제공합니다. 여기에는 다음이 포함됩니다.
- Download options를 사용하면 사진, 동영상 등 각 폼 제출물에 연결된 첨부 파일을 다운로드할 수 있습니다. 또한 명명 패턴과(가능한 경우, 주로 이미지에 대해) 다운로드할 파일 크기를 선택할 수 있습니다.
- Formatting options는 About reformatting에서 설명하는 대로 일부 재포맷을 수행합니다.
재포맷 정보#
KoboToolbox 제출 데이터의 기본 JSON 형식은 스키마를 인식하지 못하고 모든 필드가 문자열로 반환되기 때문에 다루기 어려운 경우가 있습니다.
이 노드는 폼 제출물을 반환하는 모든 작업(제출물 쿼리, 가져오기, 첨부 파일 다운로드 작업)에서 사용할 수 있는 Reformat? 매개변수로 활성화되는 가벼운 방식의 독자적인 재포맷 로직을 제공합니다.
활성화하면 재포맷은 다음을 수행합니다.
- 폼의 그룹을 따라 JSON을 다단계 계층 구조로 재구성합니다. 기본적으로 질문 그룹화 계층은 필드 이름에서
/문자로 구체화됩니다. 예를 들어Group1/Question1과 같습니다. 재포맷을 활성화하면 n8n은 이를 중첩된 JSON 객체인Group1.Question1로 재구성합니다. - 필드 이름에서
_를 제거하도록 이름을 변경합니다(많은 다운스트림 시스템에서 지원되지 않기 때문입니다). - 모든 지리 공간 필드(Point, Line, Area 질문 유형)를 표준 GeoJSON 형식으로 파싱합니다.
- Multiselect Mask 와일드카드 마스크와 일치하는 모든 필드를 배열로 분할합니다. 다중 선택 필드는 공백으로 구분된 문자열로 나타나기 때문에 알고리즘적으로 추측할 수 없으므로, 필드 명명 마스크를 제공해야 합니다. 마스크는 쉼표로 구분된 목록 형식으로 지정합니다. 목록은
*와일드카드를 지원합니다. - Number Mask 와일드카드 마스크와 일치하는 모든 필드를 JSON float으로 변환합니다.
다음은 JSON으로 된 자세한 예시입니다.
{
"_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은 이를 다음과 같이 파싱합니다.
{
"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
}
이 섹션의 상세 내용은 n8n 공식 문서를 참조하세요.