# Настройка интеграции

### Системные требования <a href="#sistemnye_trebovanija" id="sistemnye_trebovanija"></a>

* АТС должна быть доступна на "*белом*" адресе.
* IP адресу АТС должно быть сопосталено доменное имя.
* Адрес должен быть доступен по **https** протоколу, необходимо получить валидный SSL сертификат (см. как пример [lets encrypt модуль](/mikopbx/modules/miko/module-get-ssl-lets-encrypt.md)).
* Используйте браузер семейства Chrome: **Google Chrome**, **Yandex браузер**
* На АТС, в разделе "Сетевой экран" следует указать "Внешнее имя хоста вашего маршрутизатора" - публичное dns имя вашего сервера

## Настройка внутри MikoPBX <a href="#nastrojka" id="nastrojka"></a>

1. Откройте web-интерфейс MikoPBX. Перейдите в раздел «**Модули**» - «**Маркетплейс модулей**».
2. Установите «**Модуль связи с AmoCRM**»

<figure><img src="/files/idsb9y01SkpUwijPuq0U" alt=""><figcaption><p>Модуль связи с AmoCRM</p></figcaption></figure>

3. Перейдите к редактированию настроек модуля. На вкладке «**Настройка подключения**» заполните поле «**Адрес портала**».
4. Сгенерируйте новый «**Ключ доступа к API MikoPBX**»

Выполните действие «**Сохранить**», далее - включите модуль.

5. Выполните авторизацию на портале amoCRM. Это действие выполнит установку модуля на портал.

<figure><img src="/files/zblFsov3et2hgs6cIyeu" alt=""><figcaption><p>Авторизация модуля</p></figcaption></figure>

Модуль автоматически заполнит настройка на вкладке «Создание сущностей»:

<figure><img src="/files/9GsnLcvuSFrhlWfxqtEd" alt=""><figcaption><p>Вкладка "Создание сущностей"</p></figcaption></figure>

## Настройка внутри AmoCRM

1. Перейдите в интерфейс портала amoCRM. Откройте **amoМаркет.**
2. Перейдите на вкладку «**Установленные**».
3. Откройте настройки виджета MikoPBX.
4. Укажите «**Адрес сервера MikoPBX**» - публичный адрес, на котором доступна АТС.
5. Заполните «**Токен**», его значение следует взять из настроек АТС «**Ключ доступа к API MikoPBX**».
6. Назначьте внутренние номера в разделе: «**Пользователи АТС**».

Сохраните настройки.

<figure><img src="/files/nb06X7i0fEAQXg9DBJcV" alt=""><figcaption><p>Данные внутри AmoCRM</p></figcaption></figure>

### Web hooks <a href="#web_hooks" id="web_hooks"></a>

{% hint style="info" %}
Web hooks позволят более оперативно синхронизировать сущности с MikoPBX.
{% endhint %}

1. Откройте **amoМаркет.**
2. Перейдите по кнопке «**WEB HOOKS**».
3. Добавьте новое правило для адреса:

   ```
   https://АДРЕС_АТС_MIKOPBX/pbxcore/api/amo-crm/v1/entity-update
   ```
4. Выберите события «контакт удален» / «сделка удалена» / «компания удалена».
5. Сохраните настройки.

{% hint style="success" %}
Если возникают сложности при настройке, Вы можете [обратиться к нам](https://www.mikopbx.ru/support/) за помощью.
{% endhint %}

ТП amoCRM не сообщает, с каких адресов могут поступать запросы webhook на вашу АТС. Рекомендуют вычислять адрес самостоятельно.

При поступлении webhook на MikoPBX, в системном логе отбразится сообщение:

```
Oct  8 14:14:03 daemon.warning php.frontend[16018]:  from: 88.212.240.28 on amoCrm-hook
```

В данном случае IP адрес "`88.212.240.28`", его можно добавить в "Сетевой экран" и разрешить с него запросы к web интерфейсу АТС.

## Создание сущностей <a href="#sozdanie_suschnostej" id="sozdanie_suschnostej"></a>

Модуль может автоматически создавать следующие сущности:

* **Контакт** - карточка клиента
  * Шаблон имени нового контакта - к примеру

    ```
    Новый контакт <PhoneNumber>
    ```

    Параметр **\<PhoneNumber>** будет заменен на номер телефона клиента.
* **Неразобранное**
* **Сделка**
  * «*Шаблон наименования*» - к примеру

    ```
    Новая сделка <PhoneNumber>
    ```
  * «*Воронка*» - к ней будет отнесена сделка,
  * «*Этап воронки*» - статус сделки в воронке
  * «*Ответственный*» - «первый, кто ответил на вызов», «последний, кто ответил на вызов»
* **Задача** - будет создана задача с крайним сроком выполнения, срок назначается в часах, относительно даты создания задачи
  * *Наименование задачи* - можно задать в виде шаблона

    ```
    Перезвонить по номеру <PhoneNumber>
    ```
  * *Ответственный по задаче* - задача будет создана только в том случае, если удалось определить ответственного. Варианты: «первый, кто ответил на вызов», «последний, кто ответил на вызов», «ответственный по умолчанию»
* Отвеченный входящий с неизвестного номера
* Отвеченный входящий с известного номера
* Отвеченный исходящий на известный номер
* Отвеченный исходящий на неизвестный номер
* Пропущенный с неизвестного номера
* Пропущенный с известного номера
* Не отвеченный исходящий на известный номер

Для каждого типа звонка можно описать свое правило создания сущностей:

<figure><img src="/files/8VF5hAeaRtfEHqzWvZ58" alt=""><figcaption><p>Раздел описания правила создания сущностей</p></figcaption></figure>

Для каждого DID (номер компании, на который позвонил клиент). Можно создать уникальные правила создания сущностей.


---

# 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.mikopbx.com/mikopbx/modules/miko/amocrm/amocrm-integration.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.
