Задать значения навыков асинхронно

PUT /user-skills/batch/async

Задает значение одного или нескольких навыков асинхронно.

Ограничение

Вы можете отправить не более 1000 навыков в одном запросе.

Примеры запросов

curl -X PUT 'https://tasks.yandex.ru/api/v1/user-skills/batch/async?skip_invalid_items=true' \
     -H 'Authorization: OAuth PlaceYourRealOAuthToken_Here' \
     -H 'Content-Type: application/json' \
     -d '[
           {
             "skill_id": "32",
             "user_id": "566ec2b0ff0deeaae5f9d500",
             "value": 59.7,
             "reason": "High-quality performance of tasks"
           },
           {
             "skill_id": "33",
             "user_id": "566ec2b0ff0deeaae5f9d500",
             "value": 75.0,
             "reason": "High-quality performance of tasks"
           }
         ]'
import requests

url = "https://tasks.yandex.ru/api/v1/user-skills/batch/async?skip_invalid_items=true"
headers = {
  'Authorization': 'OAuth PlaceYourRealOAuthToken_Here',
  'Content-Type': 'application/json'
}
payload = [
  {
    "skill_id": "32",
    "user_id": "566ec2b0ff0deeaae5f9d500",
    "value": 59.7,
    "reason": "High-quality performance of tasks"
  },
  {
    "skill_id": "33",
    "user_id": "566ec2b0ff0deeaae5f9d500",
    "value": 75.0,
    "reason": "High-quality performance of tasks"
  }
]
response = requests.put(url, headers=headers, json=payload)

print(response.text)
var request = require('request');
var options = {
  'method': 'PUT',
  'url': 'https://tasks.yandex.ru/api/v1/user-skills/batch/async',
  'qs': {'skip_invalid_items': 'true'},
  'headers': {
    'Authorization': 'OAuth PlaceYourRealOAuthToken_Here',
    'Content-Type': 'application/json'
  },
  'body': JSON.stringify([
    {
      "skill_id": "32",
      "user_id": "566ec2b0ff0deeaae5f9d500",
      "value": 59.7,
      "reason": "High-quality performance of tasks"
    },
    {
      "skill_id": "33",
      "user_id": "566ec2b0ff0deeaae5f9d500",
      "value": 75.0,
      "reason": "High-quality performance of tasks"
    }
  ])
};
request(options, function (error, response) {
  if (error) throw new Error(error);
  console.log(response.body);
});

Query-параметры

Указываются в ссылке после знака вопроса, перечисляются через &.

skip_invalid_items

boolean

Параметры валидации JSON-объектов:

  • true — назначить навык, если JSON-объект со сведениями о навыке прошел валидацию. В противном случае пропустить назначение навыка.
  • false — остановить операцию и не назначать навыки, если хотя бы один JSON-объект не прошел валидацию.

Значение по умолчанию — false.

operation_id

string

Идентификатор операции.

Заголовки

Заголовок

Описание

Authorization

API-токен для авторизации аккаунта. В качестве префикса добавьте OAuth.

Content-Type

Указывает формат данных (application/json) в передаваемом теле запроса.

Тело запроса

{
  "skill_id": "32",
  "user_id": "566ec2b0ff0deeaae5f9d500",
  "value": 59.7,
  "reason": "High-quality performance of tasks"
}
[
  {
    "skill_id": "32",
    "user_id": "566ec2b0ff0deeaae5f9d500",
    "value": 59.7,
    "reason": "High-quality performance of tasks"
  },
  {
    "skill_id": "33",
    "user_id": "566ec2b0ff0deeaae5f9d500",
    "value": 75.0,
    "reason": "High-quality performance of tasks"
  }
]

Параметр

Описание

skill_id*

string

Идентификатор навыка.

user_id*

string

Идентификатор исполнителя.

value*

float

Дробное значение навыка. Минимум — 0, максимум — 100.

reason

string

Причина изменения или назначения навыка.

Ответ

Содержит сведения об операции.

Пример ответа
{
  "id": "26e130ad3652443a3dc5094791e48ef9",
  "type": "USER_SKILL.BATCH_CREATE",
  "status": "SUCCESS",
  "submitted": "2020-12-13T23:32:01",
  "started": "2020-12-13T23:33:00",
  "finished": "2020-12-13T23:34:12",
  "parameters": {
    "skip_invalid_items": true
  },
  "details": {
    "total_count": 2,
    "valid_count": 2,
    "not_valid_count": 0,
    "success_count": 2,
    "failed_count": 0
  }
}
Описание параметров

Параметр

Описание

id

string
Идентификатор операции.

type

string
Тип операции USER_SKILL.BATCH_CREATE — назначение навыков.

status

string
Статус операции:

  • PENDING — выполнение не началось.
  • RUNNING — выполняется.
  • SUCCESS — успешно выполнена.
  • FAIL — не выполнена.

submitted

string
Дата и время отправки запроса по UTC в формате ISO 8601: YYYY-MM-DDThh:mm:ss[.sss].

started

string
Дата и время начала операции по UTC в формате ISO 8601: YYYY-MM-DDThh:mm:ss[.sss].

finished

string
Дата и время окончания операции по UTC в формате ISO 8601: YYYY-MM-DDThh:mm:ss[.sss].

parameters

object
Параметры операции в запросе.

skip_invalid_items

boolean

Параметры валидации JSON-объектов:

  • true — назначить навык, если JSON-объект со сведениями о навыке прошел валидацию. В противном случае пропустить назначение навыка.
  • false — остановить операцию и не назначать навыки, если хотя бы один JSON-объект не прошел валидацию.

details

object
Сведения о выполнении операции.

details.total_count

integer
Количество навыков в запросе.

details.valid_count

integer
Количество JSON-объектов со сведениями о навыках, которые прошли валидацию.

details.not_valid_count

integer
Количество JSON-объектов со сведениями о навыках, которые не прошли валидацию.

details.success_count

integer
Количество назначенных навыков.

details.failed_count

integer
Количество навыков, которые не были назначены.

Обязательный параметр