
# 新手必读
感谢您选用华为云消息\&短信服务（Message\&SMS），消息\&短信是华为云携手全球多家优质运营商和渠道，为企业用户提供的优质通信服务。
本文将带您一步步地使用华为云短信服务进行二次开发。希望您能通过本文的介绍快速学习并灵活地使用短信平台进行二次代码开发和部署。
#### 业务流程
本节为您介绍新手开发者进行二次开发的业务流程。
![](https://support.huaweicloud.com/devg-msgsms/figure/zh-cn_image_0000001174432655.png "点击放大")
1. 获取调用短信API的关联数据，关联数据可参考[开发准备](https://support.huaweicloud.com/devg-msgsms/sms_04_0006.html)。
2. 发起短信发送请求，参考[代码样例](https://support.huaweicloud.com/devg-msgsms/sms_04_0002.html)调用短信API。
3. 根据请求响应消息，判断请求是否成功。
   - 请求成功 =\> [4]
   
   - 请求失败 =\> 参考[API错误码](https://support.huaweicloud.com/api-msgsms/sms_05_0050.html)，修正后重新执行[2]
    
4. 根据短信发送请求，判断请求是否通过"statusCallback"参数指定了状态报告回调地址。
   - 是 =\> 查看接收到的状态报告
   
   - 否 =\> 登录短信控制台，进入"发送详情"页查看发送结果、状态码
    
5. 根据状态报告通知，判断短信是否发送成功。
   - 是 =\> 结束
   
   - 否 =\> 参考[状态回执错误码](https://support.huaweicloud.com/api-msgsms/sms_05_0051.html)，修正后重新执行[2]
     如有任何疑问，请联系 [华为云智能客服](https://console.huaweicloud.com/smartadvisor/#/)，将有专人为您解答。
     
    
 
#### 调测指引
本节为您介绍新手开发者进行二次开发的调测点指引。
![](https://support.huaweicloud.com/devg-msgsms/figure/zh-cn_image_0000001128552906.png "点击放大")
![](https://support.huaweicloud.com/devg-msgsms/public_sys-resources/note_3.0-zh-cn.png)
短信中心包括移动、联通、电信、广电、供应商（线路代理商）。
- **Check 1** ：合法性检查。在发起发送短信请求前，对请求参数合法性做必要的检查，如：
  - 请求Headers参数"Content-Type"在发送短信API中取值为application/x-www-form-urlencoded，在发送分批短信API中取值为application/json。
  
  - 请求Body参数"to"在发送短信API中取值为字符串，在发送分批短信API中取值为字符串数组。
  
  - 如果需要接收短信状态报告通知，则"statusCallback"参数值不能为空，且地址有效可达。
  
  - 如果"templateId"指定的模板类型为通用模板，则必须通过"signature"指定在通用模板短信内容前面补充的签名。
   
- **Check 2** ：结果码解析。获取请求结果时，请解析出响应结果码，并参考[API错误码](https://support.huaweicloud.com/api-msgsms/sms_05_0050.html)中的处理建议进行修正。
  ```
  HTTP/1.1 200 OK
  Date: Fri, 13 Apr 2018 06:29:08 GMT
  Server: WebServer
  Content-Type: application/json;charset=UTF-8
  Content-Length: 220
  {"result":[{"originTo":"+86155****5678","createTime":"2018-05-25T16:34:34Z","from":"1069-******0012","smsMsgId":"d6e3cdd0-522b-4692-8304-a07553cdf591_8539659","status":"000000"}],"code":"000000","description":"Success"}
  ```
  其中，"code"取值为"E000510"时，还需解析"status"参数值，进行定位分析。
  
- **Check 3** ：解析拦截状态码。所发短信内容触发华为平台拦截时，华为云短信服务会推送状态报告通知给客户，请解析出状态码，并参考[状态回执错误码](https://support.huaweicloud.com/api-msgsms/sms_05_0051.html)中"状态码来源"为"华为平台"的处理建议进行修正。
  ![](https://support.huaweicloud.com/devg-msgsms/public_sys-resources/note_3.0-zh-cn.png)
  仅在[发送短信请求]中"statusCallback"参数已设置回调地址时，华为云短信服务才会推送状态报告通知。否则，请登录短信控制台，进入发送详情页查看状态码。
  
- **Check 4** ：解析送达状态码。华为云短信服务收到短信中心的短信状态通知时，会推送状态报告通知给客户，请解析出状态码，并参考[状态回执错误码](https://support.huaweicloud.com/api-msgsms/sms_05_0051.html)中的处理建议进行修正。
  ![](https://support.huaweicloud.com/devg-msgsms/public_sys-resources/note_3.0-zh-cn.png)
  仅在[发送短信请求]中"statusCallback"参数已设置回调地址时，华为云短信服务才会推送状态报告通知。否则，请登录短信控制台，进入发送详情页查看状态码。
  如有任何疑问，请联系[华为云智能客服](https://console.huaweicloud.com/smartadvisor/#/)，将有专人为您解答。
  
 
