Podio Api: Почему запрос PUT / app / {app_id} / field / {field_id} удаляет параметры поля категории для приложений контактов? - PullRequest
1 голос
/ 07 мая 2019

Я пытаюсь изменить поля категорий в приложении контактов с помощью Podio API.

Я получаю следующий ответ на запрос GET (https://api.podio.com/app/22768616/field/189304190): (Ранее я создал поле с запросом POST, и все работает отлично)

{
    "status": "active",
    "type": "category",
    "field_id": 189304190,
    "label": "myCategories",
    "config": {
        "default_value": null,
        "unique": false,
        "description": null,
        "hidden_create_view_edit": false,
        "required": false,
        "mapping": null,
        "label": "myCategories",
        "visible": true,
        "delta": 9,
        "hidden": false,
        "settings": {
            "multiple": false,
            "options": [
                {
                    "status": "active",
                    "text": "Cat1",
                    "id": 1,
                    "color": "DCEBD8"
                },
                {
                    "status": "active",
                    "text": "Cat2",
                    "id": 2,
                    "color": "DCEBD8"
                },
                {
                    "status": "active",
                    "text": "Cat3",
                    "id": 3,
                    "color": "DCEBD8"
                },
                {
                    "status": "active",
                    "text": "Cat4",
                    "id": 4,
                    "color": "DCEBD8"
                }
            ],
            "display": "dropdown"
        }
    },
    "external_id": "mycategories-2"
}

Если я отправлю запрос PUT на https://api.podio.com/app/22768616/field/189304190 с тем же ответом, раскрывающееся поле категории изменится на встроенное поле категории и все параметры будут удалены. (Я ожидал, что с моим полем ничего не случится, я также попытался изменить текст параметров, но получил тот же результат).

{
    "status": "active",
    "type": "category",
    "field_id": 189304190,
    "label": "myCategories",
    "config": {
        "default_value": null,
        "unique": false,
        "description": null,
        "hidden_create_view_edit": false,
        "required": false,
        "mapping": null,
        "label": "myCategories",
        "visible": true,
        "delta": 0,
        "hidden": false,
        "settings": {
            "multiple": false,
            "options": [
                {
                    "status": "deleted",
                    "text": "Cat1",
                    "id": 1,
                    "color": "DCEBD8"
                },
                {
                    "status": "deleted",
                    "text": "Cat2",
                    "id": 2,
                    "color": "DCEBD8"
                },
                {
                    "status": "deleted",
                    "text": "Cat3",
                    "id": 3,
                    "color": "DCEBD8"
                },
                {
                    "status": "deleted",
                    "text": "Cat4",
                    "id": 4,
                    "color": "DCEBD8"
                }
            ],
            "display": "inline"
        }
    },
    "external_id": "mycategories-2"
}

Не могли бы вы помочь с любым примером для правильного обновления полей категории?

1 Ответ

1 голос
/ 24 мая 2019

Можете ли вы добавить тело, когда используете конечную точку PUT?

Я предполагаю, что вы как-то неправильно отображаете параметр "settings". Согласно документации API параметр настройки для поля категории должен иметь следующий формат:

{
  "options": The list of options for the question
  [
    {
      "id": The id of the option, only use this for existing options,
      "status": The current status of the option, "active" or "deleted", only use this to delete options,
      "text": The text for the option (required)
    },
    ... (more options)
  ],
  "multiple": True if multiple answers should be allowed, False otherwise
}
...