云服务器内容精选

  • 发送状态报告通知请求示例 POST /openchatbot/v2/DeliveryInfoNotification HTTP/1.1 Authorization: Username="chatbottest12swt70",Password="******" Content-Type: application/json Date: Sun, 28 Jun 2020 06:23:33 GMT Accept: */* Accept-Encoding: gzip, deflate, br Cookie: JSESSIONID=A4F1AE0967E87AD57CF106D295505CA4 traceUniqueID: 504021504652012181433190002002 Host: 10.179.126.105:8451 Connection: close Content-Length: 358 { "deliveryInfo": { "address": "tel:+8612345678911", "messageId": "2827c3a6-ee61-11ea-a172-fa163e6a8a4e", "deliveryStatus": "DeliveredToTerminal", "description": "SVC5001" }, "link": [ { "rel": "OutboundMessageRequest", "href": "http://example.com/exampleAPI/messaging/v1/outbound/sip%3A12599%40botplatform.rcs.chinamobile.com/requests/27437fcf-aa6e-4656-bdb1-695477cdddd9" } ] }
  • 消息关键参数 发送消息体关键字 序号 字段 数据类型 可选属性 描述 HTTP 请求,响应消息体部分(遵循RFC2616) 1 deliveryInfo DeliveryInfo M 状态报告信息,对应表1 6 link Link数组 O 可选字段,对应源消息resourceURL。 表1 DeliveryInfo(消息报告通知) 序号 字段 数据类型 可选属性 描述 1 address String M 发送回执消息的发送方地址(原消息的目的方地址) 2 deliveryStatus Enum M 消息发送状态 MessageSent 消息已发送到平台,由MaaP产生。 DeliveredToTerminal RCS消息达到终端 DeliveryImpossible 发送失败 DeliveredToNetwork 运营商网络已转短消息发送 MessageDisplayed 消息已阅 DeliveredToVms 转视频短信发送成功 DeliveredToVmsFailed 转视频短信发送失败 DeliverdToSMS 通道转短信下发成功 DeliverdToSMSFailed 通道转短信下发失败 参见表2详细描述 3 messageId string O 源消息ID 4 description String O 状态报告相关描述,成功和失败回执都通过description增加细分描述信息。 DeliveryImpossible回执填写应用层错误码,具体请参见错误码。 DeliveredToTerminal回执填写,发送UP2.4成功回执填写UP2。 DeliveredToNetwork回执填写,转短成功回执填写 SMS 5 text String O 状态报告相关描述,全部回执都通过此字段增加细分描述信息。 DeliveryImpossible回执填写错误描述,具体请参见错误码。 表2 Chatbot下行消息的状态报告 deliveryStatus deliveryStatus含义 description 业务含义 MessageSent 消息已发出 - 消息已发送到5GMC,由MaaP平台转发到5GMC时产生。 DeliveredToTerminal 以消息的形态达到终端,包括MaaP消息和普通P2P消息送达。 UP2 以Chatbot消息形态投递到终端 DeliveryImpossible 下行消息投递失败 800 不提供网络自动回落的Chatbot消息在5GMC已超过最大可撤回时间 SVCXXX错误码 网络自动回落短信,但发送失败 DeliveredToNetwork 已转短消息发送,即转短信发送到短息终端成功。 SMS 已转短信投递到终端 MessageDisplayed 消息已阅 UP2 终端已点击打开消息
  • 请求消息示例 DELETE /openchatbot/v2/sip:12024.jlf002@botplatform.rcs.chinamobile.com/files HTTP/1.1 tid: 6679391739583830575 Authorization:Username="a20a9716-8577-4e5e-8333-490df5b72e9f", Password=“******” Terminal-type: Chatbot Cache-Control: no-cache Pragma: no-cache Host: 10.120.207.128:8323 Accept: text/html, image/gif, image/jpeg, *; q=.2, */*; q=.2 Proxy-Connection: keep-alive Connection: keep-alive
  • 请求消息示例 POST /openchatbot/v2/auditnotification HTTP/1.1 Authorization: Username="appId32itc1",Password="******" tid: 3412316345 Authstatus: 0 Date: Mon, 09 Jun 2020 06:23:33 GMT Content-Type: application/json Accept: */* Postman-Token: e3e074fa-2ff7-4f6b-81a1-24af65d7200c Accept-Encoding: gzip, deflate, br Cookie: JSESSIONID=A3AEA3BBD0158B95AF548971EF430011 traceUniqueID: 504021504652012181504150002002 Host: 10.134.204.203:8087 Connection: close Content-Length: 741 { "file-info": [{ "content-type": "image/png", "data": { "until": "2099-12-31T23:59:59Z", "url": "https://conent-5g.obs.cn-north-4.myhuaweicloud.com:443/content_audit_service/chatbotId/pictures/2d39d4d7-0711-4710-987d-f1d91209b3a7.png" }, "file-name": "logo.png", "file-size": "16307", "type": "file" }, { "content-type": "image/jpeg", "data": { "until": "2099-12-31T23:59:59Z", "url": "https://conent-5g.obs.cn-north-4.myhuaweicloud.com:443/content_audit_service/chatbotId/pictures/91bc7489-c608-4796-ac53-7ef8d9ec8de0.jpg" }, "file-name": "10k1.jpg", "file-size": "9509", "type": "thumbnail" }] }
  • 响应消息示例 HTTP/1.1 201 Created Content-Type: application/json; charset=utf-8 Connection: keep-alive Date: Fri, 18 Feb 2022 03:02:50 GMT { "messageId": "5eae954c-42ca-4181-9ab4-9c0ef2e8v811", "clientCorrelator": "567896", "code": "00000", "msg": "SUCCESS" }
  • 消息关键参数 发送消息消息体关键字段 序号 字段 数据类型 可选属性 描述 1 address String M 接受方地址Request-URI,群发时填群发列表中第一个地址。 2 destinationAddress String M 接收方地址To。 说明: 仅移动支持群发,群发消息中可携带接收方地址列表,多个接收方地址之间使用英文逗号分割,最多支持100个号码。 样例:"destinationAddress": "tel:+86139******30,tel:+86139******31", 为提高网络侧性能,建议群发消息相同内容单次请求不少于10个号码。 最大发送速率(每秒发送号码数)不要超过该chatbot的速率上限。 3 senderAddress String M 发送方地址From,群发时填写Chatbot的URI,广播时填写Chatbot的URI(暂不提供) 4 senderName String O 发送方名称 5 productType String O 5G产品类型,不传默认为1。 1:通知 2:营销 6 clientCorrelator string O 用户端关联数据,需要networkAPI在响应中带回内容。 7 outboundIMMessage OutboundIMMessage M 复合类型对应表1 8 taskId string O 任务 id,由北向传入。 9 taskName string O 任务名称,由北向传入。 表1 OutboundIMMessage 序号 字段 数据类型 可选属性 描述 1 contentType Enum M 消息类型。 text/plain 普通文本(包含地位位置消息)。5G消息系统中默认Chatbot下发位置信息采用Geolocation fallback SMS方式。 application/vnd.gsma.rcs-ft-http+xml,普通文件消息,可以是图片、音频、视频、名片等消息。 application/vnd.gsma.botmessage.v1.0+json,chatbot卡片消息。 multipart/mixed; boundary="[delimiter]" 携带悬浮菜单的消息。 2 conversationID string M conversationID, 会话ID,建议使用UUID,同一个会话中conversationID需保持一致。同一用户同一chatbot,会话ID保持唯一。 3 contributionID string M contributionID,与inReplyToContributionID字段配合使用,用户回复消息、点击按钮时,会在inReplyToContributionID字段携带被回复消息的contributionID,建议使用UUID,且每个消息需要重新生成一个新的uuid。 4 bodyText string M 消息内容。 contentEncoding为base64时,内容为编码后的base64字符串。 contentType为"text/plain"时,内容为字符串。 contentType为其他的类型时,内容为json对象。 5 subject string O 主题 6 destinationTerminal string O 目的终端 7 reportRequest Enum数组 O 状态事件报告列表,每个状态事件的可选值为: Sent:消息已发送到网络中的下一节点 Delivered: 消息已发送到被叫侧用户 Displayed:消息已在被叫侧终端上显示 Failed: 消息没有发送到被叫侧 Interworking:消息转短信或转彩信 8 inReplyToContributionID string O 标识是对一条上行消息的回复,主动下发消息时不用携带,由上行消息触发的下行消息必须携带,值是上行消息中的contributionID。上行消息存在有效期,若超过有效期则本条交互消息无法下发,当前为30分钟。 9 contentEncoding Enum O 消息内容(bodyText元素的内容)编码方式。 缺省,utf8字符编码。 base64,base64编码。 10 shortMessageSupported string O 是否转短信。 false:不转,true:转,缺省false 11 storeSupported string O 是否离线存储。 false:不存也不重试,true:存,缺省true 12 serviceCapability ServiceCapability数组 O 由SAG赋默认值。 capabilityId=”chatbotSA” version=” +g.gsma.rcs.botversion="#=2"” 13 imFormat Enum O IM消息格式,可选值包括IM 14 smsBodyText string O 转短消息时的短信内容。 转短标志为false时此字段无效。 15 trafficType string O 流量类型标识,值如 advertisement、payment、premium、subscription、plugin
  • 文本消息示例 POST /openchatbot/v2/MessageStatusNotification HTTP/1.1 Content-Type: application/json Date: Sun, 28 Jun 2020 06:23:33 GMT User-Agent: SP/sip:888.chatbot@botplatform.rcs.chinamobile.com Accept: */* Accept-Encoding: gzip, deflate, br Connection: keep-alive Cookie: JSESSIONID=A4F1AE0967E87AD57CF106D295505CA4 Authorization: Username="chatbottest12swt70",Password="******" traceUniqueID: 504021504652012181438100002002 Host: 10.165.73.119:19088 Connection: close Content-Length: 273 { "address": "tel:+8612345678911", "messageId": "2827c3a6-ee61-11ea-a172-fa163e6a8a4e", "status": "Revoked", "link": [ { "rel": "OutboundMessageRequest", "href": "http://10.165.73.119:19088/messaging/v1/outbound/sip:888.chatbot@botplatform.rcs.chinamobile.com/requests/123456/status" } ] }
  • 消息关键参数 发送消息URL关键字段 序号 字段 数据类型 可选属性 描述 HTTP URL 部分(遵循RFC2616) 1 userId string M 被叫用户号码 消息上报通知消息关键字段 序号 字段 数据类型 可选属性 描述 HTTP 消息体 部分(遵循RFC2616) 1 link Link数组 O 原消息的resourceURL。 路径中最后一节是源消息的messageId。 2 address String M 撤回消息的被叫地址(原消息的目的方地址) 3 messageId String O 源消息ID 4 status ENUM O 消息撤回结果 Revoked,成功撤回 RevokeFailed,撤回失败。
  • 发送撤回消息示例 PUT /messaging/v2/sip:888.chatbot@botplatform.rcs.chinamobile.com/22ed8552-e5d2-11ea-b483-fa163e6a8a4e/outbound HTTP/1.1 Content-Type: application/json Authorization:Username="a20a9716-8577-4e5e-8333-490df5b72e9f", Password=“******” Address: tel:+8619585550104 Cache-Control: no-cache Pragma: no-cache Host: 10.120.207.128:8319 Accept: text/html, image/gif, image/jpeg, *; q=.2, */*; q=.2 Connection: keep-alive Content-Length: 319 { "address":"tel:+8619585550104", "status":"RevokeRequested" }
  • 消息关键参数 发送消息URL关键字段 (其他字段见 接口消息URL关键字段) 序号 字段 数据类型 可选属性 描述 HTTP URL 部分(遵循RFC2616) 1 messageId String M 待撤回消息的ID。 表1 消息URL关键字段 序号 字段 数据类型 可选属性 描述 1 serverRoot string M 服务器基础URL: hostname(或ip)+port+base path Port和base path可选 例: ip:port/openchatbot 2 apiVersion string M 客户端想使用的API版本号. 例: “v2”. 3 chatbotAddress string M 行业消息的统一服务地址,客户端可根据此地址将所有通知集合展现。 chatbotAddress是5G云服务平台分配给购买者的chatbotID。如果您已经购买了5G消息应用资产,则可以登录消费者门户,选择”应用管理”查看chatbotID。 发送消息HTTP头关键字段 序号 字段 数据类型 可选属性 描述 HTTP 消息头部分(遵循RFC2616) 1 Address string M 接受方地址Request-URI 消息上报通知消息关键字段 序号 字段 数据类型 可选属性 描述 HTTP 消息体 部分(遵循RFC2616) 1 status ENUM M 值RevokeRequested,请求撤回消息 2 address string M 源消息接收方地址。
  • 请求消息示例 GET /openchatbot/v2/123456/files HTTP/1.1 Authorization: Username="a20a9716-8577-4e5e-8333-490df5b72e9f", Password=“******” Accept: */* Host: 10.186.76.175:8323 accept-encoding: gzip, deflate Connection: keep-alive
  • 响应消息示例 HTTP/1.1 200 OK Server: Apache-Coyote/1.1 Content-Disposition: form-data; name="File"; filename="1.jpg" Content-Type: image/jpeg Content-Transfer-Encoding: 8bit DATE: Tue, 12 Jul 2016 06:00:00 GMT Content-Range: bytes 0-123455/123456 Content-Length: 123456
  • 文件上传请求消息示例 POST /openchatbot/v2/sip:chatbotid32itc1@botplatform.rcs.chinamobile.com/files HTTP/1.1 Authorization: Username="appId32itc1",Password="******" Accept: */* Host: 10.120.207.128:8323 Accept-Encoding: gzip, deflate, br Connection: keep-alive Content-Type: multipart/form-data; boundary=--------------------------413122496398836876848661 Cookie: JSESSIONID=429751BCFD903F626E0FF31378F8A79A Content-Length: 213 ----------------------------413122496398836876848661 Content-Disposition: form-data; name="File"; filename="zh123.txt" Content-Type: text/plain 123123 ----------------------------413122496398836876848661--
  • 消息关键参数 请求消息头关键参数: 序号 字段 数据类型 可选属性 描述 1 Content-Length string M 内容大小 请求消息关键参数(消息体采用multipart/form-data格式): 序号 字段 数据类型 可选属性 描述 1 Thumbnail Binary O 缩略图,可以为空(如语音片段可以由客户端使用默认缩略图);非空时包含以下信息: 文件名 文件大小 文件类型(图片) 缩略图内容 3 File Binary M 文件,包含以下信息: 文件名 文件大小 文件类型 文件内容 响应消息关键参数: 序号 字段 数据类型 可选属性 描述 1 响应码 string M 200 OK成功响应(文件相关信息需等待媒体审核结束后通知) 2 tid string M 文件传输ID
  • 代码样例 import static java.nio.charset.StandardCharsets.UTF_8; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.net.HttpURLConnection; import java.net.URL; import java.util.logging.Level; import java.util.logging.Logger; /** * 功能描述 */ public class FileDownload { /** * 正确码 * */ public static final int SUCCESS_VALUE = 200; /** * 错误码 * */ public static final int ERR_VALUE = 204; private FileDownload() { } /** * 文件下载功能 * * @param args * @throws IOException * */ public static void main(String[] args) throws IOException { Logger logger = Logger.getLogger(FileDownload.class.getName()); logger.setLevel(Level.WARNING); InputStream is; String url = "http://127.0.0.1:8323/openchatbot/v2/" + "sip:chatbotid32test1@botplatform.rcs.chinamobile.com/files"; URL realUrl = new URL(url); HttpURLConnection connection = (HttpURLConnection) realUrl.openConnection(); // 设置请求方式 connection.setRequestMethod("GET"); connection.setRequestProperty("Authorization", "Username=\"appId32test1\",Password=\"******\""); connection.setRequestProperty("X-WSSE", "UsernameToken Username=\"appId32test1\""); connection.setRequestProperty("File-Location", "http://10.134.204.203:8087/Content111"); connection.connect(); int status = connection.getResponseCode(); if (status != SUCCESS_VALUE) { if (status == ERR_VALUE) { logger.warning("No Content,sucess,nobody。"); is = connection.getInputStream(); } else { // 400/401 logger.warning("err"); is = connection.getErrorStream(); } } else { // 200 logger.warning("OK,DELETE"); is = connection.getInputStream(); } BufferedReader br; br = new BufferedReader(new InputStreamReader(is, UTF_8)); String line; StringBuilder result = new StringBuilder(); // 读取数据 while ((line = br.readLine()) != null) { result.append(line); } // 关流操作,这个很重要 is.close(); br.close(); // 关闭连接 connection.disconnect(); logger.warning("mabye is null" + result.toString()); } }