# Выплаты Agents Telegram

## Описание

Модуль позволяет настроить выплату валюты через операторов, которые будут получать в отдельной телеграм группе сообщения с возможными заявками. В группе будет возможность видеть детали заявки, закрепляться за ними и изменять их статус после успешной/неуспешной выплаты. \
Администратор сможет мониторить в группе статусы заявки, операторов, а также время затраченное на выплату. &#x20;

## Установка

Используя параметры ниже, установите модуль через функционал "**Install plugin**" по инструкции [install-plugin](https://manual.boxexchanger.net/dopolnitelnye-sistemy/install-plugin "mention").

<details>

<summary>Параметры для Install Plugin</summary>

**Plugin type**: <mark style="color:orange;">**`Payout module`**</mark>

**Plugin URL**: <mark style="color:orange;">**`@boxexchanger-plugins/payout-agents-telegram`**</mark>

**Directory path**: <mark style="color:orange;">**`agents-telegram`**</mark>

**Auth: (Deploy token)**: оставляем пустым

**Package tag**: <mark style="color:orange;">**`latest`**</mark>

</details>

## Конфигурация

1. Создайте в Telegram новую группу и добавьте в нее бота <https://t.me/payout_agents_bot>.&#x20;
2. В чате созданной группы, отправьте команду <mark style="color:orange;">**`/start@payout_agents_bot`**</mark>для генерации API URL и ключей -> [**сохраните**](#user-content-fn-1)[^1] значения **API URL**, **API Key**, **Secret Key** в надежное место -> <mark style="color:red;">**удалите сообщение из чата в целях безопасности**</mark>.&#x20;

{% hint style="info" %}
Для перегенерации ключей вы можете использовать команду <mark style="color:orange;">**`/regenerate@payout_agents_bot`**</mark>
{% endhint %}

{% hint style="info" %}
Команды <mark style="color:orange;">**`/start@payout_agents_bot`**</mark> и <mark style="color:orange;">**`/regenerate@payout_agents_bot`**</mark> могут быть вызваны любым участником группы, однако бот отправит **API URL**, **API Key**, **Secret Key** либо перегенерирует ключи только если команды выше вызовет администратор группы.&#x20;
{% endhint %}

3. Зайдите в админ панель скрипта -> страница "**Мерчант и API**" - раздел "**PAYOUT SYSTEM**" -> нажмите на [**значок настроек**](#user-content-fn-2)[^2] в блоке с модулем выплаты "**Payout Agents**".
4. На странице настроек модуля укажите значения **API URL**, **API Key**, **Secret Key** в соответствующие поля -> нажмите "[**Save**](#user-content-fn-3)[^3]" напротив каждого поля.&#x20;
5. Для поля "**Send route fields (from order)**" выберите подходящий параметр по таблице ниже -> нажмите "**Save**".

|                                                                    Yes                                                                   |                                                        No                                                       |
| :--------------------------------------------------------------------------------------------------------------------------------------: | :-------------------------------------------------------------------------------------------------------------: |
| При параметре "**Yes**", в сообщении с деталями заявки будут отображаться и данные из полей валюты вывода и данные из полей направления. | При параметре "**No**", в сообщении с деталями заявки будут отображаться только данные из полей валюты выплаты. |

6. В настройках валюты/направления установите "**Payout Agents**" в качестве модуля выплаты.&#x20;

{% hint style="info" %}
Обратите внимание, одна группа в телеграм = один модуль выплаты "**Payout Agents**". В случае, если вам необходимо разделить выплаты разных валют по группам, к примеру, "**Выплата UAH**", "**Выплата USD**" и т.д, то вы можете дублировать данный модуль выплаты через функционал [install-plugin](https://manual.boxexchanger.net/dopolnitelnye-sistemy/install-plugin "mention"), при этом указывая уникальный "**Directory path**" для каждого последующего модуля. \
Также учтите, что для каждого нового модуля необходимо указывать уникальный **API URL**, **API Key**, **Secret Key**, которые возможно получить в новой созданной Telegram группе по инструкции выше.&#x20;
{% endhint %}

## Взаимодействие с заявкой

1. В ранее созданную Telegram группу добавьте операторов, которые будут обрабатывать заявки.
2. Дождитесь пока бот отправит в группу сообщение с деталями по заявке. Пример такого сообщения на [**скриншоте**](#user-content-fn-4)[^4].&#x20;

{% hint style="info" %}
Обратите внимание, что бот отправляет в чат новую заявку через несколько секунд после того как для заявки был выставлен статус [#na-vyplatu](https://manual.boxexchanger.net/zayavki/zayavki/statusy-zayavki#na-vyplatu "mention") (то есть был запущен модуль выплаты "**Payout Agents**" для валюты OUT).&#x20;
{% endhint %}

{% hint style="info" %}
До момента пока заявка не была принята одним из операторов - данные из полей заявки будут частично скрыты для всех участников группы.
{% endhint %}

3. Как только один из операторов будет готов обработать заявку -> оператору необходимо нажать на кнопку "[**Accept**](#user-content-fn-5)[^5]" в сообщении с необходимой заявкой. После нажатия на кнопку оператор будет закреплён за заявкой и для всех участников группы станут видны данные из полей заявки. Пример на [**скриншоте**](#user-content-fn-6)[^6].&#x20;
4. После того как оператор закрепился за заявкой, появляется возможность обозначить выплату завершенной (кнопка "**Done**") либо открепиться от заявки (кнопка "**Cancel**"). Подробнее о каждой кнопке в таблице ниже.&#x20;

|                                                                                                                                                  Done                                                                                                                                                  |                                                                                                                                                                  Cancel                                                                                                                                                                 |
| :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: |
| При нажатии на кнопку "**Done**", статус заявки изменяется на [#zavershena](https://manual.boxexchanger.net/zayavki/zayavki/statusy-zayavki#zavershena "mention"), а в сообщении от бота добавляется строка с временем завершения обработки заявки. Пример на [**скриншоте**](#user-content-fn-7)[^7]. | При нажатии на кнопку "**Cancel**", статус заявки изменяется на [#oshibka-pri-vyplate](https://manual.boxexchanger.net/zayavki/zayavki/statusy-zayavki#oshibka-pri-vyplate "mention"), а в сообщении от бота добавляется строка с временем, в которое оператор открепился от заявки. Пример на [**скриншоте**](#user-content-fn-8)[^8]. |

{% hint style="info" %}
Заявку, для которой был установлен статус [#oshibka-pri-vyplate](https://manual.boxexchanger.net/zayavki/zayavki/statusy-zayavki#oshibka-pri-vyplate "mention") (после нажатия на кнопку "**Cancel**"), возможно еще раз отправить в бот чтобы ее обработал другой оператор. Для этого достаточно в админ панели скрипта, в деталях заявки изменить ее статус на [#na-vyplatu](https://manual.boxexchanger.net/zayavki/zayavki/statusy-zayavki#na-vyplatu "mention"). \
Подробнее об изменении статуса заявки в инструкции [#izmenenie-statusa](https://manual.boxexchanger.net/zayavki/zayavki#izmenenie-statusa "mention").
{% endhint %}

{% hint style="info" %}
Кнопки "**Done**" и "**Cancel**" будут отображаться для все участников группы, однако изменение статуса заявки, при нажатии на одну из кнопок, произойдет только если такое действие совершит оператор, который закрепился за заявкой. \
В противном случае, будет отображаться ошибка, которая сообщает о том, что заявка закреплена за другим оператором.&#x20;
{% endhint %}

### Структура деталей заявки

* Значения номера заявки, данных из полей, а также суммы возможно скопировать нажатием на такое значение. Пример на [**скриншоте**](#user-content-fn-9)[^9].&#x20;
* В случае, если у оператора установлен username в Telegram, то после нажатия на кнопку "**Accept**", в поле "**Accepted By**" будет установлен username оператора, который принял заявку. Пример на [**скриншоте**](#user-content-fn-10)[^10].&#x20;
* В случае, если у оператора отсутствует username в Telegram, то после нажатия на кнопку "**Accept**", в поле "**Accepted By**" будет установлены имя и фамилия оператора, который принял заявку. Пример на [**скриншоте**](#user-content-fn-11)[^11].&#x20;
* В поле "**Currency**" отображается XML валюты вывода и тип валюты вывода. Пример на [**скриншоте**](#user-content-fn-12)[^12].&#x20;

[^1]: ![](https://3272217808-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FKMtUdLxlDooDfKq13Is6%2Fuploads%2FmfwpYZR6z8cRqc2BbCzO%2Fimage.png?alt=media\&token=46577e9e-80aa-40ec-81a9-ec4e2597932f)

[^2]: ![](https://3272217808-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FKMtUdLxlDooDfKq13Is6%2Fuploads%2FniXKabvFVZgLO4PWOxIQ%2Fimage.png?alt=media\&token=5889de37-3f6a-4da1-99d0-1d5e96da6605)

[^3]: ![](https://3272217808-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FKMtUdLxlDooDfKq13Is6%2Fuploads%2FZ5pTojSwXUd8t6t6t8Mx%2Fimage.png?alt=media\&token=6b325fb5-93c8-4031-9fc9-2d96b6f7a910)

[^4]: ![](https://3272217808-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FKMtUdLxlDooDfKq13Is6%2Fuploads%2FpRUlnOJdmbrJS6HflF52%2Fimage.png?alt=media\&token=64b6a197-b754-4bd5-9477-8782dce5e79b)

[^5]: ![](https://3272217808-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FKMtUdLxlDooDfKq13Is6%2Fuploads%2FZZofqNnMySZQneIKKlqT%2Fimage.png?alt=media\&token=1fe0a176-27ee-46f4-8d3b-2e9da7d29954)

[^6]: ![](https://3272217808-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FKMtUdLxlDooDfKq13Is6%2Fuploads%2F9PucUouPG036vVvKrinR%2Fimage.png?alt=media\&token=81854f4e-3729-41fb-a3e1-9c25127ae17f)

[^7]: ![](https://3272217808-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FKMtUdLxlDooDfKq13Is6%2Fuploads%2FyDyBqKgjmpA717e0qPcf%2Fimage.png?alt=media\&token=9a72b5c2-799c-4c03-b206-2ffe0e626a3f)

[^8]: ![](https://3272217808-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FKMtUdLxlDooDfKq13Is6%2Fuploads%2FDLjsagTXiFJnqoek8vms%2Fimage.png?alt=media\&token=97b79f74-7f75-472e-8af4-ddb3b78fc627)

[^9]: ![](https://3272217808-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FKMtUdLxlDooDfKq13Is6%2Fuploads%2FPIiVphcF1lziDQkzUQ8S%2Fimage.png?alt=media\&token=49c02578-4ab2-4109-9808-52dac47dbd9b)

[^10]: ![](https://3272217808-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FKMtUdLxlDooDfKq13Is6%2Fuploads%2FakUxz2Frw338M7Um4fBc%2Fimage.png?alt=media\&token=a5f12ca9-8845-4169-9954-e65fcb5cb356)

[^11]: ![](https://3272217808-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FKMtUdLxlDooDfKq13Is6%2Fuploads%2Fq88GcBJQoyfSDze8MGgT%2Fimage.png?alt=media\&token=fcb3e836-993c-4a4a-b554-9cb780878b0e)

[^12]: ![](https://3272217808-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FKMtUdLxlDooDfKq13Is6%2Fuploads%2FWj06oOBOxpxPIOHShpRR%2Fimage.png?alt=media\&token=8dc8d406-f416-44fe-a264-67eb8f720c39)
