> ## Documentation Index
> Fetch the complete documentation index at: https://docs.spellit.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Создание Item Set

> Создание Item Set, связанного с ранее созданным проектом

<Callout emoji="🍀">
  Необходим <code>project\_id</code> из предыдущего шага.
</Callout>

<Callout emoji="✅">
  Запомните <code>id</code> созданного item\_set.
</Callout>


## OpenAPI

````yaml POST /item-set
openapi: 3.1.0
info:
  title: SpellIt API
  description: >-
    API для обработки Items через создание проекта, загрузку Item Set и загрузку
    Items
  version: 1.0.0
servers:
  - url: https://api.spellit.ai/api/
security: []
paths:
  /item-set:
    post:
      description: Создание Item Set, связанного с ранее созданным проектом
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ItemSet'
      responses:
        '200':
          description: Успешное создание Item Set
          content:
            application/json:
              schema:
                type: object
                properties:
                  id:
                    type: integer
                    description: >-
                      Используем ID созданного item_set для загрузки в него
                      файла и работой с этим файлом в дальнейшем
              examples:
                default:
                  value:
                    id: 123
                    name: name_a0d142
                    permitted_types: null
                    date_creation: null
                    date_last_update: null
                    id_project: 123
                    status: added
                    status_project: null
                    id_base_user: 1
                    id_item_set_processing_metadata: null
                    processing_outputs: null
        '400':
          description: Неверные параметры запроса
          content:
            application/json:
              example:
                detail: id_project is required
        '401':
          description: Ошибка аутентификации
          content:
            application/json:
              example:
                detail: Invalid auth
        '422':
          description: Ошибка валидации
          content:
            application/json:
              example:
                detail: Invalid input data
      security:
        - ApiKeyAuth: []
        - BearerAuth: []
      x-code-samples:
        - lang: curl
          source: |-
            curl -X POST 'https://api.spellit.ai/api/item-set' \
              -H 'API-Access-Key: your_api_key' \
              -H 'Content-Type: application/json' \
              -d '{"name":"Название звонка","project_id":123,"processing_parameters":{"COMPANY":"Название компании","extra_processing_data":{"crm_data":{"call_date":"YYYY-MM-DD","crm_data_2":"600","crm_data_3":123}}}}'
        - lang: python
          source: |-
            import requests

            url = 'https://api.spellit.ai/api/item-set'
            headers = {
              'API-Access-Key': 'your_api_key',
              'Content-Type': 'application/json'
            }
            data = {
              "name": "Название звонка",
              "project_id": 123,
              "processing_parameters": {
                "COMPANY": "Название компании",
                "extra_processing_data": {
                  "crm_data": {
                    "call_date": "YYYY-MM-DD",
                    "crm_data_2": 600,
                    "crm_data_3": 123
                  }
                }
              }
            }

            response = requests.post(url, headers=headers, json=data)
            print(response.json())
components:
  schemas:
    ItemSet:
      type: object
      description: >-
        Структура запроса для создания набора элементов (Item Set), связанного с
        проектом.
      required:
        - name
        - project_id
      properties:
        name:
          type: string
          description: >-
            Название набора элементов. Используется для идентификации внутри
            проекта.
        project_id:
          type: integer
          description: >-
            ID проекта, к которому относится этот Item Set. За ID проекта
            обращайтесь к команде Spellit.
        processing_parameters.COMPANY:
          type: string
          description: Название компании, от имени которой производится обработка.
        processing_parameters.extra_processing_data:
          type: object
          description: Дополнительные данные, необходимые для бизнес-логики обработки.
        processing_parameters.extra_processing_data.crm_data:
          type: object
          description: >-
            crm_data — это набор метаданных из CRM или других источников,
            который передается вместе с каждым звонком для построения
            детализированной аналитики. Эти данные позволяют фильтровать отчеты
            и получать различные срезы аналитики по вашим звонкам.


            **Как это работает**


            1. **Настройка проекта** — при создании проекта определяется
            структура полей crm_data

            2. **Отправка данных** — при каждом создании item-set поля
            заполняются данными по конкретному звонку

            3. **Аналитика** — на основе переданных метаданных строятся отчеты и
            фильтры


            **Стандартные поля**

            Вот эти поля, как правило, используют наши клиенты:

            ```json
              "crm_data": {
                "call_date": "Дата звонка",
                "crm_data_2": "Длительность (СЕК)",
                "crm_data_3": "ID звонка",
                "crm_data_4": "Телефон",
                "crm_data_5": "Источник",
                "crm_data_6": "Время звонка",
                "crm_data_7": "Тип звонка",
                "crm_data_8": "Номер недели",
                "crm_data_9": "ID контакта",
                "crm_data_10": "ФИО контакта",
                "crm_data_11": "Тип контакта",
                "crm_data_12": "Дата создания сделки",
                "crm_data_13": "ID сделки",
                "crm_data_14": "Название сделки",
                "crm_data_15": "Воронка сделки",
                "crm_data_16": "Бюджет сделки",
                "crm_data_17": "Этап сделки",
                "crm_data_18": "Ссылка на сделку",
                "crm_data_19": "ID менеджера",
                "crm_data_20": "ФИО менеджера",
                "crm_data_21": "резерв_1",
                "crm_data_22": "резерв_2",
                "crm_data_23": "резерв_3",
                "crm_data_24": "резерв_4",
                "crm_data_25": "резерв_5"
              }
            ```


            ⚠️ **Важно:** Дата звонка всегда должна отправляться с ключом
            `call_date`


            **Кастомизация полей**

            Вы не ограничены стандартным набором полей. SpellitAI поддерживает:


            - **Любое количество полей** — технических ограничений нет

            - **Любые названия полей** — используйте удобные для вас ключи

            - **Специфичные для бизнеса поля** — добавляйте данные, важные
            именно для вашей аналитики


            **Резервные поля**

            Если стандартного набора недостаточно, используйте резервные поля
            (crm_data_21 - crm_data_25) или обратитесь к команде SpellitAI для
            создания индивидуальной структуры.


            **Формат данных**


            | Тип данных | Формат | Примеры |

            |------------|--------|----------|

            | Числовые значения | Без кавычек | 1060, 1966074090 |

            | Текстовые данные | В кавычках | "CallGear", "Входящий" |

            | Даты | В кавычках | "2025-08-19" |

            | Время | В кавычках | "08:26:20" |

            | Телефоны | В кавычках | "+79157778899" |


            **Пример**


            ✅ **Правильно:**

            ```json
              "crm_data": {
                "call_date": "2025-08-19",
                "crm_data_2": 1060,
                "crm_data_3": 1966074090,
                "crm_data_4": "+79157778899",
                "crm_data_5": "CallGear",
                "crm_data_6": "08:26:20"
              }
            ```


            **Начало работы**


            1. **Определите структуру полей**
               Выберите и утвердите список полей, которые будете отправлять. Это критически важно для корректной работы аналитики.

            2. **Отправьте тестовый звонок**
               Передайте первый тестовый звонок с частью полей, чтобы убедиться в правильности интеграции.

            3. **Получите поддержку**
               По вопросам интеграции обращайтесь к команде SpellitAI — процесс интеграции простой и не займет много времени!

             
        processing_parameters.extra_processing_data.crm_data.call_date:
          type: string
          description: Значение из CRM-поля 'Дата звонка'.
        processing_parameters.extra_processing_data_crm_data.crm_data_2:
          type: string
          description: Значение из CRM-поля 'Длительность (СЕК)'.
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: API-Access-Key
      description: API-ключ для доступа к эндпоинтам
    BearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT
      description: JWT-токен для авторизации (Bearer Token)

````