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

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

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

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

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

<figure><img src="https://3704471835-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MPK4TuzRBnP7rt8htho-887967055%2Fuploads%2F3OADYKfSlvQbPKhK36hk%2Fimage.png?alt=media&#x26;token=b900da12-3a6a-4c79-979d-c97c513a8966" alt=""><figcaption><p>Модуль связи с AmoCRM</p></figcaption></figure>

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

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

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

<figure><img src="https://3704471835-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MPK4TuzRBnP7rt8htho-887967055%2Fuploads%2F4iPdqd7orpKQSHl47yGx%2Fimage.png?alt=media&#x26;token=efefa86b-1887-4a5c-b4bf-56111d61cce5" alt=""><figcaption><p>Авторизация модуля</p></figcaption></figure>

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

<figure><img src="https://3704471835-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MPK4TuzRBnP7rt8htho-887967055%2Fuploads%2FKPx573l1JCH3Kz6Y8WZx%2Fimage.png?alt=media&#x26;token=5b1031e7-0473-4d5d-a728-8669d2969cd6" alt=""><figcaption><p>Вкладка "Создание сущностей"</p></figcaption></figure>

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

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

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

<figure><img src="https://3704471835-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MPK4TuzRBnP7rt8htho-887967055%2Fuploads%2FujihFsDoGn62yLIkb67P%2Fimage.png?alt=media&#x26;token=2e9d7465-3501-4c70-8ec1-bf74ea6e58ab" 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 на вашу АТС. Рекомендуют вычислять адрес самостоятельно.&#x20;

При поступлении 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 интерфейсу АТС.&#x20;

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

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

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

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

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

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

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

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

<figure><img src="https://3704471835-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MPK4TuzRBnP7rt8htho-887967055%2Fuploads%2F22DwhrPYDDSVVDl6pW85%2Fimage.png?alt=media&#x26;token=dea94faa-5331-46bc-9756-c40213764aef" alt=""><figcaption><p>Раздел описания правила создания сущностей</p></figcaption></figure>

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