# Выплаты 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)


---

# 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://manual.boxexchanger.net/obmen/merchant-i-api/vyplaty-agents-telegram.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.
