Информация |
---|
В рецепте рассылки с последующим стартом ботов используется два независимых друг от друга сервиса:
Данный рецепт объясняет как после отправки сообщений связать эти самые сообщения и их идентификаторы с чатами, которые они запустили. |
Оглавление | ||
---|---|---|
|
Шаг 1 - Отправка рассылки
Для отправки сообщения используем следующий метод:
Блок кода | ||||||
---|---|---|---|---|---|---|
| ||||||
curl --location 'https://twin24.ai/notify/api/v1/messages' \ --header 'Content-Type: application/json' \ --header 'Authorization: Bearer {auth_token} \ --data '{ "messages": [ { "channels": { "chat": { "chatId": "bce7d22e-dde6-4427-b391-ebbdfda44de6", "botId": "bce7d22e-dde6-4427-b391-ebbdfda44de6", "messengerType": "TELEGRAM", "chatSessionName": "bce7d22e-dde6-4427-b391-ebbdfda44de6", "provider": "TWIN", "text": "bce7d22e-dde6-4427-b391-ebbdfda44de6" } }, "destinations": [ { "variables": { "name": "Иван", "age": "23" }, "messengerUserId": "123456789" } ] } ] }' |
Предупреждение | ||
---|---|---|
| ||
В полях chatSessionName и text указываем идентификатор во внешней системе для последующего удобного поиска и маппинга данных. |
Примечание | ||
---|---|---|
| ||
С подробной информацией по составлению данного запроса можно ознакомиться в нашей статье - Создание рассылки (массовая отправка сообщений). |
В ответ вы получите массив со всеми кандидатами которые были в рассылке:
Информация |
---|
Объекты с идентификаторами в ответе будут идти ровно в таком же порядке, как были отправлены кандидаты в destinations в запросе |
Блок кода | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
[ { "id": "bce7d22e-dde6-4427-b391-ebbdfda44de6", "bulkId": "bce7d22e-dde6-4427-b391-ebbdfda44de6", "groupId": "bce7d22e-dde6-4427-b391-ebbdfda44de6", "flowId": "bce7d22e-dde6-4427-b391-ebbdfda44de6", "status": "CREATED", "channel": "CHAT", "error": null } ] |
Шаг 2 - Используем метод статистики для получения информации по рассылке
Метод: GET
Authorization: Bearer Token
URL: https://twin24.ai/analyse/api/v1/search/messaging/messages
Блок кода | ||||||
---|---|---|---|---|---|---|
| ||||||
curl --location 'https://twin24.ai/analyse/api/v1/search/messaging/messages?limit=1000&from=2023-11-22T12%3A00%3A00%2B00%3A00&to=2023-11-22T23%3A00%3A00%2B00%3A00&pages=0&channel=CHAT&keyword=%22bce7d22e-dde6-4427-b391-ebbdfda44de6%22' \ --header 'Content-Type: application/json' \ --header 'Authorization: Bearer {auth_token}' \ |
Предупреждение | ||
---|---|---|
| ||
В keyword указываем идентификатор, который на прошлом шаге прокинули в chatSessionName и text УКАЗЫВАЕМ В КАВЫЧКАХ " |
Примечание | ||
---|---|---|
| ||
С подробной информацией по составлению данного запроса можно ознакомиться в нашей статье - Получение статистики по рассылке. |
Ответ:
В полученном ответе получаем результат рассылки.
Блок кода | ||||||
---|---|---|---|---|---|---|
| ||||||
{ "count": 2, "items": [ { "id": "bce7d22e-dde6-4427-b391-ebbdfda44de6", "bulkId": "bce7d22e-dde6-4427-b391-ebbdfda44de6", "groupId": "bce7d22e-dde6-4427-b391-ebbdfda44de6", "flowId": "bce7d22e-dde6-4427-b391-ebbdfda44de6", "taskId": null, "status": "READ", "statusRu": "Сообщение прочитано.", "statusEn": null, "statusCode": 11, "companyId": 1, "companyName": "Компания", "channel": "CHAT", "destination": "74992868344", "from": null, "text": null, "price": "0.000000", "network": null, "mccMnc": null, "templateId": null, "templateName": null, "variables": "null", "partCount": 1, "tracks": [], "read": null, "createdAt": "2023-10-31T04:00:33.135139Z", "sentAt": "2023-10-31T04:01:55.587763Z", "deliveredAt": "2023-10-31T04:02:02.873465Z", "sendAt": "2023-10-31T04:00:33.135139Z", "expiredAt": null, "billedAt": "2023-10-31T04:02:02.876837Z", "providerMessageId": "bce7d22e-dde6-4427-b391-ebbdfda44de6", "resellerPrice": "0.000000", "resellerCompanyId": 1, "resellerCompanyName": "1 | Компания" }, { "id": "bce7d22e-dde6-4427-b391-ebbdfda44de6", "bulkId": "bce7d22e-dde6-4427-b391-ebbdfda44de6", "groupId": "bce7d22e-dde6-4427-b391-ebbdfda44de6", "flowId": "bce7d22e-dde6-4427-b391-ebbdfda44de6", "taskId": "bce7d22e-dde6-4427-b391-ebbdfda44de6", "status": "READ", "statusRu": "Сообщение прочитано.", "statusEn": null, "statusCode": 11, "companyId": 1, "companyName": "Компания", "channel": "CHAT", "destination": "74992868344", "from": null, "text": null, "price": "0.000000", "network": null, "mccMnc": null, "templateId": null, "templateName": null, "variables": "{\"phoneNo\": 74992868344, \"fullName\": \"Иванов Иван Иванович\"}", "partCount": 1, "tracks": [], "read": null, "createdAt": "2023-10-31T06:49:45.337901Z", "sentAt": "2023-10-31T06:49:49.642247Z", "deliveredAt": "2023-10-31T06:49:55.432778Z", "sendAt": "2023-10-31T06:49:45.337901Z", "expiredAt": null, "billedAt": "2023-10-31T06:49:55.439442Z", "providerMessageId": "bce7d22e-dde6-4427-b391-ebbdfda44de6", "resellerPrice": "0.000000", "resellerCompanyId": 1, "resellerCompanyName": "1 | Компания" } ] } |
Шаг 3 - Используем метод получения статистики по чат сессиям
Блок кода | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
curl --location 'https://twin24.ai/analyse/api/v1/statistics/chat/sessions?from=2023-11-22T13%3A00%3A00%2B07%3A00&to=2023-11-22T15%3A00%3A00%2B00%3A00&withoutCount=false&withoutItems=false&limit=1000&page=0&chatId=bce7d22e-dde6-4427-b391-ebbdfda44de6&keyword=bce7d22e-dde6-4427-b391-ebbdfda44de6' \ --header 'Authorization: Bearer {auth_token} |
Предупреждение | ||
---|---|---|
| ||
В keyword указываем идентификатор, который на первом шаге прокинули в chatSessionName и text УКАЗЫВАЕМ БЕЗ КАВЫЧЕК |
Примечание |
---|
С подробной информацией по составлению данного запроса можно ознакомиться в нашей статье - Получение статистики по диалогам, запущенным рассылкой |
Ответ:
В полученном ответе получаем результат чат-сессий, которые были запущены рассылкой.
Блок кода | ||||||
---|---|---|---|---|---|---|
| ||||||
{ "count": 1, "items": [ { "id": "bce7d22e-dde6-4427-b391-ebbdfda44de6", "dialogLink": "https://twin24.ai/app/chats/bce7d22e-dde6-4427-b391-ebbdfda44de6/dialogs?sessionId=bce7d22e-dde6-4427-b391-ebbdfda44de6", "name": "dialogName", "chatId": "bce7d22e-dde6-4427-b391-ebbdfda44de6", "chatName": "Имя Чата", "markedAsSpam": "Нет", "operatorId": "bce7d22e-dde6-4427-b391-ebbdfda44de6", "operatorName": "Имя оператора", "operatorAssignedAt": null, "previousOperators": [], "firstOperatorName": null, "firstOperatorAssignedAt": null, "previousOperatorsAsString": null, "botName": "Имя Бота", "clientId": "bce7d22e-dde6-4427-b391-ebbdfda44de6", "clientExternalId": null, "clientIp": null, "userAgent": null, "messengerType": "WHATSAPP", "status": "INACTIVE", "startedAt": "2023-10-31 01:00:40", "closedAt": "2023-10-31 11:01:00", "operatorFirstMessageCreatedAt": null, "operatorLastMessageCreatedAt": null, "botLastMessageCreatedAt": "2023-10-31 01:00:40", "lastMessageCreatedAt": "2023-10-31 01:00:40", "clientLastMessageCreatedAt": "2023-10-31 01:00:40", "clientOnlineAt": null, "clientOfflineAt": null, "referer": "", "price": "0.000000", "messages": [ { "id": "bce7d22e-dde6-4427-b391-ebbdfda44de6", "authorId": "bce7d22e-dde6-4427-b391-ebbdfda44de6", "authorName": null, "authorType": "CLIENT", "type": "REGULAR", "price": "0.000000", "body": "Ответ Клиента", "attachments": [], "answers": [], "createdAt": "2023-10-31 01:00:40" }, { "id": "bce7d22e-dde6-4427-b391-ebbdfda44de6", "authorId": "bce7d22e-dde6-4427-b391-ebbdfda44de6", "authorName": "Имя Чата", "authorType": "BOT", "type": "REGULAR", "price": "0.000000", "body": "Вопрос Бота", "attachments": [], "answers": [ "Вариант ответа 1", "Вариант ответа 2", "Вариант ответа 3" ], "createdAt": "2023-10-31 01:00:40" } ], "messagesAsString": "CLIENT: Ответ Клиента\nBOT: Вопрос Бота\n", "operatorMessageCount": 0, "botMessageCount": 1, "clientMessageCount": 1, "messageCount": 2, "dialogResultsFromBot": "текст подтверждения", "dialogResultsFromBotJson": { "nps": "текст nps", "confirmation": "текст подтверждения", "Var": "значение произвольного результата", "markers": [ "1", "2" ], "initialVariables": [] }, "dialogResultsFromOperator": "", "nps": "текст nps", "csi": "", "fcr": "", "whatsappPhone": "74992868344", "markers": "1,2", "rating": null, "closedBy": null, "timerFirstAnswer": 0, "timerNextAnswers": 0, "operatorFirstAnswer": 0, "operatorNextAnswers": 0 } ] } |
Шаг 4 - Связь чат-сессий и рассылок
Связать рассылку и запущенную ей чат-сессию можно по следующим полям:
providerMessageId в рассылках == id в чат-сессиях
Таким образом можно узнать результаты чат сессии, которая была запущена рассылкой и зафиксировать результат во внешней системе.
Варианты экспорта данных
Данные можно получить 2мя способами:
- В json формате (как выше)
- В excel/csv файле (подробнее в описаниях методов по получению статистики)