> For the complete documentation index, see [llms.txt](https://docs.fstrk.io/knowledge_base/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.fstrk.io/knowledge_base/intagrations/retailcrm/methods.md).

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

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

***

* [Чат с оператором](#chat-s-operatorom)
* [Контакты](#rabota-s-kontaktami)
  * [Новый контакт](#sozdat-kontakt)
  * [Поиск контакта](#naiti-kontakt)
  * [Изменение контакта](#redaktirvoat-kontakt)
* [Сделки](#rabota-so-sdelkami)
  * [Новая сделка](#sozdat-sdelku)
  * [Поиск сделки](#naiti-sdelku)
  * [Изменение сделки](#redaktirovat-sdelku)

***

## Чат с оператором

Начать чат с оператором через RetailCRM.

```
{% retail.enable text=<Тест сообщения> %}
```

Параметры процедуры:

* `text` *(string)* <mark style="color:red;">\*</mark> – Текст сообщения
* `team` *(string)* – Название команды операторов в Fasttrack
* `operator_email` *(string)* – Почта оператора в Fasttrack

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

* Нельзя одновременно указывать `team` и `operator_email`

\[ ✏️ ] Заметки:

* Если указать только `text`, то чат-сессия будет открыта с командой по умолчанию

## Контакты

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

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

Процедура для создания нового контакта в RetailCRM:

```
{% retail.create_contact phone_number=<телефон> <поля контакта> as contact %}
```

* `phone_number` *(string)* <mark style="color:red;">\*</mark> – Номер телефона

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

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

Методы для процедуры:

* `contact.id_done` – метод для проверки результата создания контакта. Возвращает `true`, если контакт успешно создан, и `false`, если произошла ошибка.

Примеры:

<details>

<summary>Пример 1: Создать контакт в RetailCRM (только телефон)</summary>

{% code overflow="wrap" %}

```
{# Создать контакт в RetailCRM #}
{% retail.create_contact phone_number="+79001234567" as contact %}
```

{% endcode %}

</details>

<details>

<summary>Пример 2: Создать контакт в RetailCRM (имя, телефон, почта)</summary>

{% code overflow="wrap" %}

```
{# Создать контакт в RetailCRM #}
{% retail.create_contact name="Олег" phone_number="+79991234567" email="name@example.com" as contact %}
```

{% endcode %}

</details>

<details>

<summary>Пример 3: Создать контакт в RetailCRM (имя, телефон, доп. поля)</summary>

{% code overflow="wrap" %}

```
{# Создать список доп. полей #}
{% createobj custom_fields %}
  {
    "field_1": "Значение 1",
    "field_1": "Значение 2"
  }
{% endcreateobj %}

{# Создать контакт в RetailCRM #}
{% retail.create_contact name="Олег" phone_number="+79991234567" custom_fields=custom_fields as contact %}
```

{% endcode %}

</details>

<details>

<summary>Пример 4: Проверка результата с помощью метода <code>is_done</code></summary>

{% code overflow="wrap" %}

```
{# Создать контакт в RetailCRM #}
{% retail.create_contact name="Олег" phone_number="+79991234567" as contact %}

{# Проверка результата #}
{% if contact.is_done %}
  {% send_text "Контакт создан." %}
{% else %}
  {% send_text "Что-то пошло не так..." %}
{% endif %}
```

{% endcode %}

</details>

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

Ниже приведен список процедур для поиска информации о контакте в RetailCRM по одному из параметров: `Идентификатор`, `Телефон` или `Почта`.

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

```
{% retail.get_contact_by_uid uid=<ID контакта> as contact %}
```

* `uid` *(integer)* <mark style="color:red;">\*</mark> – ID контакта в RetailCRM

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

```
{% retail.get_contact_by_phone_number phone_number=<Телефон> as contact %}
```

* `phone_number` *(string)* <mark style="color:red;">\*</mark> – Номер телефона

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

```
{% retail.get_contact_by_email email=<Почта> as contact %}
```

* `email` *(string)* <mark style="color:red;">\*</mark> – Арес электронной почты

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

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

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

```
{% retail.edit_contact_by_uid uid=<ID контакта> <поля контакта> as contact %}
```

* `uid` *(integer)* <mark style="color:red;">\*</mark> – ID сделки в RetailCRM

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

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

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

```
{% retail.edit_contact_by_phone_number phone_number=<Телефон> <поля контакта> as contact %}
```

* `phone_number` *(string)* <mark style="color:red;">\*</mark> – Номер телефона

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

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

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

```
{% retail.edit_contact_by_email email=<Почта> <поля контакта> as contact %}
```

* `email` *(string)* <mark style="color:red;">\*</mark> – Арес электронной почты

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

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

## Сделки

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

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

Процедура создания сделки для контакта в RetailCRM.

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

* `contact_id` *(integer)* <mark style="color:red;">\*</mark> – ID контакта в RetailCRM

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

* `number` *(string)* – Номер сделки
* `custom_fields` *(object)*– Дополнительные поля

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

Процедура получения информации о сделке в RetailCRM по ее идентификатору:

```
{% retail.get_deal uid=<ID сделки> as contact %}
```

`uid` *(integer)* <mark style="color:red;">\*</mark> – ID сделки в RetailCRM

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

Процедура изменения информации о сделке в RetailCRM по ее идентификатору:

```
{% retail.edit_deal uid=<ID сделки> <поля сделки> as deal %}
```

* `uid` *(integer)* <mark style="color:red;">\*</mark> – ID сделки в RetailCRM

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

* `contact_id` *(integer)* – ID контакта в RetailCRM
* `custom_fields` *(object)* – Дополнительные поля


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## 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, and the optional `goal` query parameter:

```
GET https://docs.fstrk.io/knowledge_base/intagrations/retailcrm/methods.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

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.
