================================= Call analytics API ================================= To use call analytics you have to be an authorized user. Please refer to :doc:`introduction` for more information. Call analytics flow can be divided on next steps: - Upload file - Start transcription job - Get results Let's start from the beginning! ------------------------------------ Upload file by chunks ------------------------------------ In order to be able to upload large files we have to avoid uploading whole file to the server and even in browser. To do that we use multipart upload. Sounds complicated, but not really. Let's see how it works. First of all we have to initialize uploading process. Pleas call |create_multipart_upload| for that. Then we have to split file and upload each part (|upload_file_chunk|). Then we need it to complete uploading process (|complete_multipart_upload|). Implementation of this process depends on your platform, but general example for javascript is provided below. .. code-block:: javascript async uploadFileByChunks(file, chunkSize = 5 * 1024 * 1024) { const numChunks = Math.ceil(file.size / chunkSize) this.$axios.$post(`${API_V3_PREFIX}transcription/job/create-multipart-upload/`, { file_name: file.name }) for (let index = 0; index < numChunks; index++) { const start = index * chunkSize const end = Math.min(file.size, start + chunkSize) const chunk = file.slice(start, end) const formData = new FormData() const data = { file_name: file.name, file_chunk: chunk, chunk_number: index } for (const key in data) { formData.append(key, data[key]) } await this.$axios.$post(`${API_V3_PREFIX}transcription/job/upload-file-chunk/`, formData) this.uploadingProgress = Math.round(((index + 1) / numChunks) * 100) } this.$axios.$post(`${API_V3_PREFIX}transcription/job/complete-multipart-upload/`, { file_name: file.name }) }, We are done with uploading. Now we can start transcription job. --------------------------------- Start transcription job (AWS) --------------------------------- To start transcription job please call |start_call_analytics_job| method. As a result you will get analytic job id. With this id you can get transcription status and results (|get_call_analytics_job|). With |get_call_analytics_list| you can get list of all your analyzes. --------------------------------- That's it. Good luck!