Передача диалога оператору

    3 мин чтения
    ·
    7 просмотров
    ·
    Обновлено 30.09.2026

    POST /v1/conversations/handoff

    Метод для вашего чат-бота. Когда бот не может ответить или клиент просит живого человека, бот передаёт разговор оператору. В списке чатов WazzaBee у диалога появляется метка «Ждёт менеджера» с причиной, а владельцу кабинета приходит пуш-уведомление. Метка снимается сама, когда оператор ответит клиенту.

    URL

    POST https://api.wazzabee.com/api-gateway/v1/conversations/handoff

    Заголовки

    Authorization: Bearer ВАШ_API_КЛЮЧ
    Content-Type: application/json

    Параметры тела запроса

    ПараметрТипОбязательныйОписание
    conversationIdstring (UUID)✅*ID диалога. Приходит в вебхуках и в GET /v1/messages
    chatIdstring✅*Номер телефона или chat_id клиента, если conversationId неизвестен. Берётся последний диалог с этим клиентом
    channelIdstring (UUID)НетЛиния, если клиент пишет на несколько линий
    reasonstringНетПричина передачи, до 300 символов. Её видит оператор в подсказке к метке и в пуше

    * Нужно указать conversationId или chatId.

    Пример запроса

    curl -X POST "https://api.wazzabee.com/api-gateway/v1/conversations/handoff" \
      -H "Authorization: Bearer ВАШ_API_КЛЮЧ" \
      -H "Content-Type: application/json" \
      -d '{
        "chatId": "77071234567",
        "reason": "Клиент спрашивает про возврат, нужен менеджер"
      }'

    Успешный ответ (200 OK)

    {
      "success": true,
      "conversationId": "uuid",
      "awaitingManager": {
        "since": "2026-09-30T12:00:00.000Z",
        "reason": "Клиент спрашивает про возврат, нужен менеджер"
      },
      "message": "Диалог передан оператору. Метка снимется, когда оператор ответит клиенту."
    }

    Когда метка снимается

    Метку снимает первый ответ человека: из кабинета, из чата в вашей CRM или через POST /v1/messages/send без флага automated. Сообщения бота с "automated": true, автоответы и рассылки метку не снимают. Поэтому бот может сразу написать клиенту «Подключаю менеджера», и оператор всё равно увидит метку.

    ℹ️ Проверить, ждёт ли диалог оператора: в ответе GET /v1/conversations есть поле awaitingManager: null или {"since": "...", "reason": "..."}. Пока поле заполнено, вашему боту лучше не отвечать в этом диалоге.

    Возможные ошибки

    КодОшибкаПричина
    400Укажите conversationId или chatIdНе передан ни один идентификатор
    403Канал не привязан к данной интеграцииЛиния не входит в разрешённые для этого API-ключа
    404Диалог не найденС этим клиентом ещё не было переписки или ID неверный