Browse Source

Generated 2017-05-25 for Dysmsapi.

sdk-team 6 năm trước cách đây
mục cha
commit
7149b9115d

+ 3 - 0
ChangeLog.txt

@@ -1,3 +1,6 @@
+2019-09-09 Version: 1.60.153
+- Generated 2017-05-25 for `Dysmsapi`.
+
 2019-09-06 Version: 1.60.152
 - Generated 2018-01-17 for `waf-openapi`.
 

+ 118 - 0
services/dysmsapi/add_sms_sign.go

@@ -0,0 +1,118 @@
+package dysmsapi
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+// AddSmsSign invokes the dysmsapi.AddSmsSign API synchronously
+// api document: https://help.aliyun.com/api/dysmsapi/addsmssign.html
+func (client *Client) AddSmsSign(request *AddSmsSignRequest) (response *AddSmsSignResponse, err error) {
+	response = CreateAddSmsSignResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// AddSmsSignWithChan invokes the dysmsapi.AddSmsSign API asynchronously
+// api document: https://help.aliyun.com/api/dysmsapi/addsmssign.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) AddSmsSignWithChan(request *AddSmsSignRequest) (<-chan *AddSmsSignResponse, <-chan error) {
+	responseChan := make(chan *AddSmsSignResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.AddSmsSign(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// AddSmsSignWithCallback invokes the dysmsapi.AddSmsSign API asynchronously
+// api document: https://help.aliyun.com/api/dysmsapi/addsmssign.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) AddSmsSignWithCallback(request *AddSmsSignRequest, callback func(response *AddSmsSignResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *AddSmsSignResponse
+		var err error
+		defer close(result)
+		response, err = client.AddSmsSign(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// AddSmsSignRequest is the request struct for api AddSmsSign
+type AddSmsSignRequest struct {
+	*requests.RpcRequest
+	ResourceOwnerId      requests.Integer          `position:"Query" name:"ResourceOwnerId"`
+	Remark               string                    `position:"Query" name:"Remark"`
+	SignName             string                    `position:"Query" name:"SignName"`
+	SignFileList         *[]AddSmsSignSignFileList `position:"Query" name:"SignFileList"  type:"Repeated"`
+	ResourceOwnerAccount string                    `position:"Query" name:"ResourceOwnerAccount"`
+	OwnerId              requests.Integer          `position:"Query" name:"OwnerId"`
+	SignSource           requests.Integer          `position:"Query" name:"SignSource"`
+}
+
+// AddSmsSignSignFileList is a repeated param struct in AddSmsSignRequest
+type AddSmsSignSignFileList struct {
+	FileContents string `name:"FileContents"`
+	FileSuffix   string `name:"FileSuffix"`
+}
+
+// AddSmsSignResponse is the response struct for api AddSmsSign
+type AddSmsSignResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+	SignName  string `json:"SignName" xml:"SignName"`
+	Code      string `json:"Code" xml:"Code"`
+	Message   string `json:"Message" xml:"Message"`
+}
+
+// CreateAddSmsSignRequest creates a request to invoke AddSmsSign API
+func CreateAddSmsSignRequest() (request *AddSmsSignRequest) {
+	request = &AddSmsSignRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Dysmsapi", "2017-05-25", "AddSmsSign", "dysmsapi", "openAPI")
+	return
+}
+
+// CreateAddSmsSignResponse creates a response to parse from AddSmsSign response
+func CreateAddSmsSignResponse() (response *AddSmsSignResponse) {
+	response = &AddSmsSignResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 112 - 0
services/dysmsapi/add_sms_template.go

@@ -0,0 +1,112 @@
+package dysmsapi
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+// AddSmsTemplate invokes the dysmsapi.AddSmsTemplate API synchronously
+// api document: https://help.aliyun.com/api/dysmsapi/addsmstemplate.html
+func (client *Client) AddSmsTemplate(request *AddSmsTemplateRequest) (response *AddSmsTemplateResponse, err error) {
+	response = CreateAddSmsTemplateResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// AddSmsTemplateWithChan invokes the dysmsapi.AddSmsTemplate API asynchronously
+// api document: https://help.aliyun.com/api/dysmsapi/addsmstemplate.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) AddSmsTemplateWithChan(request *AddSmsTemplateRequest) (<-chan *AddSmsTemplateResponse, <-chan error) {
+	responseChan := make(chan *AddSmsTemplateResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.AddSmsTemplate(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// AddSmsTemplateWithCallback invokes the dysmsapi.AddSmsTemplate API asynchronously
+// api document: https://help.aliyun.com/api/dysmsapi/addsmstemplate.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) AddSmsTemplateWithCallback(request *AddSmsTemplateRequest, callback func(response *AddSmsTemplateResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *AddSmsTemplateResponse
+		var err error
+		defer close(result)
+		response, err = client.AddSmsTemplate(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// AddSmsTemplateRequest is the request struct for api AddSmsTemplate
+type AddSmsTemplateRequest struct {
+	*requests.RpcRequest
+	ResourceOwnerId      requests.Integer `position:"Query" name:"ResourceOwnerId"`
+	Remark               string           `position:"Query" name:"Remark"`
+	TemplateType         requests.Integer `position:"Query" name:"TemplateType"`
+	TemplateName         string           `position:"Query" name:"TemplateName"`
+	ResourceOwnerAccount string           `position:"Query" name:"ResourceOwnerAccount"`
+	OwnerId              requests.Integer `position:"Query" name:"OwnerId"`
+	TemplateContent      string           `position:"Query" name:"TemplateContent"`
+}
+
+// AddSmsTemplateResponse is the response struct for api AddSmsTemplate
+type AddSmsTemplateResponse struct {
+	*responses.BaseResponse
+	RequestId    string `json:"RequestId" xml:"RequestId"`
+	TemplateCode string `json:"TemplateCode" xml:"TemplateCode"`
+	Code         string `json:"Code" xml:"Code"`
+	Message      string `json:"Message" xml:"Message"`
+}
+
+// CreateAddSmsTemplateRequest creates a request to invoke AddSmsTemplate API
+func CreateAddSmsTemplateRequest() (request *AddSmsTemplateRequest) {
+	request = &AddSmsTemplateRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Dysmsapi", "2017-05-25", "AddSmsTemplate", "dysmsapi", "openAPI")
+	return
+}
+
+// CreateAddSmsTemplateResponse creates a response to parse from AddSmsTemplate response
+func CreateAddSmsTemplateResponse() (response *AddSmsTemplateResponse) {
+	response = &AddSmsTemplateResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 28 - 5
services/dysmsapi/client.go

@@ -18,6 +18,7 @@ package dysmsapi
 import (
 	"github.com/aliyun/alibaba-cloud-sdk-go/sdk"
 	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/auth"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/auth/credentials/provider"
 )
 
 // Client is the sdk client struct, each func corresponds to an OpenAPI
@@ -32,6 +33,20 @@ func NewClient() (client *Client, err error) {
 	return
 }
 
+// NewClientWithProvider creates a sdk client with providers
+// usage: https://github.com/aliyun/alibaba-cloud-sdk-go/blob/master/docs/2-Client-EN.md
+func NewClientWithProvider(regionId string, providers ...provider.Provider) (client *Client, err error) {
+	client = &Client{}
+	var pc provider.Provider
+	if len(providers) == 0 {
+		pc = provider.DefaultChain
+	} else {
+		pc = provider.NewProviderChain(providers)
+	}
+	err = client.InitWithProviderChain(regionId, pc)
+	return
+}
+
 // NewClientWithOptions creates a sdk client with regionId/sdkConfig/credential
 // this is the common api to create a sdk client
 func NewClientWithOptions(regionId string, config *sdk.Config, credential auth.Credential) (client *Client, err error) {
@@ -41,7 +56,7 @@ func NewClientWithOptions(regionId string, config *sdk.Config, credential auth.C
 }
 
 // NewClientWithAccessKey is a shortcut to create sdk client with accesskey
-// usage: https://help.aliyun.com/document_detail/66217.html
+// usage: https://github.com/aliyun/alibaba-cloud-sdk-go/blob/master/docs/2-Client-EN.md
 func NewClientWithAccessKey(regionId, accessKeyId, accessKeySecret string) (client *Client, err error) {
 	client = &Client{}
 	err = client.InitWithAccessKey(regionId, accessKeyId, accessKeySecret)
@@ -49,7 +64,7 @@ func NewClientWithAccessKey(regionId, accessKeyId, accessKeySecret string) (clie
 }
 
 // NewClientWithStsToken is a shortcut to create sdk client with sts token
-// usage: https://help.aliyun.com/document_detail/66222.html
+// usage: https://github.com/aliyun/alibaba-cloud-sdk-go/blob/master/docs/2-Client-EN.md
 func NewClientWithStsToken(regionId, stsAccessKeyId, stsAccessKeySecret, stsToken string) (client *Client, err error) {
 	client = &Client{}
 	err = client.InitWithStsToken(regionId, stsAccessKeyId, stsAccessKeySecret, stsToken)
@@ -57,15 +72,23 @@ func NewClientWithStsToken(regionId, stsAccessKeyId, stsAccessKeySecret, stsToke
 }
 
 // NewClientWithRamRoleArn is a shortcut to create sdk client with ram roleArn
-// usage: https://help.aliyun.com/document_detail/66222.html
+// usage: https://github.com/aliyun/alibaba-cloud-sdk-go/blob/master/docs/2-Client-EN.md
 func NewClientWithRamRoleArn(regionId string, accessKeyId, accessKeySecret, roleArn, roleSessionName string) (client *Client, err error) {
 	client = &Client{}
 	err = client.InitWithRamRoleArn(regionId, accessKeyId, accessKeySecret, roleArn, roleSessionName)
 	return
 }
 
+// NewClientWithRamRoleArn is a shortcut to create sdk client with ram roleArn and policy
+// usage: https://github.com/aliyun/alibaba-cloud-sdk-go/blob/master/docs/2-Client-EN.md
+func NewClientWithRamRoleArnAndPolicy(regionId string, accessKeyId, accessKeySecret, roleArn, roleSessionName, policy string) (client *Client, err error) {
+	client = &Client{}
+	err = client.InitWithRamRoleArnAndPolicy(regionId, accessKeyId, accessKeySecret, roleArn, roleSessionName, policy)
+	return
+}
+
 // NewClientWithEcsRamRole is a shortcut to create sdk client with ecs ram role
-// usage: https://help.aliyun.com/document_detail/66223.html
+// usage: https://github.com/aliyun/alibaba-cloud-sdk-go/blob/master/docs/2-Client-EN.md
 func NewClientWithEcsRamRole(regionId string, roleName string) (client *Client, err error) {
 	client = &Client{}
 	err = client.InitWithEcsRamRole(regionId, roleName)
@@ -73,7 +96,7 @@ func NewClientWithEcsRamRole(regionId string, roleName string) (client *Client,
 }
 
 // NewClientWithRsaKeyPair is a shortcut to create sdk client with rsa key pair
-// attention: rsa key pair auth is only Japan regions available
+// usage: https://github.com/aliyun/alibaba-cloud-sdk-go/blob/master/docs/2-Client-EN.md
 func NewClientWithRsaKeyPair(regionId string, publicKeyId, privateKey string, sessionExpiration int) (client *Client, err error) {
 	client = &Client{}
 	err = client.InitWithRsaKeyPair(regionId, publicKeyId, privateKey, sessionExpiration)

+ 109 - 0
services/dysmsapi/delete_sms_sign.go

@@ -0,0 +1,109 @@
+package dysmsapi
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+// DeleteSmsSign invokes the dysmsapi.DeleteSmsSign API synchronously
+// api document: https://help.aliyun.com/api/dysmsapi/deletesmssign.html
+func (client *Client) DeleteSmsSign(request *DeleteSmsSignRequest) (response *DeleteSmsSignResponse, err error) {
+	response = CreateDeleteSmsSignResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DeleteSmsSignWithChan invokes the dysmsapi.DeleteSmsSign API asynchronously
+// api document: https://help.aliyun.com/api/dysmsapi/deletesmssign.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DeleteSmsSignWithChan(request *DeleteSmsSignRequest) (<-chan *DeleteSmsSignResponse, <-chan error) {
+	responseChan := make(chan *DeleteSmsSignResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DeleteSmsSign(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DeleteSmsSignWithCallback invokes the dysmsapi.DeleteSmsSign API asynchronously
+// api document: https://help.aliyun.com/api/dysmsapi/deletesmssign.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DeleteSmsSignWithCallback(request *DeleteSmsSignRequest, callback func(response *DeleteSmsSignResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DeleteSmsSignResponse
+		var err error
+		defer close(result)
+		response, err = client.DeleteSmsSign(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DeleteSmsSignRequest is the request struct for api DeleteSmsSign
+type DeleteSmsSignRequest struct {
+	*requests.RpcRequest
+	ResourceOwnerId      requests.Integer `position:"Query" name:"ResourceOwnerId"`
+	ResourceOwnerAccount string           `position:"Query" name:"ResourceOwnerAccount"`
+	OwnerId              requests.Integer `position:"Query" name:"OwnerId"`
+	SignName             string           `position:"Query" name:"SignName"`
+}
+
+// DeleteSmsSignResponse is the response struct for api DeleteSmsSign
+type DeleteSmsSignResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+	SignName  string `json:"SignName" xml:"SignName"`
+	Code      string `json:"Code" xml:"Code"`
+	Message   string `json:"Message" xml:"Message"`
+}
+
+// CreateDeleteSmsSignRequest creates a request to invoke DeleteSmsSign API
+func CreateDeleteSmsSignRequest() (request *DeleteSmsSignRequest) {
+	request = &DeleteSmsSignRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Dysmsapi", "2017-05-25", "DeleteSmsSign", "dysmsapi", "openAPI")
+	return
+}
+
+// CreateDeleteSmsSignResponse creates a response to parse from DeleteSmsSign response
+func CreateDeleteSmsSignResponse() (response *DeleteSmsSignResponse) {
+	response = &DeleteSmsSignResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 109 - 0
services/dysmsapi/delete_sms_template.go

@@ -0,0 +1,109 @@
+package dysmsapi
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+// DeleteSmsTemplate invokes the dysmsapi.DeleteSmsTemplate API synchronously
+// api document: https://help.aliyun.com/api/dysmsapi/deletesmstemplate.html
+func (client *Client) DeleteSmsTemplate(request *DeleteSmsTemplateRequest) (response *DeleteSmsTemplateResponse, err error) {
+	response = CreateDeleteSmsTemplateResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DeleteSmsTemplateWithChan invokes the dysmsapi.DeleteSmsTemplate API asynchronously
+// api document: https://help.aliyun.com/api/dysmsapi/deletesmstemplate.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DeleteSmsTemplateWithChan(request *DeleteSmsTemplateRequest) (<-chan *DeleteSmsTemplateResponse, <-chan error) {
+	responseChan := make(chan *DeleteSmsTemplateResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DeleteSmsTemplate(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DeleteSmsTemplateWithCallback invokes the dysmsapi.DeleteSmsTemplate API asynchronously
+// api document: https://help.aliyun.com/api/dysmsapi/deletesmstemplate.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DeleteSmsTemplateWithCallback(request *DeleteSmsTemplateRequest, callback func(response *DeleteSmsTemplateResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DeleteSmsTemplateResponse
+		var err error
+		defer close(result)
+		response, err = client.DeleteSmsTemplate(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DeleteSmsTemplateRequest is the request struct for api DeleteSmsTemplate
+type DeleteSmsTemplateRequest struct {
+	*requests.RpcRequest
+	ResourceOwnerId      requests.Integer `position:"Query" name:"ResourceOwnerId"`
+	ResourceOwnerAccount string           `position:"Query" name:"ResourceOwnerAccount"`
+	OwnerId              requests.Integer `position:"Query" name:"OwnerId"`
+	TemplateCode         string           `position:"Query" name:"TemplateCode"`
+}
+
+// DeleteSmsTemplateResponse is the response struct for api DeleteSmsTemplate
+type DeleteSmsTemplateResponse struct {
+	*responses.BaseResponse
+	RequestId    string `json:"RequestId" xml:"RequestId"`
+	TemplateCode string `json:"TemplateCode" xml:"TemplateCode"`
+	Code         string `json:"Code" xml:"Code"`
+	Message      string `json:"Message" xml:"Message"`
+}
+
+// CreateDeleteSmsTemplateRequest creates a request to invoke DeleteSmsTemplate API
+func CreateDeleteSmsTemplateRequest() (request *DeleteSmsTemplateRequest) {
+	request = &DeleteSmsTemplateRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Dysmsapi", "2017-05-25", "DeleteSmsTemplate", "dysmsapi", "openAPI")
+	return
+}
+
+// CreateDeleteSmsTemplateResponse creates a response to parse from DeleteSmsTemplate response
+func CreateDeleteSmsTemplateResponse() (response *DeleteSmsTemplateResponse) {
+	response = &DeleteSmsTemplateResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 118 - 0
services/dysmsapi/modify_sms_sign.go

@@ -0,0 +1,118 @@
+package dysmsapi
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+// ModifySmsSign invokes the dysmsapi.ModifySmsSign API synchronously
+// api document: https://help.aliyun.com/api/dysmsapi/modifysmssign.html
+func (client *Client) ModifySmsSign(request *ModifySmsSignRequest) (response *ModifySmsSignResponse, err error) {
+	response = CreateModifySmsSignResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// ModifySmsSignWithChan invokes the dysmsapi.ModifySmsSign API asynchronously
+// api document: https://help.aliyun.com/api/dysmsapi/modifysmssign.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ModifySmsSignWithChan(request *ModifySmsSignRequest) (<-chan *ModifySmsSignResponse, <-chan error) {
+	responseChan := make(chan *ModifySmsSignResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.ModifySmsSign(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// ModifySmsSignWithCallback invokes the dysmsapi.ModifySmsSign API asynchronously
+// api document: https://help.aliyun.com/api/dysmsapi/modifysmssign.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ModifySmsSignWithCallback(request *ModifySmsSignRequest, callback func(response *ModifySmsSignResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *ModifySmsSignResponse
+		var err error
+		defer close(result)
+		response, err = client.ModifySmsSign(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// ModifySmsSignRequest is the request struct for api ModifySmsSign
+type ModifySmsSignRequest struct {
+	*requests.RpcRequest
+	ResourceOwnerId      requests.Integer             `position:"Query" name:"ResourceOwnerId"`
+	Remark               string                       `position:"Query" name:"Remark"`
+	SignName             string                       `position:"Query" name:"SignName"`
+	SignFileList         *[]ModifySmsSignSignFileList `position:"Query" name:"SignFileList"  type:"Repeated"`
+	ResourceOwnerAccount string                       `position:"Query" name:"ResourceOwnerAccount"`
+	OwnerId              requests.Integer             `position:"Query" name:"OwnerId"`
+	SignSource           requests.Integer             `position:"Query" name:"SignSource"`
+}
+
+// ModifySmsSignSignFileList is a repeated param struct in ModifySmsSignRequest
+type ModifySmsSignSignFileList struct {
+	FileContents string `name:"FileContents"`
+	FileSuffix   string `name:"FileSuffix"`
+}
+
+// ModifySmsSignResponse is the response struct for api ModifySmsSign
+type ModifySmsSignResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+	SignName  string `json:"SignName" xml:"SignName"`
+	Code      string `json:"Code" xml:"Code"`
+	Message   string `json:"Message" xml:"Message"`
+}
+
+// CreateModifySmsSignRequest creates a request to invoke ModifySmsSign API
+func CreateModifySmsSignRequest() (request *ModifySmsSignRequest) {
+	request = &ModifySmsSignRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Dysmsapi", "2017-05-25", "ModifySmsSign", "dysmsapi", "openAPI")
+	return
+}
+
+// CreateModifySmsSignResponse creates a response to parse from ModifySmsSign response
+func CreateModifySmsSignResponse() (response *ModifySmsSignResponse) {
+	response = &ModifySmsSignResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 113 - 0
services/dysmsapi/modify_sms_template.go

@@ -0,0 +1,113 @@
+package dysmsapi
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+// ModifySmsTemplate invokes the dysmsapi.ModifySmsTemplate API synchronously
+// api document: https://help.aliyun.com/api/dysmsapi/modifysmstemplate.html
+func (client *Client) ModifySmsTemplate(request *ModifySmsTemplateRequest) (response *ModifySmsTemplateResponse, err error) {
+	response = CreateModifySmsTemplateResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// ModifySmsTemplateWithChan invokes the dysmsapi.ModifySmsTemplate API asynchronously
+// api document: https://help.aliyun.com/api/dysmsapi/modifysmstemplate.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ModifySmsTemplateWithChan(request *ModifySmsTemplateRequest) (<-chan *ModifySmsTemplateResponse, <-chan error) {
+	responseChan := make(chan *ModifySmsTemplateResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.ModifySmsTemplate(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// ModifySmsTemplateWithCallback invokes the dysmsapi.ModifySmsTemplate API asynchronously
+// api document: https://help.aliyun.com/api/dysmsapi/modifysmstemplate.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ModifySmsTemplateWithCallback(request *ModifySmsTemplateRequest, callback func(response *ModifySmsTemplateResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *ModifySmsTemplateResponse
+		var err error
+		defer close(result)
+		response, err = client.ModifySmsTemplate(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// ModifySmsTemplateRequest is the request struct for api ModifySmsTemplate
+type ModifySmsTemplateRequest struct {
+	*requests.RpcRequest
+	ResourceOwnerId      requests.Integer `position:"Query" name:"ResourceOwnerId"`
+	Remark               string           `position:"Query" name:"Remark"`
+	TemplateType         requests.Integer `position:"Query" name:"TemplateType"`
+	TemplateName         string           `position:"Query" name:"TemplateName"`
+	ResourceOwnerAccount string           `position:"Query" name:"ResourceOwnerAccount"`
+	OwnerId              requests.Integer `position:"Query" name:"OwnerId"`
+	TemplateContent      string           `position:"Query" name:"TemplateContent"`
+	TemplateCode         string           `position:"Query" name:"TemplateCode"`
+}
+
+// ModifySmsTemplateResponse is the response struct for api ModifySmsTemplate
+type ModifySmsTemplateResponse struct {
+	*responses.BaseResponse
+	RequestId    string `json:"RequestId" xml:"RequestId"`
+	TemplateCode string `json:"TemplateCode" xml:"TemplateCode"`
+	Code         string `json:"Code" xml:"Code"`
+	Message      string `json:"Message" xml:"Message"`
+}
+
+// CreateModifySmsTemplateRequest creates a request to invoke ModifySmsTemplate API
+func CreateModifySmsTemplateRequest() (request *ModifySmsTemplateRequest) {
+	request = &ModifySmsTemplateRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Dysmsapi", "2017-05-25", "ModifySmsTemplate", "dysmsapi", "openAPI")
+	return
+}
+
+// CreateModifySmsTemplateResponse creates a response to parse from ModifySmsTemplate response
+func CreateModifySmsTemplateResponse() (response *ModifySmsTemplateResponse) {
+	response = &ModifySmsTemplateResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 3 - 3
services/dysmsapi/query_send_details.go

@@ -77,13 +77,13 @@ func (client *Client) QuerySendDetailsWithCallback(request *QuerySendDetailsRequ
 type QuerySendDetailsRequest struct {
 	*requests.RpcRequest
 	ResourceOwnerId      requests.Integer `position:"Query" name:"ResourceOwnerId"`
-	ResourceOwnerAccount string           `position:"Query" name:"ResourceOwnerAccount"`
-	SendDate             string           `position:"Query" name:"SendDate"`
 	PhoneNumber          string           `position:"Query" name:"PhoneNumber"`
-	BizId                string           `position:"Query" name:"BizId"`
+	SendDate             string           `position:"Query" name:"SendDate"`
 	PageSize             requests.Integer `position:"Query" name:"PageSize"`
+	ResourceOwnerAccount string           `position:"Query" name:"ResourceOwnerAccount"`
 	CurrentPage          requests.Integer `position:"Query" name:"CurrentPage"`
 	OwnerId              requests.Integer `position:"Query" name:"OwnerId"`
+	BizId                string           `position:"Query" name:"BizId"`
 }
 
 // QuerySendDetailsResponse is the response struct for api QuerySendDetails

+ 112 - 0
services/dysmsapi/query_sms_sign.go

@@ -0,0 +1,112 @@
+package dysmsapi
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+// QuerySmsSign invokes the dysmsapi.QuerySmsSign API synchronously
+// api document: https://help.aliyun.com/api/dysmsapi/querysmssign.html
+func (client *Client) QuerySmsSign(request *QuerySmsSignRequest) (response *QuerySmsSignResponse, err error) {
+	response = CreateQuerySmsSignResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// QuerySmsSignWithChan invokes the dysmsapi.QuerySmsSign API asynchronously
+// api document: https://help.aliyun.com/api/dysmsapi/querysmssign.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) QuerySmsSignWithChan(request *QuerySmsSignRequest) (<-chan *QuerySmsSignResponse, <-chan error) {
+	responseChan := make(chan *QuerySmsSignResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.QuerySmsSign(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// QuerySmsSignWithCallback invokes the dysmsapi.QuerySmsSign API asynchronously
+// api document: https://help.aliyun.com/api/dysmsapi/querysmssign.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) QuerySmsSignWithCallback(request *QuerySmsSignRequest, callback func(response *QuerySmsSignResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *QuerySmsSignResponse
+		var err error
+		defer close(result)
+		response, err = client.QuerySmsSign(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// QuerySmsSignRequest is the request struct for api QuerySmsSign
+type QuerySmsSignRequest struct {
+	*requests.RpcRequest
+	ResourceOwnerId      requests.Integer `position:"Query" name:"ResourceOwnerId"`
+	ResourceOwnerAccount string           `position:"Query" name:"ResourceOwnerAccount"`
+	OwnerId              requests.Integer `position:"Query" name:"OwnerId"`
+	SignName             string           `position:"Query" name:"SignName"`
+}
+
+// QuerySmsSignResponse is the response struct for api QuerySmsSign
+type QuerySmsSignResponse struct {
+	*responses.BaseResponse
+	RequestId  string `json:"RequestId" xml:"RequestId"`
+	Code       string `json:"Code" xml:"Code"`
+	Message    string `json:"Message" xml:"Message"`
+	SignStatus int    `json:"SignStatus" xml:"SignStatus"`
+	Reason     string `json:"Reason" xml:"Reason"`
+	SignName   string `json:"SignName" xml:"SignName"`
+	CreateDate string `json:"CreateDate" xml:"CreateDate"`
+}
+
+// CreateQuerySmsSignRequest creates a request to invoke QuerySmsSign API
+func CreateQuerySmsSignRequest() (request *QuerySmsSignRequest) {
+	request = &QuerySmsSignRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Dysmsapi", "2017-05-25", "QuerySmsSign", "dysmsapi", "openAPI")
+	return
+}
+
+// CreateQuerySmsSignResponse creates a response to parse from QuerySmsSign response
+func CreateQuerySmsSignResponse() (response *QuerySmsSignResponse) {
+	response = &QuerySmsSignResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 115 - 0
services/dysmsapi/query_sms_template.go

@@ -0,0 +1,115 @@
+package dysmsapi
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+// QuerySmsTemplate invokes the dysmsapi.QuerySmsTemplate API synchronously
+// api document: https://help.aliyun.com/api/dysmsapi/querysmstemplate.html
+func (client *Client) QuerySmsTemplate(request *QuerySmsTemplateRequest) (response *QuerySmsTemplateResponse, err error) {
+	response = CreateQuerySmsTemplateResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// QuerySmsTemplateWithChan invokes the dysmsapi.QuerySmsTemplate API asynchronously
+// api document: https://help.aliyun.com/api/dysmsapi/querysmstemplate.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) QuerySmsTemplateWithChan(request *QuerySmsTemplateRequest) (<-chan *QuerySmsTemplateResponse, <-chan error) {
+	responseChan := make(chan *QuerySmsTemplateResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.QuerySmsTemplate(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// QuerySmsTemplateWithCallback invokes the dysmsapi.QuerySmsTemplate API asynchronously
+// api document: https://help.aliyun.com/api/dysmsapi/querysmstemplate.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) QuerySmsTemplateWithCallback(request *QuerySmsTemplateRequest, callback func(response *QuerySmsTemplateResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *QuerySmsTemplateResponse
+		var err error
+		defer close(result)
+		response, err = client.QuerySmsTemplate(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// QuerySmsTemplateRequest is the request struct for api QuerySmsTemplate
+type QuerySmsTemplateRequest struct {
+	*requests.RpcRequest
+	ResourceOwnerId      requests.Integer `position:"Query" name:"ResourceOwnerId"`
+	ResourceOwnerAccount string           `position:"Query" name:"ResourceOwnerAccount"`
+	OwnerId              requests.Integer `position:"Query" name:"OwnerId"`
+	TemplateCode         string           `position:"Query" name:"TemplateCode"`
+}
+
+// QuerySmsTemplateResponse is the response struct for api QuerySmsTemplate
+type QuerySmsTemplateResponse struct {
+	*responses.BaseResponse
+	RequestId       string `json:"RequestId" xml:"RequestId"`
+	Code            string `json:"Code" xml:"Code"`
+	Message         string `json:"Message" xml:"Message"`
+	TemplateStatus  int    `json:"TemplateStatus" xml:"TemplateStatus"`
+	Reason          string `json:"Reason" xml:"Reason"`
+	TemplateCode    string `json:"TemplateCode" xml:"TemplateCode"`
+	TemplateType    int    `json:"TemplateType" xml:"TemplateType"`
+	TemplateName    string `json:"TemplateName" xml:"TemplateName"`
+	TemplateContent string `json:"TemplateContent" xml:"TemplateContent"`
+	CreateDate      string `json:"CreateDate" xml:"CreateDate"`
+}
+
+// CreateQuerySmsTemplateRequest creates a request to invoke QuerySmsTemplate API
+func CreateQuerySmsTemplateRequest() (request *QuerySmsTemplateRequest) {
+	request = &QuerySmsTemplateRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Dysmsapi", "2017-05-25", "QuerySmsTemplate", "dysmsapi", "openAPI")
+	return
+}
+
+// CreateQuerySmsTemplateResponse creates a response to parse from QuerySmsTemplate response
+func CreateQuerySmsTemplateResponse() (response *QuerySmsTemplateResponse) {
+	response = &QuerySmsTemplateResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 2 - 2
services/dysmsapi/send_batch_sms.go

@@ -76,11 +76,11 @@ func (client *Client) SendBatchSmsWithCallback(request *SendBatchSmsRequest, cal
 // SendBatchSmsRequest is the request struct for api SendBatchSms
 type SendBatchSmsRequest struct {
 	*requests.RpcRequest
-	TemplateParamJson    string           `position:"Query" name:"TemplateParamJson"`
 	ResourceOwnerId      requests.Integer `position:"Query" name:"ResourceOwnerId"`
+	TemplateParamJson    string           `position:"Query" name:"TemplateParamJson"`
 	ResourceOwnerAccount string           `position:"Query" name:"ResourceOwnerAccount"`
-	SmsUpExtendCodeJson  string           `position:"Query" name:"SmsUpExtendCodeJson"`
 	OwnerId              requests.Integer `position:"Query" name:"OwnerId"`
+	SmsUpExtendCodeJson  string           `position:"Query" name:"SmsUpExtendCodeJson"`
 	SignNameJson         string           `position:"Query" name:"SignNameJson"`
 	TemplateCode         string           `position:"Query" name:"TemplateCode"`
 	PhoneNumberJson      string           `position:"Query" name:"PhoneNumberJson"`

+ 2 - 2
services/dysmsapi/send_sms.go

@@ -76,13 +76,13 @@ func (client *Client) SendSmsWithCallback(request *SendSmsRequest, callback func
 // SendSmsRequest is the request struct for api SendSms
 type SendSmsRequest struct {
 	*requests.RpcRequest
-	SmsUpExtendCode      string           `position:"Query" name:"SmsUpExtendCode"`
 	ResourceOwnerId      requests.Integer `position:"Query" name:"ResourceOwnerId"`
+	SmsUpExtendCode      string           `position:"Query" name:"SmsUpExtendCode"`
 	SignName             string           `position:"Query" name:"SignName"`
 	ResourceOwnerAccount string           `position:"Query" name:"ResourceOwnerAccount"`
 	PhoneNumbers         string           `position:"Query" name:"PhoneNumbers"`
-	OutId                string           `position:"Query" name:"OutId"`
 	OwnerId              requests.Integer `position:"Query" name:"OwnerId"`
+	OutId                string           `position:"Query" name:"OutId"`
 	TemplateCode         string           `position:"Query" name:"TemplateCode"`
 	TemplateParam        string           `position:"Query" name:"TemplateParam"`
 }

+ 1 - 1
services/dysmsapi/struct_sms_send_detail_dto.go

@@ -18,7 +18,7 @@ package dysmsapi
 // SmsSendDetailDTO is a nested struct in dysmsapi response
 type SmsSendDetailDTO struct {
 	PhoneNum     string `json:"PhoneNum" xml:"PhoneNum"`
-	SendStatus   int    `json:"SendStatus" xml:"SendStatus"`
+	SendStatus   int64  `json:"SendStatus" xml:"SendStatus"`
 	ErrCode      string `json:"ErrCode" xml:"ErrCode"`
 	TemplateCode string `json:"TemplateCode" xml:"TemplateCode"`
 	Content      string `json:"Content" xml:"Content"`