---
title: "Импорт контактов в список"
method: POST
path: "/v1/public/lists/{listId}/contacts/import"
tags: ["Контакты"]
---

# Импорт контактов в список

`POST /v1/public/lists/{listId}/contacts/import`

## Request

- Base URL: `https://api.rusender.ru/api`
- URL: `https://api.rusender.ru/api/v1/public/lists/{listId}/contacts/import`
- Auth: HTTP bearer

Импортирует до 1000 контактов в указанный список. Неизвестные ключи переменных должны быть объявлены в спецификации variables для автосоздания.

## Path parameters

- `listId` integer, required

## Headers

- `Idempotency-Key` string

## Request body

- object
  - `data` object, required: Основные данные запроса.
    - `rows` ContactImportRowDto[], required: Массив строк контактов для импорта (макс. 1000).
      - `email` string: Email-адрес контакта.
      - `name` string: Имя контакта.
      - `phone` string: Телефон контакта.
      - `variables` object: Значения переменных (key → value).
    - `variables` ImportVariableSpecDto[]: Спецификации переменных для автосоздания отсутствующих.
      - `key` string, required: Системный ключ переменной (латиница, цифры, подчёркивание).
      - `name` string, required: Отображаемое имя переменной.
      - `type` 'string' | 'phone': Тип переменной. По умолчанию — string.
    - `updateExisting` boolean: Обновлять ли существующие контакты. По умолчанию false.
  - `meta` PublicApiRequestMetaDto
    - `requestId` string: Client-provided request ID для корреляции.

## Response `200`

Импорт завершён. Результат содержит итоговую сводку.

- object
  - `ok` boolean, required: Флаг успешного выполнения.
  - `data` object, required: Полезная нагрузка успешного ответа.
    - `processed` number, required: Общее количество обработанных строк.
    - `addedCount` number, required: Количество созданных контактов.
    - `updatedCount` number, required: Количество обновлённых контактов.
    - `duplicateCount` number, required: Количество пропущенных дубликатов.
    - `errorCount` number, required: Количество строк с ошибками.
    - `errorsSample` ContactImportErrorSampleDto[]: Примеры ошибок по строкам (макс. 10).
      - `row` number, required: Номер строки (начиная с 1).
      - `code` string, required: Код ошибки.
      - `message` string, required: Описание ошибки.
  - `meta` PublicApiResponseMetaDto, required
    - `requestId` string, required: Итоговый идентификатор запроса, использованный сервером.
    - `timestamp` string, required: Время формирования ответа в формате ISO-8601.
    - `pagination` PublicApiPaginationMetaDto
      - `page` number, required: Текущая страница.
      - `limit` number, required: Количество элементов на странице.
      - `totalItems` number, required: Общее количество элементов.
      - `totalPages` number, required: Общее количество страниц.

## Other responses

- `400`: Некорректный запрос.
- `401`: Требуется валидный токен Public API.
- `403`: Для вызова endpoint не хватает требуемого scope.
- `404`: Запрошенный ресурс не найден.
- `422`: Ссылка на несуществующий ключ переменной, который не объявлен.
- `429`: Превышен rate limit для текущего API key.
- `500`: Внутренняя ошибка сервера.

---

[API](https://skmtc.dev/rusender/apis/public-api.md) · [All operations](https://skmtc.dev/rusender/apis/public-api/llms.txt) · [OpenAPI document](https://skmtc.dev/rusender/apis/public-api/revisions/8e86bca789ea?raw)
