Информация |
---|
В рецепте рассылки с последующим стартом ботов используется два независимых друг от друга сервиса:
Данный рецепт объясняет как после отправки сообщений связать эти самые сообщения и их идентификаторы с чатами, которые они запустили. |
Оглавление | ||
---|---|---|
|
Шаг 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://analyse.twin24.ai/api/v1/statistics/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": 32, "items": [ { "id": "a06bc3d9bce7d22e-7980dde6-42834427-a5ecb391-77fb8133c50bebbdfda44de6", "providerMessageIdbulkId": "15d2652cbce7d22e-ada6dde6-45054427-9deeb391-81ce77b528dcebbdfda44de6", "statusgroupId": "DELIVERED"bce7d22e-dde6-4427-b391-ebbdfda44de6", }, "flowId": "bce7d22e-dde6-4427-b391-ebbdfda44de6", { "idtaskId": "a54b4351-ada6-4b6d-a84c-21900e22b77f"null, "providerMessageIdstatus": "53129a1e-0bd7-4be2-bfeb-ba51dac34e4dREAD", "statusstatusRu": "DELIVEREDСообщение прочитано.", }, {"statusEn": null, "idstatusCode": "de1b45f8-e06c-4169-8140-55b4f81841d6"11, "providerMessageIdcompanyId": 1, "companyName": "a31bfabe-7a1e-4d79-97e0-d2b211c876f5Компания", "statuschannel": "PENDINGCHAT", } "destination": "74992868344", ] } |
Шаг 3 - Используем метод получения статистики по чат сессиям
Блок кода | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
curl --location 'https://analyse.twin24.ai/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=15d2652c-ada6-4505-9dee-81ce77b528dc&fields=id%2Cname%2CclientId%2CmessengerType%2Cnps' \
--header 'Authorization: Bearer {auth_token} |
Примечание |
---|
С подробной информацией по составлению данного запроса можно ознакомиться в нашей статье - [Рассылки] Получение статистики по диалогам, запущенным рассылкой |
Ответ:
Блок кода | ||||||
---|---|---|---|---|---|---|
| ||||||
{ "count": 3, "items": [ "from": null, "text": null, "price": "0.000000", "network": null, "mccMnc": null, {"templateId": null, "idtemplateName": "15d2652c-ada6-4505-9dee-81ce77b528dc"null, "namevariables": "TWIN TESTnull", "clientIdpartCount": "6ca5c47d-0a4c-4ee3-b4a9-5015b9ec0073"1, "dialogResultsFromBotJsontracks": { [], "npsread": "Тест"null, "confirmationcreatedAt": "Отказ2023-10-31T04:00:33.135139Z", "initialVariablessentAt": [] "2023-10-31T04:01:55.587763Z", }"deliveredAt": "2023-10-31T04:02:02.873465Z", }, { "idsendAt": "0efdab282023-c7ce-4dc1-b528-138f0aeceb0310-31T04:00:33.135139Z", "nameexpiredAt": "TWIN TEST"null, "clientIdbilledAt": "06bf70f82023-5ea0-47ec-9744-6cc120272d2010-31T04:02:02.876837Z", "dialogResultsFromBotJsonproviderMessageId": { "bce7d22e-dde6-4427-b391-ebbdfda44de6", "npsresellerPrice": "Тест0.000000", "confirmationresellerCompanyId": "Отказ"1, "initialVariablesresellerCompanyName": [] "1 | Компания" } }, { "id": "a9928f86bce7d22e-42c4dde6-41e04427-8aacb391-921da6fd4dd2ebbdfda44de6", "namebulkId": "TWIN TESTbce7d22e-dde6-4427-b391-ebbdfda44de6", "clientIdgroupId": "a9928f86bce7d22e-42c4dde6-41e04427-8aacb391-921da6fd4dd2ebbdfda44de6", "dialogResultsFromBotJsonflowId": { "bce7d22e-dde6-4427-b391-ebbdfda44de6", "npstaskId": "Тестbce7d22e-dde6-4427-b391-ebbdfda44de6", "confirmationstatus": "ОтказREAD", "initialVariablesstatusRu": [] "Сообщение прочитано.", }"statusEn": null, } ] } |
Теперь мы можем добавить результат общения бота в конкретной чат сессии и связать его со стартовым сообщением, которое отправили в самом начале.
chatId
a06bc3d9-7980-4283-a5ec-77fb8133c50b
15d2652c-ada6-4505-9dee-81ce77b528dc
Отказ
Подсказка | ||
---|---|---|
| ||
Используйте поле fields для фильтрации значений. |
"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 файле (подробнее в описаниях методов по получению статистики)
Используя вышеперечисленные методы мы установили, что для сообщения с id a06bc3d9-7980-4283-a5ec-77fb8133c50b стартовала сессия с id 15d2652c-ada6-4505-9dee-81ce77b528dc, в результаты которой было записано значение "Отказ".
Используя данную инструкцию можно идентифицировать каждое сообщение из рассылки и получить любую информацию о её результатах, статусе и т.д.