第三方短信平台接口规范

为了在用户营销模块使用将第三方短信平台,当您进行第三方短信平台开发时,需要遵守下面的各功能接口规范。

短信请求通用参数

URL参数

含义

示例

timestamp

秒级时间戳

1631865523

nonce

32位随机字符串

2e6eceb5737b473284c930c8ef79090e

请求URL示例:

{第三方短信所有接口的url}?timestamp=1631865523&nonce=2e6eceb5737b473284c930c8ef79090e

Header

含义

说明

X-QA-Hmac-Signature

权鉴签名

开启权鉴时使用,权鉴方式见下文。

未开启权鉴时,该Header填空字符串""。

短信请求权鉴

若短信需要鉴权,在配置第三方短信接口时开启权鉴并填写密钥,参见新建第三方短信平台接口

QuickAudience会根据用户填写的密钥与URL请求参数timestamp和nonce进行HmacSHA256Hex签名并生成signature,并将此signature通过Request Header传递。您的服务接收到请求后,同样根据URL参数与webhook通道配置的密钥进行HmacSHA256Hex算法加密。如果计算的值与从Request Header中传过来的signature相同,则可以确定是此请求是从QuickAudience发出的,鉴权成功。

参数

含义

示例

key

webhook配置的密钥

123456789

签名算法示例:

public String makeSignature(String key, String timestamp, String nonce) {
   String str = generateStr(key, timestamp, nonce);
    return HmacUtils.hmacSha256Hex(key, str.replaceAll("\\s+", ""));
} 

/**
 * 签名待处理的字符串拼接
 */
public static String generateStr(String key, String timestamp, String nonce){
    String[] array = new String[] { key, timestamp, nonce};
    StringBuffer sb = new StringBuffer();
    // 字符串排序
    Arrays.sort(array);
    for (int i = 0; i < 3; i++) {
        sb.append(array[i]);
    }
    return sb.toString();
}

1、短信签名审核状态查询接口

接口描述

短信签名审核状态查询

URL

${prefix}/sms/smsSign/{signName}?timestamp=&nonce=

请求方式

get

请求类型

application/json

返回类型

*/*

参数名

数据类型

参数类型

是否必填

说明

1.signName

string

path

短信签名。

状态码

描述

说明

200

OK

请求成功。

401

Unauthorized

请求未经授权。

403

Forbidden

请求被拒绝。

404

Not Found

请求的资源不存在。

返回属性名

类型

说明

1.platformName

string

短信服务方名称,与接口配置时填写的接口名称一致。

2.code

string

请求状态码,200或OK表示成功。

3.createDate

string

短信签名的创建日期和时间,如:2019-01-08 16:44:13。

4.message

string

状态码描述。

5.reason

string

审核备注。如果审核状态为审核通过或审核中,参数Reason显示为“无审核备注”;如果审核状态为审核未通过,参数Reason显示审核的具体原因。

6.requestId

string

请求ID。

7.signName

string

短信签名。

8.signStatus

integer(int32)

签名审核状态。

  • 0:审核中。

  • 1:审核通过。

  • 2:审核失败,在返回参数Reason中查看审核失败原因。

示例

请求参数

无示例

返回值

{"reason":"string","code":"string","signName":"string","requestId":"string","signStatus":0,"platformName":"string","message":"string","createDate":"string"}

2、文本短信模板创建接口

接口描述

短信模板审核

URL

${prefix}/sms/smsTemplate?timestamp=&nonce=

请求方式

post

请求类型

application/json

返回类型

*/*

参数名

数据类型

参数类型

是否必填

说明

1.remark

string

body

短信模板申请说明。在申请说明中描述业务使用场景,长度为1~100个字符。

2.templateContent

string

模板内容,长度为1~500个字符。

3.templateName

string

模板名称,长度为1~30个字符。

4.templateType

string

短信类型。

  • 0:验证码。

  • 1:短信通知。

  • 2:推广短信。

  • 3:国际/中国香港、中国澳门和中国台湾消息。

5.creatorAccount

string

模板创建人Quick Audience账号,长度为1~255个字符。

状态码

描述

说明

200

OK

请求成功。

401

Unauthorized

请求未经授权。

403

Forbidden

请求被拒绝。

404

Not Found

请求的资源不存在。

返回属性名

类型

说明

1.platformName

string

短信服务方名称,与接口配置时填写的接口名称一致。

2.code

string

请求状态码,200或OK表示成功。

3.message

string

状态码描述。

4.requestId

string

请求ID。

5.templateCode

string

短信模板code,用于查看模板申请状态和结果。

示例

请求参数

-d '{"remark":"string","templateContent":"string","templateName":"string","templateSubject":"string","templateType":0,"creatorAccount":"string"}'

返回值

{"platformName":"string","code":"string","templateCode":"string","message":"string","requestId":"string"}

3、文本短信模板修改接口

接口描述

短信模板修改

URL

${prefix}/sms/smsTemplate/{templateCode}?timestamp=&nonce=

请求方式

put

请求类型

application/json

返回类型

*/*

参数名

数据类型

参数类型

是否必填

说明

1.remark

string

body

短信模板申请说明。在申请说明中描述业务使用场景,长度为1~100个字符。

2.templateContent

string

模板内容,长度为1~500个字符。

3.templateName

string

模板名称,长度为1~30个字符。

4.templateType

string

短信类型。

  • 0:验证码。

  • 1:短信通知。

  • 2:推广短信。

  • 3:国际/中国香港、中国澳门和中国台湾消息。

5.modifierAccount

string

模板修改人Quick Audience账号,长度为1~255个字符。

状态码

描述

说明

200

OK

请求成功。

401

Unauthorized

请求未经授权。

403

Forbidden

请求被拒绝。

404

Not Found

请求的资源不存在。

返回属性名

类型

说明

1.platformName

string

短信服务方名称,与接口配置时填写的接口名称一致。

2.code

string

请求状态码,200或OK表示成功。

3.message

string

状态码描述。

4.requestId

string

请求ID。

5.templateCode

string

短信模板code,用于查看模板申请状态和结果。

示例

请求参数

-d '{"remark":"string","templateContent":"string","templateName":"string","templateSubject":"string","templateType":0,"modifierAccount":"string"}'

返回值

{"platformName":"string","code":"string","templateCode":"string","message":"string","requestId":"string"}

4、短信模板审核状态查询接口

接口描述

短信模板审核状态查询

URL

${prefix}/sms/smsTemplate/{templateCode}?timestamp=&nonce=

请求方式

get

请求类型

application/json

返回类型

*/*

参数名

数据类型

参数类型

是否必填

说明

1.templateCode

string

path

模板code。

状态码

描述

说明

200

OK

请求成功。

401

Unauthorized

请求未经授权。

403

Forbidden

请求被拒绝。

404

Not Found

请求的资源不存在。

返回属性名

类型

说明

1.platformName

string

服务方名称,与接口配置时填写的接口名称一致。

2.code

string

请求状态码,200或OK表示成功。

3.createDate

string

模板的创建日期和时间,如:2019-01-08 16:44:13。

4.message

string

状态码描述。

5.reason

string

审核备注。如果审核状态为审核通过或审核中,参数Reason显示为“无审核备注”;如果审核状态为审核未通过,参数Reason显示审核的具体原因。

6.requestId

string

请求ID。

7.templateCode

string

模板code。

8.templateContent

string

模板内容。

9.templateName

string

模板名称。

10.templateStatus

integer(int32)

模板审核状态。

  • 0:审核中。

  • 1:审核通过。

  • 2:审核失败,在返回参数Reason中查看审核失败原因。

11.templateType

integer(int32)

短信模板类型。

  • 0:验证码。

  • 1:短信通知。

  • 2:推广短信。

  • 3:国际/中国香港、中国澳门和中国台湾消息。

示例

请求参数

无示例

返回值

{"templateStatus":0,"templateType":0,"reason":"string","code":"string","templateName":"string","requestId":"string","templateContent":"string","platformName":"string","templateCode":"string","message":"string","createDate":"string"}

5、批量短信发送接口1(不建议使用)

本批量短信发送接口通过将手机号码文件存放在OSS来指定要发送的手机号码。后续将逐渐减少使用本接口,转为使用6、批量短信发送接口2(推荐使用)

接口描述

批量短信发送,手机号存储于OSS。

URL

${prefix}/sms/sendBatch?timestamp=&nonce=

请求方式

post

请求类型

application/json

返回类型

*/*

参数名

数据类型

参数类型

是否必填

说明

1.limit

integer(int64)

body

发送人数限制。

2.outId

string

外部流水扩展字段。

3.phoneOssUrl

string

接收短信的手机号码文件所在的OSS路径。文件格式txt。

国内短信:11位手机号码,例如159********;国际/中国香港、中国澳门和中国台湾消息:国际区号+号码,例如85200******。每个号码一行。变量短信会在每行手机号后面加上变量名称与替换值内容。例如:{"name":"TemplateParamJson","age":"age"}。

4.signName

string

短信签名名称。

5.templateCode

string

模板code。

6.isVariable

integer(int64)

是否是变量短信。

  • 0:不是变量短信。

  • 1:是变量短信。

状态码

描述

说明

200

OK

请求成功。

401

Unauthorized

请求未经授权。

403

Forbidden

请求被拒绝。

404

Not Found

请求的资源不存在。

返回属性名

类型

说明

1.bizId

string

发送回执ID。

2.platformName

string

服务方名称,与接口配置时填写的接口名称一致。

3.code

string

请求状态码,200或OK表示成功。

4.message

string

状态码描述。

5.requestId

string

请求ID。

示例

请求参数

-d '{"limit":0,"outId":"string","phoneOssUrl":"string","signName":"string","templateCode":"string","isVariable":"string"}'

返回值

{"bizId":"string","platformName":"string","code":"string","message":"string","requestId":"string"}

6、批量短信发送接口2(推荐使用)

本批量短信发送接口直接发送手机号码列表。

接口描述

批量短信发送

URL

${prefix}/sms/sendBatchList?timestamp=&nonce=

请求方式

post

请求类型

application/json

返回类型

*/*

参数名

数据类型

参数类型

是否必填

说明

1.limit

integer(int64)

body

发送人数限制。

2.outId

string

外部流水扩展字段。

3.phoneNumberJson

List

接收短信的手机号码列表。例如:["1390000****","1390001****"]。(备注:****为本文档脱敏使用,实际使用过程中请使用11位明文数字手机号)

4.templateParamJson

string

短信模板变量对应的实际值列表。例如:[{"name":"aaa","age":123},{"name":"bbb","age":456}]。

一个{}内为一个手机号对应的所有变量值,顺序与手机号相同。

5.signName

string

短信签名名称。

6.templateCode

string

模板code。

7.relatedAudienceId

string

关联人群ID,当关联营销活动类型为自动化营销活动时,如果是行为事件组件开始的活动,则人群ID传null;如果是目标人群组件开始的活动,人群ID可能存在多个,多个之间用“,”分隔。注意:仅为关联的人群ID,不表示真实短信发送的数量。

8.relatedTaskId

string

关联营销活动ID。

9.relatedTaskType

integer(int64)

关联营销活动类型。

  • 1:触达营销。

  • 2:自动化营销。

10.taskCreatorAccount

string

关联营销活动创建人Quick Audience账号,最大长度为36个字符。

状态码

描述

说明

200

OK

请求成功。

401

Unauthorized

请求未经授权。

403

Forbidden

请求被拒绝。

404

Not Found

请求的资源不存在。

返回属性名

类型

说明

1.bizId

string

发送回执ID。

2.platformName

string

服务方名称,与接口配置时填写的接口名称一致。

3.code

string

请求状态码,200或OK表示成功。

4.message

string

状态码描述。

5.requestId

string

请求ID。

示例

请求参数

-d '{"limit":0,"relatedAudienceId":"string","relatedTaskId":"string","relatedTaskType":1,"taskCreatorAccount":"string","outId":"string","signName":"string","templateCode":"string","phoneNumberJson":["1390000****","1390001****"],"templateParamJson":[{"name":"aaa","age":123},{"name":"bbb","age":456}]}'

(备注:手机号中****为本文档脱敏使用,实际使用过程中请使用11位明文数字手机号)

返回值

{"bizId":"string","platformName":"string","code":"string","message":"string","requestId":"string"}

7、创建数字短信模板接口

本批量短信发送接口直接发送手机号码列表。

接口描述

数字短信模板创建

URL

${prefix}/sms/digitalSmsTemplate?timestamp=&nonce=

请求方式

post

请求类型

application/json

返回类型

*/*

参数名

数据类型

参数类型

是否必填

说明

1.remark

string

body

短信模板申请说明。在申请说明中描述业务使用场景,长度为1~100个字符。

2.templateContent

string

模板内容,是一个列表,包含文本、图片、视频。列表中每个元素是key-value。如:"[{"fileSuffix":"jpg","fileName":"文件名称","fileSize":"23","fileContents":"url","index","1"},{"fileSuffix":"txt","fileName":"","fileSize":"10","fileContents":"文字","index","2"}]"

3.templateTheme

string

模板主题,长度为1~30个字符。

4.smsSignName

短信签名

5.creatorAccount

string

模板创建人Quick Audience账号,长度为1~255个字符。

6.isVariable

boolean

是否带变量。true为含变量模板,false为不含变量模板

状态码

描述

说明

200

OK

请求成功。

401

Unauthorized

请求未经授权。

403

Forbidden

请求被拒绝。

404

Not Found

请求的资源不存在。

返回属性名

类型

说明

1.platformName

string

短信服务方名称,与接口配置时填写的接口名称一致。

2.code

string

请求状态码,200或OK表示成功。

3.message

string

状态码描述。

4.requestId

string

请求ID。

5.templateCode

string

短信模板code,用于查看模板申请状态和结果。

示例

请求参数

-d '{"remark":"string","templateContent":"[{"fileSuffix":"jpg","fileName":"文件名称","fileSize":"23","fileContents":"url","index","1"},{"fileSuffix":"txt","fileName":"","fileSize":"10","fileContents":"文字","index","2"}]","templateTheme":"string","templateSubject":"string","creatorAccount":"string","isVariable":true}'

备注:templateContent是list转成的String,fileSuffix是文件后缀,fileName是文件名称,

fileSize是文件大小,fileContents是文件内容(文本就是文本,图片视频音频则是QA的公网可访问的oss地址,有效期一年,可以根据这个url下载),index是文件的顺序。

返回值

{"platformName":"string","code":"string","templateCode":"string","message":"string","requestId":"string"}

8、编辑数字短信模板接口

接口描述

数字短信模板创建

URL

${prefix}/sms/digitalSmsTemplate/{templateCode}?timestamp=&nonce=

请求方式

put

请求类型

application/json

返回类型

*/*

参数名

数据类型

参数类型

是否必填

说明

1.remark

string

body

短信模板申请说明。在申请说明中描述业务使用场景,长度为1~100个字符。

2.templateContent

string

模板内容,是一个列表,包含文本、图片、视频。列表中每个元素是key-value。如:"[{"fileSuffix":"jpg","fileName":"文件名称","fileSize":"23","fileContents":"url","index","1"},{"fileSuffix":"txt","fileName":"","fileSize":"10","fileContents":"文字","index","2"}]"

3.templateTheme

string

模板主题,长度为1~30个字符。

4.smsSignName

短信签名

5.creatorAccount

string

模板创建人Quick Audience账号,长度为1~255个字符。

6.isVariable

boolean

是否带变量。true为含变量模板,false为不含变量模板

状态码

描述

说明

200

OK

请求成功。

401

Unauthorized

请求未经授权。

403

Forbidden

请求被拒绝。

404

Not Found

请求的资源不存在。

返回属性名

类型

说明

1.platformName

string

短信服务方名称,与接口配置时填写的接口名称一致。

2.code

string

请求状态码,200或OK表示成功。

3.message

string

状态码描述。

4.requestId

string

请求ID。

5.templateCode

string

短信模板code,用于查看模板申请状态和结果。

示例

请求参数

-d '{"remark":"string","templateContent":"[{"fileSuffix":"jpg","fileName":"文件名称","fileSize":"23","fileContents":"url","index","1"},{"fileSuffix":"txt","fileName":"","fileSize":"10","fileContents":"文字","index","2"}]","templateTheme":"string","templateSubject":"string","creatorAccount":"string","isVariable":true}'

备注:templateContent是list转成的String,fileSuffix是文件后缀,fileName是文件名称,

fileSize是文件大小,fileContents是文件内容(文本就是文本,图片视频音频则是QA的公网可访问的oss地址,有效期一年,可以根据这个url下载),index是文件的顺序。

返回值

{"platformName":"string","code":"string","templateCode":"string","message":"string","requestId":"string"}

9、删除数字短信模板接口

接口描述

数字短信模板创建

URL

${prefix}/sms/digitalSmsTemplate/{templateCode}?timestamp=&nonce=

请求方式

delete

请求类型

application/json

返回类型

*/*

参数名

数据类型

参数类型

是否必填

说明

templateCode

string

模板code。创建模板时返回的code

状态码

描述

说明

200

OK

请求成功。

401

Unauthorized

请求未经授权。

403

Forbidden

请求被拒绝。

404

Not Found

请求的资源不存在。

返回属性名

类型

说明

1.platformName

string

短信服务方名称,与接口配置时填写的接口名称一致。

2.code

string

请求状态码,200或OK表示成功。

3.message

string

状态码描述。

4.requestId

string

请求ID。

5.templateCode

string

短信模板code,用于查看模板申请状态和结果。

示例

请求参数

无示例

返回值

{"platformName":"string","code":"string","templateCode":"string","message":"string","requestId":"string"}

10、数字短信模板审核状态查询接口

接口描述

短信模板审核状态查询

URL

${prefix}/sms/digitalSmsTemplate/{templateCode}?timestamp=&nonce=

请求方式

get

请求类型

application/json

返回类型

*/*

参数名

数据类型

参数类型

是否必填

说明

1.templateCode

string

path

模板code。

状态码

描述

说明

200

OK

请求成功。

401

Unauthorized

请求未经授权。

403

Forbidden

请求被拒绝。

404

Not Found

请求的资源不存在。

返回属性名

类型

说明

1.platformName

string

服务方名称,与接口配置时填写的接口名称一致。

2.code

string

请求状态码,200或OK表示成功。

3.createDate

string

模板的创建日期和时间,如:2019-01-08 16:44:13。

4.message

string

状态码描述。

5.reason

string

审核备注。如果审核状态为审核通过或审核中,参数Reason显示为“无审核备注”;如果审核状态为审核未通过,参数Reason显示审核的具体原因。

6.requestId

string

请求ID。

7.templateCode

string

模板code。

8.supportFactory

string

各运营商的审核状态,是个map,key为运营商的名称,比如联通是UNICOM、移动是MOBILE、电信是TELCOM。如:{"UNICOM":"成功","MOBILE":"失败原因","TELCOM":"失败原因"}

9.templateName

string

模板名称。

10.templateStatus

integer(int32)

模板审核状态。

  • 0:审核中。

  • 1:审核通过。

  • 2:部分成功

  • 3:审核失败,在返回参数Reason中查看审核失败原因。

示例

请求参数

无示例

返回值

{"templateStatus":0,"reason":"string","code":"string","templateName":"string","requestId":"string","supportFactory":"{"UNICOM":"成功","MOBILE":"失败原因","TELCOM":"失败原因"}","platformName":"string","templateCode":"string","message":"string","createDate":"string"}

11、数字短信批量发送接口

本批量短信发送接口直接发送手机号码列表。

接口描述

批量短信发送

URL

${prefix}/sms/sendDigitalBatchList?timestamp=&nonce=

请求方式

post

请求类型

application/json

返回类型

*/*

参数名

数据类型

参数类型

是否必填

说明

1.limit

integer(int64)

body

发送人数限制。

2.outId

string

外部流水扩展字段。

3.phoneNumberJson

List

接收短信的手机号码列表。例如:["1390000****","1390001****"]。(备注:手机号中****为本文档脱敏使用,实际使用过程中请使用11位明文数字手机号)

4.templateParamJson

string

短信模板变量对应的实际值列表。例如:[{"name":"aaa","age":123},{"name":"bbb","age":456}]。

一个{}内为一个手机号对应的所有变量值,顺序与手机号相同。

5.signName

string

短信签名名称。

6.templateCode

string

模板code。

7.relatedAudienceId

string

关联人群ID,当关联营销活动类型为自动化营销活动时,如果是行为事件组件开始的活动,则人群ID传null;如果是目标人群组件开始的活动,人群ID可能存在多个,多个之间用“,”分隔。注意:仅为关联的人群ID,不表示真实短信发送的数量。

8.relatedTaskId

string

关联营销活动ID。

9.relatedTaskType

integer(int64)

关联营销活动类型。

  • 1:触达营销。

  • 2:自动化营销。

10.taskCreatorAccount

string

关联营销活动创建人Quick Audience账号,最大长度为36个字符。

状态码

描述

说明

200

OK

请求成功。

401

Unauthorized

请求未经授权。

403

Forbidden

请求被拒绝。

404

Not Found

请求的资源不存在。

返回属性名

类型

说明

1.bizId

string

发送回执ID。

2.platformName

string

服务方名称,与接口配置时填写的接口名称一致。

3.code

string

请求状态码,200或OK表示成功。

4.message

string

状态码描述。

5.requestId

string

请求ID。

示例

请求参数

-d '{"limit":0,"relatedAudienceId":"string","relatedTaskId":"string","relatedTaskType":1,"taskCreatorAccount":"string","outId":"string","signName":"string","templateCode":"string","phoneNumberJson":["1390000****","1390001****"],"templateParamJson":[{"name":"aaa","age":123},{"name":"bbb","age":456}]}'

(备注:手机号中****为本文档脱敏使用,实际使用过程中请使用11位明文数字手机号)

返回值

{"bizId":"string","platformName":"string","code":"string","message":"string","requestId":"string"}

12、短信发送明细查询接口(不推荐使用)

说明:此接口不推荐使用,推荐使用下面的接口13、短信回执主动推送(推荐使用)

接口描述

短信发送明细查询

URL

${prefix}/sms/sendDetails?timestamp=&nonce=

请求方式

post

请求类型

application/json

返回类型

*/*

参数名

数据类型

参数类型

是否必填

说明

1.outId

string

body

外部流水扩展字段。

2.currentPage

integer(int64)

分页查看发送记录,指定发送记录的当前页码。

3.pageSize

integer(int64)

分页查看发送记录,指定每页显示的短信记录数量。取值范围为1~1000。

4.startDate

string

起始时间,与结束时间的跨度不能超出30天,格式yyyy-MM-dd HH:mm:ss。

5.endDate

string

结束时间,与起始时间的跨度不能超出30天,格式yyyy-MM-dd HH:mm:ss。

状态码

描述

说明

200

OK

请求成功。

401

Unauthorized

请求未经授权。

403

Forbidden

请求被拒绝。

404

Not Found

请求的资源不存在。

返回属性名

类型

说明

1.platformName

string

短信服务方名称,与接口配置时填写的接口名称一致

2.code

string

请求状态码,200或OK表示成功。

3.message

string

状态码描述。

4.requestId

string

请求ID。

5.sendDetailDTOs

array:SmsSendDetailDTO

短信发送明细。

5.1.content

string

短信内容。

5.2.errCode

string

运营商短信状态码。短信发送成功:DELIVERED。短信发送失败:给出错误码。

5.3.outId

string

外部流水扩展字段。

5.4.phoneNum

string

接收短信的手机号码。

5.5.receiveDate

string

短信接收日期和时间。

5.6.sendDate

string

短信发送日期和时间。

5.7.sendStatus

integer(int64)

短信发送状态。

  • 1:发送失败。

  • 2:发送成功。

5.8.templateCode

string

短信模板ID。

6.totalCount

integer(int32)

短信发送总条数。

示例

请求参数

-d '{"outId":"string","currentPage":0,"pageSize":0,"startDate":"string","endDate":"string"}'

返回值

{"platformName":"string","code":"string","message":"string","totalCount":0,"requestId":"string","sendDetailDTOs":[{"content":"string","errCode":"string","outId":"string","phoneNum":"string","receiveDate":"string","sendDate":"string","sendStatus":0,"templateCode":"string"}]}

13、短信回执主动推送(推荐使用)

说明:

1、文本和数字的回执都可以使用此回调

2、一次接口调用,入参中回执列表的outId需一致

3、需要使用密钥、timestamp、nonce计算签名,填到header中。鉴权失败达到上限后,会拉黑IP。

URL:

环境前缀+/restapi/marketing2/third/sms/callback/send/details?timestamp=xxx&nonce=xxx

URL参数说明:

参数

类型

说明

环境前缀

String

回调到QA的地址。

张北:https://quicka.aliyun.com

上海:https://quicka-shanghai.aliyun.com

timestamp

String

时间戳。与nonce结合使用,用于防止请求重放攻击。

nonce

String

随机数。与timestamp结合使用,用于防止请求重放攻击。

Header:

Header

含义

说明

X-QA-Hmac-Signature

权鉴签名

开启权鉴时使用,权鉴方式见下文。

未开启权鉴时,该Header填空字符串""。

Body:

{
  "thirdSmsSendDetailModelList":[
    {
      "outId":"三方短信发送时传递的outId",
      "phoneNum":"手机号",
      "sendStatus":"短信发送状态,1:发送失败,2:发送成功",
      "sendDate":"短信发送时间,格式为yyyy-MM-dd HH:mm:ss",
      "receiveDate":"短信回执接收到的时间,格式为yyyy-MM-dd HH:mm:ss",
      "errCode":"短信发送失败后的状态码",
      "message":"短信发送失败后的错误信息"
    }
  ]
}

14、短信上行回复消息回调接口

说明:

1、文本和数字的回执都可以使用此回调

URL:

环境前缀+/restapi/marketing2/third/sms/callback/send/reply?timestamp=xxx&nonce=xxx

URL参数说明:

参数

类型

说明

环境前缀

String

回调到QA的地址。

张北:https://quicka.aliyun.com

上海:https://quicka-shanghai.aliyun.com

timestamp

String

时间戳。与nonce结合使用,用于防止请求重放攻击。

nonce

String

随机数。与timestamp结合使用,用于防止请求重放攻击。

Header:

Header

含义

说明

X-QA-Hmac-Signature

权鉴签名

开启权鉴时使用,权鉴方式见下文。

未开启权鉴时,该Header填空字符串""。

body:

{
  "thirdSmsSendReplyModelList":[
    {
      "outId":"三方短信发送时传递的outId",
      "phoneNum":"手机号",
      "sendTime":"回复时间,格式为yyyy-MM-dd HH:mm:ss",
      "content":"回复内容"
    }
  ]
}