添加视频短信模板

HTTP头信息:

  1. Accept:application/json;charset=utf-8;
  2. Content-Type:multipart/form-data;

请求

URL:https://vsms.yunpian.com/v2/vsms/add_tpl.json

访问方式:POST

特别说明 该功能需联系在线客服开通。

请求参数

参数名类型是否必传是否默认开放描述示例
apikeyString用户唯一标识,在管理控制台获取9b11127a9701975c734b8aee81ee3526
signString短信签名【视频短信测试】
layoutjson内容布局的json描述文件详见备注
materialByte素材的字节数组,即素材内容压成zip包后转成字节数组。注意: 所有素材文件直接放在zip包根目录下,zip包内没有文件夹,且所有资源小于1.8M。参考demo示例

备注:

layout参数示例

可参考Java定义类:https://github.com/yunpian/yunpian-java-sdk/blob/v1.2.6/src/main/java/com/yunpian/sdk/model/VideoLayout.java

  1. {
  2. "vlVersion": "0.0.1", //布局文件版本号
  3. "subject": "title", //主题说明,限制20个字符
  4. "frames": [ //布局的帧内容,手机将从上到下依次显示index值从1-N
  5. {
  6. "index": 1, //第1帧
  7. "playTimes": 1, //播放次数,目前没有使用
  8. "attachments": [ //帧内容
  9. {
  10. "index": 1, //帧内素材出现次序,实际次序由供应商决定
  11. "fileName": "text1.txt" //对应material压缩包里的文件
  12. },
  13. {
  14. "index": 2,
  15. "fileName": "vedio.mp4" //对应material压缩包里的文件
  16. }
  17. ]
  18. },
  19. {
  20. "index": 2, // 第2帧
  21. "playTimes": 1,
  22. "attachments": [
  23. {
  24. "index": 1,
  25. "fileName": "text2.txt"
  26. },
  27. {
  28. "index": 2,
  29. "fileName": "image.jpg"
  30. }
  31. ]
  32. }
  33. ... // 其他帧
  34. ]
  35. }

请求示例

python3:

  1. import json
  2. import requests
  3. from requests_toolbelt.multipart import MultipartEncoder
  4. layout = {
  5. "vlVersion": "0.0.1",
  6. "subject": "title",
  7. "frames": [
  8. {
  9. "index": 1,
  10. "playTimes": 1,
  11. "attachments": [
  12. {
  13. "index": 1,
  14. "fileName": "text1.txt"
  15. },
  16. {
  17. "index": 2,
  18. "fileName": "img1.jpg"
  19. }
  20. ]
  21. }
  22. ]
  23. }
  24. def add_tpl(filepath):
  25. """
  26. :param filepath: 文件路径
  27. :return:
  28. """
  29. url = 'https://vsms.yunpian.com/v2/vsms/add_tpl.json'
  30. m_data = MultipartEncoder(
  31. fields={
  32. 'apikey': 'xxxxxxx',
  33. 'sign': 'xxxxxxxx',
  34. 'layout': json.dumps(layout),
  35. 'material': (filepath, open(filepath, 'rb'), 'application/octet-stream')
  36. },
  37. )
  38. headers = {
  39. 'Content-Type': m_data.content_type
  40. }
  41. r = requests.post(url, data=m_data, headers=headers)
  42. print(r.text)
  43. return 0

响应

名称类型描述
codeinteger0代表请求成功
msgtext接口状态
tpl_idinteger模板id

Json返回示例

  1. {
  2. "code": 0,
  3. "msg": "OK",
  4. "data":
  5. {
  6. "tpl_id": 126
  7. }
  8. }