Перейти к основному содержанию

Documentation Index

Fetch the complete documentation index at: https://mavrodi.org/llms.txt

Use this file to discover all available pages before exploring further.

Поручение — основная транзакционная единица в InviteBot. Оно связывает Интент одного участника (его предложение оказать помощь) с Запросом другого участника (его просьбой получить помощь) и направляет отправителя перевести определённую сумму получателю. Как Наставник, вы участвуете в критических точках принятия решений: рассматриваете новые Поручения перед отправкой участнику, можете отклонять проблемные и контролируете решение проблем.
Большинство Поручений система создаёт автоматически через расписанные задания, сопоставляя совместимые Интенты и Запросы. Поручения также можно создавать вручную. В обоих случаях действует один и тот же жизненный цикл.

Полный жизненный цикл

Поручения проходят определённую последовательность статусов. У каждого статуса есть конкретные действующие лица, а действия запускают переходы.
DRAFT → NEW → ACCEPTED → PAID → RECEIVED
                              ↘ DISPUTE → RECEIVED
                                        ↘ CANCELED
         ↓          ↓
      REJECTED   REFUSED
DRAFT → CANCELED

Статусы Поручения

DRAFT

Поручение создано, но ещё не активировано. Это происходит, когда Наставник создаёт Поручение вручную командой /order_add. Кто может действовать: Наставник, создавший Поручение. Доступные действия:
  • Перевести в NEW (активировать Поручение и отправить его в очередь рассмотрения)
  • Отменить (→ CANCELED, прекращает Поручение)
На этом этапе Поручение не видно участнику. Используйте этот шаг, чтобы проверить детали перед активацией.

NEW

Поручение активно и ждёт, пока Наставник держателя Интента рассмотрит его и отправит своему участнику. Кто может действовать: Наставник держателя Интента. Доступные действия:
  • Принять и отправить участнику (→ ACCEPTED)
  • Отклонить (→ REJECTED)
Это самая важная точка решения в жизненном цикле. Здесь вы убеждаетесь, что Поручение подходит вашему участнику, прежде чем поручать ему перевод.

ACCEPTED

Поручение отправлено участнику (отправителю). Участник видит реквизиты получателя, и ожидается, что он сделает перевод. Кто может действовать: участник (отправитель); Наставник. Доступные действия:
Действующее лицоДействиеРезультат
УчастникПодтвердить перевод→ PAID
УчастникОтказаться выполнять→ REFUSED
НаставникОтклонить→ REJECTED
НаставникОтозвать→ REFUSED
Какие реквизиты увидит участник, зависит от того, является ли Запрос системным и верифицирован ли участник. Неверифицированным участникам при первом переводе показываются специальные верификационные реквизиты. После верификации они видят стандартные или системные реквизиты в зависимости от типа запроса.

Участник подтвердил, что отправил перевод. Получателю теперь нужно подтвердить поступление. Кто может действовать: получатель; администраторы. Доступные действия:
Действующее лицоДействиеРезультат
ПолучательПодтвердить поступление→ RECEIVED
ПолучательСообщить о неполучении→ DISPUTE
АдминПодтвердить поступление от имени участника→ RECEIVED
АдминОтменить Поручение→ REFUSED (также отменяет связанный Интент и другие открытые Поручения по этому Интенту)

RECEIVED

Получатель подтвердил, что средства поступили. Это успешный финальный статус. Кто может действовать: дальнейшие действия не требуются. Что происходит: обновляются балансы связанных Интентов и Запросов, всем сторонам уходят уведомления, обрабатываются применимые вознаграждения MAVRO.

REFUSED

Участник отказался выполнить Поручение, или Наставник его отозвал. Это финальный статус. Частые причины:
  • Участник не может вовремя сделать перевод
  • Технические проблемы со способом оплаты
  • Некорректные реквизиты
  • Личные обстоятельства
Что происходит: система ищет замещающего участника для того же Запроса. Сумма Поручения возвращается в пул сопоставления.

REJECTED

Наставник отклонил Поручение. Это финальный статус. Частые причины:
  • У участника недостаточно средств
  • Участник не готов делать перевод
  • Интент уже полностью подтверждён
  • Участник недоступен или заблокировал бота
  • Помощь ещё не получена (ожидаются предыдущие поступления)

CANCELED

Поручение отменено. Обычно это происходит из статуса DRAFT или когда администратор вмешивается в активное Поручение.

DISPUTE

Получатель сообщил, что не получил перевод, хотя отправитель подтвердил оплату. Этот статус требует разбирательства. Кто может действовать: администраторы; Наставники могут помогать со сбором доказательств. Доступные действия (только админ):
ДействиеРезультат
Подтвердить поступление от имени получателя→ RECEIVED
Отменить Поручение→ REFUSED (также отменяет связанный Интент и открытые Поручения по нему)

Матрица статусов и действий

СтатусСоздатель Поручения (Наставник)Наставник ИнтентаУчастник (отправитель)ПолучательАдмин
DRAFTПеревести в NEW, ОтменитьЛюбое
NEWПринять/Отправить, ОтклонитьЛюбое
ACCEPTEDОтклонить, ОтозватьПодтвердить оплату, ОтказатьсяЛюбое
PAIDПодтвердить, Открыть спорПодтвердить, Отменить
DISPUTEПодтвердить, Отменить
RECEIVEDЛюбое
REFUSEDЛюбое
REJECTEDЛюбое
CANCELEDЛюбое

Создание Поручения вручную

Если нужно создать Поручение вне автоматического сопоставления — например, чтобы связать конкретный Интент с конкретным Запросом — используйте команду /order_add:
/order_add_A123_G456_1000
Где:
  • A123 — ID Запроса (Ask)
  • G456 — ID Интента
  • 1000 — сумма
Поручение создаётся в статусе DRAFT. Проверьте его и активируйте, переведя в NEW.
Ручные Поручения обходят автоматическую логику сопоставления. Перед активацией убедитесь, что Запрос и Интент совместимы (одна валюта, подходящие суммы). Неверные ручные Поручения вызывают путаницу у обоих участников.
Поручения, созданные системой или с её участием, можно посмотреть командой:
/system_orders

Работа со спорами

Когда Поручение переходит в DISPUTE, ваша роль — собрать доказательства и эскалировать к администратору.
1

Свяжитесь с отправителем

Свяжитесь с участником, подтвердившим оплату. Попросите скриншот или запись о транзакции, подтверждающие перевод.
2

Проверьте реквизиты

Убедитесь, что отправитель использовал верный номер карты, телефона или адрес кошелька. Ошибки здесь — частое явление.
3

Свяжитесь с получателем

Попросите получателя ещё раз проверить счета. Переводы иногда задерживаются банками.
4

Эскалируйте администратору

Если доказательства очевидны или ситуация не решается на вашем уровне, используйте /admin, чтобы связаться с администратором. Передайте ID Поручения и собранные скриншоты.
Самостоятельно решить DISPUTE нельзя — только администраторы могут пометить его как RECEIVED или отменить. Ваша задача — расследовать и представить факты.

Автоматическое создание Поручений

Система регулярно сопоставляет открытые Интенты с ожидающими Запросами и создаёт Поручения по расписанию. Это происходит без ручного вмешательства, когда:
  • В пуле сопоставления есть валидный активный Интент
  • Есть ожидающий одобренный вами Запрос на помощь
  • Суммы и валюты совместимы
При создании автоматического Поручения с участником вашей структуры вам приходит уведомление, и Поручение попадает в очередь рассмотрения со статусом NEW.