Fasttrack
[ Вход ]
  • База знаний
  • ЧАТ-ЦЕНТР
    • Интерфейс чат-центра
    • Работа в чат-центре
      • Счетчики в группах
      • Список чатов в группе
      • Что такое сессии
      • Чат-сессии
        • Забрать чат-сессию
        • Передать чат
        • Завершить чат-сессию
        • Контекст чат-сессии
      • Общение в чате
        • Отправка сообщений
        • Запуск сценариев
        • Быстрые ответы
        • WhatsApp-шаблоны
        • Контекст сообщения
        • Написать первым в WA
      • "Доступен для чата"
      • Служебные сообщения
      • Звуковые уведомления
      • Мультипроектный режим
    • Настройки чат-центра
      • Команды
      • Операторы
      • Темы чат-сессий
      • Быстрые ответы
      • Мультипроектный режим
  • КАСКАДНЫЕ РАССЫЛКИ
    • Что такое каскады
    • Как подключить каскады
    • Запуск через API
    • Ограничения запросов
    • Срок транзакции
    • Задержки маршрутов
    • Тег транзакции
    • Контекст транзакции
    • Ассинхронные события
    • События в Mindbox
    • Синхронный режим
    • Транзакции в Fasttrack
    • Рассылка через VK Notify
  • КАНАЛЫ
    • Telegram
    • WhatsApp
    • Viber
    • VK
    • Instagram
    • Одноклассники
    • Виджет для сайта
    • Avito
    • Свой канал (API)
  • ИНТЕГРАЦИИ
    • AmoCRM
    • Собственная CRM & CDP
    • RetailCRM
      • RetailCRM: Настройка
      • RetailCRM: Процедуры
    • AmoCRM
      • AmoCRM: Настройка
      • AmoCRM: Процедуры
    • Битрикс24
      • Битрикс24: Настройка
      • Битрикс24: Процедуры
      • Битрикс24: Операторам
    • GetCource
      • GetCource: Настройка
      • GetCource: Процедуры
    • Roistat
      • Roistat: Настройка
      • Roistat: Процедуры
    • Usedesk
      • Usedesk: Настройка
      • Usedesk: Процедуры
    • S2
      • S2: Настройка
      • S2: Процедуры
    • Hubspot
      • Hubspot: Настройка
      • Hubspot: Процедуры
    • Omnidesk
  • ПЕРСОНАЛЬНЫЕ РАССЫЛКИ
    • PUSH-рассылки через API
  • РАССЫЛКИ
    • Рассылки по аудитории
      • Интерфейс платформы
      • API & Webhooks
    • Рассылки в WhatsApp
      • Интерфейс платформы
      • API & Webhooks
    • Персональные рассылки
    • Каскадные рассылки
  • API
    • Формат запросов
  • Инструкции
    • Сценарий с опросом
    • Как отслеживать переход по ссылке из сценария чат-бота
    • Виджет Fasttrack для Salesbot в AmoCRM
  • Полезные процедуры для настройки сценариев
  • Интеграция приложения в Telegram с чат-ботом
Powered by GitBook
On this page
  • Термины
  • Обмен ключами (опционально)
  • Получение и отправка сообщений
  • Настройка webhook для событий/сообщений от пользователя
  • Отправка сообщения пользователю через UUID чата
  • Отправка PUSH-сообщения по профилю (UUID/номер телефона) для CDP
  • Отправка платного сообщения WABA пользователю при инициации (написать первым) или за пределами 24-х часового окна для CDP и CRM
  • Отправка сообщения используя “каскад” для CDP или CRM
  • Список шаблонов WABA
  • Доставка статусов WABA
  • Доставка статусов по каскадным отправкам
  1. ИНТЕГРАЦИИ

Собственная CRM & CDP

PreviousAmoCRMNextRetailCRM

Last updated 1 year ago

Термины

  • Бот – сущность на платформе Fasttrack, которая поддерживает работу с несколькими каналами: Telegram, VK, OK, FB, etc.

  • Чат – непосредственный канал общения клиента из соц. сети/мессенджера с ботом на платформе.

  • Профиль – клиент на платформе Fasttrack, у него может быть несколько чатов; привязываются по номеру телефона.

Обмен ключами (опционально)

Fasttrack на своей стороне заводит глобальное приложение CDP. У приложения есть client_id и client_secret. Эти параметры выдаются платформе CDP/CRM.

Далее, CDP/CRM в своем личном кабинете для клиента выводит интеграцию с Fasttrack. Затем пользователь может на нее нажать и после процесс выглядит следующим образом:

  1. Браузер переадресовывает пользователь на страницу авторизации Fasttrack

Пример URL:

<https://dashboard.fstrk.io/integrations/oauth/?client_id=XXX&redirect_uri=https://enkod.io/endpoint_xxx/&state=dummy&code=code>
  • client_id и client_secret – ранее выданные ключи;

  • redirect_uri – куда переадресовать пользователя;

  • state – доп. значение, которое нужно передать в GET-параметрах для redirect_uri;

  • code – временный код.

  1. На странице Fasttrack пользователь выбирает проект (чат-бот), который хочет авторизовать (у пользователя может быть их много);

  2. Браузер переадресовывает юзера обратно на CDP.CRM, на URL переданный параметром redirect_url (пример:), с добавлением ранее параметра stage и кода авторизации code –;

  3. Бэкенд CDP/CRM обращается на бэкенд Fasttrack, обменивая временный код на постоянный access_token.

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

{
   "client_id": "XXX",
   "client_secret": "YYY",
   "grant_type": "code",
   "code": "ПОЛУЧЕННЫЙ_КОД"
}
  1. Затем CDP/CRM сохраняет полученный access_token в профиле клиента и все последующие запросы подписывает в заголовке `Authorization: Bearer <access_token>

Фронтенд CDP/CRM ни в коем случае не ходит на бэкенд Fasttrack, все запросы должны через бэкенд CDP/CRM.

Если выбирается вариант кастомной интеграции, то данный пункт можно не делать.

Получение и отправка сообщений

Данная интеграция актуальна для CRM при необходимости для оператора/продавца вести переписку из профиля пользователя в CRM. Для интеграции с CDP это интеграция не нужна.

Настройка webhook для событий/сообщений от пользователя

Пользователь может написать боту, затем это событие прилетит на указанный URL.

  • HTTP-метод: PUT

{
   "webhook_url": "https://example.com/receive_webhook/{uuid}/"
}

Пример события, когда пишет клиент:

{
  "event_type": "message_created",
  "payload": {
    "chat": {
      "uuid": "2220b01d-9d51-4006-bad5-857156444b06",
      "avatar": null,
      "platform": "Telegram",
      "phone": null,
      "name": "Иван Пупкин"
    },
    "profile": {
      "uuid": "9305e2f9-6ee8-4b97-9ef9-7f87f84c575c",
      "integrations": {}
    },
    "message": {
      "uuid": "048b22ae-7da6-4d43-b72b-6669a8b67d18",
      "type": "text",
      "text": "как дела?"
    },
    "session_title": null,
    "session_context": null,
    "session": {
      "title": null,
      "context": null,
      "team": {
        "id": 1303,
        "name": "Нераспределенные"
      }
    }
  },
  "timestamp": 1650891884304
}

Чтобы отключить посылку уведомлений, просто отправьте пустой webhook_url.

Настройка webhook для событий/сообщений от пользователя

Пользователь может написать боту, затем это событие прилетит на указанный URL.

  • HTTP-метод: PUT

{
   "webhook_url": "https://example.com/receive_webhook/{uuid}/"
}

Пример события, когда пишет клиент:

{
  "event_type": "message_created",
  "payload": {
    "chat": {
      "uuid": "2220b01d-9d51-4006-bad5-857156444b06",
      "avatar": null,
      "platform": "Telegram",
      "phone": null,
      "name": "Иван Пупкин"
    },
    "profile": {
      "uuid": "9305e2f9-6ee8-4b97-9ef9-7f87f84c575c",
      "integrations": {}
    },
    "message": {
      "uuid": "048b22ae-7da6-4d43-b72b-6669a8b67d18",
      "type": "text",
      "text": "как дела?"
    },
    "session_title": null,
    "session_context": null,
    "session": {
      "title": null,
      "context": null,
      "team": {
        "id": 1303,
        "name": "Нераспределенные"
      }
    }
  },
  "timestamp": 1650891884304
}

Вебхук когда пишет клиент из вне на платформу

Пример события:

{
   "event_type": "message_created",
   "payload": {
      "chat": {
         "uuid": "b1c99ecb-76f8-4b22-9c1d-fb87f311e5e5",
         "avatar": "https://",
         "platform": "Telegram",
         "phone": null,
         "name": "Ivan Pupkin"
      },
      "profile": {
         "uuid": "007fddc5-c121-483f-9962-016c4952eedf"
      },
      "message": {
         "uuid": "5429be43-acc8-468c-9a79-b8b64b25bc53",
         "type": "text",
         "text": "Привет! Это сообщение прилетело из Телеграм-бота"
      },
      "session": {
         "title": null,
         "context": null,
         "team": {
            "id": 1,
            "name": "Нераспределенные"
         }
      }
   },
   "timestamp": 1678901065779
}

Вебхук когда оператор пишет клиенту

Пример события:

{
   "event_type": "operator_replied",
   "payload": {
      "chat": {
         "uuid": "b1c99ecb-76f8-4b22-9c1d-fb87f311e5e5",
         "avatar": "https://",
         "platform": "Telegram",
         "phone": null,
         "name": "Ivan Pupkin"
      },
      "profile": {
         "uuid": "007fddc5-c121-483f-9962-016c4952eedf"
      },
      "message": {
         "type": "text",
         "text": "Привет сообщение от оператора.",
         "uuid": "6e4a6ad9-74e1-4b09-bdf0-2affe452519e"
      },
      "session": {
         "title": null,
         "context": null,
         "team": {
            "id": 1,
            "name": "Нераспределенные"
         },
         "operator": {
            "uuid": "ff713022-1ef3-49b9-8a71-83ea07295666",
            "name": "Operator 1",
            "avatar": null
         }
      }
   },
   "timestamp": 1678901061322
}

Отправка сообщения пользователю через UUID чата

Если в п. 1.1 прилетело событие от подписчика, вы можете на него ответить, используя следующий формат:

  • HTTP-метод: POST

{
   "event": "message_created",
   "chat": {
      "uuid": "2220b01d-9d51-4006-bad5-857156444b06"
   },
   "message": {
      "type": "text",
      "text": "Привет, у меня все отлично!"
   },
   "sender": {
      "name": "Иван Пупкин"
   },
   "timestamp": 1624607235580
}

Отправка PUSH-сообщения по профилю (UUID/номер телефона) для CDP

Предусловие. Настроенная интеграция по передаче информации профиля Fasttrack в CDP (настраивается на стороне Fasttrack кастомно или продуктизировано).

Отправить сообщение по UUID:

  • HTTP-метод: POST

{
   "profile": {
      "uuid": "00000000-0000-0000-0000-000000000000"
   },
   "content": {
      "type": "TEXT",
      "text": "Текст сообщения"
   }
}

Отправить сообщение по номеру телефона:

  • HTTP-метод: POST

{
   "profile": {
      "phone_number": "+79999999999"
   },
   "content": {
      "type": "TEXT",
      "text": "Текст сообщения"
   }
}

Отправка платного сообщения WABA пользователю при инициации (написать первым) или за пределами 24-х часового окна для CDP и CRM

Предварительно шаблоны должны заведены быть на платформе Fasttrack и согласованы провайдером (в текущий момент поддерживаются EDNA и SMS Traffic).

  • HTTP-метод: POST

{
   "profile": {
      "phone_number": "+79999999999"
   },
   "content": {
      "type": "WHATSAPP_TEMPLATE",
      "whatsapp_template": {
         "pid": "hello_world"
      },
      "whatsapp_template_variables": {
         "v1": "Иван"
      }
   }
}

Отправка сообщения используя “каскад” для CDP или CRM

Отправка одного запроса для отправки на несколько каналов пошагово.

  • HTTP-метод: POST

{
   "phone_number": "79991234567",
   "routing": [
      "BOT",
      "WHATSAPP",
      "VIBER",
      "VK",
      "SMS"
   ],
   "validity_period_seconds": 120,
   "whatsapp_template_name": "hello_world",
   "whatsapp_template_variables": {
      "v1": "Иван"
   }
}

Можно использовать независимо, в интеграцию, описанную в п. 1 «Обмен ключами», будет добавлено в ближайших спринтах.

Список шаблонов WABA

Созданные и добавленные.

Данный сценарий не является необходимым для отправки шаблонов, может использоваться для визуализации шаблонов в CDP и CRM.

  • HTTP-метод: GET

Пример ответа:

{
   "count": 1,
   "next": null,
   "previous": null,
   "results": [
      {
         "provider_template_id": "test",
         "name": "test",
         "status": "NOT_WORKED",
         "sections": [
            "CHAT_CENTER",
            "BROADCAST_CAMPAIGNS",
            "CONSTRUCTOR"
         ],
         "text": "Hello: {{ v1 }}.",
         "variables": [
            "v1"
         ],
         "buttons": [
            {
               "text": "test"
            }
         ]
      }
   ]
}

Доставка статусов WABA

Имеется возможность дополнительно в настройках в учетке Fasttrack установить специальный URL адрес, на который будут приходить статусы о доставках. Можно при необходимости добавить end-point в рамках интеграции (п.0)

Пример события:

{
   "timestamp": 1651777267.2949505,
   "type": "update",
   "model": "message",
   "data": {
      "uuid": "7feeec45-8013-4757-afb2-6326b358082e",
      "status": "sent",
      "detail": null,
      "messages": [
         {
            "status": "undelivered",
            "error": "failed"
         }
      ]
   }
}

Доставка статусов по каскадным отправкам

Позволяет получать статусы доставок, выполненные по цепочке. Посылка пакета со статусами происходит в том случае, когда транзакция завершается. Устанавливается вручную, через техническую поддержку.

Пример события:

{
   "event_type": "transaction.done",
   "payload": {
      "uuid": "04191c1d-e7dd-4572-a544-6eb9c2855a5e",
      "done_at": "2022-05-05T18:41:00.831294Z",
      "done_status": "MESSAGE_SENT",
      "successful_routes": [
         "WHATSAPP"
      ],
      "route_details": {
         "BOT": {
            "uuid": "cfa41bcb-fdf6-4a34-a8a7-4334e5014bbc",
            "state": "ERROR",
            "response_status": null,
            "response_description": null
         },
         "WHATSAPP": {
            "uuid": "855d6d27-58d4-4ae4-9deb-de6c504cc845",
            "state": "SENT",
            "response_status": "DELIVERED",
            "response_description": null
         }
      }
   },
   "timestamp": 1651776060.8439758
}

Endpoint:

Endpoint:

Endpoint:

Endpoint:

Endpoint:

Endpoint:

Endpoint:

Endpoint:

https://CDP.io/api/auth/{uuid}/
https://CDP.io/api/auth/{uuid}/?stage={str}&code={str}
https://dashboard.fstrk.io/api/partners/integrations/credentials/
https://dashboard.fstrk.io/api/partners/integrations/credentials/
https://dashboard.fstrk.io/api/partners/connector/
https://dashboard.fstrk.io/api/partners/push-messages/
https://dashboard.fstrk.io/api/partners/push-messages/
https://dashboard.fstrk.io/api/partners/push-messages/
https://cascades.fstrk.io/
https://dashboard.fstrk.io/api/partners/whatsapp/templates/