К содержимому

Импорт и экспорт ​

Все методы · Ключи и права · Ошибки

Примеры ответов сокращены. Пустой массив означает допустимый результат без доступных записей, а не обязательное отсутствие данных.

Для методов с ключом действуют общие проверки: 401 — ключ не принят, 403 — не хватает scope или прав владельца, 429 — превышен лимит. Неверные параметры могут дать 400, недоступный адресный ресурс — 404. Особенности команды указаны рядом с методом. Точную причину смотрите в error.code и details: как обработать ошибку и безопасно повторить запрос.

Создать настройку импорта ​

POST /api/v1/import-definitions

Действие ключа: imports:write. Оно не заменяет права владельца на объекты и поля.

Дополнительно import.manage. targetKind: object/user/group/organization. format: CSV/JSON; mode: CREATE_ONLY/UPDATE_ONLY/UPSERT. mapping: source,target, необязательные transform/precedence. resolver.externalIdField задаёт колонку внешнего идентификатора; без неё строки не пройдут импорт. externalId связывает строки с ранее импортированными записями одного источника.

Параметры пути: нет. Тело: JSON; пример ниже показывает основные поля.

Пример запроса ​

http
POST /api/v1/import-definitions HTTP/1.1
Host: service.example.invalid
Authorization: Bearer YOUR_API_KEY
Content-Type: application/json

{
  "code": "sample-import",
  "name": "Учебная загрузка",
  "targetKind": "object",
  "targetTypeId": "TYPE_ID",
  "format": "CSV",
  "mode": "UPSERT",
  "sourceCode": "sample-source",
  "resolver": {
    "externalIdField": "externalId"
  },
  "mapping": [
    {
      "source": "subject",
      "target": "FIELD_CODE"
    }
  ]
}

Ответ и ошибки ​

Успех: 201. Определение импорта.

json
{
  "data": {
    "id": "DEFINITION_ID",
    "format": "CSV",
    "mode": "UPSERT"
  },
  "meta": {
    "correlationId": "CORRELATION_ID",
    "apiVersion": "v1"
  }
}

JSON-тело свыше 10 MiB отклоняется с 413.

Проверить или запустить импорт ​

POST /api/v1/imports/run

Действие ключа: imports:write. Оно не заменяет права владельца на объекты и поля.

Дополнительно import.execute. content — строка CSV либо JSON-массива; dryRun=true сначала. Каждая строка сохраняется независимо; частичные ошибки не откатывают остальные.

Параметры пути: нет. Тело: JSON; пример ниже показывает основные поля.

Пример запроса ​

http
POST /api/v1/imports/run HTTP/1.1
Host: service.example.invalid
Authorization: Bearer YOUR_API_KEY
Content-Type: application/json

{
  "definitionId": "DEFINITION_ID",
  "content": "externalId,subject\nexternal-1,Пример",
  "dryRun": true
}

Ответ и ошибки ​

Успех: 201. Запуск с результатами строк.

json
{
  "data": {
    "id": "RUN_ID",
    "dryRun": true,
    "succeeded": 1,
    "failed": 0,
    "skipped": 0
  },
  "meta": {
    "correlationId": "CORRELATION_ID",
    "apiVersion": "v1"
  }
}

JSON-тело свыше 10 MiB отклоняется с 413.

Прочитать результат импорта ​

GET /api/v1/import-runs/{runId}

Действие ключа: imports:read. Оно не заменяет права владельца на объекты и поля.

Дополнительно import.manage. Проверяйте failed/skipped и ошибки строк, а не только HTTP 200/201.

Параметры пути: runId. Тело: не требуется.

Пример запроса ​

http
GET /api/v1/import-runs/RUN_ID HTTP/1.1
Host: service.example.invalid
Authorization: Bearer YOUR_API_KEY

Ответ и ошибки ​

Успех: 200. Запуск с результатами строк.

json
{
  "data": {
    "id": "RUN_ID",
    "succeeded": 1,
    "failed": 0,
    "skipped": 0
  },
  "meta": {
    "correlationId": "CORRELATION_ID",
    "apiVersion": "v1"
  }
}

Выгрузить CSV или JSON ​

POST /api/v1/exports

Действие ключа: exports:read. Оно не заменяет права владельца на объекты и поля.

Дополнительно export.execute. format JSON/CSV; limit 1–10 000, default 1000; query необязателен. Ответ ограничен 16 MiB. HTTP-ответ не сообщает truncated: не считать его полной резервной копией.

Параметры пути: нет. Тело: JSON; пример ниже показывает основные поля.

Пример запроса ​

http
POST /api/v1/exports HTTP/1.1
Host: service.example.invalid
Authorization: Bearer YOUR_API_KEY
Content-Type: application/json

{
  "typeDefinitionId": "TYPE_ID",
  "format": "JSON",
  "limit": 1000
}

Ответ и ошибки ​

Успех: 200. Файл JSON/CSV.

json
[]

JSON-тело свыше 10 MiB отклоняется с 413.

Выполнить пакет изменений ​

POST /api/v1/bulk

Действие ключа: objects:write. Оно не заменяет права владельца на объекты и поля.

operation: update/archive/transition; items 1–1000. Для transition: objectId,transitionId,expectedRevision,expectedStateId,values; archive: objectId,expectedRevision. Права проверяются для каждой записи; возможен частичный успех.

Параметры пути: нет. Тело: JSON; пример ниже показывает основные поля.

Пример запроса ​

http
POST /api/v1/bulk HTTP/1.1
Host: service.example.invalid
Authorization: Bearer YOUR_API_KEY
Content-Type: application/json

{
  "operation": "update",
  "items": [
    {
      "objectId": "OBJECT_ID",
      "expectedRevision": 1,
      "changes": {
        "FIELD_CODE": "Значение"
      }
    }
  ]
}

Ответ и ошибки ​

Успех: 200. Массив результатов по элементам.

json
{
  "data": [
    {
      "objectId": "OBJECT_ID",
      "status": "SUCCEEDED",
      "revision": 2
    }
  ],
  "meta": {
    "correlationId": "CORRELATION_ID",
    "apiVersion": "v1"
  }
}

JSON-тело свыше 10 MiB отклоняется с 413.

Связанные статьи ​

Сверено с версией 0.9 · редакция 13.10.2026

Документация NGENSIA · Работа, настройка и эксплуатация