当前位置: 首页 > wzjs >正文

企业门户网站建设市场今天的新闻摘抄

企业门户网站建设市场,今天的新闻摘抄,深圳市宝安区龙华公司是干什么的,电商网页的特点文章目录 Kimi实战1/100 - 读接口文档,编写接口接口调用requests 调用代码说明注意事项 接口提供FastAPI 接口代码代码说明测试方法 Kimi实战1/100 - 读接口文档,编写接口 接口调用 User: 根据 接口文档 https://www.eiisys.com/home/apiDetails?id00…

文章目录

  • Kimi实战1/100 - 读接口文档,编写接口
    • 接口调用
      • requests 调用代码
      • 说明
      • 注意事项
    • 接口提供
      • FastAPI 接口代码
      • 代码说明
      • 测试方法

Kimi实战1/100 - 读接口文档,编写接口

接口调用

User: 根据 接口文档 https://www.eiisys.com/home/apiDetails?id=00300000280
编写 requests 调用

Kimi: 根据提供的接口文档,可以使用 Python 的 requests 库来调用该接口。以下是一个示例代码,用于获取 53kf_token

requests 调用代码

import requests
import time
import json# 定义请求的URL
url = "https://appidmanager.53kf.com/appid/manager/get/token"# 获取当前时间戳(秒级)
timestamp = int(time.time())# 定义headers参数
headers = {"timestamp": str(timestamp),"Content-Type": "application/json"
}# 定义body参数(需要替换为实际的appid和appsecret)
body = {"cmd": "53kf_token","appid": "your_appid",  # 替换为实际的appid"appsecret": "your_appsecret"  # 替换为实际的appsecret
}# 发送POST请求
response = requests.post(url, headers=headers, data=json.dumps(body))# 获取响应内容
response_data = response.json()# 打印响应结果
print("响应状态码:", response_data.get("code"))
print("响应数据:", response_data)# 根据返回的状态码处理结果
if response_data.get("code") == 200:token = response_data.get("data", {}).get("53kf_token")print("获取的53kf_token:", token)print("Token有效期:", response_data.get("data", {}).get("expires_in"), "秒")
else:print("调用失败,错误信息:", response_data.get("msg"))

说明

  1. 时间戳timestamp 是请求头中的必选参数,用于验证请求是否过期。代码中使用 time.time() 获取当前时间戳(秒级)。
  2. appid 和 appsecret:需要替换为实际的值,这些值可以在客服系统后台、账号管家后台或服务商后台中查看。
  3. Content-Type:请求头中需要指定 Content-Typeapplication/json,因为接口要求以 JSON 格式发送数据。
  4. 错误处理:根据返回的状态码(code)判断调用是否成功,并打印相应的信息。

注意事项

  • 如果返回状态码为 401,可能是时间戳过期或缺失。确保时间戳是当前时间,并且请求在10秒内完成。
  • 如果返回状态码为 102,可能是 appidappsecret 参数错误,请检查参数是否正确。
  • 在实际使用中,建议对 appidappsecret 进行加密处理,以防止泄露。

接口提供

User: 根据接口文档 https://www.eiisys.com/home/apiDetails?id=00300000245
编写对应的fastapi接口
Kimi: 根据提供的接口文档,我们可以使用 FastAPI 框架编写一个对应的接口来接收海翕云的通话记录推送。以下是实现代码:

FastAPI 接口代码

from fastapi import FastAPI, Request, HTTPException
from pydantic import BaseModel
from typing import List, Optional
import json
import urllib.parseapp = FastAPI()# 定义请求体的模型
class CallRecord(BaseModel):cmd: strcompany_id: strphone: strcall: strstart_time: strend_time: strlast_time: strendtype: strtalk_page: Optional[str] = Noneland_page: Optional[str] = Nonereferer: Optional[str] = Nonese: Optional[str] = Nonekw: Optional[str] = Noneworker_id: Optional[str] = Nonecall_id: strcome_out: strrecordurl: Optional[str] = Nonethird_id: Optional[str] = Noneout_robot_guest_name: Optional[str] = Noneout_robot_record: Optional[List[dict]] = None# 定义回调接口
@app.post("/callback")
async def callback(request: Request):form_data = await request.form()msg_id = form_data.get("msg_id")content = form_data.get("content")if not msg_id or not content:raise HTTPException(status_code=400, detail="Missing msg_id or content")try:# 解码 content 数据decoded_content = urllib.parse.unquote(content)call_record = json.loads(decoded_content)call_record_model = CallRecord(**call_record)except json.JSONDecodeError:raise HTTPException(status_code=400, detail="Invalid JSON format")# 处理通话记录数据print(f"Received call record with msg_id: {msg_id}")print(call_record_model)# 返回确认响应return {"cmd": "OK", "token": "YOUR_TOKEN_HERE"}if __name__ == "__main__":import uvicornuvicorn.run(app, host="0.0.0.0", port=8000)

代码说明

  1. 请求体模型

    • 使用 Pydantic 的 BaseModel 定义了 CallRecord 模型,对应文档中的 JSON 数据结构。
    • 其中部分字段是可选的(Optional),例如 talk_pagereferer 等。
  2. 回调接口

    • 使用 @app.post("/callback") 定义了一个 POST 接口,用于接收海翕云的推送。
    • 从请求中提取 msg_idcontent 数据。
    • 使用 urllib.parse.unquotecontent 进行解码,并将其解析为 JSON 数据。
    • 将解析后的数据加载到 CallRecord 模型中,进行数据校验。
  3. 返回确认响应

    • 根据文档要求,返回 {"cmd": "OK", "token": "YOUR_TOKEN_HERE"},其中 YOUR_TOKEN_HERE 需要替换为实际的令牌。
  4. 运行方式

    • 使用 uvicorn 作为 ASGI 服务器运行 FastAPI 应用。
    • 默认监听 0.0.0.0:8000,可以根据需要修改端口。

测试方法

  1. 启动 FastAPI 应用

    uvicorn main:app --reload
    

    其中 main 是文件名,app 是 FastAPI 实例的名称。

  2. 发送测试请求
    使用 curl 或 Postman 发送 POST 请求到 http://127.0.0.1:8000/callback,请求体为表单数据:

    curl -X POST "http://127.0.0.1:8000/callback" \-F "msg_id=ee505c81-3f29-4cb4-abdf-d0bb846fab9e" \-F "content=%7B%22cmd%22%3A%22callback_phone%22%2C%22company_id%22%3A%2272000370%22%2C%22phone%22%3A%2217357927020%22%2C%22call%22%3A%2218158360535%22%2C%22start_time%22%3A%222021-06-28+15%3A45%3A46%22%2C%22end_time%22%3A%222021-06-28+15%3A45%3A59%22%2C%22last_time%22%3A%222%22%2C%22endtype%22%3A%222%22%2C%22call_id%22%3A%2216374%22%2C%22recordurl%22%3A%22https%3A%5C%2F%5C%2Ffs.53kf.com%5C%2Frecordings%5C%2F2021-06-28%5C%2F7573bba2-6b21-4a07-8995-1cab4875a7a4.wav%22%7D"
    
  3. 检查输出

    • 确保 FastAPI 接口能够正确接收并解析数据,并返回确认响应。

如果需要进一步处理通话记录数据(例如存储到数据库或触发其他逻辑),可以在 callback 函数中添加相应的代码逻辑。

http://www.dtcms.com/wzjs/83730.html

相关文章:

  • wordpress手机端插件贵阳seo网站推广
  • 郑州汉狮专业做网站公司互联网推广平台有哪些
  • 做网站要注册第35类商标吗自媒体营销模式有哪些
  • 建材采购网seo先上排名后收费
  • 电脑网站和手机网站怎么做相同路径关键词工具网站
  • 国外logo设计网站推荐百度url提交
  • 做变态手术视频网站百度竞价什么意思
  • 网站下的源代码和自己做的区别怎么投放广告
  • 做企业网站织梦和wordpress哪个好百度代理合作平台
  • 台州做企业网站深圳网络推广代理
  • 汉中做网站的电话澳门seo推广
  • 网站404怎么做视频教程网站推广的主要方法
  • 成都市住房和城乡建设局官方网站深圳高端网站建设公司
  • 余姚做网站62752762互联网营销师证书怎么考
  • 网站换域名有没有影响吗广州网络营销公司
  • 开关网站建设网站优化课程培训
  • 建设部网站最新消息电商运营的基本流程
  • 1免费做网站seo01网站
  • 免费商城网站建设怎么制作网页页面
  • 网站建设开发背景简介最好的网络营销软件
  • 网站建设论文3000字范文seo新闻
  • 淘宝京东拼多多购物券网站怎么做全面网络推广营销策划
  • 苹果手机怎么做微电影网站吗品牌seo推广咨询
  • 婚纱摄影类网站模板网站运营培训
  • wordpress图片768好吗新网站seo
  • 网站运营发展前景比较有名的个人网站
  • 新乡网站建设求职简历产品营销推广方案
  • 哪些网站上推广比较好百度一下百度一下你知道
  • qq业务代理网站建设买卖链接网站
  • 创维爱内购网站怎样创建网站平台