Как разместить данные в форме kobotoolbox с помощью API Kobo?

Я работаю с REST API kobo и могу получить информацию о структуре из формы и отправленные данные через API, но когда я пытаюсь отправить данные в форму через службу POST, kobo возвращает следующее сообщение: "Ваш данные, например, None уже были отправлены."

Есть ли способ отправить данные POST в форму kobotoolbox с помощью его API?

Я попытался отправить данные с помощью следующего запроса POST:

curl -X POST --header 'Content-Type: application/json' --header 'Accept: application/json' -d '{ \
  "name": "Foo" \
}' 'https://kf.kobotoolbox.org/assets/{form_id}/submissions/'

где {form_id} это идентификатор из моей формы в kobotoolbox

И ответ был:

{
  "detail": "Your data for instance None has been already submitted."
}

0 ответов

Чтобы отправить данные, вам необходимо отправить POST на https://[kobocat url]/api/v1/submissions, например https://kc.kobotoolbox.org/api/v1/submissions. Конечная точка, которую вы пробовали, предназначена для получения отправленных данных.

Это будет работать (для формы, содержащей first_name а также last_name вопрос:

curl -X POST \
  https://kc.kobotoolbox.org/api/v1/submissions.json \
  -H 'Authorization: Token <yourAPItoken>' \
  -H 'Content-Type: application/json' \
  -d '    {
        "id": "<kpi asset ID>",
        "submission":

            {
                "last_name": "Suresh",
                "first_name":"Ameen",
                "meta": {
                    "instanceID": "uuid:8992c3c2-3418-4ba9-a8e2-b00e03ea36b6"
                }

            }
    } '

<kpi asset ID>в данном случае относится к уникальному идентификатору формы, созданному в kobocat. Этот идентификатор должен совпадать с идентификатором ресурса kpi, если вы загрузили / создали свою форму в обычном интерфейсе и развернули ее.

Вы можете узнать идентификатор, перейдя в https://kf.kobotoolbox.org/assets/<kpi asset ID>/. В моем случае я получаю следующее:

{
    "url": "https://kf.kobotoolbox.org/assets/aCNoKPdCX8gqcu4bHrHkUL/",
...
    "deployment__identifier": "https://kc.kobotoolbox.org/<username>/forms/aCNoKPdCX8gqcu4bHrHkUL",
...
    "uid": "aCNoKPdCX8gqcu4bHrHkUL",

    ]
}
Другие вопросы по тегам