Данный способ интеграции очень похож на push-режим загрузки метаданых:

Стандартное API для интеграции со SpeechAnalytics (Asterisk, Cisco, Avaya, Oktell, MightyCall, Naumen и др.)

Загрузка чатов: 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-объекты с полями:

Кастомные поля:

Ответ метода:

{
    "call_ids": [3065177, 3065178],
    "success": true
}

Вместо id может быть null, если звонок не загрузился (например распознавание у данного оператора отключено).

Проверка API и подключение к сервису