Данный способ интеграции очень похож на push-режим загрузки метаданых:
Метаданные и тексты чатов можно передавать в batch-режиме вызывая метод нашего api:
curl -XPOST -v <https://cloud.speechanalytics.ru/api/v1/project/157028/calls/add> -d '{"calls": [
{
"date": 1567493961,
"duration_answer": 0,
"id": "46513943",
"phone_number_client": "4687870",
"phone_number_operator": "1679967",
"status": "ACCEPTED",
"type": "INCOMING",
"custom_fields": {"name1": value1, ..} # необязательное поле
"chat_transcript":{
"client":[
{
"timeBegin":0.0,
"timeEnd":1.3300000000000018,
"phrase":"Ты там?"
},
{
"timeBegin":21.2,
"timeEnd":23.250000000000004,
"phrase":"Хорошо тогда."
}
],
"operator":[
{
"timeBegin":1.11,
"timeEnd":3.41,
"phrase":"Да, я вас слушаю."
},
{
"timeBegin":6.19,
"timeEnd":7.32,
"phrase":"Ага."
}
]
}
},
{
"date": 1567486983,
"duration_answer": 0,
"id": "46503727",
"phone_number_client": "4702685",
"phone_number_operator": "948183",
"status": "ACCEPTED",
"type": "INCOMING",
"chat_transcript":{
"client":[
{
"timeBegin":0.0,
"timeEnd":0.0,
"phrase":"Алло"
}
],
"operator":[]
}
}
]}' -H "Content-Type: application/json;" -H "Cookie: session=.eJwlzjEKwzAMQNG7eI5BsiXZzmWK..." -H "Cookie: flask_login_remember_token=ee43962d-0590..."
Алгоритм получения авторизационной куки описан на странице https://www.notion.so/52f446c3cab44a39a23f85d0a9365d86
Отличие от push-режима передачи метаданных только в том, что нет поля "record_url" и добавилось поле "chat_transcript" - здесь текст диалога в следующем формате:
{
"client":[ список фраз клиента ],
"operator":[ список фраз оператора ]
}
На текущий момент доступно только 2 роли: "оператор" и "клиент". Фразы - это также json-объекты с полями:
**custom_fields**
(object) [необязательный параметр] — набор любых пользовательских параметров в виде: {"parameter1_name": value1, "parameter2_name": value2, ... }
. Параметры value1
, value2
, …
должны иметь тип строка, либо число, либо список строк, либо список списков строк. Пример: {"name1": "abc", "name2": ["abc", "def"], "name3": [["abc", "aaa", "bbb"], ["bbb", "ccc", "ddd"]]}
.Ответ метода:
{
"call_ids": [3065177, 3065178],
"success": true
}
Вместо id может быть null, если звонок не загрузился (например распознавание у данного оператора отключено).