# S2: Процедуры

## S2: Процедуры для настройки сценариев

***

* [Контакты](#kontakty)
  * [Новый контакт](#novyi-kontakt)
  * [Поиск контакта](#poisk-kontakta)
  * [Изменение контакта](#izmenenie-kontakta)
* [Продукты](#produkty)
  * [Поиск продукта](#poisk-produkta)
* [Сделки](#sdelki)
  * [Новая сделка](#novaya-sdelka)
  * [Список сделок](#spisok-sdelok)
  * [Поиск сделки](#poisk-sdelki)
  * [Изменение сделки](#izmeneniya-sdelki)
  * [Этапы сделок](#etapy-sdelok)
  * [Статусы сделок](#statusy-sdelok)
  * [Причины поражения](#prichiny-porazheniya)
  * [Создание комментария](#sozdanie-kommentariya)
* [Задачи](#zadachi)
  * [Новая задача](#novaya-zadacha)
  * [Поиск задачи](#poisk-zadachi)
  * [Изменение задачи](#izmenenie-zadachi)

***

## Контакты

Процедуры для работы с контактами в S2.

### Новый контакт

Создать контакт в S2.

```
{% s2.create_contact <поля контакта> need_save=<True/False> as contact %}
```

* `need_save` *(bool)* <mark style="color:red;">\*</mark> – Сохранить ID контакта в атрибутах (по умолчанию `False`)

Поля для заполнения:

* `first_name` *(str)* – Имя
* `last_name` *(str)* – Фамилия
* `phone_number` *(str)* – Номер телефона
* `email` *(str)* – Адрес электронной почты
* `custom_fields` *(dict)* – Дополнительные поля

### Поиск контакта

Получить информацию о контакте в S2 по его id, телефону или почте.

#### Найти контакт по ID

```
{% s2.get_contact_by_uid uid=<id контакта> need_save=<True/False> %}
```

* `uid` *(int)* <mark style="color:red;">\*</mark> – Идентификатор контакта
* `need_save` *(bool)* <mark style="color:red;">\*</mark> – Сохранить ID контакта в атрибутах (по умолчанию `False`)

#### Найти контакт по номеру телефона

```
{% s2.get_contact_by_phone_number phone_number=<телефон> need_save=<True/False> %}
```

* `phone_number` *(str)* <mark style="color:red;">\*</mark> – Номер телефона
* `need_save` *(bool)* <mark style="color:red;">\*</mark> – Сохранить ID контакта в атрибутах (по умолчанию `False`)

#### Найти контакт по адресу эл. почты

```
{% s2.get_contact_by_email email=<почта> need_save=<True/False> %}
```

* `email` *(str)* <mark style="color:red;">\*</mark> – Адрес электронной почты
* `need_save` *(bool)* <mark style="color:red;">\*</mark> – Сохранить ID контакта в атрибутах (по умолчанию `False`)

### Изменение контакта

Редактировать информацию о контакте в S2 по его id, телефону или почте.

#### Редактировать контакт по ID

```
{% s2.edit_contact_by_uid uid=<id контакта> <поля контакта> need_save=<True/False> as contact %}
```

* `uid` *(int)* <mark style="color:red;">\*</mark> – Идентификатор контакта
* `need_save` *(bool)* <mark style="color:red;">\*</mark> – Сохранить ID контакта в атрибутах (по умолчанию `False`)

Поля для редактирования:

* `first_name` *(str)* – Имя
* `last_name` *(str)* – Фамилия
* `phone_number` *(str)* – Номер телефона
* `email` *(str)* – Адрес электронной почты
* `custom_fields` *(dict)* – Дополнительные поля

#### Редактировать контакт по номеру телефона

```
{% s2.edit_contact_by_phone_number phone_number=<телефон> <поля контакта> need_save=<True/False> as contact %}
```

* `phone_number` *(str)* <mark style="color:red;">\*</mark> – Номер телефона
* `need_save` *(bool)* <mark style="color:red;">\*</mark> – Сохранить ID контакта в атрибутах (по умолчанию `False`)

Поля для редактирования:

* `first_name` *(str)* – Имя
* `last_name` *(str)* – Фамилия
* `email` *(str)* – Адрес электронной почты
* `custom_fields` *(dict)* – Дополнительные поля

#### Редактировать контакт по адресу эл. почты

```
{% s2.edit_contact_by_email email=<почта> <поля контакта> need_save=<True/False> as contact %}
```

* `email` *(str)* <mark style="color:red;">\*</mark> – Адрес электронной почты
* `need_save` *(bool)* <mark style="color:red;">\*</mark> – Сохранить ID контакта в атрибутах (по умолчанию `False`)

Поля для редактирования:

* `first_name` *(str)* – Имя
* `last_name` *(str)* – Фамилия
* `phone_number` *(str)* – Номер телефона
* `custom_fields` *(dict)* – Дополнительные поля

## Продукты

Процедуры для работы с продуктами в S2.

### Поиск продукта

Получить информацию о продукте в S2.

```
{% s2.get_product name=<название продукта> %}
```

* `name` *(str)* <mark style="color:red;">\*</mark> – Название продукта

## Сделки

Процедуры для работы со сделками в S2.

### Новая сделка

Создать сделку в S2.

```
{% s2.create_deal contact_id=<id контакта> <поля сделки> include_utm=False as deal %}
```

* `contact_id` *(int)* <mark style="color:red;">\*</mark> – Идентификатор контакта
* `include_utm` *(bool)* <mark style="color:red;">\*</mark> – Добавить UTM-метки (по умолчанить `False`)

Поля для заполнения:

* `name` *(str)* <mark style="color:red;">\*</mark> – Название сделки
* `product_id` *(int)* – Идентификатор пользователя
* `category_id` *(int)* – Идентификатор воронки
* `user_id` *(int)* – Идентификатор пользователя
* `stage_id` *(int)* – Идентификатор шага (этапа)
* `status_id` *(int)* – Идентификатор статуса
* `note` *(str)* – Заметка
* `custom_fields` *(dict)* – Дополнительные поля

### Список сделок

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

```
{% s2.get_deals contact_id=<id контакта> <параметры> as deals %}
```

* `contact_id` *(int)* <mark style="color:red;">\*</mark> – Идентификатор контакта

Дополнительные параметры:

* `exclude_status_id` *(set\[int] или list\[int])* – Список статусов, которые нужно исключить

### Поиск сделки

Получить информацию о сделке в S2.

```
{% s2.get_deal uid=<id сделки> as deal %}
```

* `uid` *(int)* <mark style="color:red;">\*</mark> – Идентификатор сделки

### Изменения сделки

Редактировать информацию о сделке в S2.

```
{% s2.edit_deal deal_id=<id сделки> <поля сделки> include_utm=False as deal %}
```

* `deal_id` *(int)* <mark style="color:red;">\*</mark> – Идентификатор сделки
* `include_utm` *(bool)* <mark style="color:red;">\*</mark> – Добавить UTM-метки (по умолчанить `False`)

Поля для редактирования:

* `user_id` *(int)* – Идентификатор пользова
* `stage_id` *(int)* – Идентифакатор шага (этапа)
* `status_id` *(int)* – Идентификатор статуса
* `loss_id` *(int)* – Идентификатор причины поражения
* `note` *(str)* – Заметка
* `custom_fields` *(dict)* – Дополнительные поля

### Этапы сделок

Получить список всех этопов для сделок в S2.

```
{% s2.get_deal_stages as deal_stages %}
```

### Статусы сделок

Получить список всех статусов для сделок в S2.

```
{% s2.get_deal_statuses as deal_statuses %}
```

### Причины поражения

Получить список всех причин поражения в S2.

```
{% s2.get_deal_losses as deal_loses %}
```

### Создание комментария

Добавить комментарий к сделке.

```
{% s2.create_comment deal_id=<id сделки> text=<комментарий> %}
```

* `deal_id` *(int)* <mark style="color:red;">\*</mark> – Идентификатор сделки
* `text` *(str)* <mark style="color:red;">\*</mark> – Текст комментария

## Задачи

Процедуры для работы с задачами в S2.

### Новая задача

Создать задачу в S2.

```
{% s2.create_task <id> <поля задачи> as task %}
```

* `name` *(str)* <mark style="color:red;">\*</mark> – Название задачи
* `description` *(str)* <mark style="color:red;">\*</mark> – Описание задачи
* `duration` *(int)* <mark style="color:red;">\*</mark> – Длительность
* `deal_id` *(int)* <mark style="color:red;">\*</mark> – Идентификатор сделки
* `contact_id` *(int)* <mark style="color:red;">\*</mark> – Идентификатор контакта
* `used_id` *(int)* <mark style="color:red;">\*</mark> – Идентификатор пользователя

Дополнительные поля:

* `type_id` *(int)* – Идентификатор типа
* `custom_fields` *(dict)* – Дополниетельные поля

\[ ⚠️ ] Ограничения:

* Укажите что-то одно: `deal_id`, `contact_id` или `user_id`

### Поиск задачи

Получить информацию о задаче в S2.

```
{% s2.get_task uid=<id задачи> as task %}
```

* `uid` *(int)* <mark style="color:red;">\*</mark> – Идентификатор задачи

### Изменение задачи

Редактировать информацию о задачи в S2.

```
{% s2.edit_task uid=<id задачи> <поля задачи> as task %}
```

* `uid` *(int)* <mark style="color:red;">\*</mark> – Идентификатор задачи

Поля для редактирования:

* `name` *(str)* – Название задачи
* `description` *(str)* – Описание задачи
* `duration` *(int)* – Длительность
* `deal_id` *(int)* – Идентификатор сделки
* `contact_id` *(int)* – Идентификатор контакта
* `used_id` *(int)* – Идентификатор пользователя


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.fstrk.io/knowledge_base/intagrations/s2/methods.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
