نود KoboToolbox#
از نود KoboToolbox برای خودکارسازی کار در KoboToolbox استفاده کنید و آن را با برنامههای دیگر اینتگریشن کنید. n98n از پشتیبانی ساختهشده برای مجموعه وسیعی از ویژگیهای KoboToolbox، از جمله ایجاد، بروزرسانی، حذف و دریافت فایلها، فرمها، هوکها و ارسالها، برخوردار است.
در این صفحه، فهرستی از عملیاتهایی که نود KoboToolbox پشتیبانی میکند و لینکهای مربوط به منابع بیشتر را پیدا خواهید کرد.
اعتبارنامهها
برای راهنمای تنظیم احراز هویت به اعتبارنامههای KoboToolbox مراجعه کنید.
اکشنها#
- فایل
- ایجاد
- حذف
- دریافت
- دریافت چندتایی
- فرم
- دریافت
- دریافت چندتایی * بازنصب مجدد
- هوک
- دریافت
- دریافت چندتایی
- لاگها
- مجدد تلاش کردن همه
- مجدد تلاش کردن یکی
- ارسال
- حذف
- دریافت
- دریافت چندتایی
- وضعیت اعتبارنامه دریافت
- بروزرسانی وضعیت اعتبارنامه
قالبها و نمونهاستفادهها#
گزینهها#
گزینههای پرس و جو#
عملیات پرس و جو ارسال (Query Submission) از گزینههای زیر پشتیبانی میکند:
- در بخش اصلی پانل پارامترها:
- شروع کنترل آفست اندیس برای شروع پرس و جو (برای استفاده از منطق صفحهبندی API).
- محدودیت حداکثر تعداد رکوردهای بازگشتی را تعیین میکند. توجه داشته باشید که همیشه محدودیت API، 30000 رکورد است، هر مقداری که وارد کنید.
- در بخش گزینههای پرس و جو، میتوانید پارامترهای زیر را فعال کنید:
- پرس و جو اجازه میدهد شرطهای فیلتر را در قالب JSON MongoDB مشخص کنید. مثلا:
{"status": "success", "_submission_time": {"$lt": "2021-11-01T01:02:03"}}
برای تمام ارسالهایی با مقدارsuccess
در فیلدstatus
و ارسال شده قبل از اول نوامبر 2021، ساعت 01:02:03. - Fields فهرستی از فیلدهای مورد نظر برای دریافت را مشخص میکند، تا پاسخ سبکتر باشد.
- مرتبسازی فهرستی از معیارهای مرتبسازی در قالب JSON MongoDB فراهم میکند. مثلا،
{"status": 1, "_submission_time": -1}
ترتیب مرتبسازی بر اساس وضعیت صعودی و سپس زمان ارسال نزولی را مشخص میکند.
جزئیات بیشتر درباره این گزینهها را میتوانید در مستندات API فرمها بیابید.
گزینههای ارسال#
تمام عملیاتهایی که دادههای ارسال فرم را برمیگردانند، گزینههایی برای تنظیم پاسخ دارند. این گزینهها شامل موارد زیر است:
- گزینههای دانلود اجازه میدهند هر پیوست مرتبط با هر ارسال فرم، مانند عکسها و ویدئوها، دانلود شوند. همچنین، میتوانید الگوی نامگذاری و حجم فایل برای دانلود (در صورت وجود - معمولاً برای تصاویر) را انتخاب کنید.
- گزینههای فرمتبندی عملیاتهایی هستند که برخی از موارد را بر حسب نیاز مجدداً قالببندی میکنند، همانطور که در درباره فرمتبندی مجدد توضیح داده شده است.
درباره فرمتبندی مجدد#
فرمت JSON پیشفرض برای دادههای ارسال KoboToolbox گاهی اوقات سخت است، چون به راحتی سازگاری با اسکیمای داده ندارد و تمام فیلدها در نتیجه به صورت رشتهای برگردانده میشوند.
این نود یک منطق فرمتبندی سبک و بر اساس نظرات خود ارائه میدهد، که با پارامتر Reformat? فعال میشود و در تمامی عملیاتهایی که دادههای ارسال فرم برمیگردانند، موجود است: عملیات پرس و جو، دریافت و دانلود پیوستها.
وقتی فعال باشد، فرمتبندی:
- ساختار JSON را به صورت سلسلهمراتبی چندسطحی بر اساس گروههای فرم سازماندهی میکند. به طور پیشفرض، ساختار گروهبندی سوالات با کاراکتر
/
در نام فیلد نشان داده میشود، مثلاGroup1/Question1
. با فعال بودن فرمتبندی، n98n این موارد را به صورتGroup1.Question1
، در قالب اشیاء JSON تو در تو تغییر میدهد. - نام فیلدها را برای حذف
_
(که توسط بسیاری از سامانههای دیگر پشتیبانی نمیشود)، تغییر میدهد. - فیلدهای جغرافیایی (نوع سوال Point، Line، و Area) را به معادل GeoJSON استانداردشان تجزیه میکند.
- تمام فیلدهای مطابق با هر یک از الگویهای ماسک چند انتخابی را به آرایه تبدیل میکند. از آنجا که فیلدهای چند انتخابی به صورت رشتههای جدا شده با فضا ظاهر میشوند، نمیتوان آنها را به صورت الگوریتمی تشخیص داد، بنابراین باید ماسک نامگذاری فیلد را ارائه کنید. فرمت ماسکها جدا شده با کاما است و از نماد
*
پشتیبانی میکند. - تمام فیلدهای مطابق با هر یک از الگویهای ماسک عددی را به عدد اعشاری JSON تبدیل میکند.
در اینجا یک نمونه دقیق در قالب JSON آورده شده است:
```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": "تست فیلدها", "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": "مکور غله بادامزمینی", "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
به ترتیب)، n98n این دادهها را به صورت زیر تجزیه میکند:
```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": "تست فیلدها", "Field_Location": { "lat": -1.932914, "lon": 30.078211 }, "Field_Shape": { "نوع": "پلیگون", "مختصات": [ { "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": [ "مکور", "حبوب", "آووکادو" ], "Field_Size_sqm": 2300 }, "versioن": "veGcULpqP6JNFKRJbbMvMs", "meta": { "instanceID": "uuid:2356cbbe-c1fd-414d-85c8-84f33e92618a" }, "xform_id_string": "ajXVJpBkTD5tB4Nu9QXpgm", "uuid": "2356cbbe-c1fd-414d-85c8-84f33e92618a", "attachments": [], "status": "ارسالشده از طریق وب", "geolocation": { "lat": -1.932914, "lon": 30.078211 }, "submission_time": "2021-12-05T14:15:44", "tags": [], "notes": [], "validation_status": {}, "submitted_by": null }