|
20 | 20 | from messagebird.conversation import Conversation, ConversationList
|
21 | 21 | from messagebird.conversation_webhook import ConversationWebhook, ConversationWebhookList
|
22 | 22 | from messagebird.voice_recording import VoiceRecordingsList, VoiceRecording
|
| 23 | +from messagebird.voice_transcription import VoiceTranscriptionsList, VoiceTranscriptionsView |
23 | 24 | from messagebird.call_flow import CallFlow, CallFlowList, CallFlowNumberList
|
24 | 25 |
|
25 | 26 |
|
|
44 | 45 | VOICE_PATH = 'calls'
|
45 | 46 | VOICE_LEGS_PATH = 'legs'
|
46 | 47 | VOICE_RECORDINGS_PATH = 'recordings'
|
| 48 | +VOICE_TRANSCRIPTIONS_PATH = 'transcriptions' |
47 | 49 |
|
48 | 50 |
|
49 | 51 | class ErrorException(Exception):
|
@@ -382,6 +384,27 @@ def voice_recording_list_recordings(self, call_id, leg_id):
|
382 | 384 | uri = VOICE_API_ROOT + '/' + VOICE_PATH + '/' + str(call_id) + '/' + VOICE_LEGS_PATH + '/' + str(leg_id) + '/' + VOICE_RECORDINGS_PATH
|
383 | 385 | return VoiceRecordingsList().load(self.request(uri, 'GET'))
|
384 | 386 |
|
| 387 | + def voice_transcription_list(self, call_id, leg_id, recording_id): |
| 388 | + """List voice transcriptions.""" |
| 389 | + uri = VOICE_API_ROOT + '/' + VOICE_PATH + '/' + str(call_id) + '/' + VOICE_LEGS_PATH + '/' + str(leg_id) + '/' + VOICE_RECORDINGS_PATH + '/' + str(recording_id) + '/' + VOICE_TRANSCRIPTIONS_PATH |
| 390 | + return VoiceTranscriptionsList().load(self.request(uri, 'GET')) |
| 391 | + |
| 392 | + def voice_transcription_download(self, call_id, leg_id, recording_id, transcriptions_file): |
| 393 | + """Download voice transcription file.""" |
| 394 | + uri = VOICE_API_ROOT + '/' + VOICE_PATH + '/' + str(call_id) + '/' + VOICE_LEGS_PATH + '/' + str(leg_id) + '/' + VOICE_RECORDINGS_PATH + '/' + str(recording_id) + '/' + VOICE_TRANSCRIPTIONS_PATH + '/' + str(transcriptions_file) |
| 395 | + return self.request(uri, 'GET') |
| 396 | + |
| 397 | + def voice_transcription_view(self, call_id, leg_id, recording_id, transcriptions_id): |
| 398 | + """Get voice transcription data.""" |
| 399 | + uri = VOICE_API_ROOT + '/' + VOICE_PATH + '/' + str(call_id) + '/' + VOICE_LEGS_PATH + '/' + str(leg_id) + '/' + VOICE_RECORDINGS_PATH + '/' + str(recording_id) + '/' + VOICE_TRANSCRIPTIONS_PATH + '/' + str(transcriptions_id) |
| 400 | + return VoiceTranscriptionsView().load(self.request(uri, 'GET')) |
| 401 | + |
| 402 | + def voice_transcription_create(self, call_id, leg_id, recording_id, language): |
| 403 | + """Create a voice transcription.""" |
| 404 | + uri = VOICE_API_ROOT + '/' + VOICE_PATH + '/' + str(call_id) + '/' + VOICE_LEGS_PATH + '/' + str(leg_id) + '/' + VOICE_RECORDINGS_PATH + '/' + str(recording_id) + '/' + VOICE_TRANSCRIPTIONS_PATH |
| 405 | + params = {'language': str(language)} |
| 406 | + return VoiceTranscriptionsView().load(self.request(uri, 'POST', params, VOICE_TYPE)) |
| 407 | + |
385 | 408 | def voice_recording_view(self, call_id, leg_id, recording_id):
|
386 | 409 | uri = VOICE_API_ROOT + '/' + VOICE_PATH + '/' + str(call_id) + '/' + VOICE_LEGS_PATH + '/' + str(leg_id) + '/' + VOICE_RECORDINGS_PATH + '/' + str(recording_id)
|
387 | 410 | recording_response = self.request(uri, 'GET')
|
|
0 commit comments