将Voicebase转录发送到数据库

时间:2017-07-07 19:51:29

标签: python sql json callback twilio

我已经设置了一个Twilio / Python应用程序,可以进行呼叫,在双通道上记录这些呼叫,并将它们发送到Voicebase进行转录。有谁知道如何从Voicebase API获取JSON响应,并将其存储在数据库中? (例如SQL或PostGreSQL。)我仍然无法以不使用CURL在我的终端中为每个单独录制的方式获取转录,因此非常感谢任何帮助。

由于

2 个答案:

答案 0 :(得分:1)

来自VoiceBase支持的Hello,以下是您要求的功能的一些示例响应:

从VoiceBase API获取JSON响应

以下是一些示例代码,使用请求库使用您的Bearer Token($ TOKEN)提交指定$ MEDIAID的GET请求

import requests
import json

url = "https://apis.voicebase.com/v2-beta/media/$MEDIAID"

payload = "------WebKitFormBoundary7MA4YWxkTrZu0gW\r\nContent-Disposition: form-data; name=\"transcript\"\r\n\r\n\r\n------WebKitFormBoundary7MA4YWxkTrZu0gW--"
headers = {
    'content-type': "multipart/form-data; boundary=----WebKitFormBoundary7MA4YWxkTrZu0gW",
    'authorization': "Bearer $TOKEN",
    'cache-control': "no-cache"
    }

response = requests.request("GET", url, data=payload, headers=headers)
print(response.text)

解析成绩单:

此示例代码使用JSON库将键/值对加载到字典中以进行解析

transcript = json.loads(response.text)
job_status = transcript['media']['status']

保存到数据库

此代码将使用MySQLdb打开与数据库的连接并保存值(在本例中为job_status)

import MySQLdb

db = MySQLdb.connect("localhost","user","password","database")
cursor = db.cursor()

query = "INSERT INTO table VALUES (%s)"

cursor.execute(query, (job_status))

db.commit()
db.close()

答案 1 :(得分:0)

将来我会建议您发布代码和问题。这对每个人来说都容易得多,如果他们能够看到你已经自己动手了,那么人们就更有可能帮助你。

如果您的python应用程序已经提交了转录录音,那么您可以在服务器上指定一个回调URL,而不是轮询每个录音的结果,VoiceBase会在每次转录完成后提交转录数据。根据他们的文档,您可以在提交音频时以JSON的形式请求响应数据。

我一直使用PHP,所以我没有使用python web框架的经验,但是在回调URL上运行的一些基本服务器端代码(使用Django可能?)可能会处理VoiceBase数据并将其保存到数据库或随你。在PHP中,您可以使用少量代码来实现这一点。

可能值得看看VoiceBase为Twilio集成提供的指南,因为它们有一些似乎相关的例子。你可以找到它here