Browse Source

Supported RingConfig for BindAxb,BindAxn,BindAxg,BindAxnExtension.

sdk-team 6 years ago
parent
commit
bce31c14d0

+ 4 - 0
ChangeLog.txt

@@ -1,3 +1,7 @@
+2019-09-26 Version: 1.60.179
+- Supported RingConfig for BindAxb,BindAxn,BindAxg,BindAxnExtension.
+- Add QuerySubsId.
+
 2019-09-25 Version: 1.60.178
 - Add new api.
 

+ 119 - 0
services/dyplsapi/bind_axb.go

@@ -0,0 +1,119 @@
+package dyplsapi
+
+//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"
+)
+
+// BindAxb invokes the dyplsapi.BindAxb API synchronously
+// api document: https://help.aliyun.com/api/dyplsapi/bindaxb.html
+func (client *Client) BindAxb(request *BindAxbRequest) (response *BindAxbResponse, err error) {
+	response = CreateBindAxbResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// BindAxbWithChan invokes the dyplsapi.BindAxb API asynchronously
+// api document: https://help.aliyun.com/api/dyplsapi/bindaxb.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) BindAxbWithChan(request *BindAxbRequest) (<-chan *BindAxbResponse, <-chan error) {
+	responseChan := make(chan *BindAxbResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.BindAxb(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// BindAxbWithCallback invokes the dyplsapi.BindAxb API asynchronously
+// api document: https://help.aliyun.com/api/dyplsapi/bindaxb.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) BindAxbWithCallback(request *BindAxbRequest, callback func(response *BindAxbResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *BindAxbResponse
+		var err error
+		defer close(result)
+		response, err = client.BindAxb(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// BindAxbRequest is the request struct for api BindAxb
+type BindAxbRequest struct {
+	*requests.RpcRequest
+	ResourceOwnerId      requests.Integer `position:"Query" name:"ResourceOwnerId"`
+	CallDisplayType      requests.Integer `position:"Query" name:"CallDisplayType"`
+	PhoneNoX             string           `position:"Query" name:"PhoneNoX"`
+	RingConfig           string           `position:"Query" name:"RingConfig"`
+	PhoneNoB             string           `position:"Query" name:"PhoneNoB"`
+	PhoneNoA             string           `position:"Query" name:"PhoneNoA"`
+	ExpectCity           string           `position:"Query" name:"ExpectCity"`
+	ResourceOwnerAccount string           `position:"Query" name:"ResourceOwnerAccount"`
+	OwnerId              requests.Integer `position:"Query" name:"OwnerId"`
+	OutOrderId           string           `position:"Query" name:"OutOrderId"`
+	PoolKey              string           `position:"Query" name:"PoolKey"`
+	Expiration           string           `position:"Query" name:"Expiration"`
+	IsRecordingEnabled   requests.Boolean `position:"Query" name:"IsRecordingEnabled"`
+	OutId                string           `position:"Query" name:"OutId"`
+}
+
+// BindAxbResponse is the response struct for api BindAxb
+type BindAxbResponse struct {
+	*responses.BaseResponse
+	RequestId     string        `json:"RequestId" xml:"RequestId"`
+	Code          string        `json:"Code" xml:"Code"`
+	Message       string        `json:"Message" xml:"Message"`
+	SecretBindDTO SecretBindDTO `json:"SecretBindDTO" xml:"SecretBindDTO"`
+}
+
+// CreateBindAxbRequest creates a request to invoke BindAxb API
+func CreateBindAxbRequest() (request *BindAxbRequest) {
+	request = &BindAxbRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Dyplsapi", "2017-05-25", "BindAxb", "dypls", "openAPI")
+	return
+}
+
+// CreateBindAxbResponse creates a response to parse from BindAxb response
+func CreateBindAxbResponse() (response *BindAxbResponse) {
+	response = &BindAxbResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 120 - 0
services/dyplsapi/bind_axg.go

@@ -0,0 +1,120 @@
+package dyplsapi
+
+//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"
+)
+
+// BindAxg invokes the dyplsapi.BindAxg API synchronously
+// api document: https://help.aliyun.com/api/dyplsapi/bindaxg.html
+func (client *Client) BindAxg(request *BindAxgRequest) (response *BindAxgResponse, err error) {
+	response = CreateBindAxgResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// BindAxgWithChan invokes the dyplsapi.BindAxg API asynchronously
+// api document: https://help.aliyun.com/api/dyplsapi/bindaxg.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) BindAxgWithChan(request *BindAxgRequest) (<-chan *BindAxgResponse, <-chan error) {
+	responseChan := make(chan *BindAxgResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.BindAxg(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// BindAxgWithCallback invokes the dyplsapi.BindAxg API asynchronously
+// api document: https://help.aliyun.com/api/dyplsapi/bindaxg.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) BindAxgWithCallback(request *BindAxgRequest, callback func(response *BindAxgResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *BindAxgResponse
+		var err error
+		defer close(result)
+		response, err = client.BindAxg(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// BindAxgRequest is the request struct for api BindAxg
+type BindAxgRequest struct {
+	*requests.RpcRequest
+	ResourceOwnerId      requests.Integer `position:"Query" name:"ResourceOwnerId"`
+	CallDisplayType      requests.Integer `position:"Query" name:"CallDisplayType"`
+	PhoneNoX             string           `position:"Query" name:"PhoneNoX"`
+	RingConfig           string           `position:"Query" name:"RingConfig"`
+	PhoneNoB             string           `position:"Query" name:"PhoneNoB"`
+	PhoneNoA             string           `position:"Query" name:"PhoneNoA"`
+	ExpectCity           string           `position:"Query" name:"ExpectCity"`
+	ResourceOwnerAccount string           `position:"Query" name:"ResourceOwnerAccount"`
+	GroupId              string           `position:"Query" name:"GroupId"`
+	OwnerId              requests.Integer `position:"Query" name:"OwnerId"`
+	OutOrderId           string           `position:"Query" name:"OutOrderId"`
+	PoolKey              string           `position:"Query" name:"PoolKey"`
+	Expiration           string           `position:"Query" name:"Expiration"`
+	IsRecordingEnabled   requests.Boolean `position:"Query" name:"IsRecordingEnabled"`
+	OutId                string           `position:"Query" name:"OutId"`
+}
+
+// BindAxgResponse is the response struct for api BindAxg
+type BindAxgResponse struct {
+	*responses.BaseResponse
+	RequestId     string        `json:"RequestId" xml:"RequestId"`
+	Code          string        `json:"Code" xml:"Code"`
+	Message       string        `json:"Message" xml:"Message"`
+	SecretBindDTO SecretBindDTO `json:"SecretBindDTO" xml:"SecretBindDTO"`
+}
+
+// CreateBindAxgRequest creates a request to invoke BindAxg API
+func CreateBindAxgRequest() (request *BindAxgRequest) {
+	request = &BindAxgRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Dyplsapi", "2017-05-25", "BindAxg", "dypls", "openAPI")
+	return
+}
+
+// CreateBindAxgResponse creates a response to parse from BindAxg response
+func CreateBindAxgResponse() (response *BindAxgResponse) {
+	response = &BindAxgResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 120 - 0
services/dyplsapi/bind_axn.go

@@ -0,0 +1,120 @@
+package dyplsapi
+
+//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"
+)
+
+// BindAxn invokes the dyplsapi.BindAxn API synchronously
+// api document: https://help.aliyun.com/api/dyplsapi/bindaxn.html
+func (client *Client) BindAxn(request *BindAxnRequest) (response *BindAxnResponse, err error) {
+	response = CreateBindAxnResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// BindAxnWithChan invokes the dyplsapi.BindAxn API asynchronously
+// api document: https://help.aliyun.com/api/dyplsapi/bindaxn.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) BindAxnWithChan(request *BindAxnRequest) (<-chan *BindAxnResponse, <-chan error) {
+	responseChan := make(chan *BindAxnResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.BindAxn(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// BindAxnWithCallback invokes the dyplsapi.BindAxn API asynchronously
+// api document: https://help.aliyun.com/api/dyplsapi/bindaxn.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) BindAxnWithCallback(request *BindAxnRequest, callback func(response *BindAxnResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *BindAxnResponse
+		var err error
+		defer close(result)
+		response, err = client.BindAxn(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// BindAxnRequest is the request struct for api BindAxn
+type BindAxnRequest struct {
+	*requests.RpcRequest
+	ResourceOwnerId      requests.Integer `position:"Query" name:"ResourceOwnerId"`
+	CallDisplayType      requests.Integer `position:"Query" name:"CallDisplayType"`
+	PhoneNoX             string           `position:"Query" name:"PhoneNoX"`
+	RingConfig           string           `position:"Query" name:"RingConfig"`
+	PhoneNoB             string           `position:"Query" name:"PhoneNoB"`
+	PhoneNoA             string           `position:"Query" name:"PhoneNoA"`
+	ExpectCity           string           `position:"Query" name:"ExpectCity"`
+	ResourceOwnerAccount string           `position:"Query" name:"ResourceOwnerAccount"`
+	OwnerId              requests.Integer `position:"Query" name:"OwnerId"`
+	OutOrderId           string           `position:"Query" name:"OutOrderId"`
+	PoolKey              string           `position:"Query" name:"PoolKey"`
+	Expiration           string           `position:"Query" name:"Expiration"`
+	IsRecordingEnabled   requests.Boolean `position:"Query" name:"IsRecordingEnabled"`
+	OutId                string           `position:"Query" name:"OutId"`
+	NoType               string           `position:"Query" name:"NoType"`
+}
+
+// BindAxnResponse is the response struct for api BindAxn
+type BindAxnResponse struct {
+	*responses.BaseResponse
+	RequestId     string        `json:"RequestId" xml:"RequestId"`
+	Code          string        `json:"Code" xml:"Code"`
+	Message       string        `json:"Message" xml:"Message"`
+	SecretBindDTO SecretBindDTO `json:"SecretBindDTO" xml:"SecretBindDTO"`
+}
+
+// CreateBindAxnRequest creates a request to invoke BindAxn API
+func CreateBindAxnRequest() (request *BindAxnRequest) {
+	request = &BindAxnRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Dyplsapi", "2017-05-25", "BindAxn", "dypls", "openAPI")
+	return
+}
+
+// CreateBindAxnResponse creates a response to parse from BindAxn response
+func CreateBindAxnResponse() (response *BindAxnResponse) {
+	response = &BindAxnResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 120 - 0
services/dyplsapi/bind_axn_extension.go

@@ -0,0 +1,120 @@
+package dyplsapi
+
+//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"
+)
+
+// BindAxnExtension invokes the dyplsapi.BindAxnExtension API synchronously
+// api document: https://help.aliyun.com/api/dyplsapi/bindaxnextension.html
+func (client *Client) BindAxnExtension(request *BindAxnExtensionRequest) (response *BindAxnExtensionResponse, err error) {
+	response = CreateBindAxnExtensionResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// BindAxnExtensionWithChan invokes the dyplsapi.BindAxnExtension API asynchronously
+// api document: https://help.aliyun.com/api/dyplsapi/bindaxnextension.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) BindAxnExtensionWithChan(request *BindAxnExtensionRequest) (<-chan *BindAxnExtensionResponse, <-chan error) {
+	responseChan := make(chan *BindAxnExtensionResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.BindAxnExtension(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// BindAxnExtensionWithCallback invokes the dyplsapi.BindAxnExtension API asynchronously
+// api document: https://help.aliyun.com/api/dyplsapi/bindaxnextension.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) BindAxnExtensionWithCallback(request *BindAxnExtensionRequest, callback func(response *BindAxnExtensionResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *BindAxnExtensionResponse
+		var err error
+		defer close(result)
+		response, err = client.BindAxnExtension(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// BindAxnExtensionRequest is the request struct for api BindAxnExtension
+type BindAxnExtensionRequest struct {
+	*requests.RpcRequest
+	ResourceOwnerId      requests.Integer `position:"Query" name:"ResourceOwnerId"`
+	Extension            string           `position:"Query" name:"Extension"`
+	CallDisplayType      requests.Integer `position:"Query" name:"CallDisplayType"`
+	PhoneNoX             string           `position:"Query" name:"PhoneNoX"`
+	RingConfig           string           `position:"Query" name:"RingConfig"`
+	PhoneNoB             string           `position:"Query" name:"PhoneNoB"`
+	PhoneNoA             string           `position:"Query" name:"PhoneNoA"`
+	ExpectCity           string           `position:"Query" name:"ExpectCity"`
+	ResourceOwnerAccount string           `position:"Query" name:"ResourceOwnerAccount"`
+	OwnerId              requests.Integer `position:"Query" name:"OwnerId"`
+	OutOrderId           string           `position:"Query" name:"OutOrderId"`
+	PoolKey              string           `position:"Query" name:"PoolKey"`
+	Expiration           string           `position:"Query" name:"Expiration"`
+	IsRecordingEnabled   requests.Boolean `position:"Query" name:"IsRecordingEnabled"`
+	OutId                string           `position:"Query" name:"OutId"`
+}
+
+// BindAxnExtensionResponse is the response struct for api BindAxnExtension
+type BindAxnExtensionResponse struct {
+	*responses.BaseResponse
+	RequestId     string        `json:"RequestId" xml:"RequestId"`
+	Code          string        `json:"Code" xml:"Code"`
+	Message       string        `json:"Message" xml:"Message"`
+	SecretBindDTO SecretBindDTO `json:"SecretBindDTO" xml:"SecretBindDTO"`
+}
+
+// CreateBindAxnExtensionRequest creates a request to invoke BindAxnExtension API
+func CreateBindAxnExtensionRequest() (request *BindAxnExtensionRequest) {
+	request = &BindAxnExtensionRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Dyplsapi", "2017-05-25", "BindAxnExtension", "dypls", "openAPI")
+	return
+}
+
+// CreateBindAxnExtensionResponse creates a response to parse from BindAxnExtension response
+func CreateBindAxnExtensionResponse() (response *BindAxnExtensionResponse) {
+	response = &BindAxnExtensionResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 113 - 0
services/dyplsapi/buy_secret_no.go

@@ -0,0 +1,113 @@
+package dyplsapi
+
+//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"
+)
+
+// BuySecretNo invokes the dyplsapi.BuySecretNo API synchronously
+// api document: https://help.aliyun.com/api/dyplsapi/buysecretno.html
+func (client *Client) BuySecretNo(request *BuySecretNoRequest) (response *BuySecretNoResponse, err error) {
+	response = CreateBuySecretNoResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// BuySecretNoWithChan invokes the dyplsapi.BuySecretNo API asynchronously
+// api document: https://help.aliyun.com/api/dyplsapi/buysecretno.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) BuySecretNoWithChan(request *BuySecretNoRequest) (<-chan *BuySecretNoResponse, <-chan error) {
+	responseChan := make(chan *BuySecretNoResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.BuySecretNo(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// BuySecretNoWithCallback invokes the dyplsapi.BuySecretNo API asynchronously
+// api document: https://help.aliyun.com/api/dyplsapi/buysecretno.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) BuySecretNoWithCallback(request *BuySecretNoRequest, callback func(response *BuySecretNoResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *BuySecretNoResponse
+		var err error
+		defer close(result)
+		response, err = client.BuySecretNo(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// BuySecretNoRequest is the request struct for api BuySecretNo
+type BuySecretNoRequest struct {
+	*requests.RpcRequest
+	SpecId               requests.Integer `position:"Query" name:"SpecId"`
+	ResourceOwnerId      requests.Integer `position:"Query" name:"ResourceOwnerId"`
+	City                 string           `position:"Query" name:"City"`
+	SecretNo             string           `position:"Query" name:"SecretNo"`
+	ResourceOwnerAccount string           `position:"Query" name:"ResourceOwnerAccount"`
+	DisplayPool          requests.Boolean `position:"Query" name:"DisplayPool"`
+	OwnerId              requests.Integer `position:"Query" name:"OwnerId"`
+	PoolKey              string           `position:"Query" name:"PoolKey"`
+}
+
+// BuySecretNoResponse is the response struct for api BuySecretNo
+type BuySecretNoResponse struct {
+	*responses.BaseResponse
+	RequestId        string           `json:"RequestId" xml:"RequestId"`
+	Code             string           `json:"Code" xml:"Code"`
+	Message          string           `json:"Message" xml:"Message"`
+	SecretBuyInfoDTO SecretBuyInfoDTO `json:"SecretBuyInfoDTO" xml:"SecretBuyInfoDTO"`
+}
+
+// CreateBuySecretNoRequest creates a request to invoke BuySecretNo API
+func CreateBuySecretNoRequest() (request *BuySecretNoRequest) {
+	request = &BuySecretNoRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Dyplsapi", "2017-05-25", "BuySecretNo", "dypls", "openAPI")
+	return
+}
+
+// CreateBuySecretNoResponse creates a response to parse from BuySecretNo response
+func CreateBuySecretNoResponse() (response *BuySecretNoResponse) {
+	response = &BuySecretNoResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 129 - 0
services/dyplsapi/client.go

@@ -0,0 +1,129 @@
+package dyplsapi
+
+//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 (
+	"reflect"
+
+	"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
+type Client struct {
+	sdk.Client
+}
+
+// SetClientProperty Set Property by Reflect
+func SetClientProperty(client *Client, propertyName string, propertyValue interface{}) {
+	v := reflect.ValueOf(client).Elem()
+	if v.FieldByName(propertyName).IsValid() && v.FieldByName(propertyName).CanSet() {
+		v.FieldByName(propertyName).Set(reflect.ValueOf(propertyValue))
+	}
+}
+
+// SetEndpointDataToClient Set EndpointMap and ENdpointType
+func SetEndpointDataToClient(client *Client) {
+	SetClientProperty(client, "EndpointMap", GetEndpointMap())
+	SetClientProperty(client, "EndpointType", GetEndpointType())
+}
+
+// NewClient creates a sdk client with environment variables
+func NewClient() (client *Client, err error) {
+	client = &Client{}
+	err = client.Init()
+	SetEndpointDataToClient(client)
+	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)
+	SetEndpointDataToClient(client)
+	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) {
+	client = &Client{}
+	err = client.InitWithOptions(regionId, config, credential)
+	SetEndpointDataToClient(client)
+	return
+}
+
+// NewClientWithAccessKey is a shortcut to create sdk client with accesskey
+// 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)
+	SetEndpointDataToClient(client)
+	return
+}
+
+// NewClientWithStsToken is a shortcut to create sdk client with sts token
+// 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)
+	SetEndpointDataToClient(client)
+	return
+}
+
+// NewClientWithRamRoleArn is a shortcut to create sdk client with ram roleArn
+// 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)
+	SetEndpointDataToClient(client)
+	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)
+	SetEndpointDataToClient(client)
+	return
+}
+
+// NewClientWithEcsRamRole is a shortcut to create sdk client with ecs ram role
+// 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)
+	SetEndpointDataToClient(client)
+	return
+}
+
+// NewClientWithRsaKeyPair is a shortcut to create sdk client with rsa key pair
+// 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)
+	SetEndpointDataToClient(client)
+	return
+}

+ 112 - 0
services/dyplsapi/create_axg_group.go

@@ -0,0 +1,112 @@
+package dyplsapi
+
+//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"
+)
+
+// CreateAxgGroup invokes the dyplsapi.CreateAxgGroup API synchronously
+// api document: https://help.aliyun.com/api/dyplsapi/createaxggroup.html
+func (client *Client) CreateAxgGroup(request *CreateAxgGroupRequest) (response *CreateAxgGroupResponse, err error) {
+	response = CreateCreateAxgGroupResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// CreateAxgGroupWithChan invokes the dyplsapi.CreateAxgGroup API asynchronously
+// api document: https://help.aliyun.com/api/dyplsapi/createaxggroup.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) CreateAxgGroupWithChan(request *CreateAxgGroupRequest) (<-chan *CreateAxgGroupResponse, <-chan error) {
+	responseChan := make(chan *CreateAxgGroupResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.CreateAxgGroup(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// CreateAxgGroupWithCallback invokes the dyplsapi.CreateAxgGroup API asynchronously
+// api document: https://help.aliyun.com/api/dyplsapi/createaxggroup.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) CreateAxgGroupWithCallback(request *CreateAxgGroupRequest, callback func(response *CreateAxgGroupResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *CreateAxgGroupResponse
+		var err error
+		defer close(result)
+		response, err = client.CreateAxgGroup(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// CreateAxgGroupRequest is the request struct for api CreateAxgGroup
+type CreateAxgGroupRequest struct {
+	*requests.RpcRequest
+	ResourceOwnerId      requests.Integer `position:"Query" name:"ResourceOwnerId"`
+	Numbers              string           `position:"Query" name:"Numbers"`
+	Remark               string           `position:"Query" name:"Remark"`
+	ResourceOwnerAccount string           `position:"Query" name:"ResourceOwnerAccount"`
+	OwnerId              requests.Integer `position:"Query" name:"OwnerId"`
+	PoolKey              string           `position:"Query" name:"PoolKey"`
+	Name                 string           `position:"Query" name:"Name"`
+}
+
+// CreateAxgGroupResponse is the response struct for api CreateAxgGroup
+type CreateAxgGroupResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+	Code      string `json:"Code" xml:"Code"`
+	Message   string `json:"Message" xml:"Message"`
+	GroupId   int64  `json:"GroupId" xml:"GroupId"`
+}
+
+// CreateCreateAxgGroupRequest creates a request to invoke CreateAxgGroup API
+func CreateCreateAxgGroupRequest() (request *CreateAxgGroupRequest) {
+	request = &CreateAxgGroupRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Dyplsapi", "2017-05-25", "CreateAxgGroup", "dypls", "openAPI")
+	return
+}
+
+// CreateCreateAxgGroupResponse creates a response to parse from CreateAxgGroup response
+func CreateCreateAxgGroupResponse() (response *CreateAxgGroupResponse) {
+	response = &CreateAxgGroupResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 20 - 0
services/dyplsapi/endpoint.go

@@ -0,0 +1,20 @@
+package dyplsapi
+
+// EndpointMap Endpoint Data
+var EndpointMap map[string]string
+
+// EndpointType regional or central
+var EndpointType = "central"
+
+// GetEndpointMap Get Endpoint Data Map
+func GetEndpointMap() map[string]string {
+	if EndpointMap == nil {
+		EndpointMap = map[string]string{}
+	}
+	return EndpointMap
+}
+
+// GetEndpointType Get Endpoint Type Value
+func GetEndpointType() string {
+	return EndpointType
+}

+ 111 - 0
services/dyplsapi/operate_axg_group.go

@@ -0,0 +1,111 @@
+package dyplsapi
+
+//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"
+)
+
+// OperateAxgGroup invokes the dyplsapi.OperateAxgGroup API synchronously
+// api document: https://help.aliyun.com/api/dyplsapi/operateaxggroup.html
+func (client *Client) OperateAxgGroup(request *OperateAxgGroupRequest) (response *OperateAxgGroupResponse, err error) {
+	response = CreateOperateAxgGroupResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// OperateAxgGroupWithChan invokes the dyplsapi.OperateAxgGroup API asynchronously
+// api document: https://help.aliyun.com/api/dyplsapi/operateaxggroup.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) OperateAxgGroupWithChan(request *OperateAxgGroupRequest) (<-chan *OperateAxgGroupResponse, <-chan error) {
+	responseChan := make(chan *OperateAxgGroupResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.OperateAxgGroup(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// OperateAxgGroupWithCallback invokes the dyplsapi.OperateAxgGroup API asynchronously
+// api document: https://help.aliyun.com/api/dyplsapi/operateaxggroup.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) OperateAxgGroupWithCallback(request *OperateAxgGroupRequest, callback func(response *OperateAxgGroupResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *OperateAxgGroupResponse
+		var err error
+		defer close(result)
+		response, err = client.OperateAxgGroup(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// OperateAxgGroupRequest is the request struct for api OperateAxgGroup
+type OperateAxgGroupRequest struct {
+	*requests.RpcRequest
+	ResourceOwnerId      requests.Integer `position:"Query" name:"ResourceOwnerId"`
+	Numbers              string           `position:"Query" name:"Numbers"`
+	ResourceOwnerAccount string           `position:"Query" name:"ResourceOwnerAccount"`
+	GroupId              requests.Integer `position:"Query" name:"GroupId"`
+	OwnerId              requests.Integer `position:"Query" name:"OwnerId"`
+	PoolKey              string           `position:"Query" name:"PoolKey"`
+	OperateType          string           `position:"Query" name:"OperateType"`
+}
+
+// OperateAxgGroupResponse is the response struct for api OperateAxgGroup
+type OperateAxgGroupResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+	Code      string `json:"Code" xml:"Code"`
+	Message   string `json:"Message" xml:"Message"`
+}
+
+// CreateOperateAxgGroupRequest creates a request to invoke OperateAxgGroup API
+func CreateOperateAxgGroupRequest() (request *OperateAxgGroupRequest) {
+	request = &OperateAxgGroupRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Dyplsapi", "2017-05-25", "OperateAxgGroup", "dypls", "openAPI")
+	return
+}
+
+// CreateOperateAxgGroupResponse creates a response to parse from OperateAxgGroup response
+func CreateOperateAxgGroupResponse() (response *OperateAxgGroupResponse) {
+	response = &OperateAxgGroupResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 111 - 0
services/dyplsapi/query_call_status.go

@@ -0,0 +1,111 @@
+package dyplsapi
+
+//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"
+)
+
+// QueryCallStatus invokes the dyplsapi.QueryCallStatus API synchronously
+// api document: https://help.aliyun.com/api/dyplsapi/querycallstatus.html
+func (client *Client) QueryCallStatus(request *QueryCallStatusRequest) (response *QueryCallStatusResponse, err error) {
+	response = CreateQueryCallStatusResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// QueryCallStatusWithChan invokes the dyplsapi.QueryCallStatus API asynchronously
+// api document: https://help.aliyun.com/api/dyplsapi/querycallstatus.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) QueryCallStatusWithChan(request *QueryCallStatusRequest) (<-chan *QueryCallStatusResponse, <-chan error) {
+	responseChan := make(chan *QueryCallStatusResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.QueryCallStatus(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// QueryCallStatusWithCallback invokes the dyplsapi.QueryCallStatus API asynchronously
+// api document: https://help.aliyun.com/api/dyplsapi/querycallstatus.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) QueryCallStatusWithCallback(request *QueryCallStatusRequest, callback func(response *QueryCallStatusResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *QueryCallStatusResponse
+		var err error
+		defer close(result)
+		response, err = client.QueryCallStatus(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// QueryCallStatusRequest is the request struct for api QueryCallStatus
+type QueryCallStatusRequest struct {
+	*requests.RpcRequest
+	ResourceOwnerId      requests.Integer `position:"Query" name:"ResourceOwnerId"`
+	SubsId               string           `position:"Query" name:"SubsId"`
+	ResourceOwnerAccount string           `position:"Query" name:"ResourceOwnerAccount"`
+	CallNo               string           `position:"Query" name:"CallNo"`
+	OwnerId              requests.Integer `position:"Query" name:"OwnerId"`
+	PoolKey              string           `position:"Query" name:"PoolKey"`
+}
+
+// QueryCallStatusResponse is the response struct for api QueryCallStatus
+type QueryCallStatusResponse struct {
+	*responses.BaseResponse
+	RequestId           string              `json:"RequestId" xml:"RequestId"`
+	Code                string              `json:"Code" xml:"Code"`
+	Message             string              `json:"Message" xml:"Message"`
+	SecretCallStatusDTO SecretCallStatusDTO `json:"SecretCallStatusDTO" xml:"SecretCallStatusDTO"`
+}
+
+// CreateQueryCallStatusRequest creates a request to invoke QueryCallStatus API
+func CreateQueryCallStatusRequest() (request *QueryCallStatusRequest) {
+	request = &QueryCallStatusRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Dyplsapi", "2017-05-25", "QueryCallStatus", "dypls", "openAPI")
+	return
+}
+
+// CreateQueryCallStatusResponse creates a response to parse from QueryCallStatus response
+func CreateQueryCallStatusResponse() (response *QueryCallStatusResponse) {
+	response = &QueryCallStatusResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 112 - 0
services/dyplsapi/query_record_file_download_url.go

@@ -0,0 +1,112 @@
+package dyplsapi
+
+//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"
+)
+
+// QueryRecordFileDownloadUrl invokes the dyplsapi.QueryRecordFileDownloadUrl API synchronously
+// api document: https://help.aliyun.com/api/dyplsapi/queryrecordfiledownloadurl.html
+func (client *Client) QueryRecordFileDownloadUrl(request *QueryRecordFileDownloadUrlRequest) (response *QueryRecordFileDownloadUrlResponse, err error) {
+	response = CreateQueryRecordFileDownloadUrlResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// QueryRecordFileDownloadUrlWithChan invokes the dyplsapi.QueryRecordFileDownloadUrl API asynchronously
+// api document: https://help.aliyun.com/api/dyplsapi/queryrecordfiledownloadurl.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) QueryRecordFileDownloadUrlWithChan(request *QueryRecordFileDownloadUrlRequest) (<-chan *QueryRecordFileDownloadUrlResponse, <-chan error) {
+	responseChan := make(chan *QueryRecordFileDownloadUrlResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.QueryRecordFileDownloadUrl(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// QueryRecordFileDownloadUrlWithCallback invokes the dyplsapi.QueryRecordFileDownloadUrl API asynchronously
+// api document: https://help.aliyun.com/api/dyplsapi/queryrecordfiledownloadurl.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) QueryRecordFileDownloadUrlWithCallback(request *QueryRecordFileDownloadUrlRequest, callback func(response *QueryRecordFileDownloadUrlResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *QueryRecordFileDownloadUrlResponse
+		var err error
+		defer close(result)
+		response, err = client.QueryRecordFileDownloadUrl(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// QueryRecordFileDownloadUrlRequest is the request struct for api QueryRecordFileDownloadUrl
+type QueryRecordFileDownloadUrlRequest struct {
+	*requests.RpcRequest
+	CallId               string           `position:"Query" name:"CallId"`
+	ResourceOwnerId      requests.Integer `position:"Query" name:"ResourceOwnerId"`
+	ProductType          string           `position:"Query" name:"ProductType"`
+	ResourceOwnerAccount string           `position:"Query" name:"ResourceOwnerAccount"`
+	OwnerId              requests.Integer `position:"Query" name:"OwnerId"`
+	CallTime             string           `position:"Query" name:"CallTime"`
+	PoolKey              string           `position:"Query" name:"PoolKey"`
+}
+
+// QueryRecordFileDownloadUrlResponse is the response struct for api QueryRecordFileDownloadUrl
+type QueryRecordFileDownloadUrlResponse struct {
+	*responses.BaseResponse
+	RequestId   string `json:"RequestId" xml:"RequestId"`
+	Code        string `json:"Code" xml:"Code"`
+	Message     string `json:"Message" xml:"Message"`
+	DownloadUrl string `json:"DownloadUrl" xml:"DownloadUrl"`
+}
+
+// CreateQueryRecordFileDownloadUrlRequest creates a request to invoke QueryRecordFileDownloadUrl API
+func CreateQueryRecordFileDownloadUrlRequest() (request *QueryRecordFileDownloadUrlRequest) {
+	request = &QueryRecordFileDownloadUrlRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Dyplsapi", "2017-05-25", "QueryRecordFileDownloadUrl", "dypls", "openAPI")
+	return
+}
+
+// CreateQueryRecordFileDownloadUrlResponse creates a response to parse from QueryRecordFileDownloadUrl response
+func CreateQueryRecordFileDownloadUrlResponse() (response *QueryRecordFileDownloadUrlResponse) {
+	response = &QueryRecordFileDownloadUrlResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 111 - 0
services/dyplsapi/query_secret_no_remain.go

@@ -0,0 +1,111 @@
+package dyplsapi
+
+//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"
+)
+
+// QuerySecretNoRemain invokes the dyplsapi.QuerySecretNoRemain API synchronously
+// api document: https://help.aliyun.com/api/dyplsapi/querysecretnoremain.html
+func (client *Client) QuerySecretNoRemain(request *QuerySecretNoRemainRequest) (response *QuerySecretNoRemainResponse, err error) {
+	response = CreateQuerySecretNoRemainResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// QuerySecretNoRemainWithChan invokes the dyplsapi.QuerySecretNoRemain API asynchronously
+// api document: https://help.aliyun.com/api/dyplsapi/querysecretnoremain.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) QuerySecretNoRemainWithChan(request *QuerySecretNoRemainRequest) (<-chan *QuerySecretNoRemainResponse, <-chan error) {
+	responseChan := make(chan *QuerySecretNoRemainResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.QuerySecretNoRemain(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// QuerySecretNoRemainWithCallback invokes the dyplsapi.QuerySecretNoRemain API asynchronously
+// api document: https://help.aliyun.com/api/dyplsapi/querysecretnoremain.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) QuerySecretNoRemainWithCallback(request *QuerySecretNoRemainRequest, callback func(response *QuerySecretNoRemainResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *QuerySecretNoRemainResponse
+		var err error
+		defer close(result)
+		response, err = client.QuerySecretNoRemain(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// QuerySecretNoRemainRequest is the request struct for api QuerySecretNoRemain
+type QuerySecretNoRemainRequest struct {
+	*requests.RpcRequest
+	SpecId               requests.Integer `position:"Query" name:"SpecId"`
+	ResourceOwnerId      requests.Integer `position:"Query" name:"ResourceOwnerId"`
+	City                 string           `position:"Query" name:"City"`
+	SecretNo             string           `position:"Query" name:"SecretNo"`
+	ResourceOwnerAccount string           `position:"Query" name:"ResourceOwnerAccount"`
+	OwnerId              requests.Integer `position:"Query" name:"OwnerId"`
+}
+
+// QuerySecretNoRemainResponse is the response struct for api QuerySecretNoRemain
+type QuerySecretNoRemainResponse struct {
+	*responses.BaseResponse
+	RequestId       string          `json:"RequestId" xml:"RequestId"`
+	Code            string          `json:"Code" xml:"Code"`
+	Message         string          `json:"Message" xml:"Message"`
+	SecretRemainDTO SecretRemainDTO `json:"SecretRemainDTO" xml:"SecretRemainDTO"`
+}
+
+// CreateQuerySecretNoRemainRequest creates a request to invoke QuerySecretNoRemain API
+func CreateQuerySecretNoRemainRequest() (request *QuerySecretNoRemainRequest) {
+	request = &QuerySecretNoRemainRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Dyplsapi", "2017-05-25", "QuerySecretNoRemain", "dypls", "openAPI")
+	return
+}
+
+// CreateQuerySecretNoRemainResponse creates a response to parse from QuerySecretNoRemain response
+func CreateQuerySecretNoRemainResponse() (response *QuerySecretNoRemainResponse) {
+	response = &QuerySecretNoRemainResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 110 - 0
services/dyplsapi/query_subs_id.go

@@ -0,0 +1,110 @@
+package dyplsapi
+
+//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"
+)
+
+// QuerySubsId invokes the dyplsapi.QuerySubsId API synchronously
+// api document: https://help.aliyun.com/api/dyplsapi/querysubsid.html
+func (client *Client) QuerySubsId(request *QuerySubsIdRequest) (response *QuerySubsIdResponse, err error) {
+	response = CreateQuerySubsIdResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// QuerySubsIdWithChan invokes the dyplsapi.QuerySubsId API asynchronously
+// api document: https://help.aliyun.com/api/dyplsapi/querysubsid.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) QuerySubsIdWithChan(request *QuerySubsIdRequest) (<-chan *QuerySubsIdResponse, <-chan error) {
+	responseChan := make(chan *QuerySubsIdResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.QuerySubsId(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// QuerySubsIdWithCallback invokes the dyplsapi.QuerySubsId API asynchronously
+// api document: https://help.aliyun.com/api/dyplsapi/querysubsid.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) QuerySubsIdWithCallback(request *QuerySubsIdRequest, callback func(response *QuerySubsIdResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *QuerySubsIdResponse
+		var err error
+		defer close(result)
+		response, err = client.QuerySubsId(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// QuerySubsIdRequest is the request struct for api QuerySubsId
+type QuerySubsIdRequest struct {
+	*requests.RpcRequest
+	ResourceOwnerId      requests.Integer `position:"Query" name:"ResourceOwnerId"`
+	ResourceOwnerAccount string           `position:"Query" name:"ResourceOwnerAccount"`
+	OwnerId              requests.Integer `position:"Query" name:"OwnerId"`
+	PoolKey              string           `position:"Query" name:"PoolKey"`
+	PhoneNoX             string           `position:"Query" name:"PhoneNoX"`
+}
+
+// QuerySubsIdResponse is the response struct for api QuerySubsId
+type QuerySubsIdResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+	Code      string `json:"Code" xml:"Code"`
+	Message   string `json:"Message" xml:"Message"`
+	SubsId    string `json:"SubsId" xml:"SubsId"`
+}
+
+// CreateQuerySubsIdRequest creates a request to invoke QuerySubsId API
+func CreateQuerySubsIdRequest() (request *QuerySubsIdRequest) {
+	request = &QuerySubsIdRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Dyplsapi", "2017-05-25", "QuerySubsId", "dypls", "openAPI")
+	return
+}
+
+// CreateQuerySubsIdResponse creates a response to parse from QuerySubsId response
+func CreateQuerySubsIdResponse() (response *QuerySubsIdResponse) {
+	response = &QuerySubsIdResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 112 - 0
services/dyplsapi/query_subscription_detail.go

@@ -0,0 +1,112 @@
+package dyplsapi
+
+//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"
+)
+
+// QuerySubscriptionDetail invokes the dyplsapi.QuerySubscriptionDetail API synchronously
+// api document: https://help.aliyun.com/api/dyplsapi/querysubscriptiondetail.html
+func (client *Client) QuerySubscriptionDetail(request *QuerySubscriptionDetailRequest) (response *QuerySubscriptionDetailResponse, err error) {
+	response = CreateQuerySubscriptionDetailResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// QuerySubscriptionDetailWithChan invokes the dyplsapi.QuerySubscriptionDetail API asynchronously
+// api document: https://help.aliyun.com/api/dyplsapi/querysubscriptiondetail.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) QuerySubscriptionDetailWithChan(request *QuerySubscriptionDetailRequest) (<-chan *QuerySubscriptionDetailResponse, <-chan error) {
+	responseChan := make(chan *QuerySubscriptionDetailResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.QuerySubscriptionDetail(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// QuerySubscriptionDetailWithCallback invokes the dyplsapi.QuerySubscriptionDetail API asynchronously
+// api document: https://help.aliyun.com/api/dyplsapi/querysubscriptiondetail.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) QuerySubscriptionDetailWithCallback(request *QuerySubscriptionDetailRequest, callback func(response *QuerySubscriptionDetailResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *QuerySubscriptionDetailResponse
+		var err error
+		defer close(result)
+		response, err = client.QuerySubscriptionDetail(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// QuerySubscriptionDetailRequest is the request struct for api QuerySubscriptionDetail
+type QuerySubscriptionDetailRequest struct {
+	*requests.RpcRequest
+	ResourceOwnerId      requests.Integer `position:"Query" name:"ResourceOwnerId"`
+	ProductType          string           `position:"Query" name:"ProductType"`
+	SubsId               string           `position:"Query" name:"SubsId"`
+	PhoneNoX             string           `position:"Query" name:"PhoneNoX"`
+	ResourceOwnerAccount string           `position:"Query" name:"ResourceOwnerAccount"`
+	OwnerId              requests.Integer `position:"Query" name:"OwnerId"`
+	PoolKey              string           `position:"Query" name:"PoolKey"`
+}
+
+// QuerySubscriptionDetailResponse is the response struct for api QuerySubscriptionDetail
+type QuerySubscriptionDetailResponse struct {
+	*responses.BaseResponse
+	RequestId           string              `json:"RequestId" xml:"RequestId"`
+	Code                string              `json:"Code" xml:"Code"`
+	Message             string              `json:"Message" xml:"Message"`
+	SecretBindDetailDTO SecretBindDetailDTO `json:"SecretBindDetailDTO" xml:"SecretBindDetailDTO"`
+}
+
+// CreateQuerySubscriptionDetailRequest creates a request to invoke QuerySubscriptionDetail API
+func CreateQuerySubscriptionDetailRequest() (request *QuerySubscriptionDetailRequest) {
+	request = &QuerySubscriptionDetailRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Dyplsapi", "2017-05-25", "QuerySubscriptionDetail", "dypls", "openAPI")
+	return
+}
+
+// CreateQuerySubscriptionDetailResponse creates a response to parse from QuerySubscriptionDetail response
+func CreateQuerySubscriptionDetailResponse() (response *QuerySubscriptionDetailResponse) {
+	response = &QuerySubscriptionDetailResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 109 - 0
services/dyplsapi/release_secret_no.go

@@ -0,0 +1,109 @@
+package dyplsapi
+
+//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"
+)
+
+// ReleaseSecretNo invokes the dyplsapi.ReleaseSecretNo API synchronously
+// api document: https://help.aliyun.com/api/dyplsapi/releasesecretno.html
+func (client *Client) ReleaseSecretNo(request *ReleaseSecretNoRequest) (response *ReleaseSecretNoResponse, err error) {
+	response = CreateReleaseSecretNoResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// ReleaseSecretNoWithChan invokes the dyplsapi.ReleaseSecretNo API asynchronously
+// api document: https://help.aliyun.com/api/dyplsapi/releasesecretno.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ReleaseSecretNoWithChan(request *ReleaseSecretNoRequest) (<-chan *ReleaseSecretNoResponse, <-chan error) {
+	responseChan := make(chan *ReleaseSecretNoResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.ReleaseSecretNo(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// ReleaseSecretNoWithCallback invokes the dyplsapi.ReleaseSecretNo API asynchronously
+// api document: https://help.aliyun.com/api/dyplsapi/releasesecretno.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ReleaseSecretNoWithCallback(request *ReleaseSecretNoRequest, callback func(response *ReleaseSecretNoResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *ReleaseSecretNoResponse
+		var err error
+		defer close(result)
+		response, err = client.ReleaseSecretNo(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// ReleaseSecretNoRequest is the request struct for api ReleaseSecretNo
+type ReleaseSecretNoRequest struct {
+	*requests.RpcRequest
+	ResourceOwnerId      requests.Integer `position:"Query" name:"ResourceOwnerId"`
+	ResourceOwnerAccount string           `position:"Query" name:"ResourceOwnerAccount"`
+	OwnerId              requests.Integer `position:"Query" name:"OwnerId"`
+	PoolKey              string           `position:"Query" name:"PoolKey"`
+	SecretNo             string           `position:"Query" name:"SecretNo"`
+}
+
+// ReleaseSecretNoResponse is the response struct for api ReleaseSecretNo
+type ReleaseSecretNoResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+	Code      string `json:"Code" xml:"Code"`
+	Message   string `json:"Message" xml:"Message"`
+}
+
+// CreateReleaseSecretNoRequest creates a request to invoke ReleaseSecretNo API
+func CreateReleaseSecretNoRequest() (request *ReleaseSecretNoRequest) {
+	request = &ReleaseSecretNoRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Dyplsapi", "2017-05-25", "ReleaseSecretNo", "dypls", "openAPI")
+	return
+}
+
+// CreateReleaseSecretNoResponse creates a response to parse from ReleaseSecretNo response
+func CreateReleaseSecretNoResponse() (response *ReleaseSecretNoResponse) {
+	response = &ReleaseSecretNoResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 22 - 0
services/dyplsapi/struct_remain_dto.go

@@ -0,0 +1,22 @@
+package dyplsapi
+
+//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.
+
+// RemainDTO is a nested struct in dyplsapi response
+type RemainDTO struct {
+	City   string `json:"City" xml:"City"`
+	Amount int64  `json:"Amount" xml:"Amount"`
+}

+ 21 - 0
services/dyplsapi/struct_remain_dto_list.go

@@ -0,0 +1,21 @@
+package dyplsapi
+
+//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.
+
+// RemainDTOList is a nested struct in dyplsapi response
+type RemainDTOList struct {
+	RemainDTO []RemainDTO `json:"remainDTO" xml:"remainDTO"`
+}

+ 31 - 0
services/dyplsapi/struct_secret_bind_detail_dto.go

@@ -0,0 +1,31 @@
+package dyplsapi
+
+//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.
+
+// SecretBindDetailDTO is a nested struct in dyplsapi response
+type SecretBindDetailDTO struct {
+	SubsId       string `json:"SubsId" xml:"SubsId"`
+	PhoneNoA     string `json:"PhoneNoA" xml:"PhoneNoA"`
+	PhoneNoX     string `json:"PhoneNoX" xml:"PhoneNoX"`
+	PhoneNoB     string `json:"PhoneNoB" xml:"PhoneNoB"`
+	Extension    string `json:"Extension" xml:"Extension"`
+	GroupId      int64  `json:"GroupId" xml:"GroupId"`
+	GmtCreate    string `json:"GmtCreate" xml:"GmtCreate"`
+	ExpireDate   string `json:"ExpireDate" xml:"ExpireDate"`
+	NeedRecord   bool   `json:"NeedRecord" xml:"NeedRecord"`
+	CallRestrict string `json:"CallRestrict" xml:"CallRestrict"`
+	Status       int64  `json:"Status" xml:"Status"`
+}

+ 23 - 0
services/dyplsapi/struct_secret_bind_dto.go

@@ -0,0 +1,23 @@
+package dyplsapi
+
+//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.
+
+// SecretBindDTO is a nested struct in dyplsapi response
+type SecretBindDTO struct {
+	SubsId    string `json:"SubsId" xml:"SubsId"`
+	SecretNo  string `json:"SecretNo" xml:"SecretNo"`
+	Extension string `json:"Extension" xml:"Extension"`
+}

+ 21 - 0
services/dyplsapi/struct_secret_buy_info_dto.go

@@ -0,0 +1,21 @@
+package dyplsapi
+
+//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.
+
+// SecretBuyInfoDTO is a nested struct in dyplsapi response
+type SecretBuyInfoDTO struct {
+	SecretNo string `json:"SecretNo" xml:"SecretNo"`
+}

+ 22 - 0
services/dyplsapi/struct_secret_call_status_dto.go

@@ -0,0 +1,22 @@
+package dyplsapi
+
+//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.
+
+// SecretCallStatusDTO is a nested struct in dyplsapi response
+type SecretCallStatusDTO struct {
+	Status   int    `json:"Status" xml:"Status"`
+	CalledNo string `json:"CalledNo" xml:"CalledNo"`
+}

+ 23 - 0
services/dyplsapi/struct_secret_remain_dto.go

@@ -0,0 +1,23 @@
+package dyplsapi
+
+//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.
+
+// SecretRemainDTO is a nested struct in dyplsapi response
+type SecretRemainDTO struct {
+	City          string        `json:"City" xml:"City"`
+	Amount        int64         `json:"Amount" xml:"Amount"`
+	RemainDTOList RemainDTOList `json:"RemainDTOList" xml:"RemainDTOList"`
+}

+ 112 - 0
services/dyplsapi/unbind_subscription.go

@@ -0,0 +1,112 @@
+package dyplsapi
+
+//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"
+)
+
+// UnbindSubscription invokes the dyplsapi.UnbindSubscription API synchronously
+// api document: https://help.aliyun.com/api/dyplsapi/unbindsubscription.html
+func (client *Client) UnbindSubscription(request *UnbindSubscriptionRequest) (response *UnbindSubscriptionResponse, err error) {
+	response = CreateUnbindSubscriptionResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// UnbindSubscriptionWithChan invokes the dyplsapi.UnbindSubscription API asynchronously
+// api document: https://help.aliyun.com/api/dyplsapi/unbindsubscription.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) UnbindSubscriptionWithChan(request *UnbindSubscriptionRequest) (<-chan *UnbindSubscriptionResponse, <-chan error) {
+	responseChan := make(chan *UnbindSubscriptionResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.UnbindSubscription(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// UnbindSubscriptionWithCallback invokes the dyplsapi.UnbindSubscription API asynchronously
+// api document: https://help.aliyun.com/api/dyplsapi/unbindsubscription.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) UnbindSubscriptionWithCallback(request *UnbindSubscriptionRequest, callback func(response *UnbindSubscriptionResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *UnbindSubscriptionResponse
+		var err error
+		defer close(result)
+		response, err = client.UnbindSubscription(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// UnbindSubscriptionRequest is the request struct for api UnbindSubscription
+type UnbindSubscriptionRequest struct {
+	*requests.RpcRequest
+	ResourceOwnerId      requests.Integer `position:"Query" name:"ResourceOwnerId"`
+	ProductType          string           `position:"Query" name:"ProductType"`
+	SubsId               string           `position:"Query" name:"SubsId"`
+	SecretNo             string           `position:"Query" name:"SecretNo"`
+	ResourceOwnerAccount string           `position:"Query" name:"ResourceOwnerAccount"`
+	OwnerId              requests.Integer `position:"Query" name:"OwnerId"`
+	PoolKey              string           `position:"Query" name:"PoolKey"`
+}
+
+// UnbindSubscriptionResponse is the response struct for api UnbindSubscription
+type UnbindSubscriptionResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+	ChargeId  string `json:"ChargeId" xml:"ChargeId"`
+	Code      string `json:"Code" xml:"Code"`
+	Message   string `json:"Message" xml:"Message"`
+}
+
+// CreateUnbindSubscriptionRequest creates a request to invoke UnbindSubscription API
+func CreateUnbindSubscriptionRequest() (request *UnbindSubscriptionRequest) {
+	request = &UnbindSubscriptionRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Dyplsapi", "2017-05-25", "UnbindSubscription", "dypls", "openAPI")
+	return
+}
+
+// CreateUnbindSubscriptionResponse creates a response to parse from UnbindSubscription response
+func CreateUnbindSubscriptionResponse() (response *UnbindSubscriptionResponse) {
+	response = &UnbindSubscriptionResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 121 - 0
services/dyplsapi/update_subscription.go

@@ -0,0 +1,121 @@
+package dyplsapi
+
+//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"
+)
+
+// UpdateSubscription invokes the dyplsapi.UpdateSubscription API synchronously
+// api document: https://help.aliyun.com/api/dyplsapi/updatesubscription.html
+func (client *Client) UpdateSubscription(request *UpdateSubscriptionRequest) (response *UpdateSubscriptionResponse, err error) {
+	response = CreateUpdateSubscriptionResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// UpdateSubscriptionWithChan invokes the dyplsapi.UpdateSubscription API asynchronously
+// api document: https://help.aliyun.com/api/dyplsapi/updatesubscription.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) UpdateSubscriptionWithChan(request *UpdateSubscriptionRequest) (<-chan *UpdateSubscriptionResponse, <-chan error) {
+	responseChan := make(chan *UpdateSubscriptionResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.UpdateSubscription(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// UpdateSubscriptionWithCallback invokes the dyplsapi.UpdateSubscription API asynchronously
+// api document: https://help.aliyun.com/api/dyplsapi/updatesubscription.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) UpdateSubscriptionWithCallback(request *UpdateSubscriptionRequest, callback func(response *UpdateSubscriptionResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *UpdateSubscriptionResponse
+		var err error
+		defer close(result)
+		response, err = client.UpdateSubscription(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// UpdateSubscriptionRequest is the request struct for api UpdateSubscription
+type UpdateSubscriptionRequest struct {
+	*requests.RpcRequest
+	ResourceOwnerId      requests.Integer `position:"Query" name:"ResourceOwnerId"`
+	CallDisplayType      requests.Integer `position:"Query" name:"CallDisplayType"`
+	ProductType          string           `position:"Query" name:"ProductType"`
+	SubsId               string           `position:"Query" name:"SubsId"`
+	PhoneNoX             string           `position:"Query" name:"PhoneNoX"`
+	RingConfig           string           `position:"Query" name:"RingConfig"`
+	PhoneNoB             string           `position:"Query" name:"PhoneNoB"`
+	PhoneNoA             string           `position:"Query" name:"PhoneNoA"`
+	ResourceOwnerAccount string           `position:"Query" name:"ResourceOwnerAccount"`
+	GroupId              string           `position:"Query" name:"GroupId"`
+	OwnerId              requests.Integer `position:"Query" name:"OwnerId"`
+	PoolKey              string           `position:"Query" name:"PoolKey"`
+	Expiration           string           `position:"Query" name:"Expiration"`
+	OutId                string           `position:"Query" name:"OutId"`
+	IsRecordingEnabled   requests.Boolean `position:"Query" name:"IsRecordingEnabled"`
+	OperateType          string           `position:"Query" name:"OperateType"`
+	CallRestrict         string           `position:"Query" name:"CallRestrict"`
+}
+
+// UpdateSubscriptionResponse is the response struct for api UpdateSubscription
+type UpdateSubscriptionResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+	Code      string `json:"Code" xml:"Code"`
+	Message   string `json:"Message" xml:"Message"`
+}
+
+// CreateUpdateSubscriptionRequest creates a request to invoke UpdateSubscription API
+func CreateUpdateSubscriptionRequest() (request *UpdateSubscriptionRequest) {
+	request = &UpdateSubscriptionRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Dyplsapi", "2017-05-25", "UpdateSubscription", "dypls", "openAPI")
+	return
+}
+
+// CreateUpdateSubscriptionResponse creates a response to parse from UpdateSubscription response
+func CreateUpdateSubscriptionResponse() (response *UpdateSubscriptionResponse) {
+	response = &UpdateSubscriptionResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}