Установить свойства пользователя

Устанавливает (создает, обновляет, удаляет) свойства пользователя.

URL

POST https://api.carrotquest.io/v1/users/{id}/props

В качестве {id} можно использовать:

  • ID из нашей системы
  • Ваш User ID (укажите параметр by_user_id=true). Если пользователя с таким идентификатором не существует, он будет создан автоматически

Аргументы

Этот метод следует общим правилам. Аргументы передаются как GET или POST параметры.

Аргумент Описание
auth_token Обязательный. Токен авторизации (нужен scope: user-write)
operations Обязательный. Массив атомарных операций (JSON-encoded), которые будут проведены над свойствами пользователя. Формат свойств
by_user_id Необязательный. В случае, если вы делаете выборку не по ID из Carrot quest, а по своему User ID, этот параметр должен иметь значение true. По умолчанию: false

Ответ

{
  "meta": {
    "status": 200,
    "affected_props": [],
    "ignored_operations": []
  },
  "data": {
    "id": 123123123,
    "app": 12345
  }
}

Ответ будет пустым.
Мета-поле "affected_props" содержит имена параметров, которые были изменены.
Мета-поле "ignored_operations" содержит операции, которые не были выполнены (например, пришло пустое значение или значение при update_or_create не изменилось).

Примеры

Записать имя "Maks" у пользователя с CarrotquestId=8173131 (ID из нашей системы):

curl -X POST \
  --data-urlencode "operations=[{"op": "update_or_create", "key": "$name", "value": "Maks"}]" \
  --data-urlencode "auth_token=XXX" \
  https://api.carrotquest.io/v1/users/8173131/props

Записать имя "Maks" у пользователя с UserId=user-7216 (ID из вашей системы):

curl -X POST \
  --data-urlencode "operations=[{"op": "update_or_create", "key": "$name", "value": "Maks"}]" \
  --data-urlencode "by_user_id=true" \
  --data-urlencode "auth_token=XXX" \
  https://api.carrotquest.io/v1/users/user-7216/props

Записать свойство my-prop со значением Hello и увеличить значение свойства projects на 3 у пользователя с UserId=user-7216 (ID из вашей системы):

curl -X POST \
  --data-urlencode 'operations=[{"op": "update_or_create", "key": "my-prop", "value": "Hello"},{"op": "add", "key": "projects", "value": "3"}]' \
  --data-urlencode 'by_user_id=true' \
  --data-urlencode 'auth_token=XXX' \
  "https://api.carrotquest.io/v1/users/user-7216/props"