USMSClient.php 24 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459
  1. <?php
  2. /**
  3. * Copyright 2023 UCloud Technology Co., Ltd.
  4. *
  5. * Licensed under the Apache License, Version 2.0 (the "License");
  6. * you may not use this file except in compliance with the License.
  7. * You may obtain a copy of the License at
  8. *
  9. * http://www.apache.org/licenses/LICENSE-2.0
  10. *
  11. * Unless required by applicable law or agreed to in writing, software
  12. * distributed under the License is distributed on an "AS IS" BASIS,
  13. * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  14. * See the License for the specific language governing permissions and
  15. * limitations under the License.
  16. */
  17. namespace UCloud\USMS;
  18. use UCloud\Core\Client;
  19. use UCloud\Core\Exception\UCloudException;
  20. use UCloud\USMS\Apis\AddBackfillRequest;
  21. use UCloud\USMS\Apis\AddBackfillResponse;
  22. use UCloud\USMS\Apis\CreateUSMSSignatureRequest;
  23. use UCloud\USMS\Apis\CreateUSMSSignatureResponse;
  24. use UCloud\USMS\Apis\CreateUSMSTemplateRequest;
  25. use UCloud\USMS\Apis\CreateUSMSTemplateResponse;
  26. use UCloud\USMS\Apis\DeleteUSMSSignatureRequest;
  27. use UCloud\USMS\Apis\DeleteUSMSSignatureResponse;
  28. use UCloud\USMS\Apis\DeleteUSMSTemplateRequest;
  29. use UCloud\USMS\Apis\DeleteUSMSTemplateResponse;
  30. use UCloud\USMS\Apis\GetUSMSSendReceiptRequest;
  31. use UCloud\USMS\Apis\GetUSMSSendReceiptResponse;
  32. use UCloud\USMS\Apis\QueryUSMSSignatureRequest;
  33. use UCloud\USMS\Apis\QueryUSMSSignatureResponse;
  34. use UCloud\USMS\Apis\QueryUSMSTemplateRequest;
  35. use UCloud\USMS\Apis\QueryUSMSTemplateResponse;
  36. use UCloud\USMS\Apis\SendBatchUSMSMessageRequest;
  37. use UCloud\USMS\Apis\SendBatchUSMSMessageResponse;
  38. use UCloud\USMS\Apis\SendUSMSMessageRequest;
  39. use UCloud\USMS\Apis\SendUSMSMessageResponse;
  40. use UCloud\USMS\Apis\UpdateUSMSSignatureRequest;
  41. use UCloud\USMS\Apis\UpdateUSMSSignatureResponse;
  42. use UCloud\USMS\Apis\UpdateUSMSTemplateRequest;
  43. use UCloud\USMS\Apis\UpdateUSMSTemplateResponse;
  44. /**
  45. * This client is used to call actions of **USMS** service
  46. */
  47. class USMSClient extends Client
  48. {
  49. /**
  50. * AddBackfill - 用户通过接口发送消息,当消息在终端被消费,调用该接口,进行记录。
  51. *
  52. * See also: https://docs.ucloud.cn/api/usms-api/add_backfill
  53. *
  54. * Arguments:
  55. *
  56. * $args = [
  57. * "Region" => (string) 地域。 参见 [地域和可用区列表](https://docs.ucloud.cn/api/summary/regionlist)
  58. * "Zone" => (string) 可用区。参见 [可用区列表](https://docs.ucloud.cn/api/summary/regionlist)
  59. * "ProjectId" => (string) 项目ID。不填写为默认项目,子帐号必须填写。 请参考[GetProjectList接口](https://docs.ucloud.cn/api/summary/get_project_list)
  60. * "SendNo" => (string) 发送Number,记录一次发送请求的唯一性
  61. * "Target" => (string) 短信的接收目标,手机号需要添加国家码,比如(1)231xxxx
  62. * "BackfillTime" => (integer) 回填时间,秒级别时间戳
  63. * "Content" => (string) 回填内容
  64. * "SendTime" => (integer) 发送请求的时间,秒级别时间戳
  65. * ]
  66. *
  67. * Outputs:
  68. *
  69. * $outputs = [
  70. * ]
  71. *
  72. * @return AddBackfillResponse
  73. * @throws UCloudException
  74. */
  75. public function addBackfill(AddBackfillRequest $request = null)
  76. {
  77. $resp = $this->invoke($request);
  78. return new AddBackfillResponse($resp->toArray(), $resp->getRequestId());
  79. }
  80. /**
  81. * CreateUSMSSignature - 调用接口CreateUSMSSignature申请短信签名
  82. *
  83. * See also: https://docs.ucloud.cn/api/usms-api/create_usms_signature
  84. *
  85. * Arguments:
  86. *
  87. * $args = [
  88. * "ProjectId" => (string) 项目ID,不填写为默认项目,子帐号必须填写。 请参考[GetProjectList接口](https://docs.ucloud.cn/api/summary/get_project_list)
  89. * "SigContent" => (string) 签名内容
  90. * "SigType" => (integer) 签名类型,说明如下:0-公司或企业的全称或简称;1-App应用的全称或简称;2-工信部备案网站的全称或简称;3-公众号或小程序的全称或简称;4-商标名的全称或简称;5-政府/机关事业单位/其他单位的全称或简称;
  91. * "SigPurpose" => (integer) 签名用途,0-自用,1-他用;
  92. * "CertificateType" => (integer) 签名的资质证明文件类型,需与签名类型保持一致,说明如下:0-三证合一/企业营业执照/组织机构代码证书/社会信用代码证书;1-应用商店后台开发者管理截图;2-备案服务商的备案成功截图(含域名,网站名称,备案号);3-公众号或小程序的管理界面截图;4-商标注册证书;5-组织机构代码证书、社会信用代码证书;
  93. * "Description" => (string) 短信签名申请原因
  94. * "File" => (string) 短信签名的资质证明文件,需先进行base64编码格式转换,此处填写转换后的字符串。文件大小不超过4 MB
  95. * "International" => (boolean) 国内/国际短信。true:国际短信,false:国内短信,若不传值则默认该值为false
  96. * "ProxyFile" => (string) 短信签名授权委托文件,需先进行base64编码格式转换,此处填写转换后的字符串。文件大小不超过4 MB;当您是代理并使用第三方的签名时(也即SigPurpose为1-他用),该项为必填项;
  97. * ]
  98. *
  99. * Outputs:
  100. *
  101. * $outputs = [
  102. * "SigId" => (string) 短信签名ID(短信签名申请时的工单ID)
  103. * ]
  104. *
  105. * @return CreateUSMSSignatureResponse
  106. * @throws UCloudException
  107. */
  108. public function createUSMSSignature(CreateUSMSSignatureRequest $request = null)
  109. {
  110. $resp = $this->invoke($request);
  111. return new CreateUSMSSignatureResponse($resp->toArray(), $resp->getRequestId());
  112. }
  113. /**
  114. * CreateUSMSTemplate - 调用接口CreateUSMSTemplate申请短信模板
  115. *
  116. * See also: https://docs.ucloud.cn/api/usms-api/create_usms_template
  117. *
  118. * Arguments:
  119. *
  120. * $args = [
  121. * "ProjectId" => (string) 项目ID,不填写为默认项目,子帐号必须填写。 请参考[GetProjectList接口](https://docs.ucloud.cn/api/summary/get_project_list)
  122. * "Purpose" => (integer) 短信模板用途类型:1-验证码类短信模板;2-系统通知类短信模板;3-会员推广类短信模板;
  123. * "TemplateName" => (string) 短信模板名称,不超过32个字符,每个中文、符号、英文、数字等都计为1个字。
  124. * "Template" => (string) 短信模板内容,说明如下:字数不超过500,每个中文、符号、英文、数组等都计为一个字;模板中的变量填写格式:{N},其中N为大于1的整数,有多个参数时,建议N从1开始顺次,例如:{1}、{2}等;短信模板禁止仅包括变量的情况;
  125. * "International" => (boolean) 标记是否为国际短信。true:国际短信,false:国内短信,若不传值则默认该值为false
  126. * "Remark" => (string) 短信模板申请原因说明,字数不超过128,每个中文、符号、英文、数字等都计为1个字。
  127. * "UnsubscribeInfo" => (string) 当Purpose为3时,也即会员推广类短信模板,该项必填。枚举值:TD退订、回T退订、回N退订、回TD退订、退订回T、退订回D、退订回TD、退订回复T、退订回复D、退订回复N、退订回复TD、拒收回T
  128. * "Instruction" => (string) 模板变量属性说明
  129. * ]
  130. *
  131. * Outputs:
  132. *
  133. * $outputs = [
  134. * "TemplateId" => (string) 短信模板ID(短信模板申请时的工单ID)
  135. * ]
  136. *
  137. * @return CreateUSMSTemplateResponse
  138. * @throws UCloudException
  139. */
  140. public function createUSMSTemplate(CreateUSMSTemplateRequest $request = null)
  141. {
  142. $resp = $this->invoke($request);
  143. return new CreateUSMSTemplateResponse($resp->toArray(), $resp->getRequestId());
  144. }
  145. /**
  146. * DeleteUSMSSignature - 调用接口DeleteUSMSSignature删除短信签名
  147. *
  148. * See also: https://docs.ucloud.cn/api/usms-api/delete_usms_signature
  149. *
  150. * Arguments:
  151. *
  152. * $args = [
  153. * "ProjectId" => (string) 项目ID,不填写为默认项目,子帐号必须填写。 请参考[GetProjectList接口](../summary/get_project_list.html)
  154. * "SigIds" => (array<string>) 签名ID(也即短信签名申请时的工单ID),支持以数组的方式,举例,以SigIds.0、SigIds.1...SigIds.N方式传入
  155. * ]
  156. *
  157. * Outputs:
  158. *
  159. * $outputs = [
  160. * ]
  161. *
  162. * @return DeleteUSMSSignatureResponse
  163. * @throws UCloudException
  164. */
  165. public function deleteUSMSSignature(DeleteUSMSSignatureRequest $request = null)
  166. {
  167. $resp = $this->invoke($request);
  168. return new DeleteUSMSSignatureResponse($resp->toArray(), $resp->getRequestId());
  169. }
  170. /**
  171. * DeleteUSMSTemplate - 调用接口DeleteUSMSTemplate删除短信模板
  172. *
  173. * See also: https://docs.ucloud.cn/api/usms-api/delete_usms_template
  174. *
  175. * Arguments:
  176. *
  177. * $args = [
  178. * "ProjectId" => (string) 项目ID。不填写为默认项目,子帐号必须填写。 请参考[GetProjectList接口](../summary/get_project_list.html)
  179. * "TemplateIds" => (array<string>) 模板ID(也即短信模板申请时的工单ID),支持以数组的方式,举例,以TemplateIds.0、TemplateIds.1...TemplateIds.N方式传入
  180. * ]
  181. *
  182. * Outputs:
  183. *
  184. * $outputs = [
  185. * ]
  186. *
  187. * @return DeleteUSMSTemplateResponse
  188. * @throws UCloudException
  189. */
  190. public function deleteUSMSTemplate(DeleteUSMSTemplateRequest $request = null)
  191. {
  192. $resp = $this->invoke($request);
  193. return new DeleteUSMSTemplateResponse($resp->toArray(), $resp->getRequestId());
  194. }
  195. /**
  196. * GetUSMSSendReceipt - 调用接口GetUSMSSendReceipt短信发送状态信息
  197. *
  198. * See also: https://docs.ucloud.cn/api/usms-api/get_usms_send_receipt
  199. *
  200. * Arguments:
  201. *
  202. * $args = [
  203. * "Region" => (string) 地域。 参见 [地域和可用区列表](https://docs.ucloud.cn/api/summary/regionlist)
  204. * "Zone" => (string) 可用区。参见 [可用区列表](https://docs.ucloud.cn/api/summary/regionlist)
  205. * "ProjectId" => (string) 项目ID。不填写为默认项目,子帐号必须填写。 请参考[GetProjectList接口](https://docs.ucloud.cn/api/summary/get_project_list)
  206. * "SessionNoSet" => (array<string>) 发送短信时返回的SessionNo集合,SessionNoSet.0,SessionNoSet.1....格式,单次调用集合数需控制在100个以内
  207. * ]
  208. *
  209. * Outputs:
  210. *
  211. * $outputs = [
  212. * "Data" => (array<object>) 回执信息集合[
  213. * [
  214. * "SessionNo" => (string) 发送短信时返回的SessionNo
  215. * "ReceiptSet" => (array<object>) 每个手机号的短信回执信息集合[
  216. * [
  217. * "Phone" => (string) 手机号码
  218. * "CostCount" => (integer) 消耗短信条数
  219. * "ReceiptResult" => (string) 回执结果,枚举值:\\ > 发送成功: 代表成功 \\ > Success: 代表成功 \\ > 发送失败: 代表失败 \\ > Fail: 代表失败 \\ > 状态未知: 代表未知 \\ > Unknow: 代表未知
  220. * "ReceiptCode" => (string) 状态报告编码
  221. * "ReceiptDesc" => (string) 回执结果描述
  222. * "ReceiptTime" => (integer) 回执返回时间
  223. * "UserId" => (string) 自定义的业务标识ID,字符串
  224. * ]
  225. * ]
  226. * ]
  227. * ]
  228. * ]
  229. *
  230. * @return GetUSMSSendReceiptResponse
  231. * @throws UCloudException
  232. */
  233. public function getUSMSSendReceipt(GetUSMSSendReceiptRequest $request = null)
  234. {
  235. $resp = $this->invoke($request);
  236. return new GetUSMSSendReceiptResponse($resp->toArray(), $resp->getRequestId());
  237. }
  238. /**
  239. * QueryUSMSSignature - 调用接口QueryUSMSSignature查询短信签名申请状态
  240. *
  241. * See also: https://docs.ucloud.cn/api/usms-api/query_usms_signature
  242. *
  243. * Arguments:
  244. *
  245. * $args = [
  246. * "ProjectId" => (string) 项目ID。不填写为默认项目,子帐号必须填写。 请参考[GetProjectList接口](../summary/get_project_list.html)
  247. * "SigId" => (string) 已申请的短信签名ID(短信签名申请时的工单ID);签名ID和签名至少需填写1项;
  248. * "SigContent" => (string) 签名内容;签名ID和签名至少需填写1项;
  249. * ]
  250. *
  251. * Outputs:
  252. *
  253. * $outputs = [
  254. * "Data" => (object) 签名信息[
  255. * "SigId" => (string) 签名ID
  256. * "SigContent" => (string) 签名内容
  257. * "Status" => (integer) 签名状态。0-待审核 1-审核中 2-审核通过 3-审核未通过 4-被禁用
  258. * "ErrDesc" => (string) 签名审核失败原因
  259. * ]
  260. * ]
  261. *
  262. * @return QueryUSMSSignatureResponse
  263. * @throws UCloudException
  264. */
  265. public function queryUSMSSignature(QueryUSMSSignatureRequest $request = null)
  266. {
  267. $resp = $this->invoke($request);
  268. return new QueryUSMSSignatureResponse($resp->toArray(), $resp->getRequestId());
  269. }
  270. /**
  271. * QueryUSMSTemplate - 调用接口QueryUSMSTemplate查询短信模板申请状态
  272. *
  273. * See also: https://docs.ucloud.cn/api/usms-api/query_usms_template
  274. *
  275. * Arguments:
  276. *
  277. * $args = [
  278. * "ProjectId" => (string) 项目ID。不填写为默认项目,子帐号必须填写。 请参考[GetProjectList接口](https://docs.ucloud.cn/api/summary/get_project_list)
  279. * "TemplateId" => (string) 模板ID
  280. * ]
  281. *
  282. * Outputs:
  283. *
  284. * $outputs = [
  285. * "Data" => (object) 短信模板明细信息,各字段说明详见OutTemplate[
  286. * "TemplateId" => (string) 短信模板ID
  287. * "Purpose" => (integer) 模板类型,选项:1-验证码类 2-通知类 3-会员推广类
  288. * "TemplateName" => (string) 短信模板名称
  289. * "Template" => (string) 短信模板内容
  290. * "UnsubscribeInfo" => (string) 退订信息;一般填写方式“回T退订”,当purpose为3(也即会员推广类)时,为必填项
  291. * "Status" => (integer) 短信模板状态;状态说明:0-待审核,1-审核中,2-审核通过,3-审核未通过,4-被禁用
  292. * "Remark" => (string) 模板说明
  293. * "ErrDesc" => (string) 审核失败原因
  294. * "CreateTime" => (integer) 创建时间
  295. * "Instruction" => (string) 模板变量属性说明
  296. * ]
  297. * ]
  298. *
  299. * @return QueryUSMSTemplateResponse
  300. * @throws UCloudException
  301. */
  302. public function queryUSMSTemplate(QueryUSMSTemplateRequest $request = null)
  303. {
  304. $resp = $this->invoke($request);
  305. return new QueryUSMSTemplateResponse($resp->toArray(), $resp->getRequestId());
  306. }
  307. /**
  308. * SendBatchUSMSMessage - 调用SendBatchUSMSMessage接口批量发送短信
  309. *
  310. * See also: https://docs.ucloud.cn/api/usms-api/send_batch_usms_message
  311. *
  312. * Arguments:
  313. *
  314. * $args = [
  315. * "ProjectId" => (string) 项目ID。不填写为默认项目,子帐号必须填写。 请参考[GetProjectList接口](https://docs.ucloud.cn/api/summary/get_project_list)
  316. * "TaskContent" => (string) 批量发送内容,该参数是json数组的base64编码结果。发送内容json数组中,每个“模板+签名”组合作为一个子项,每个子项内支持多个号码,示例:发送内容json数组(base64编码前):[{"TemplateId": "UTA20212831C85C", "SigContent": "UCloud", "Target": [{"TemplateParams": ["123456"], "Phone": "18500000123", "ExtendCode": "123", "UserId": "456"} ] } ] 。json数组中各参数的定义:"TemplateId":模板ID,"SigContent"短信签名内容,"Target"具体到号码粒度的发送内容。"Target"中的具体字段有:"TemplateParams"实际发送的模板参数(若使用的是无参数模板,该参数不能传值),"Phone"手机号码, "ExtendCode"短信扩展码, "UserId"自定义业务标识ID。其中必传参数为"TemplateId", "SigContent", "Target"("Target"中必传参数为"Phone")。实际调用本接口时TaskContent传值(发送内容base64编码后)为:W3siVGVtcGxhdGVJZCI6ICJVVEEyMDIxMjgzMUM4NUMiLCAiU2lnQ29udGVudCI6ICJVQ2xvdWQiLCAiVGFyZ2V0IjogW3siVGVtcGxhdGVQYXJhbXMiOiBbIjEyMzQ1NiJdLCAiUGhvbmUiOiAiMTg1MDAwMDAxMjMiLCAiRXh0ZW5kQ29kZSI6ICIxMjMiLCAiVXNlcklkIjogIjQ1NiJ9IF0gfSBdIA==
  317. * ]
  318. *
  319. * Outputs:
  320. *
  321. * $outputs = [
  322. * "SessionNo" => (string) 本次提交发送任务的唯一ID,可根据该值查询本次发送的短信列表。注:成功提交短信数大于0时,才返回该字段
  323. * "ReqUuid" => (string) 本次请求Uuid
  324. * "SuccessCount" => (integer) 成功提交短信(未拆分)条数
  325. * "FailContent" => (array<object>) 未发送成功的详情,返回码非0时该字段有效,可根据该字段数据重发[
  326. * [
  327. * "TemplateId" => (string) 模板ID
  328. * "SigContent" => (string) 签名
  329. * "Target" => (array<object>) 具体号码信息[
  330. * [
  331. * "TemplateParams" => (array<string>) 模板参数
  332. * "Phone" => (string) 手机号
  333. * "ExtendCode" => (string) 扩展号码
  334. * "UserId" => (string) 用户自定义ID
  335. * "FailureDetails" => (string) 发送失败原因。注:若模板/签名校验失败,该字段为空
  336. * ]
  337. * ]
  338. * "FailureDetails" => (string) 未能成功发送的详情。注:模板/签名检验失败时,该字段有效
  339. * ]
  340. * ]
  341. * ]
  342. *
  343. * @return SendBatchUSMSMessageResponse
  344. * @throws UCloudException
  345. */
  346. public function sendBatchUSMSMessage(SendBatchUSMSMessageRequest $request = null)
  347. {
  348. $resp = $this->invoke($request);
  349. return new SendBatchUSMSMessageResponse($resp->toArray(), $resp->getRequestId());
  350. }
  351. /**
  352. * SendUSMSMessage - 调用接口SendUSMSMessage发送短信
  353. *
  354. * See also: https://docs.ucloud.cn/api/usms-api/send_usms_message
  355. *
  356. * Arguments:
  357. *
  358. * $args = [
  359. * "ProjectId" => (string) 项目ID。不填写为默认项目,子帐号必须填写。 请参考[GetProjectList接口](https://docs.ucloud.cn/api/summary/get_project_list)
  360. * "PhoneNumbers" => (array<string>) 电话号码数组,电话号码格式为(60)1xxxxxxxx,()中为国际长途区号(如中国为86或0086,两种格式都支持),后面为电话号码.若不传入国际区号,如1851623xxxx,则默认为国内手机号
  361. * "TemplateId" => (string) 模板ID(也即短信模板申请时的工单ID),请到[USMS控制台](https://console.ucloud.cn/usms)的模板管理页面查看;使用的短信模板必须是已申请并通过审核;
  362. * "SigContent" => (string) 短信签名内容,请到[USMS控制台](https://console.ucloud.cn/usms)的签名管理页面查看;使用的短信签名必须是已申请并且通过审核;
  363. * "TemplateParams" => (array<string>) 模板可变参数,以数组的方式填写,举例,TemplateParams.0,TemplateParams.1,... 若模板中无可变参数,则该项可不填写;若模板中有可变参数,则该项为必填项,参数个数需与变量个数保持一致,否则无法发送;
  364. * "ExtendCode" => (string) 短信扩展码,格式为阿拉伯数字串,默认不开通,如需开通请联系 UCloud技术支持
  365. * "UserId" => (string) 自定义的业务标识ID,字符串( 长度不能超过32 位),不支持 单引号、表情包符号等特殊字符
  366. * ]
  367. *
  368. * Outputs:
  369. *
  370. * $outputs = [
  371. * "SessionNo" => (string) 本次提交发送的短信的唯一ID,可根据该值查询本次发送的短信列表
  372. * "UserId" => (string) 本次提交的自定义业务标识ID,仅当发送时传入有效的UserId,才返回该字段。
  373. * ]
  374. *
  375. * @return SendUSMSMessageResponse
  376. * @throws UCloudException
  377. */
  378. public function sendUSMSMessage(SendUSMSMessageRequest $request = null)
  379. {
  380. $resp = $this->invoke($request);
  381. return new SendUSMSMessageResponse($resp->toArray(), $resp->getRequestId());
  382. }
  383. /**
  384. * UpdateUSMSSignature - 调用接口UpdateUSMSSignature修改未通过审核的短信签名,并重新提交审核
  385. *
  386. * See also: https://docs.ucloud.cn/api/usms-api/update_usms_signature
  387. *
  388. * Arguments:
  389. *
  390. * $args = [
  391. * "ProjectId" => (string) 项目ID,不填写为默认项目,子帐号必须填写。 请参考[GetProjectList接口](https://docs.ucloud.cn/api/summary/get_project_list)
  392. * "SigId" => (string) 签名ID(也即短信签名申请时的工单ID),支持以数组的方式,举例,以SigIds.0、SigIds.1...SigIds.N方式传入
  393. * "SigContent" => (string) 新的短信签名内容;长度为2-12个字符, 可包含中文、数字和符号;无需填写【】或[],系统会自动添加
  394. * "SigType" => (integer) 签名类型,说明如下:0-公司或企业的全称或简称;1-App应用的全称或简称;2-工信部备案网站的全称或简称;3-公众号或小程序的全称或简称;4-商标名的全称或简称;5-政府/机关事业单位/其他单位的全称或简称;
  395. * "SigPurpose" => (integer) 签名用途,0-自用,1-他用;
  396. * "File" => (string) 短信签名的资质证明文件内容,需先进行base64编码格式转换,此处填写转换后的字符串。文件大小不超过4 MB。内容格式如下: [file type];[code type],[base64] 如:image/jpeg;base64,5YaF5a65
  397. * "CertificateType" => (integer) 签名的资质证明文件类型,需与签名类型保持一致,说明如下:0-三证合一/企业营业执照/组织机构代码证书/社会信用代码证书;1-应用商店后台开发者管理截图;2-备案服务商的备案成功截图(含域名,网站名称,备案号);3-公众号或小程序的管理界面截图;4-商标注册证书;5-组织机构代码证书、社会信用代码证书;
  398. * "ProxyFile" => (string) 短信签名授权委托文件内容,需先进行base64编码格式转换,此处填写转换后的字符串。文件大小不超过4 MB;当您是代理并使用第三方的签名时(也即SigPurpose为1-他用),该项为必填项;格式和File类似。
  399. * "Document" => (string) 短信签名的资质证明文件URL,若未更改审核材料,则该处使用已上传审核材料的URL链接,否则使用File参数
  400. * "ProxyDoc" => (string) 短信签名授权委托文件URL,若未更改授权委托文件,则该处填写已上传的授权委托文件的URL链接,否则使用ProxyFile参数
  401. * ]
  402. *
  403. * Outputs:
  404. *
  405. * $outputs = [
  406. * ]
  407. *
  408. * @return UpdateUSMSSignatureResponse
  409. * @throws UCloudException
  410. */
  411. public function updateUSMSSignature(UpdateUSMSSignatureRequest $request = null)
  412. {
  413. $resp = $this->invoke($request);
  414. return new UpdateUSMSSignatureResponse($resp->toArray(), $resp->getRequestId());
  415. }
  416. /**
  417. * UpdateUSMSTemplate - 调用接口UpdateUSMSTemplate修改未通过审核的短信模板,并重新提交审核
  418. *
  419. * See also: https://docs.ucloud.cn/api/usms-api/update_usms_template
  420. *
  421. * Arguments:
  422. *
  423. * $args = [
  424. * "ProjectId" => (string) 项目ID。不填写为默认项目,子帐号必须填写。 请参考[GetProjectList接口](https://docs.ucloud.cn/api/summary/get_project_list)
  425. * "TemplateId" => (string) 短信模板ID
  426. * "Template" => (string) 新的模板内容。模板名称和模板内容必须提供一个,否则会报错。小于等于600个字
  427. * "TemplateName" => (string) 新的模板名称。小于等于32个字,每个中文、英文、数组、符合都计为一个字
  428. * "Remark" => (string) 短信模板申请原因说明,字数不超过128,每个中文、符号、英文、数字等都计为1个字。
  429. * "Instruction" => (string) 模板变量属性说明
  430. * ]
  431. *
  432. * Outputs:
  433. *
  434. * $outputs = [
  435. * ]
  436. *
  437. * @return UpdateUSMSTemplateResponse
  438. * @throws UCloudException
  439. */
  440. public function updateUSMSTemplate(UpdateUSMSTemplateRequest $request = null)
  441. {
  442. $resp = $this->invoke($request);
  443. return new UpdateUSMSTemplateResponse($resp->toArray(), $resp->getRequestId());
  444. }
  445. }