注册送短信

1 message消息结构说明

1.1 message 卡片消息 数据结构

参数类型必须/可选默认描述
messagejson必须卡片消息,数据结构请参考1.2单卡片说明和1.3多卡片说明


1.2 单卡片消息数据结构

参数类型必须/可选默认描述
generalPurposeCardjson必须单卡片消息结构,见下方1.2.1


1.2.1 generalPurposeCard数据结构

参数类型必须/可选默认描述
contentjson必须卡片内容,见下方1.2.2 单卡片content消息结构说明
layoutjson必须卡片样式,见下方1.2.3 单卡片layout数据结构说明


1.2.2 单卡片content数据结构

参数类型必须/可选默认描述
titlestring必须卡片标题,最大长度200个字节
descriptionstring必须文字描述,最大长度2000个字节
mediajson必须素材数据,见下方1.2.4 media数据结构说明
suggestionsjson array可选卡片菜单,数据结构请参考1.4 suggestions数据结构

1.2.3 单卡片layout数据结构

参数类型必须/可选默认描述
cardOrientationenum必须可选值包括:
VERTICAL:垂直
HORIZONTAL:水平
imageAlignmentenum条件参数排列方式,当cardOrientationHORIZONTAL,该参数为必须参数,可选值包括:
LEFT:左对齐
RIGHT:右对齐
titleFontStyleenum可选卡片标题样式,可多选,可选值包括:
italics:斜体
bold:粗体<br/>underline:下划线
descriptionFontStyleenum可选文字描述样式,可多选,可选值包括:
italics:斜体
bold:粗体<br/>underline:下划线
stylestring可选css样式表链接,描述见附录

1.2.4 media数据结构

参数类型必须/可选默认描述
mediaUrlstring必须图片地址
mediaContentTypestring必须图片类型,示例:image/png
mediaFileSizeint必须图片大小
heightenum必须图片高度,可选值包括:<br/>SHORT_HEIGHT:小图<br/>MEDIUM_HEIGHT:中图<br/>TALL_HEIGHT:大图
thumbnailUrlstring可选缩略图地址缩略图存在时,此参数必须
thumbnailContentTypestring可选缩略图类型,缩略图存在时,此参数必须,示例:image/png
thumbnailFileSizeint必须缩略片大小,缩略图存在时,此参数必须,
contentDescriptionstring可选卡片描述,最大支持长度200字节
注:描述文本为屏幕阅读器可访问,不会显示在屏幕上

1.2.5 数据示例

{
    "message": {
        "generalPurposeCard": {
            "content": {
                "description": "这是卡片正文",
                "media": {
                    "height": "MEDIUM_HEIGHT",
                    "mediaContentType": "image/png",
                    "mediaFileSize": "1259515",
                    "mediaUrl": "https://ftnj01.xnq.r.10086.cn:10099/s/003032024040311atT7rLLdSyn050FD.png"
                },
                "suggestions": [{
                        "action": {
                            "displayText": "打开链接(内置浏览器)",
                            "postback": {
                                "data": "open_url_internal"
                            },
                            "urlAction": {
                                "openUrl": {
                                    "application": "webview",
                                    "url": "https://rcs.10086.cn/"
                                }
                            }
                        }
                    },
                    {
                        "action": {
                            "displayText": "打开链接(默认浏览器)",
                            "postback": {
                                "data": "open_url_browser"
                            },
                            "urlAction": {
                                "openUrl": {
                                    "application": "browser",
                                    "url": "https://rcs.10086.cn/"
                                }
                            }
                        }
                    },
                    {
                        "action": {
                            "mapAction": {
                                "requestLocationPush": {}
                            },
                            "displayText": "上报当前位置",
                            "postback": {
                                "data": "set_by_chatbot_request_location_push"
                            }
                        }
                    }
                ],
                "title": "这是卡片标题"
            },
            "layout": {
                "cardOrientation": "VERTICAL",
                "imageAlignment": "LEFT"
            }
        }
    }
}

1.3 多卡片消息数据结构

参数类型必须/可选默认描述
generalPurposeCardCarouseljson必须多卡片消息结构,见下方1.3.1

1.3.1 generalPurposeCardCarousel多卡片消息结构

参数类型必须/可选默认描述
contentjson array必须多卡片内容,最小2个卡片,最多支持12个卡片,见下方1.3.2 多卡片content消息结构说明
layoutjson必须卡片样式,见下方1.3.3 多卡片layout数据结构说明

1.3.2 多卡片content数据结构

参数类型必须/可选默认描述
titlestring必须卡片标题,最大长度200个字节
descriptionstring必须文字描述,最大长度2000个字节
mediajson必须素材数据,见下方1.2.4 media数据结构说明
suggestionsjson array可选卡片菜单,最小一个,最大四个,数据结构请参考1.4 suggestions数据结构

1.3.3 多卡片layout数据结构

参数类型必须/可选默认描述
cardWidthenum必须可选值包括:
SMALL_WIDTH:小图
MEDIUM_WIDTH:中等
titleFontStyleenum可选卡片标题样式,可多选,可选值包括:
italics:斜体
bold:粗体<br/>underline:下划线
descriptionFontStyleenum可选文字描述样式,可多选,可选值包括:
italics:斜体
bold:粗体<br/>underline:下划线
stylestring可选css样式表链接,描述见附录

1.3.4 数据示例

{
    "message": {
        "generalPurposeCardCarousel": {
            "layout": {
                "cardWidth": "MEDIUM_WIDTH"
            },
            "content": [{
                "media": {
                    "mediaUrl": "https://ftjn01.xnq.r.10086.cn:10099/s/0110120430804161p1FVZ0sZHk027FD.gif",
                    "mediaContentType": "image/gif",
                    "mediaFileSize": "209484",
                    "height": "MEDIUM_HEIGHT",
                    "thumbnailUrl": "https://ftjn01.xnq.r.10086.cn:10099/s/0110120430804161p1FVZ0sZHk027TD",
                    "thumbnailContentType": "image/jpeg",
                    "thumbnailFileSize": "9431"
                },
                "title": "这是卡片1标题",
                "description": "这是卡片1正文内容……",
                "suggestions": [{
                    "reply": {
                        "displayText": "上行YES",
                        "postback": {
                            "data": "YES"
                        }
                    }
                }, {
                    "action": {
                        "displayText": "打开链接",
                        "postback": {
                            "data": "1536309460312657920"
                        },
                        "urlAction": {
                            "openUrl": {
                                "url": "https://rcs.10086.cn/",
                                "application": "browser"
                            }
                        }
                    }
                }]
            }, {
                "media": {
                    "mediaUrl": "https://ftjn01.xnq.r.10086.cn:10099/s/0110120430804161p1FVZ0sZHk027FD.gif",
                    "mediaContentType": "image/gif",
                    "mediaFileSize": "209484",
                    "height": "MEDIUM_HEIGHT",
                    "thumbnailUrl": "https://ftjn01.xnq.r.10086.cn:10099/s/0110120430804161p1FVZ0sZHk027TD",
                    "thumbnailContentType": "image/jpeg",
                    "thumbnailFileSize": "9431"
                },
                "title": "这是卡片2标题",
                "description": "这是卡片2正文内容……",
                "suggestions": [{
                    "reply": {
                        "displayText": "上行NO",
                        "postback": {
                            "data": "1536309659126861824"
                        }
                    }
                }, {
                    "action": {
                        "displayText": "拨打10086",
                        "postback": {
                            "data": "1536309578193571840"
                        },
                        "dialerAction": {
                            "dialPhoneNumber": {
                                "phoneNumber": "10086"
                            }
                        }
                    }
                }]
            }]
        }
    }
}

1.4 suggestions数据结构

参数类型必须/可选默认描述
replyjson string可选上行回复消息,数据结构请参考1.4.1 reply数据结构
actionjson string可选携带手机操作的上行回复消息,数据结构请参考2 action事件数据结构说明


1.4.1 action数据结构

参数类型必须/可选默认描述
displayTextstring必须上行文本,最大长度25个字节
postbackjson必须上行文本携带的数据标识,数据结构请参考1.4.2 postback数据结构


1.4.2 postback数据结构

参数类型必须/可选默认描述
datastring必须上行文本标识,建议使用UUID

1.4.3 数据示例

[{
  "reply": {
    "displayText": "上行NO",
    "postback": {
      "data": "1536309659126861824"
    }
  }
}, {
  "action": {
    "displayText": "拨打10086",
    "postback": {
      "data": "1536309578193571840"
    },
    "dialerAction": {
      "dialPhoneNumber": {
        "phoneNumber": "10086"
      }
    }
  }
}]

2 action 事件数据结构说明

参数类型必须/可选默认描述
displayTextstring必须按钮文本,最大长度25个字节
postbackjson必须按钮文本携带的数据标识,数据结构请参考1.9 postback数据结构
urlActionjson可选链接事件,具体数据结构请参考2.1
dialerActionjson可选拨号事件,具体数据结构请参考2.2
mapActionjson可选地图事件,具体数据结构请参考2.3
calendarActionjson可选日历事件,具体数据结构请参考2.4
composeActionjson可选草稿事件,具体数据结构请参考2.5
deviceActionjson可选设备事件,具体数据结构请参考2.6
settingsActionjson可选应用事件,具体数据结构请参考2.7

2.1 urlAction 链接事件

参数类型必须/可选默认描述
openUrljson必须链接事件,数据结构请参考2.1.1 openUrl数据结构

2.1.1 openUrl数据结构

参数类型必须/可选默认描述
urlstring必须链接地址
applicationenum必须浏览器类型,可选值:
browser:内置浏览器
webview:默认浏览器
viewModeenum条件参数fullapplicationwebview可用,可选值:<br/>full:全屏<br/>half:半屏<br/>tall:浮屏
parametersstring条件参数applicationwebview可用,最大长度200个字节

2.1.2 数据示例

{
  "openUrl": {
    "application": "webview",
    "url": "https://www.mysubmail.com",
    "viewMode": "full",
    "parameters": "visitorId=10001&code=123456"
  }
}

2.2 dialerAction 拨号事件

参数类型必须/可选默认描述
dialPhoneNumberjson可选通话事件,数据结构请参考2.2.1 dialPhoneNumber数据结构
dialEnrichedCalljson可选增强通话事件,数据结构请参考2.2.2 dialEnrichedCall数据结构
dialVideoCalljson可选 视频通话,数据结构请参考2.2.3 dialVideoCall数据结构

2.2.1 dialPhoneNumber数据结构

参数类型必须/可选默认描述
phoneNumberstring必须要通话的号码,比如15288888888
fallbackUrlstring可选话单推送地址

2.2.2 dialEnrichedCall数据结构

参数类型必须/可选默认描述
phoneNumberstring必须要通话的号码,比如15288888888
subjectstring可选
fallbackUrlstring可选话单推送地址

2.2.3 dialVideoCall数据结构

参数类型必须/可选默认描述
phoneNumberstring必须要通话的号码,比如15288888888
fallbackUrlstring可选话单推送地址

2.2.4 数据示例

{
  "dialPhoneNumber": {
    "phoneNumber": "15288888888"
  }
}

2.3 mapAction 地图事件

参数类型必须/可选默认描述
showLocationjson二选一在地图上显示给定位置,数据结构请参考 2.3.1 showLocation数据结构
requestLocationPushjson二选一一次从UE发送地理位置推送到的请求聊天机器人,数据结构参考 2.3.2 requestLocationPush数据结构

2.3.1 showLocation 数据结构

参数类型必须/可选默认描述
locationjson必须地理位置,数据结构请参考2.3.3 location数据结构
fallbackUrljson可选消息推送地址

2.3.2 requestLocationPush 数据结构

参数类型必须/可选默认描述
showLocationjson二选一在地图上显示给定位置,数据结构参考 2.3.1 showLocation数据结构
requestLocationPushjson二选一一次从UE发送地理位置推送到的请求聊天机器人,数据结构暂无

2.3.3 location 数据结构

参数类型必须/可选默认描述
latitudefloatquery二选一纬度,示例:23.170408552888855
longitudefloatquery二选一经度,示例:113.40224851582335
labelstring可选标签,最大长度100个字节
querystringlatitude,longitude二选一基于用户位置的位置进行搜索,示例:GSMA Head Office, 25 Walbrook, London, UK。最大长度200个字节

2.3.4 数据示例

{
  "showLocation": {
    "location": {
      "latitude": 23.170408552888855,
      "longitude": 113.40224851582335,
      "label": "中国移动南方基地智汇中心"
    },
    "fallbackUrl": "https://j.map.baidu.com/eb/XWkf"
  }
}

2.4 calendarAction 日历事件

参数类型必须/可选默认描述
createCalendarEventjson必须日历事件,消息结构请驾考2.4.1 createCalendarEvent数据结构

2.4.1 createCalendarEvent数据结构

参数类型必须/可选默认描述
startTimestring必须开始时间,示例:2024-04-14T00:00:00Z
endTimestring必须结束时间,示例:2024-04-14T23:59:59Z
titlestring必须提醒主题,最大长度100个字节,示例:会议提醒
descriptionstring可选提醒描述,最大长度500个字节
fallbackUrlstring可选回落地址

2.4.2 数据示例

{
  "createCalendarEvent": {
    "startTime": "2024-04-14T00:00:00Z",
    "endTime": "2024-04-14T23:59:59Z",
    "title": "会议提醒",
    "description": "下午3点公司会议"
  }
}

2.5 composeAction 编写消息草稿事件

参数类型必须/可选默认描述
composeTextMessagejson二选一编写文字短信,数据结构请参考2.5.1 composeTextMessage数据结构
composeRecordingMessagejson二选一录制多媒体信息,数据结构请参考2.5.2 composeRecordingMessage数据结构

2.5.1 composeTextMessage数据结构

参数类型必须/可选默认描述
phoneNumberstring必须接收方号码
textstring必须短信内容,最长支持100个字节

2.5.2 composeRecordingMessage数据结构

参数类型必须/可选默认描述
phoneNumberstring必须接收方号码
typeenum必须多媒体信息类型,可选值包括:
AUDIO:语音消息
VIDEO:视频消息

2.5.3 数据示例

暂无

2.6 deviceAction 与设备交互事件

参数类型必须/可选默认描述
requestDeviceSpecificsjson必须请求有关用户设备的详细信息。数据结构暂无

2.7 settingsAction 与应用设备进行交互的事件

参数类型必须/可选默认描述
disableAnonymizationjson二选一要求用户禁用匿名设置。数据结构暂无
enableDisplayedNotificationsjson二选一要求用户启用发送显示通知。数据结构暂无

附录:富媒体卡片支持的 CSS 属性说明

富媒体卡片的 CSS 控制元素包含以下四种:

1.整个富媒体卡片,与 CSS 中的消息选择器一起引用

2.富媒体卡片标题,与 CSS 中的 message.content.Title 选择器一起引用

3.富媒体卡片描述,与 CSS 中的 message.content.description 选择器一起引用

4.富媒体卡片建议,与 CSS 中的 message.content.suggestions 选择器一起引用

富媒体卡片支持的 CSS 选择器和属性如下表所示:

CSS选择器选择器支持的CSS属性CSS属性和CSS属性支持值的描述
messagecolor富媒体卡片中所有文本内容的颜色
messagefont富媒体卡片中所有元素的文本内容的字体
messagetext-align富卡中所有元素文本内容的对齐方式
messagebackground-color富媒体卡片的背景颜色,默认值为transparent
messagebackground-image富媒体卡片的背景图片。通过图片 URI 来指定图片,当不使用背景图片时,采用‘none’默认值。当背景图片不可用时,将采用背景色。当图片可用时,它将在背景色之上渲染。
message.content.titlecolortitle 元素文本内容的颜色,未指定时,它可以从 message 元素继承。
message.content.titlefonttitle 元素文本内容的字体,未指定时,从 message 元素继承。
message.content.titletext-aligntitle 元素文本内容的对齐方式,未指定时,从 message 元素继承。
message.content.descriptioncolordescription 元素文本内容的颜色,未指定时,从 message 元素继承。
message.content.descriptionfontdescription 元素文本内容的字体,未指定时,从 message 元素继承。
message.content.descriptiontext-aligndescription 元素文本内容的对齐方式,未指定时,从 message 元素继承。
message.content.suggestionscolorsuggestions 元素的文本内容的颜色,如果没指定,则从 message 元素继承。
message.content.suggestionsfontsuggestions 元素文本内容的字体,未指定时,从 message 元素继承。
message.content.suggestionstext-alignsuggestions 元素文本内容的对齐方式。该值参考[CSS2.1]。未指定时,从 message 元素继承。

示例:

@charset "utf-8";
/* CSS Document */
Message {
 text-align:center;
 font-size:12px;
 color:#555;
 font-family:Verdana, Arial, Helvetica, sans-serif;
 background-color: green;
}
message.content.title {
 font-size:14px;
 font-weight:bold;
 color:#666699
}
message.content.description {
 color:#666699
}
message.content.suggestions {
 color:#669999
}