Jelajahi Sumber

Generated 2018-06-12 for VoiceNavigator.

sdk-team 5 tahun lalu
induk
melakukan
589ee3983c
100 mengubah file dengan 7628 tambahan dan 0 penghapusan
  1. 4 0
      ChangeLog.txt
  2. 108 0
      services/voicenavigator/audit_tts_voice.go
  3. 109 0
      services/voicenavigator/authorized.go
  4. 104 0
      services/voicenavigator/batch_delete_navigation_scripts.go
  5. 105 0
      services/voicenavigator/batch_move_navigation_scripts.go
  6. 111 0
      services/voicenavigator/begin_dialogue.go
  7. 129 0
      services/voicenavigator/client.go
  8. 109 0
      services/voicenavigator/collected_number.go
  9. 106 0
      services/voicenavigator/create_category.go
  10. 108 0
      services/voicenavigator/create_instance.go
  11. 109 0
      services/voicenavigator/create_knowledge.go
  12. 111 0
      services/voicenavigator/create_redirection.go
  13. 109 0
      services/voicenavigator/debug_authorized.go
  14. 111 0
      services/voicenavigator/debug_begin_dialogue.go
  15. 109 0
      services/voicenavigator/debug_collected_number.go
  16. 110 0
      services/voicenavigator/debug_dialogue.go
  17. 104 0
      services/voicenavigator/delete_category.go
  18. 103 0
      services/voicenavigator/delete_instance.go
  19. 104 0
      services/voicenavigator/delete_navigation_script.go
  20. 104 0
      services/voicenavigator/describe_category_tree.go
  21. 112 0
      services/voicenavigator/describe_conversation.go
  22. 105 0
      services/voicenavigator/describe_conversation_context.go
  23. 106 0
      services/voicenavigator/describe_export_progress.go
  24. 112 0
      services/voicenavigator/describe_instance.go
  25. 111 0
      services/voicenavigator/describe_knowledge.go
  26. 109 0
      services/voicenavigator/describe_navigation_config.go
  27. 106 0
      services/voicenavigator/describe_recording.go
  28. 113 0
      services/voicenavigator/describe_redirection.go
  29. 113 0
      services/voicenavigator/describe_statistical_data.go
  30. 106 0
      services/voicenavigator/describe_tts_config.go
  31. 112 0
      services/voicenavigator/dialogue.go
  32. 104 0
      services/voicenavigator/disable_instance.go
  33. 104 0
      services/voicenavigator/duplicate_instance.go
  34. 104 0
      services/voicenavigator/enable_instance.go
  35. 104 0
      services/voicenavigator/end_dialogue.go
  36. 20 0
      services/voicenavigator/endpoint.go
  37. 107 0
      services/voicenavigator/export_conversation_details.go
  38. 108 0
      services/voicenavigator/export_statistical_data.go
  39. 105 0
      services/voicenavigator/list_categories.go
  40. 105 0
      services/voicenavigator/list_conversation_details.go
  41. 109 0
      services/voicenavigator/list_conversations.go
  42. 108 0
      services/voicenavigator/list_instances.go
  43. 110 0
      services/voicenavigator/list_navigation_scripts.go
  44. 109 0
      services/voicenavigator/list_publish_histories.go
  45. 110 0
      services/voicenavigator/modify_asking_back_config.go
  46. 105 0
      services/voicenavigator/modify_category.go
  47. 107 0
      services/voicenavigator/modify_complaining_config.go
  48. 106 0
      services/voicenavigator/modify_greeting_config.go
  49. 106 0
      services/voicenavigator/modify_instance.go
  50. 108 0
      services/voicenavigator/modify_knowledge.go
  51. 110 0
      services/voicenavigator/modify_redirection.go
  52. 104 0
      services/voicenavigator/modify_repeating_config.go
  53. 111 0
      services/voicenavigator/modify_silence_timeout_config.go
  54. 106 0
      services/voicenavigator/modify_tts_config.go
  55. 108 0
      services/voicenavigator/modify_unrecognizing_config.go
  56. 106 0
      services/voicenavigator/move_category.go
  57. 105 0
      services/voicenavigator/move_navigation_script.go
  58. 105 0
      services/voicenavigator/publish_instance.go
  59. 112 0
      services/voicenavigator/query_conversations.go
  60. 112 0
      services/voicenavigator/query_navigation_scripts.go
  61. 108 0
      services/voicenavigator/query_performance_indicators.go
  62. 106 0
      services/voicenavigator/query_recording.go
  63. 105 0
      services/voicenavigator/rollback_instance.go
  64. 109 0
      services/voicenavigator/save_recording.go
  65. 109 0
      services/voicenavigator/silence_timeout.go
  66. 21 0
      services/voicenavigator/struct_applicable_operations_in_describe_instance.go
  67. 21 0
      services/voicenavigator/struct_applicable_operations_in_list_instances.go
  68. 27 0
      services/voicenavigator/struct_asking_back_config.go
  69. 21 0
      services/voicenavigator/struct_categories_in_describe_category_tree.go
  70. 21 0
      services/voicenavigator/struct_categories_in_list_categories.go
  71. 27 0
      services/voicenavigator/struct_category.go
  72. 24 0
      services/voicenavigator/struct_complaining_config.go
  73. 28 0
      services/voicenavigator/struct_conversation.go
  74. 27 0
      services/voicenavigator/struct_conversation_detail.go
  75. 21 0
      services/voicenavigator/struct_conversation_details.go
  76. 21 0
      services/voicenavigator/struct_conversations_in_list_conversations.go
  77. 21 0
      services/voicenavigator/struct_conversations_in_query_conversations.go
  78. 22 0
      services/voicenavigator/struct_dialogue_pass_rate.go
  79. 23 0
      services/voicenavigator/struct_greeting_config.go
  80. 29 0
      services/voicenavigator/struct_instance.go
  81. 21 0
      services/voicenavigator/struct_instances.go
  82. 22 0
      services/voicenavigator/struct_knowledge_hit_rate.go
  83. 21 0
      services/voicenavigator/struct_level.go
  84. 21 0
      services/voicenavigator/struct_levels.go
  85. 24 0
      services/voicenavigator/struct_navigation_script.go
  86. 21 0
      services/voicenavigator/struct_navigation_scripts_in_list_navigation_scripts.go
  87. 21 0
      services/voicenavigator/struct_navigation_scripts_in_query_navigation_scripts.go
  88. 21 0
      services/voicenavigator/struct_negative_feedback_utterances.go
  89. 21 0
      services/voicenavigator/struct_publish_histories.go
  90. 25 0
      services/voicenavigator/struct_publish_histories_item.go
  91. 21 0
      services/voicenavigator/struct_repeating_config.go
  92. 22 0
      services/voicenavigator/struct_resolution_rate.go
  93. 28 0
      services/voicenavigator/struct_silence_timeout_config.go
  94. 21 0
      services/voicenavigator/struct_similar_utterances_in_describe_knowledge.go
  95. 21 0
      services/voicenavigator/struct_similar_utterances_in_describe_redirection.go
  96. 27 0
      services/voicenavigator/struct_statistical_data_report.go
  97. 21 0
      services/voicenavigator/struct_statistical_data_reports.go
  98. 25 0
      services/voicenavigator/struct_unrecognizing_config.go
  99. 21 0
      services/voicenavigator/struct_utterances_in_describe_navigation_config.go
  100. 22 0
      services/voicenavigator/struct_valid_answer_rate.go

+ 4 - 0
ChangeLog.txt

@@ -1,3 +1,7 @@
+2020-02-24 Version: v1.60.390
+- Generated 2018-06-12 for `VoiceNavigator`.
+
+
 2020-02-24 Version: v1.60.389
 - Generated 2019-12-26 for `OutboundBot`.
 

+ 108 - 0
services/voicenavigator/audit_tts_voice.go

@@ -0,0 +1,108 @@
+package voicenavigator
+
+//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"
+)
+
+// AuditTTSVoice invokes the voicenavigator.AuditTTSVoice API synchronously
+// api document: https://help.aliyun.com/api/voicenavigator/auditttsvoice.html
+func (client *Client) AuditTTSVoice(request *AuditTTSVoiceRequest) (response *AuditTTSVoiceResponse, err error) {
+	response = CreateAuditTTSVoiceResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// AuditTTSVoiceWithChan invokes the voicenavigator.AuditTTSVoice API asynchronously
+// api document: https://help.aliyun.com/api/voicenavigator/auditttsvoice.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) AuditTTSVoiceWithChan(request *AuditTTSVoiceRequest) (<-chan *AuditTTSVoiceResponse, <-chan error) {
+	responseChan := make(chan *AuditTTSVoiceResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.AuditTTSVoice(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// AuditTTSVoiceWithCallback invokes the voicenavigator.AuditTTSVoice API asynchronously
+// api document: https://help.aliyun.com/api/voicenavigator/auditttsvoice.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) AuditTTSVoiceWithCallback(request *AuditTTSVoiceRequest, callback func(response *AuditTTSVoiceResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *AuditTTSVoiceResponse
+		var err error
+		defer close(result)
+		response, err = client.AuditTTSVoice(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// AuditTTSVoiceRequest is the request struct for api AuditTTSVoice
+type AuditTTSVoiceRequest struct {
+	*requests.RpcRequest
+	Voice      string `position:"Query" name:"Voice"`
+	Volume     string `position:"Query" name:"Volume"`
+	InstanceId string `position:"Query" name:"InstanceId"`
+	Text       string `position:"Query" name:"Text"`
+	SpeechRate string `position:"Query" name:"SpeechRate"`
+}
+
+// AuditTTSVoiceResponse is the response struct for api AuditTTSVoice
+type AuditTTSVoiceResponse struct {
+	*responses.BaseResponse
+	RequestId   string `json:"RequestId" xml:"RequestId"`
+	AuditionUrl string `json:"AuditionUrl" xml:"AuditionUrl"`
+}
+
+// CreateAuditTTSVoiceRequest creates a request to invoke AuditTTSVoice API
+func CreateAuditTTSVoiceRequest() (request *AuditTTSVoiceRequest) {
+	request = &AuditTTSVoiceRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("VoiceNavigator", "2018-06-12", "AuditTTSVoice", "voicebot", "openAPI")
+	return
+}
+
+// CreateAuditTTSVoiceResponse creates a response to parse from AuditTTSVoice response
+func CreateAuditTTSVoiceResponse() (response *AuditTTSVoiceResponse) {
+	response = &AuditTTSVoiceResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 109 - 0
services/voicenavigator/authorized.go

@@ -0,0 +1,109 @@
+package voicenavigator
+
+//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"
+)
+
+// Authorized invokes the voicenavigator.Authorized API synchronously
+// api document: https://help.aliyun.com/api/voicenavigator/authorized.html
+func (client *Client) Authorized(request *AuthorizedRequest) (response *AuthorizedResponse, err error) {
+	response = CreateAuthorizedResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// AuthorizedWithChan invokes the voicenavigator.Authorized API asynchronously
+// api document: https://help.aliyun.com/api/voicenavigator/authorized.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) AuthorizedWithChan(request *AuthorizedRequest) (<-chan *AuthorizedResponse, <-chan error) {
+	responseChan := make(chan *AuthorizedResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.Authorized(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// AuthorizedWithCallback invokes the voicenavigator.Authorized API asynchronously
+// api document: https://help.aliyun.com/api/voicenavigator/authorized.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) AuthorizedWithCallback(request *AuthorizedRequest, callback func(response *AuthorizedResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *AuthorizedResponse
+		var err error
+		defer close(result)
+		response, err = client.Authorized(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// AuthorizedRequest is the request struct for api Authorized
+type AuthorizedRequest struct {
+	*requests.RpcRequest
+	ConversationId string `position:"Query" name:"ConversationId"`
+	InitialContext string `position:"Query" name:"InitialContext"`
+	InstanceId     string `position:"Query" name:"InstanceId"`
+}
+
+// AuthorizedResponse is the response struct for api Authorized
+type AuthorizedResponse struct {
+	*responses.BaseResponse
+	RequestId     string `json:"RequestId" xml:"RequestId"`
+	TextResponse  string `json:"TextResponse" xml:"TextResponse"`
+	Interruptible bool   `json:"Interruptible" xml:"Interruptible"`
+	Action        string `json:"Action" xml:"Action"`
+	ActionParams  string `json:"ActionParams" xml:"ActionParams"`
+}
+
+// CreateAuthorizedRequest creates a request to invoke Authorized API
+func CreateAuthorizedRequest() (request *AuthorizedRequest) {
+	request = &AuthorizedRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("VoiceNavigator", "2018-06-12", "Authorized", "voicebot", "openAPI")
+	return
+}
+
+// CreateAuthorizedResponse creates a response to parse from Authorized response
+func CreateAuthorizedResponse() (response *AuthorizedResponse) {
+	response = &AuthorizedResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 104 - 0
services/voicenavigator/batch_delete_navigation_scripts.go

@@ -0,0 +1,104 @@
+package voicenavigator
+
+//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"
+)
+
+// BatchDeleteNavigationScripts invokes the voicenavigator.BatchDeleteNavigationScripts API synchronously
+// api document: https://help.aliyun.com/api/voicenavigator/batchdeletenavigationscripts.html
+func (client *Client) BatchDeleteNavigationScripts(request *BatchDeleteNavigationScriptsRequest) (response *BatchDeleteNavigationScriptsResponse, err error) {
+	response = CreateBatchDeleteNavigationScriptsResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// BatchDeleteNavigationScriptsWithChan invokes the voicenavigator.BatchDeleteNavigationScripts API asynchronously
+// api document: https://help.aliyun.com/api/voicenavigator/batchdeletenavigationscripts.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) BatchDeleteNavigationScriptsWithChan(request *BatchDeleteNavigationScriptsRequest) (<-chan *BatchDeleteNavigationScriptsResponse, <-chan error) {
+	responseChan := make(chan *BatchDeleteNavigationScriptsResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.BatchDeleteNavigationScripts(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// BatchDeleteNavigationScriptsWithCallback invokes the voicenavigator.BatchDeleteNavigationScripts API asynchronously
+// api document: https://help.aliyun.com/api/voicenavigator/batchdeletenavigationscripts.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) BatchDeleteNavigationScriptsWithCallback(request *BatchDeleteNavigationScriptsRequest, callback func(response *BatchDeleteNavigationScriptsResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *BatchDeleteNavigationScriptsResponse
+		var err error
+		defer close(result)
+		response, err = client.BatchDeleteNavigationScripts(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// BatchDeleteNavigationScriptsRequest is the request struct for api BatchDeleteNavigationScripts
+type BatchDeleteNavigationScriptsRequest struct {
+	*requests.RpcRequest
+	NavigationScriptIds *[]string `position:"Query" name:"NavigationScriptIds"  type:"Repeated"`
+	InstanceId          string    `position:"Query" name:"InstanceId"`
+}
+
+// BatchDeleteNavigationScriptsResponse is the response struct for api BatchDeleteNavigationScripts
+type BatchDeleteNavigationScriptsResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+}
+
+// CreateBatchDeleteNavigationScriptsRequest creates a request to invoke BatchDeleteNavigationScripts API
+func CreateBatchDeleteNavigationScriptsRequest() (request *BatchDeleteNavigationScriptsRequest) {
+	request = &BatchDeleteNavigationScriptsRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("VoiceNavigator", "2018-06-12", "BatchDeleteNavigationScripts", "voicebot", "openAPI")
+	return
+}
+
+// CreateBatchDeleteNavigationScriptsResponse creates a response to parse from BatchDeleteNavigationScripts response
+func CreateBatchDeleteNavigationScriptsResponse() (response *BatchDeleteNavigationScriptsResponse) {
+	response = &BatchDeleteNavigationScriptsResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 105 - 0
services/voicenavigator/batch_move_navigation_scripts.go

@@ -0,0 +1,105 @@
+package voicenavigator
+
+//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"
+)
+
+// BatchMoveNavigationScripts invokes the voicenavigator.BatchMoveNavigationScripts API synchronously
+// api document: https://help.aliyun.com/api/voicenavigator/batchmovenavigationscripts.html
+func (client *Client) BatchMoveNavigationScripts(request *BatchMoveNavigationScriptsRequest) (response *BatchMoveNavigationScriptsResponse, err error) {
+	response = CreateBatchMoveNavigationScriptsResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// BatchMoveNavigationScriptsWithChan invokes the voicenavigator.BatchMoveNavigationScripts API asynchronously
+// api document: https://help.aliyun.com/api/voicenavigator/batchmovenavigationscripts.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) BatchMoveNavigationScriptsWithChan(request *BatchMoveNavigationScriptsRequest) (<-chan *BatchMoveNavigationScriptsResponse, <-chan error) {
+	responseChan := make(chan *BatchMoveNavigationScriptsResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.BatchMoveNavigationScripts(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// BatchMoveNavigationScriptsWithCallback invokes the voicenavigator.BatchMoveNavigationScripts API asynchronously
+// api document: https://help.aliyun.com/api/voicenavigator/batchmovenavigationscripts.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) BatchMoveNavigationScriptsWithCallback(request *BatchMoveNavigationScriptsRequest, callback func(response *BatchMoveNavigationScriptsResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *BatchMoveNavigationScriptsResponse
+		var err error
+		defer close(result)
+		response, err = client.BatchMoveNavigationScripts(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// BatchMoveNavigationScriptsRequest is the request struct for api BatchMoveNavigationScripts
+type BatchMoveNavigationScriptsRequest struct {
+	*requests.RpcRequest
+	NavigationScriptIds *[]string `position:"Query" name:"NavigationScriptIds"  type:"Repeated"`
+	InstanceId          string    `position:"Query" name:"InstanceId"`
+	TargetCategoryId    string    `position:"Query" name:"TargetCategoryId"`
+}
+
+// BatchMoveNavigationScriptsResponse is the response struct for api BatchMoveNavigationScripts
+type BatchMoveNavigationScriptsResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+}
+
+// CreateBatchMoveNavigationScriptsRequest creates a request to invoke BatchMoveNavigationScripts API
+func CreateBatchMoveNavigationScriptsRequest() (request *BatchMoveNavigationScriptsRequest) {
+	request = &BatchMoveNavigationScriptsRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("VoiceNavigator", "2018-06-12", "BatchMoveNavigationScripts", "voicebot", "openAPI")
+	return
+}
+
+// CreateBatchMoveNavigationScriptsResponse creates a response to parse from BatchMoveNavigationScripts response
+func CreateBatchMoveNavigationScriptsResponse() (response *BatchMoveNavigationScriptsResponse) {
+	response = &BatchMoveNavigationScriptsResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 111 - 0
services/voicenavigator/begin_dialogue.go

@@ -0,0 +1,111 @@
+package voicenavigator
+
+//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"
+)
+
+// BeginDialogue invokes the voicenavigator.BeginDialogue API synchronously
+// api document: https://help.aliyun.com/api/voicenavigator/begindialogue.html
+func (client *Client) BeginDialogue(request *BeginDialogueRequest) (response *BeginDialogueResponse, err error) {
+	response = CreateBeginDialogueResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// BeginDialogueWithChan invokes the voicenavigator.BeginDialogue API asynchronously
+// api document: https://help.aliyun.com/api/voicenavigator/begindialogue.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) BeginDialogueWithChan(request *BeginDialogueRequest) (<-chan *BeginDialogueResponse, <-chan error) {
+	responseChan := make(chan *BeginDialogueResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.BeginDialogue(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// BeginDialogueWithCallback invokes the voicenavigator.BeginDialogue API asynchronously
+// api document: https://help.aliyun.com/api/voicenavigator/begindialogue.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) BeginDialogueWithCallback(request *BeginDialogueRequest, callback func(response *BeginDialogueResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *BeginDialogueResponse
+		var err error
+		defer close(result)
+		response, err = client.BeginDialogue(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// BeginDialogueRequest is the request struct for api BeginDialogue
+type BeginDialogueRequest struct {
+	*requests.RpcRequest
+	ConversationId string `position:"Query" name:"ConversationId"`
+	InitialContext string `position:"Query" name:"InitialContext"`
+	CallingNumber  string `position:"Query" name:"CallingNumber"`
+	InstanceId     string `position:"Query" name:"InstanceId"`
+	CalledNumber   string `position:"Query" name:"CalledNumber"`
+}
+
+// BeginDialogueResponse is the response struct for api BeginDialogue
+type BeginDialogueResponse struct {
+	*responses.BaseResponse
+	RequestId     string `json:"RequestId" xml:"RequestId"`
+	TextResponse  string `json:"TextResponse" xml:"TextResponse"`
+	Interruptible bool   `json:"Interruptible" xml:"Interruptible"`
+	Action        string `json:"Action" xml:"Action"`
+	ActionParams  string `json:"ActionParams" xml:"ActionParams"`
+}
+
+// CreateBeginDialogueRequest creates a request to invoke BeginDialogue API
+func CreateBeginDialogueRequest() (request *BeginDialogueRequest) {
+	request = &BeginDialogueRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("VoiceNavigator", "2018-06-12", "BeginDialogue", "voicebot", "openAPI")
+	return
+}
+
+// CreateBeginDialogueResponse creates a response to parse from BeginDialogue response
+func CreateBeginDialogueResponse() (response *BeginDialogueResponse) {
+	response = &BeginDialogueResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 129 - 0
services/voicenavigator/client.go

@@ -0,0 +1,129 @@
+package voicenavigator
+
+//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
+}

+ 109 - 0
services/voicenavigator/collected_number.go

@@ -0,0 +1,109 @@
+package voicenavigator
+
+//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"
+)
+
+// CollectedNumber invokes the voicenavigator.CollectedNumber API synchronously
+// api document: https://help.aliyun.com/api/voicenavigator/collectednumber.html
+func (client *Client) CollectedNumber(request *CollectedNumberRequest) (response *CollectedNumberResponse, err error) {
+	response = CreateCollectedNumberResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// CollectedNumberWithChan invokes the voicenavigator.CollectedNumber API asynchronously
+// api document: https://help.aliyun.com/api/voicenavigator/collectednumber.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) CollectedNumberWithChan(request *CollectedNumberRequest) (<-chan *CollectedNumberResponse, <-chan error) {
+	responseChan := make(chan *CollectedNumberResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.CollectedNumber(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// CollectedNumberWithCallback invokes the voicenavigator.CollectedNumber API asynchronously
+// api document: https://help.aliyun.com/api/voicenavigator/collectednumber.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) CollectedNumberWithCallback(request *CollectedNumberRequest, callback func(response *CollectedNumberResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *CollectedNumberResponse
+		var err error
+		defer close(result)
+		response, err = client.CollectedNumber(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// CollectedNumberRequest is the request struct for api CollectedNumber
+type CollectedNumberRequest struct {
+	*requests.RpcRequest
+	ConversationId string `position:"Query" name:"ConversationId"`
+	Number         string `position:"Query" name:"Number"`
+	InstanceId     string `position:"Query" name:"InstanceId"`
+}
+
+// CollectedNumberResponse is the response struct for api CollectedNumber
+type CollectedNumberResponse struct {
+	*responses.BaseResponse
+	RequestId     string `json:"RequestId" xml:"RequestId"`
+	TextResponse  string `json:"TextResponse" xml:"TextResponse"`
+	Interruptible bool   `json:"Interruptible" xml:"Interruptible"`
+	Action        string `json:"Action" xml:"Action"`
+	ActionParams  string `json:"ActionParams" xml:"ActionParams"`
+}
+
+// CreateCollectedNumberRequest creates a request to invoke CollectedNumber API
+func CreateCollectedNumberRequest() (request *CollectedNumberRequest) {
+	request = &CollectedNumberRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("VoiceNavigator", "2018-06-12", "CollectedNumber", "voicebot", "openAPI")
+	return
+}
+
+// CreateCollectedNumberResponse creates a response to parse from CollectedNumber response
+func CreateCollectedNumberResponse() (response *CollectedNumberResponse) {
+	response = &CollectedNumberResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 106 - 0
services/voicenavigator/create_category.go

@@ -0,0 +1,106 @@
+package voicenavigator
+
+//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"
+)
+
+// CreateCategory invokes the voicenavigator.CreateCategory API synchronously
+// api document: https://help.aliyun.com/api/voicenavigator/createcategory.html
+func (client *Client) CreateCategory(request *CreateCategoryRequest) (response *CreateCategoryResponse, err error) {
+	response = CreateCreateCategoryResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// CreateCategoryWithChan invokes the voicenavigator.CreateCategory API asynchronously
+// api document: https://help.aliyun.com/api/voicenavigator/createcategory.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) CreateCategoryWithChan(request *CreateCategoryRequest) (<-chan *CreateCategoryResponse, <-chan error) {
+	responseChan := make(chan *CreateCategoryResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.CreateCategory(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// CreateCategoryWithCallback invokes the voicenavigator.CreateCategory API asynchronously
+// api document: https://help.aliyun.com/api/voicenavigator/createcategory.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) CreateCategoryWithCallback(request *CreateCategoryRequest, callback func(response *CreateCategoryResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *CreateCategoryResponse
+		var err error
+		defer close(result)
+		response, err = client.CreateCategory(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// CreateCategoryRequest is the request struct for api CreateCategory
+type CreateCategoryRequest struct {
+	*requests.RpcRequest
+	ParentId   string `position:"Query" name:"ParentId"`
+	InstanceId string `position:"Query" name:"InstanceId"`
+	Name       string `position:"Query" name:"Name"`
+}
+
+// CreateCategoryResponse is the response struct for api CreateCategory
+type CreateCategoryResponse struct {
+	*responses.BaseResponse
+	RequestId  string `json:"RequestId" xml:"RequestId"`
+	CategoryId string `json:"CategoryId" xml:"CategoryId"`
+}
+
+// CreateCreateCategoryRequest creates a request to invoke CreateCategory API
+func CreateCreateCategoryRequest() (request *CreateCategoryRequest) {
+	request = &CreateCategoryRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("VoiceNavigator", "2018-06-12", "CreateCategory", "voicebot", "openAPI")
+	return
+}
+
+// CreateCreateCategoryResponse creates a response to parse from CreateCategory response
+func CreateCreateCategoryResponse() (response *CreateCategoryResponse) {
+	response = &CreateCategoryResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 108 - 0
services/voicenavigator/create_instance.go

@@ -0,0 +1,108 @@
+package voicenavigator
+
+//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"
+)
+
+// CreateInstance invokes the voicenavigator.CreateInstance API synchronously
+// api document: https://help.aliyun.com/api/voicenavigator/createinstance.html
+func (client *Client) CreateInstance(request *CreateInstanceRequest) (response *CreateInstanceResponse, err error) {
+	response = CreateCreateInstanceResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// CreateInstanceWithChan invokes the voicenavigator.CreateInstance API asynchronously
+// api document: https://help.aliyun.com/api/voicenavigator/createinstance.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) CreateInstanceWithChan(request *CreateInstanceRequest) (<-chan *CreateInstanceResponse, <-chan error) {
+	responseChan := make(chan *CreateInstanceResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.CreateInstance(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// CreateInstanceWithCallback invokes the voicenavigator.CreateInstance API asynchronously
+// api document: https://help.aliyun.com/api/voicenavigator/createinstance.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) CreateInstanceWithCallback(request *CreateInstanceRequest, callback func(response *CreateInstanceResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *CreateInstanceResponse
+		var err error
+		defer close(result)
+		response, err = client.CreateInstance(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// CreateInstanceRequest is the request struct for api CreateInstance
+type CreateInstanceRequest struct {
+	*requests.RpcRequest
+	Description       string           `position:"Query" name:"Description"`
+	Concurrency       requests.Integer `position:"Query" name:"Concurrency"`
+	ChatbotInstanceId string           `position:"Query" name:"ChatbotInstanceId"`
+	Name              string           `position:"Query" name:"Name"`
+	NluServiceType    string           `position:"Query" name:"NluServiceType"`
+}
+
+// CreateInstanceResponse is the response struct for api CreateInstance
+type CreateInstanceResponse struct {
+	*responses.BaseResponse
+	RequestId  string `json:"RequestId" xml:"RequestId"`
+	InstanceId string `json:"InstanceId" xml:"InstanceId"`
+}
+
+// CreateCreateInstanceRequest creates a request to invoke CreateInstance API
+func CreateCreateInstanceRequest() (request *CreateInstanceRequest) {
+	request = &CreateInstanceRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("VoiceNavigator", "2018-06-12", "CreateInstance", "voicebot", "openAPI")
+	return
+}
+
+// CreateCreateInstanceResponse creates a response to parse from CreateInstance response
+func CreateCreateInstanceResponse() (response *CreateInstanceResponse) {
+	response = &CreateInstanceResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 109 - 0
services/voicenavigator/create_knowledge.go

@@ -0,0 +1,109 @@
+package voicenavigator
+
+//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"
+)
+
+// CreateKnowledge invokes the voicenavigator.CreateKnowledge API synchronously
+// api document: https://help.aliyun.com/api/voicenavigator/createknowledge.html
+func (client *Client) CreateKnowledge(request *CreateKnowledgeRequest) (response *CreateKnowledgeResponse, err error) {
+	response = CreateCreateKnowledgeResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// CreateKnowledgeWithChan invokes the voicenavigator.CreateKnowledge API asynchronously
+// api document: https://help.aliyun.com/api/voicenavigator/createknowledge.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) CreateKnowledgeWithChan(request *CreateKnowledgeRequest) (<-chan *CreateKnowledgeResponse, <-chan error) {
+	responseChan := make(chan *CreateKnowledgeResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.CreateKnowledge(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// CreateKnowledgeWithCallback invokes the voicenavigator.CreateKnowledge API asynchronously
+// api document: https://help.aliyun.com/api/voicenavigator/createknowledge.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) CreateKnowledgeWithCallback(request *CreateKnowledgeRequest, callback func(response *CreateKnowledgeResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *CreateKnowledgeResponse
+		var err error
+		defer close(result)
+		response, err = client.CreateKnowledge(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// CreateKnowledgeRequest is the request struct for api CreateKnowledge
+type CreateKnowledgeRequest struct {
+	*requests.RpcRequest
+	UserUtterance     string           `position:"Query" name:"UserUtterance"`
+	Interruptible     requests.Boolean `position:"Query" name:"Interruptible"`
+	InstanceId        string           `position:"Query" name:"InstanceId"`
+	Answer            string           `position:"Query" name:"Answer"`
+	SimilarUtterances *[]string        `position:"Query" name:"SimilarUtterances"  type:"Repeated"`
+	CategoryId        string           `position:"Query" name:"CategoryId"`
+}
+
+// CreateKnowledgeResponse is the response struct for api CreateKnowledge
+type CreateKnowledgeResponse struct {
+	*responses.BaseResponse
+	RequestId          string `json:"RequestId" xml:"RequestId"`
+	NavigationScriptId string `json:"NavigationScriptId" xml:"NavigationScriptId"`
+}
+
+// CreateCreateKnowledgeRequest creates a request to invoke CreateKnowledge API
+func CreateCreateKnowledgeRequest() (request *CreateKnowledgeRequest) {
+	request = &CreateKnowledgeRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("VoiceNavigator", "2018-06-12", "CreateKnowledge", "voicebot", "openAPI")
+	return
+}
+
+// CreateCreateKnowledgeResponse creates a response to parse from CreateKnowledge response
+func CreateCreateKnowledgeResponse() (response *CreateKnowledgeResponse) {
+	response = &CreateKnowledgeResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 111 - 0
services/voicenavigator/create_redirection.go

@@ -0,0 +1,111 @@
+package voicenavigator
+
+//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"
+)
+
+// CreateRedirection invokes the voicenavigator.CreateRedirection API synchronously
+// api document: https://help.aliyun.com/api/voicenavigator/createredirection.html
+func (client *Client) CreateRedirection(request *CreateRedirectionRequest) (response *CreateRedirectionResponse, err error) {
+	response = CreateCreateRedirectionResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// CreateRedirectionWithChan invokes the voicenavigator.CreateRedirection API asynchronously
+// api document: https://help.aliyun.com/api/voicenavigator/createredirection.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) CreateRedirectionWithChan(request *CreateRedirectionRequest) (<-chan *CreateRedirectionResponse, <-chan error) {
+	responseChan := make(chan *CreateRedirectionResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.CreateRedirection(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// CreateRedirectionWithCallback invokes the voicenavigator.CreateRedirection API asynchronously
+// api document: https://help.aliyun.com/api/voicenavigator/createredirection.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) CreateRedirectionWithCallback(request *CreateRedirectionRequest, callback func(response *CreateRedirectionResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *CreateRedirectionResponse
+		var err error
+		defer close(result)
+		response, err = client.CreateRedirection(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// CreateRedirectionRequest is the request struct for api CreateRedirection
+type CreateRedirectionRequest struct {
+	*requests.RpcRequest
+	RedirectionType   string           `position:"Query" name:"RedirectionType"`
+	UserUtterance     string           `position:"Query" name:"UserUtterance"`
+	Interruptible     requests.Boolean `position:"Query" name:"Interruptible"`
+	InstanceId        string           `position:"Query" name:"InstanceId"`
+	SimilarUtterances *[]string        `position:"Query" name:"SimilarUtterances"  type:"Repeated"`
+	RedirectionTarget string           `position:"Query" name:"RedirectionTarget"`
+	Prompt            string           `position:"Query" name:"Prompt"`
+	CategoryId        string           `position:"Query" name:"CategoryId"`
+}
+
+// CreateRedirectionResponse is the response struct for api CreateRedirection
+type CreateRedirectionResponse struct {
+	*responses.BaseResponse
+	RequestId          string `json:"RequestId" xml:"RequestId"`
+	NavigationScriptId string `json:"NavigationScriptId" xml:"NavigationScriptId"`
+}
+
+// CreateCreateRedirectionRequest creates a request to invoke CreateRedirection API
+func CreateCreateRedirectionRequest() (request *CreateRedirectionRequest) {
+	request = &CreateRedirectionRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("VoiceNavigator", "2018-06-12", "CreateRedirection", "voicebot", "openAPI")
+	return
+}
+
+// CreateCreateRedirectionResponse creates a response to parse from CreateRedirection response
+func CreateCreateRedirectionResponse() (response *CreateRedirectionResponse) {
+	response = &CreateRedirectionResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 109 - 0
services/voicenavigator/debug_authorized.go

@@ -0,0 +1,109 @@
+package voicenavigator
+
+//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"
+)
+
+// DebugAuthorized invokes the voicenavigator.DebugAuthorized API synchronously
+// api document: https://help.aliyun.com/api/voicenavigator/debugauthorized.html
+func (client *Client) DebugAuthorized(request *DebugAuthorizedRequest) (response *DebugAuthorizedResponse, err error) {
+	response = CreateDebugAuthorizedResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DebugAuthorizedWithChan invokes the voicenavigator.DebugAuthorized API asynchronously
+// api document: https://help.aliyun.com/api/voicenavigator/debugauthorized.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DebugAuthorizedWithChan(request *DebugAuthorizedRequest) (<-chan *DebugAuthorizedResponse, <-chan error) {
+	responseChan := make(chan *DebugAuthorizedResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DebugAuthorized(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DebugAuthorizedWithCallback invokes the voicenavigator.DebugAuthorized API asynchronously
+// api document: https://help.aliyun.com/api/voicenavigator/debugauthorized.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DebugAuthorizedWithCallback(request *DebugAuthorizedRequest, callback func(response *DebugAuthorizedResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DebugAuthorizedResponse
+		var err error
+		defer close(result)
+		response, err = client.DebugAuthorized(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DebugAuthorizedRequest is the request struct for api DebugAuthorized
+type DebugAuthorizedRequest struct {
+	*requests.RpcRequest
+	ConversationId string `position:"Query" name:"ConversationId"`
+	InitialContext string `position:"Query" name:"InitialContext"`
+	InstanceId     string `position:"Query" name:"InstanceId"`
+}
+
+// DebugAuthorizedResponse is the response struct for api DebugAuthorized
+type DebugAuthorizedResponse struct {
+	*responses.BaseResponse
+	RequestId     string `json:"RequestId" xml:"RequestId"`
+	TextResponse  string `json:"TextResponse" xml:"TextResponse"`
+	Interruptible bool   `json:"Interruptible" xml:"Interruptible"`
+	Action        string `json:"Action" xml:"Action"`
+	ActionParams  string `json:"ActionParams" xml:"ActionParams"`
+}
+
+// CreateDebugAuthorizedRequest creates a request to invoke DebugAuthorized API
+func CreateDebugAuthorizedRequest() (request *DebugAuthorizedRequest) {
+	request = &DebugAuthorizedRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("VoiceNavigator", "2018-06-12", "DebugAuthorized", "voicebot", "openAPI")
+	return
+}
+
+// CreateDebugAuthorizedResponse creates a response to parse from DebugAuthorized response
+func CreateDebugAuthorizedResponse() (response *DebugAuthorizedResponse) {
+	response = &DebugAuthorizedResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 111 - 0
services/voicenavigator/debug_begin_dialogue.go

@@ -0,0 +1,111 @@
+package voicenavigator
+
+//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"
+)
+
+// DebugBeginDialogue invokes the voicenavigator.DebugBeginDialogue API synchronously
+// api document: https://help.aliyun.com/api/voicenavigator/debugbegindialogue.html
+func (client *Client) DebugBeginDialogue(request *DebugBeginDialogueRequest) (response *DebugBeginDialogueResponse, err error) {
+	response = CreateDebugBeginDialogueResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DebugBeginDialogueWithChan invokes the voicenavigator.DebugBeginDialogue API asynchronously
+// api document: https://help.aliyun.com/api/voicenavigator/debugbegindialogue.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DebugBeginDialogueWithChan(request *DebugBeginDialogueRequest) (<-chan *DebugBeginDialogueResponse, <-chan error) {
+	responseChan := make(chan *DebugBeginDialogueResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DebugBeginDialogue(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DebugBeginDialogueWithCallback invokes the voicenavigator.DebugBeginDialogue API asynchronously
+// api document: https://help.aliyun.com/api/voicenavigator/debugbegindialogue.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DebugBeginDialogueWithCallback(request *DebugBeginDialogueRequest, callback func(response *DebugBeginDialogueResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DebugBeginDialogueResponse
+		var err error
+		defer close(result)
+		response, err = client.DebugBeginDialogue(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DebugBeginDialogueRequest is the request struct for api DebugBeginDialogue
+type DebugBeginDialogueRequest struct {
+	*requests.RpcRequest
+	CallingNumber  string `position:"Query" name:"CallingNumber"`
+	InstanceId     string `position:"Query" name:"InstanceId"`
+	CalledNumber   string `position:"Query" name:"CalledNumber"`
+	ConversationId string `position:"Query" name:"ConversationId"`
+	InitialContext string `position:"Query" name:"InitialContext"`
+}
+
+// DebugBeginDialogueResponse is the response struct for api DebugBeginDialogue
+type DebugBeginDialogueResponse struct {
+	*responses.BaseResponse
+	RequestId     string `json:"RequestId" xml:"RequestId"`
+	TextResponse  string `json:"TextResponse" xml:"TextResponse"`
+	Interruptible bool   `json:"Interruptible" xml:"Interruptible"`
+	Action        string `json:"Action" xml:"Action"`
+	ActionParams  string `json:"ActionParams" xml:"ActionParams"`
+}
+
+// CreateDebugBeginDialogueRequest creates a request to invoke DebugBeginDialogue API
+func CreateDebugBeginDialogueRequest() (request *DebugBeginDialogueRequest) {
+	request = &DebugBeginDialogueRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("VoiceNavigator", "2018-06-12", "DebugBeginDialogue", "voicebot", "openAPI")
+	return
+}
+
+// CreateDebugBeginDialogueResponse creates a response to parse from DebugBeginDialogue response
+func CreateDebugBeginDialogueResponse() (response *DebugBeginDialogueResponse) {
+	response = &DebugBeginDialogueResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 109 - 0
services/voicenavigator/debug_collected_number.go

@@ -0,0 +1,109 @@
+package voicenavigator
+
+//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"
+)
+
+// DebugCollectedNumber invokes the voicenavigator.DebugCollectedNumber API synchronously
+// api document: https://help.aliyun.com/api/voicenavigator/debugcollectednumber.html
+func (client *Client) DebugCollectedNumber(request *DebugCollectedNumberRequest) (response *DebugCollectedNumberResponse, err error) {
+	response = CreateDebugCollectedNumberResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DebugCollectedNumberWithChan invokes the voicenavigator.DebugCollectedNumber API asynchronously
+// api document: https://help.aliyun.com/api/voicenavigator/debugcollectednumber.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DebugCollectedNumberWithChan(request *DebugCollectedNumberRequest) (<-chan *DebugCollectedNumberResponse, <-chan error) {
+	responseChan := make(chan *DebugCollectedNumberResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DebugCollectedNumber(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DebugCollectedNumberWithCallback invokes the voicenavigator.DebugCollectedNumber API asynchronously
+// api document: https://help.aliyun.com/api/voicenavigator/debugcollectednumber.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DebugCollectedNumberWithCallback(request *DebugCollectedNumberRequest, callback func(response *DebugCollectedNumberResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DebugCollectedNumberResponse
+		var err error
+		defer close(result)
+		response, err = client.DebugCollectedNumber(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DebugCollectedNumberRequest is the request struct for api DebugCollectedNumber
+type DebugCollectedNumberRequest struct {
+	*requests.RpcRequest
+	ConversationId string `position:"Query" name:"ConversationId"`
+	Number         string `position:"Query" name:"Number"`
+	InstanceId     string `position:"Query" name:"InstanceId"`
+}
+
+// DebugCollectedNumberResponse is the response struct for api DebugCollectedNumber
+type DebugCollectedNumberResponse struct {
+	*responses.BaseResponse
+	RequestId     string `json:"RequestId" xml:"RequestId"`
+	TextResponse  string `json:"TextResponse" xml:"TextResponse"`
+	Interruptible bool   `json:"Interruptible" xml:"Interruptible"`
+	Action        string `json:"Action" xml:"Action"`
+	ActionParams  string `json:"ActionParams" xml:"ActionParams"`
+}
+
+// CreateDebugCollectedNumberRequest creates a request to invoke DebugCollectedNumber API
+func CreateDebugCollectedNumberRequest() (request *DebugCollectedNumberRequest) {
+	request = &DebugCollectedNumberRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("VoiceNavigator", "2018-06-12", "DebugCollectedNumber", "voicebot", "openAPI")
+	return
+}
+
+// CreateDebugCollectedNumberResponse creates a response to parse from DebugCollectedNumber response
+func CreateDebugCollectedNumberResponse() (response *DebugCollectedNumberResponse) {
+	response = &DebugCollectedNumberResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 110 - 0
services/voicenavigator/debug_dialogue.go

@@ -0,0 +1,110 @@
+package voicenavigator
+
+//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"
+)
+
+// DebugDialogue invokes the voicenavigator.DebugDialogue API synchronously
+// api document: https://help.aliyun.com/api/voicenavigator/debugdialogue.html
+func (client *Client) DebugDialogue(request *DebugDialogueRequest) (response *DebugDialogueResponse, err error) {
+	response = CreateDebugDialogueResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DebugDialogueWithChan invokes the voicenavigator.DebugDialogue API asynchronously
+// api document: https://help.aliyun.com/api/voicenavigator/debugdialogue.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DebugDialogueWithChan(request *DebugDialogueRequest) (<-chan *DebugDialogueResponse, <-chan error) {
+	responseChan := make(chan *DebugDialogueResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DebugDialogue(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DebugDialogueWithCallback invokes the voicenavigator.DebugDialogue API asynchronously
+// api document: https://help.aliyun.com/api/voicenavigator/debugdialogue.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DebugDialogueWithCallback(request *DebugDialogueRequest, callback func(response *DebugDialogueResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DebugDialogueResponse
+		var err error
+		defer close(result)
+		response, err = client.DebugDialogue(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DebugDialogueRequest is the request struct for api DebugDialogue
+type DebugDialogueRequest struct {
+	*requests.RpcRequest
+	ConversationId    string `position:"Query" name:"ConversationId"`
+	InstanceId        string `position:"Query" name:"InstanceId"`
+	AdditionalContext string `position:"Query" name:"AdditionalContext"`
+	Utterance         string `position:"Query" name:"Utterance"`
+}
+
+// DebugDialogueResponse is the response struct for api DebugDialogue
+type DebugDialogueResponse struct {
+	*responses.BaseResponse
+	RequestId     string `json:"RequestId" xml:"RequestId"`
+	TextResponse  string `json:"TextResponse" xml:"TextResponse"`
+	Interruptible bool   `json:"Interruptible" xml:"Interruptible"`
+	Action        string `json:"Action" xml:"Action"`
+	ActionParams  string `json:"ActionParams" xml:"ActionParams"`
+}
+
+// CreateDebugDialogueRequest creates a request to invoke DebugDialogue API
+func CreateDebugDialogueRequest() (request *DebugDialogueRequest) {
+	request = &DebugDialogueRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("VoiceNavigator", "2018-06-12", "DebugDialogue", "voicebot", "openAPI")
+	return
+}
+
+// CreateDebugDialogueResponse creates a response to parse from DebugDialogue response
+func CreateDebugDialogueResponse() (response *DebugDialogueResponse) {
+	response = &DebugDialogueResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 104 - 0
services/voicenavigator/delete_category.go

@@ -0,0 +1,104 @@
+package voicenavigator
+
+//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"
+)
+
+// DeleteCategory invokes the voicenavigator.DeleteCategory API synchronously
+// api document: https://help.aliyun.com/api/voicenavigator/deletecategory.html
+func (client *Client) DeleteCategory(request *DeleteCategoryRequest) (response *DeleteCategoryResponse, err error) {
+	response = CreateDeleteCategoryResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DeleteCategoryWithChan invokes the voicenavigator.DeleteCategory API asynchronously
+// api document: https://help.aliyun.com/api/voicenavigator/deletecategory.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DeleteCategoryWithChan(request *DeleteCategoryRequest) (<-chan *DeleteCategoryResponse, <-chan error) {
+	responseChan := make(chan *DeleteCategoryResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DeleteCategory(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DeleteCategoryWithCallback invokes the voicenavigator.DeleteCategory API asynchronously
+// api document: https://help.aliyun.com/api/voicenavigator/deletecategory.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DeleteCategoryWithCallback(request *DeleteCategoryRequest, callback func(response *DeleteCategoryResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DeleteCategoryResponse
+		var err error
+		defer close(result)
+		response, err = client.DeleteCategory(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DeleteCategoryRequest is the request struct for api DeleteCategory
+type DeleteCategoryRequest struct {
+	*requests.RpcRequest
+	InstanceId string `position:"Query" name:"InstanceId"`
+	CategoryId string `position:"Query" name:"CategoryId"`
+}
+
+// DeleteCategoryResponse is the response struct for api DeleteCategory
+type DeleteCategoryResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+}
+
+// CreateDeleteCategoryRequest creates a request to invoke DeleteCategory API
+func CreateDeleteCategoryRequest() (request *DeleteCategoryRequest) {
+	request = &DeleteCategoryRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("VoiceNavigator", "2018-06-12", "DeleteCategory", "voicebot", "openAPI")
+	return
+}
+
+// CreateDeleteCategoryResponse creates a response to parse from DeleteCategory response
+func CreateDeleteCategoryResponse() (response *DeleteCategoryResponse) {
+	response = &DeleteCategoryResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 103 - 0
services/voicenavigator/delete_instance.go

@@ -0,0 +1,103 @@
+package voicenavigator
+
+//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"
+)
+
+// DeleteInstance invokes the voicenavigator.DeleteInstance API synchronously
+// api document: https://help.aliyun.com/api/voicenavigator/deleteinstance.html
+func (client *Client) DeleteInstance(request *DeleteInstanceRequest) (response *DeleteInstanceResponse, err error) {
+	response = CreateDeleteInstanceResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DeleteInstanceWithChan invokes the voicenavigator.DeleteInstance API asynchronously
+// api document: https://help.aliyun.com/api/voicenavigator/deleteinstance.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DeleteInstanceWithChan(request *DeleteInstanceRequest) (<-chan *DeleteInstanceResponse, <-chan error) {
+	responseChan := make(chan *DeleteInstanceResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DeleteInstance(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DeleteInstanceWithCallback invokes the voicenavigator.DeleteInstance API asynchronously
+// api document: https://help.aliyun.com/api/voicenavigator/deleteinstance.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DeleteInstanceWithCallback(request *DeleteInstanceRequest, callback func(response *DeleteInstanceResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DeleteInstanceResponse
+		var err error
+		defer close(result)
+		response, err = client.DeleteInstance(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DeleteInstanceRequest is the request struct for api DeleteInstance
+type DeleteInstanceRequest struct {
+	*requests.RpcRequest
+	InstanceId string `position:"Query" name:"InstanceId"`
+}
+
+// DeleteInstanceResponse is the response struct for api DeleteInstance
+type DeleteInstanceResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+}
+
+// CreateDeleteInstanceRequest creates a request to invoke DeleteInstance API
+func CreateDeleteInstanceRequest() (request *DeleteInstanceRequest) {
+	request = &DeleteInstanceRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("VoiceNavigator", "2018-06-12", "DeleteInstance", "voicebot", "openAPI")
+	return
+}
+
+// CreateDeleteInstanceResponse creates a response to parse from DeleteInstance response
+func CreateDeleteInstanceResponse() (response *DeleteInstanceResponse) {
+	response = &DeleteInstanceResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 104 - 0
services/voicenavigator/delete_navigation_script.go

@@ -0,0 +1,104 @@
+package voicenavigator
+
+//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"
+)
+
+// DeleteNavigationScript invokes the voicenavigator.DeleteNavigationScript API synchronously
+// api document: https://help.aliyun.com/api/voicenavigator/deletenavigationscript.html
+func (client *Client) DeleteNavigationScript(request *DeleteNavigationScriptRequest) (response *DeleteNavigationScriptResponse, err error) {
+	response = CreateDeleteNavigationScriptResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DeleteNavigationScriptWithChan invokes the voicenavigator.DeleteNavigationScript API asynchronously
+// api document: https://help.aliyun.com/api/voicenavigator/deletenavigationscript.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DeleteNavigationScriptWithChan(request *DeleteNavigationScriptRequest) (<-chan *DeleteNavigationScriptResponse, <-chan error) {
+	responseChan := make(chan *DeleteNavigationScriptResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DeleteNavigationScript(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DeleteNavigationScriptWithCallback invokes the voicenavigator.DeleteNavigationScript API asynchronously
+// api document: https://help.aliyun.com/api/voicenavigator/deletenavigationscript.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DeleteNavigationScriptWithCallback(request *DeleteNavigationScriptRequest, callback func(response *DeleteNavigationScriptResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DeleteNavigationScriptResponse
+		var err error
+		defer close(result)
+		response, err = client.DeleteNavigationScript(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DeleteNavigationScriptRequest is the request struct for api DeleteNavigationScript
+type DeleteNavigationScriptRequest struct {
+	*requests.RpcRequest
+	InstanceId         string `position:"Query" name:"InstanceId"`
+	NavigationScriptId string `position:"Query" name:"NavigationScriptId"`
+}
+
+// DeleteNavigationScriptResponse is the response struct for api DeleteNavigationScript
+type DeleteNavigationScriptResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+}
+
+// CreateDeleteNavigationScriptRequest creates a request to invoke DeleteNavigationScript API
+func CreateDeleteNavigationScriptRequest() (request *DeleteNavigationScriptRequest) {
+	request = &DeleteNavigationScriptRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("VoiceNavigator", "2018-06-12", "DeleteNavigationScript", "voicebot", "openAPI")
+	return
+}
+
+// CreateDeleteNavigationScriptResponse creates a response to parse from DeleteNavigationScript response
+func CreateDeleteNavigationScriptResponse() (response *DeleteNavigationScriptResponse) {
+	response = &DeleteNavigationScriptResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 104 - 0
services/voicenavigator/describe_category_tree.go

@@ -0,0 +1,104 @@
+package voicenavigator
+
+//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"
+)
+
+// DescribeCategoryTree invokes the voicenavigator.DescribeCategoryTree API synchronously
+// api document: https://help.aliyun.com/api/voicenavigator/describecategorytree.html
+func (client *Client) DescribeCategoryTree(request *DescribeCategoryTreeRequest) (response *DescribeCategoryTreeResponse, err error) {
+	response = CreateDescribeCategoryTreeResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DescribeCategoryTreeWithChan invokes the voicenavigator.DescribeCategoryTree API asynchronously
+// api document: https://help.aliyun.com/api/voicenavigator/describecategorytree.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeCategoryTreeWithChan(request *DescribeCategoryTreeRequest) (<-chan *DescribeCategoryTreeResponse, <-chan error) {
+	responseChan := make(chan *DescribeCategoryTreeResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeCategoryTree(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DescribeCategoryTreeWithCallback invokes the voicenavigator.DescribeCategoryTree API asynchronously
+// api document: https://help.aliyun.com/api/voicenavigator/describecategorytree.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeCategoryTreeWithCallback(request *DescribeCategoryTreeRequest, callback func(response *DescribeCategoryTreeResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeCategoryTreeResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeCategoryTree(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DescribeCategoryTreeRequest is the request struct for api DescribeCategoryTree
+type DescribeCategoryTreeRequest struct {
+	*requests.RpcRequest
+	InstanceId string `position:"Query" name:"InstanceId"`
+}
+
+// DescribeCategoryTreeResponse is the response struct for api DescribeCategoryTree
+type DescribeCategoryTreeResponse struct {
+	*responses.BaseResponse
+	RequestId string  `json:"RequestId" xml:"RequestId"`
+	Levels    []Level `json:"Levels" xml:"Levels"`
+}
+
+// CreateDescribeCategoryTreeRequest creates a request to invoke DescribeCategoryTree API
+func CreateDescribeCategoryTreeRequest() (request *DescribeCategoryTreeRequest) {
+	request = &DescribeCategoryTreeRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("VoiceNavigator", "2018-06-12", "DescribeCategoryTree", "voicebot", "openAPI")
+	return
+}
+
+// CreateDescribeCategoryTreeResponse creates a response to parse from DescribeCategoryTree response
+func CreateDescribeCategoryTreeResponse() (response *DescribeCategoryTreeResponse) {
+	response = &DescribeCategoryTreeResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 112 - 0
services/voicenavigator/describe_conversation.go

@@ -0,0 +1,112 @@
+package voicenavigator
+
+//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"
+)
+
+// DescribeConversation invokes the voicenavigator.DescribeConversation API synchronously
+// api document: https://help.aliyun.com/api/voicenavigator/describeconversation.html
+func (client *Client) DescribeConversation(request *DescribeConversationRequest) (response *DescribeConversationResponse, err error) {
+	response = CreateDescribeConversationResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DescribeConversationWithChan invokes the voicenavigator.DescribeConversation API asynchronously
+// api document: https://help.aliyun.com/api/voicenavigator/describeconversation.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeConversationWithChan(request *DescribeConversationRequest) (<-chan *DescribeConversationResponse, <-chan error) {
+	responseChan := make(chan *DescribeConversationResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeConversation(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DescribeConversationWithCallback invokes the voicenavigator.DescribeConversation API asynchronously
+// api document: https://help.aliyun.com/api/voicenavigator/describeconversation.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeConversationWithCallback(request *DescribeConversationRequest, callback func(response *DescribeConversationResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeConversationResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeConversation(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DescribeConversationRequest is the request struct for api DescribeConversation
+type DescribeConversationRequest struct {
+	*requests.RpcRequest
+	ConversationId string `position:"Query" name:"ConversationId"`
+	InstanceId     string `position:"Query" name:"InstanceId"`
+}
+
+// DescribeConversationResponse is the response struct for api DescribeConversation
+type DescribeConversationResponse struct {
+	*responses.BaseResponse
+	RequestId            string `json:"RequestId" xml:"RequestId"`
+	CallingNumber        string `json:"CallingNumber" xml:"CallingNumber"`
+	BeginTime            int64  `json:"BeginTime" xml:"BeginTime"`
+	EndTime              int64  `json:"EndTime" xml:"EndTime"`
+	TransferredToAgent   bool   `json:"TransferredToAgent" xml:"TransferredToAgent"`
+	SkillGroupId         string `json:"SkillGroupId" xml:"SkillGroupId"`
+	UserUtteranceCount   int    `json:"UserUtteranceCount" xml:"UserUtteranceCount"`
+	EffectiveAnswerCount int    `json:"EffectiveAnswerCount" xml:"EffectiveAnswerCount"`
+	ConversationId       string `json:"ConversationId" xml:"ConversationId"`
+}
+
+// CreateDescribeConversationRequest creates a request to invoke DescribeConversation API
+func CreateDescribeConversationRequest() (request *DescribeConversationRequest) {
+	request = &DescribeConversationRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("VoiceNavigator", "2018-06-12", "DescribeConversation", "voicebot", "openAPI")
+	return
+}
+
+// CreateDescribeConversationResponse creates a response to parse from DescribeConversation response
+func CreateDescribeConversationResponse() (response *DescribeConversationResponse) {
+	response = &DescribeConversationResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 105 - 0
services/voicenavigator/describe_conversation_context.go

@@ -0,0 +1,105 @@
+package voicenavigator
+
+//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"
+)
+
+// DescribeConversationContext invokes the voicenavigator.DescribeConversationContext API synchronously
+// api document: https://help.aliyun.com/api/voicenavigator/describeconversationcontext.html
+func (client *Client) DescribeConversationContext(request *DescribeConversationContextRequest) (response *DescribeConversationContextResponse, err error) {
+	response = CreateDescribeConversationContextResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DescribeConversationContextWithChan invokes the voicenavigator.DescribeConversationContext API asynchronously
+// api document: https://help.aliyun.com/api/voicenavigator/describeconversationcontext.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeConversationContextWithChan(request *DescribeConversationContextRequest) (<-chan *DescribeConversationContextResponse, <-chan error) {
+	responseChan := make(chan *DescribeConversationContextResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeConversationContext(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DescribeConversationContextWithCallback invokes the voicenavigator.DescribeConversationContext API asynchronously
+// api document: https://help.aliyun.com/api/voicenavigator/describeconversationcontext.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeConversationContextWithCallback(request *DescribeConversationContextRequest, callback func(response *DescribeConversationContextResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeConversationContextResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeConversationContext(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DescribeConversationContextRequest is the request struct for api DescribeConversationContext
+type DescribeConversationContextRequest struct {
+	*requests.RpcRequest
+	ConversationId string `position:"Query" name:"ConversationId"`
+	InstanceId     string `position:"Query" name:"InstanceId"`
+}
+
+// DescribeConversationContextResponse is the response struct for api DescribeConversationContext
+type DescribeConversationContextResponse struct {
+	*responses.BaseResponse
+	RequestId           string `json:"RequestId" xml:"RequestId"`
+	ConversationContext string `json:"ConversationContext" xml:"ConversationContext"`
+}
+
+// CreateDescribeConversationContextRequest creates a request to invoke DescribeConversationContext API
+func CreateDescribeConversationContextRequest() (request *DescribeConversationContextRequest) {
+	request = &DescribeConversationContextRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("VoiceNavigator", "2018-06-12", "DescribeConversationContext", "voicebot", "openAPI")
+	return
+}
+
+// CreateDescribeConversationContextResponse creates a response to parse from DescribeConversationContext response
+func CreateDescribeConversationContextResponse() (response *DescribeConversationContextResponse) {
+	response = &DescribeConversationContextResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 106 - 0
services/voicenavigator/describe_export_progress.go

@@ -0,0 +1,106 @@
+package voicenavigator
+
+//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"
+)
+
+// DescribeExportProgress invokes the voicenavigator.DescribeExportProgress API synchronously
+// api document: https://help.aliyun.com/api/voicenavigator/describeexportprogress.html
+func (client *Client) DescribeExportProgress(request *DescribeExportProgressRequest) (response *DescribeExportProgressResponse, err error) {
+	response = CreateDescribeExportProgressResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DescribeExportProgressWithChan invokes the voicenavigator.DescribeExportProgress API asynchronously
+// api document: https://help.aliyun.com/api/voicenavigator/describeexportprogress.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeExportProgressWithChan(request *DescribeExportProgressRequest) (<-chan *DescribeExportProgressResponse, <-chan error) {
+	responseChan := make(chan *DescribeExportProgressResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeExportProgress(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DescribeExportProgressWithCallback invokes the voicenavigator.DescribeExportProgress API asynchronously
+// api document: https://help.aliyun.com/api/voicenavigator/describeexportprogress.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeExportProgressWithCallback(request *DescribeExportProgressRequest, callback func(response *DescribeExportProgressResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeExportProgressResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeExportProgress(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DescribeExportProgressRequest is the request struct for api DescribeExportProgress
+type DescribeExportProgressRequest struct {
+	*requests.RpcRequest
+	InstanceId   string `position:"Query" name:"InstanceId"`
+	ExportTaskId string `position:"Query" name:"ExportTaskId"`
+}
+
+// DescribeExportProgressResponse is the response struct for api DescribeExportProgress
+type DescribeExportProgressResponse struct {
+	*responses.BaseResponse
+	RequestId   string `json:"RequestId" xml:"RequestId"`
+	Status      string `json:"Status" xml:"Status"`
+	FileHttpUrl string `json:"FileHttpUrl" xml:"FileHttpUrl"`
+}
+
+// CreateDescribeExportProgressRequest creates a request to invoke DescribeExportProgress API
+func CreateDescribeExportProgressRequest() (request *DescribeExportProgressRequest) {
+	request = &DescribeExportProgressRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("VoiceNavigator", "2018-06-12", "DescribeExportProgress", "voicebot", "openAPI")
+	return
+}
+
+// CreateDescribeExportProgressResponse creates a response to parse from DescribeExportProgress response
+func CreateDescribeExportProgressResponse() (response *DescribeExportProgressResponse) {
+	response = &DescribeExportProgressResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 112 - 0
services/voicenavigator/describe_instance.go

@@ -0,0 +1,112 @@
+package voicenavigator
+
+//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"
+)
+
+// DescribeInstance invokes the voicenavigator.DescribeInstance API synchronously
+// api document: https://help.aliyun.com/api/voicenavigator/describeinstance.html
+func (client *Client) DescribeInstance(request *DescribeInstanceRequest) (response *DescribeInstanceResponse, err error) {
+	response = CreateDescribeInstanceResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DescribeInstanceWithChan invokes the voicenavigator.DescribeInstance API asynchronously
+// api document: https://help.aliyun.com/api/voicenavigator/describeinstance.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeInstanceWithChan(request *DescribeInstanceRequest) (<-chan *DescribeInstanceResponse, <-chan error) {
+	responseChan := make(chan *DescribeInstanceResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeInstance(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DescribeInstanceWithCallback invokes the voicenavigator.DescribeInstance API asynchronously
+// api document: https://help.aliyun.com/api/voicenavigator/describeinstance.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeInstanceWithCallback(request *DescribeInstanceRequest, callback func(response *DescribeInstanceResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeInstanceResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeInstance(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DescribeInstanceRequest is the request struct for api DescribeInstance
+type DescribeInstanceRequest struct {
+	*requests.RpcRequest
+	InstanceId string `position:"Query" name:"InstanceId"`
+}
+
+// DescribeInstanceResponse is the response struct for api DescribeInstance
+type DescribeInstanceResponse struct {
+	*responses.BaseResponse
+	RequestId            string   `json:"RequestId" xml:"RequestId"`
+	InstanceId           string   `json:"InstanceId" xml:"InstanceId"`
+	Name                 string   `json:"Name" xml:"Name"`
+	Description          string   `json:"Description" xml:"Description"`
+	Status               string   `json:"Status" xml:"Status"`
+	Concurrency          int64    `json:"Concurrency" xml:"Concurrency"`
+	ModifyTime           int64    `json:"ModifyTime" xml:"ModifyTime"`
+	ModifyUserName       string   `json:"ModifyUserName" xml:"ModifyUserName"`
+	NluServiceType       string   `json:"NluServiceType" xml:"NluServiceType"`
+	ApplicableOperations []string `json:"ApplicableOperations" xml:"ApplicableOperations"`
+}
+
+// CreateDescribeInstanceRequest creates a request to invoke DescribeInstance API
+func CreateDescribeInstanceRequest() (request *DescribeInstanceRequest) {
+	request = &DescribeInstanceRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("VoiceNavigator", "2018-06-12", "DescribeInstance", "voicebot", "openAPI")
+	return
+}
+
+// CreateDescribeInstanceResponse creates a response to parse from DescribeInstance response
+func CreateDescribeInstanceResponse() (response *DescribeInstanceResponse) {
+	response = &DescribeInstanceResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 111 - 0
services/voicenavigator/describe_knowledge.go

@@ -0,0 +1,111 @@
+package voicenavigator
+
+//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"
+)
+
+// DescribeKnowledge invokes the voicenavigator.DescribeKnowledge API synchronously
+// api document: https://help.aliyun.com/api/voicenavigator/describeknowledge.html
+func (client *Client) DescribeKnowledge(request *DescribeKnowledgeRequest) (response *DescribeKnowledgeResponse, err error) {
+	response = CreateDescribeKnowledgeResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DescribeKnowledgeWithChan invokes the voicenavigator.DescribeKnowledge API asynchronously
+// api document: https://help.aliyun.com/api/voicenavigator/describeknowledge.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeKnowledgeWithChan(request *DescribeKnowledgeRequest) (<-chan *DescribeKnowledgeResponse, <-chan error) {
+	responseChan := make(chan *DescribeKnowledgeResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeKnowledge(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DescribeKnowledgeWithCallback invokes the voicenavigator.DescribeKnowledge API asynchronously
+// api document: https://help.aliyun.com/api/voicenavigator/describeknowledge.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeKnowledgeWithCallback(request *DescribeKnowledgeRequest, callback func(response *DescribeKnowledgeResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeKnowledgeResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeKnowledge(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DescribeKnowledgeRequest is the request struct for api DescribeKnowledge
+type DescribeKnowledgeRequest struct {
+	*requests.RpcRequest
+	InstanceId         string `position:"Query" name:"InstanceId"`
+	NavigationScriptId string `position:"Query" name:"NavigationScriptId"`
+}
+
+// DescribeKnowledgeResponse is the response struct for api DescribeKnowledge
+type DescribeKnowledgeResponse struct {
+	*responses.BaseResponse
+	RequestId          string   `json:"RequestId" xml:"RequestId"`
+	NavigationScriptId string   `json:"NavigationScriptId" xml:"NavigationScriptId"`
+	InstanceId         string   `json:"InstanceId" xml:"InstanceId"`
+	CategoryId         string   `json:"CategoryId" xml:"CategoryId"`
+	UserUtterance      string   `json:"UserUtterance" xml:"UserUtterance"`
+	Answer             string   `json:"Answer" xml:"Answer"`
+	Interruptible      bool     `json:"Interruptible" xml:"Interruptible"`
+	SimilarUtterances  []string `json:"SimilarUtterances" xml:"SimilarUtterances"`
+}
+
+// CreateDescribeKnowledgeRequest creates a request to invoke DescribeKnowledge API
+func CreateDescribeKnowledgeRequest() (request *DescribeKnowledgeRequest) {
+	request = &DescribeKnowledgeRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("VoiceNavigator", "2018-06-12", "DescribeKnowledge", "voicebot", "openAPI")
+	return
+}
+
+// CreateDescribeKnowledgeResponse creates a response to parse from DescribeKnowledge response
+func CreateDescribeKnowledgeResponse() (response *DescribeKnowledgeResponse) {
+	response = &DescribeKnowledgeResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 109 - 0
services/voicenavigator/describe_navigation_config.go

@@ -0,0 +1,109 @@
+package voicenavigator
+
+//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"
+)
+
+// DescribeNavigationConfig invokes the voicenavigator.DescribeNavigationConfig API synchronously
+// api document: https://help.aliyun.com/api/voicenavigator/describenavigationconfig.html
+func (client *Client) DescribeNavigationConfig(request *DescribeNavigationConfigRequest) (response *DescribeNavigationConfigResponse, err error) {
+	response = CreateDescribeNavigationConfigResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DescribeNavigationConfigWithChan invokes the voicenavigator.DescribeNavigationConfig API asynchronously
+// api document: https://help.aliyun.com/api/voicenavigator/describenavigationconfig.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeNavigationConfigWithChan(request *DescribeNavigationConfigRequest) (<-chan *DescribeNavigationConfigResponse, <-chan error) {
+	responseChan := make(chan *DescribeNavigationConfigResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeNavigationConfig(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DescribeNavigationConfigWithCallback invokes the voicenavigator.DescribeNavigationConfig API asynchronously
+// api document: https://help.aliyun.com/api/voicenavigator/describenavigationconfig.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeNavigationConfigWithCallback(request *DescribeNavigationConfigRequest, callback func(response *DescribeNavigationConfigResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeNavigationConfigResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeNavigationConfig(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DescribeNavigationConfigRequest is the request struct for api DescribeNavigationConfig
+type DescribeNavigationConfigRequest struct {
+	*requests.RpcRequest
+	InstanceId string `position:"Query" name:"InstanceId"`
+}
+
+// DescribeNavigationConfigResponse is the response struct for api DescribeNavigationConfig
+type DescribeNavigationConfigResponse struct {
+	*responses.BaseResponse
+	RequestId            string               `json:"RequestId" xml:"RequestId"`
+	GreetingConfig       GreetingConfig       `json:"GreetingConfig" xml:"GreetingConfig"`
+	UnrecognizingConfig  UnrecognizingConfig  `json:"UnrecognizingConfig" xml:"UnrecognizingConfig"`
+	RepeatingConfig      RepeatingConfig      `json:"RepeatingConfig" xml:"RepeatingConfig"`
+	AskingBackConfig     AskingBackConfig     `json:"AskingBackConfig" xml:"AskingBackConfig"`
+	ComplainingConfig    ComplainingConfig    `json:"ComplainingConfig" xml:"ComplainingConfig"`
+	SilenceTimeoutConfig SilenceTimeoutConfig `json:"SilenceTimeoutConfig" xml:"SilenceTimeoutConfig"`
+}
+
+// CreateDescribeNavigationConfigRequest creates a request to invoke DescribeNavigationConfig API
+func CreateDescribeNavigationConfigRequest() (request *DescribeNavigationConfigRequest) {
+	request = &DescribeNavigationConfigRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("VoiceNavigator", "2018-06-12", "DescribeNavigationConfig", "voicebot", "openAPI")
+	return
+}
+
+// CreateDescribeNavigationConfigResponse creates a response to parse from DescribeNavigationConfig response
+func CreateDescribeNavigationConfigResponse() (response *DescribeNavigationConfigResponse) {
+	response = &DescribeNavigationConfigResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 106 - 0
services/voicenavigator/describe_recording.go

@@ -0,0 +1,106 @@
+package voicenavigator
+
+//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"
+)
+
+// DescribeRecording invokes the voicenavigator.DescribeRecording API synchronously
+// api document: https://help.aliyun.com/api/voicenavigator/describerecording.html
+func (client *Client) DescribeRecording(request *DescribeRecordingRequest) (response *DescribeRecordingResponse, err error) {
+	response = CreateDescribeRecordingResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DescribeRecordingWithChan invokes the voicenavigator.DescribeRecording API asynchronously
+// api document: https://help.aliyun.com/api/voicenavigator/describerecording.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeRecordingWithChan(request *DescribeRecordingRequest) (<-chan *DescribeRecordingResponse, <-chan error) {
+	responseChan := make(chan *DescribeRecordingResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeRecording(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DescribeRecordingWithCallback invokes the voicenavigator.DescribeRecording API asynchronously
+// api document: https://help.aliyun.com/api/voicenavigator/describerecording.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeRecordingWithCallback(request *DescribeRecordingRequest, callback func(response *DescribeRecordingResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeRecordingResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeRecording(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DescribeRecordingRequest is the request struct for api DescribeRecording
+type DescribeRecordingRequest struct {
+	*requests.RpcRequest
+	ConversationId string `position:"Query" name:"ConversationId"`
+	InstanceId     string `position:"Query" name:"InstanceId"`
+}
+
+// DescribeRecordingResponse is the response struct for api DescribeRecording
+type DescribeRecordingResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+	FileName  string `json:"FileName" xml:"FileName"`
+	FilePath  string `json:"FilePath" xml:"FilePath"`
+}
+
+// CreateDescribeRecordingRequest creates a request to invoke DescribeRecording API
+func CreateDescribeRecordingRequest() (request *DescribeRecordingRequest) {
+	request = &DescribeRecordingRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("VoiceNavigator", "2018-06-12", "DescribeRecording", "voicebot", "openAPI")
+	return
+}
+
+// CreateDescribeRecordingResponse creates a response to parse from DescribeRecording response
+func CreateDescribeRecordingResponse() (response *DescribeRecordingResponse) {
+	response = &DescribeRecordingResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 113 - 0
services/voicenavigator/describe_redirection.go

@@ -0,0 +1,113 @@
+package voicenavigator
+
+//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"
+)
+
+// DescribeRedirection invokes the voicenavigator.DescribeRedirection API synchronously
+// api document: https://help.aliyun.com/api/voicenavigator/describeredirection.html
+func (client *Client) DescribeRedirection(request *DescribeRedirectionRequest) (response *DescribeRedirectionResponse, err error) {
+	response = CreateDescribeRedirectionResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DescribeRedirectionWithChan invokes the voicenavigator.DescribeRedirection API asynchronously
+// api document: https://help.aliyun.com/api/voicenavigator/describeredirection.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeRedirectionWithChan(request *DescribeRedirectionRequest) (<-chan *DescribeRedirectionResponse, <-chan error) {
+	responseChan := make(chan *DescribeRedirectionResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeRedirection(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DescribeRedirectionWithCallback invokes the voicenavigator.DescribeRedirection API asynchronously
+// api document: https://help.aliyun.com/api/voicenavigator/describeredirection.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeRedirectionWithCallback(request *DescribeRedirectionRequest, callback func(response *DescribeRedirectionResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeRedirectionResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeRedirection(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DescribeRedirectionRequest is the request struct for api DescribeRedirection
+type DescribeRedirectionRequest struct {
+	*requests.RpcRequest
+	InstanceId         string `position:"Query" name:"InstanceId"`
+	NavigationScriptId string `position:"Query" name:"NavigationScriptId"`
+}
+
+// DescribeRedirectionResponse is the response struct for api DescribeRedirection
+type DescribeRedirectionResponse struct {
+	*responses.BaseResponse
+	RequestId          string   `json:"RequestId" xml:"RequestId"`
+	InstanceId         string   `json:"InstanceId" xml:"InstanceId"`
+	CategoryId         string   `json:"CategoryId" xml:"CategoryId"`
+	NavigationScriptId string   `json:"NavigationScriptId" xml:"NavigationScriptId"`
+	UserUtterance      string   `json:"UserUtterance" xml:"UserUtterance"`
+	Prompt             string   `json:"Prompt" xml:"Prompt"`
+	Interruptible      bool     `json:"Interruptible" xml:"Interruptible"`
+	RedirectionType    string   `json:"RedirectionType" xml:"RedirectionType"`
+	RedirectionTarget  string   `json:"RedirectionTarget" xml:"RedirectionTarget"`
+	SimilarUtterances  []string `json:"SimilarUtterances" xml:"SimilarUtterances"`
+}
+
+// CreateDescribeRedirectionRequest creates a request to invoke DescribeRedirection API
+func CreateDescribeRedirectionRequest() (request *DescribeRedirectionRequest) {
+	request = &DescribeRedirectionRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("VoiceNavigator", "2018-06-12", "DescribeRedirection", "voicebot", "openAPI")
+	return
+}
+
+// CreateDescribeRedirectionResponse creates a response to parse from DescribeRedirection response
+func CreateDescribeRedirectionResponse() (response *DescribeRedirectionResponse) {
+	response = &DescribeRedirectionResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 113 - 0
services/voicenavigator/describe_statistical_data.go

@@ -0,0 +1,113 @@
+package voicenavigator
+
+//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"
+)
+
+// DescribeStatisticalData invokes the voicenavigator.DescribeStatisticalData API synchronously
+// api document: https://help.aliyun.com/api/voicenavigator/describestatisticaldata.html
+func (client *Client) DescribeStatisticalData(request *DescribeStatisticalDataRequest) (response *DescribeStatisticalDataResponse, err error) {
+	response = CreateDescribeStatisticalDataResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DescribeStatisticalDataWithChan invokes the voicenavigator.DescribeStatisticalData API asynchronously
+// api document: https://help.aliyun.com/api/voicenavigator/describestatisticaldata.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeStatisticalDataWithChan(request *DescribeStatisticalDataRequest) (<-chan *DescribeStatisticalDataResponse, <-chan error) {
+	responseChan := make(chan *DescribeStatisticalDataResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeStatisticalData(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DescribeStatisticalDataWithCallback invokes the voicenavigator.DescribeStatisticalData API asynchronously
+// api document: https://help.aliyun.com/api/voicenavigator/describestatisticaldata.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeStatisticalDataWithCallback(request *DescribeStatisticalDataRequest, callback func(response *DescribeStatisticalDataResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeStatisticalDataResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeStatisticalData(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DescribeStatisticalDataRequest is the request struct for api DescribeStatisticalData
+type DescribeStatisticalDataRequest struct {
+	*requests.RpcRequest
+	BeginTimeLeftRange  requests.Integer `position:"Query" name:"BeginTimeLeftRange"`
+	TimeUnit            string           `position:"Query" name:"TimeUnit"`
+	InstanceId          string           `position:"Query" name:"InstanceId"`
+	BeginTimeRightRange requests.Integer `position:"Query" name:"BeginTimeRightRange"`
+}
+
+// DescribeStatisticalDataResponse is the response struct for api DescribeStatisticalData
+type DescribeStatisticalDataResponse struct {
+	*responses.BaseResponse
+	RequestId                string                  `json:"RequestId" xml:"RequestId"`
+	ResolvedQuestionTotalNum int64                   `json:"ResolvedQuestionTotalNum" xml:"ResolvedQuestionTotalNum"`
+	ConversationTotalNum     int64                   `json:"ConversationTotalNum" xml:"ConversationTotalNum"`
+	TotalResolutionRate      string                  `json:"TotalResolutionRate" xml:"TotalResolutionRate"`
+	TotalValidAnswerRate     string                  `json:"TotalValidAnswerRate" xml:"TotalValidAnswerRate"`
+	TotalDialoguePassRate    string                  `json:"TotalDialoguePassRate" xml:"TotalDialoguePassRate"`
+	TotalKnowledgeHitRate    string                  `json:"TotalKnowledgeHitRate" xml:"TotalKnowledgeHitRate"`
+	StatisticalDataReports   []StatisticalDataReport `json:"StatisticalDataReports" xml:"StatisticalDataReports"`
+}
+
+// CreateDescribeStatisticalDataRequest creates a request to invoke DescribeStatisticalData API
+func CreateDescribeStatisticalDataRequest() (request *DescribeStatisticalDataRequest) {
+	request = &DescribeStatisticalDataRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("VoiceNavigator", "2018-06-12", "DescribeStatisticalData", "voicebot", "openAPI")
+	return
+}
+
+// CreateDescribeStatisticalDataResponse creates a response to parse from DescribeStatisticalData response
+func CreateDescribeStatisticalDataResponse() (response *DescribeStatisticalDataResponse) {
+	response = &DescribeStatisticalDataResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 106 - 0
services/voicenavigator/describe_tts_config.go

@@ -0,0 +1,106 @@
+package voicenavigator
+
+//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"
+)
+
+// DescribeTTSConfig invokes the voicenavigator.DescribeTTSConfig API synchronously
+// api document: https://help.aliyun.com/api/voicenavigator/describettsconfig.html
+func (client *Client) DescribeTTSConfig(request *DescribeTTSConfigRequest) (response *DescribeTTSConfigResponse, err error) {
+	response = CreateDescribeTTSConfigResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DescribeTTSConfigWithChan invokes the voicenavigator.DescribeTTSConfig API asynchronously
+// api document: https://help.aliyun.com/api/voicenavigator/describettsconfig.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeTTSConfigWithChan(request *DescribeTTSConfigRequest) (<-chan *DescribeTTSConfigResponse, <-chan error) {
+	responseChan := make(chan *DescribeTTSConfigResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeTTSConfig(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DescribeTTSConfigWithCallback invokes the voicenavigator.DescribeTTSConfig API asynchronously
+// api document: https://help.aliyun.com/api/voicenavigator/describettsconfig.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeTTSConfigWithCallback(request *DescribeTTSConfigRequest, callback func(response *DescribeTTSConfigResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeTTSConfigResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeTTSConfig(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DescribeTTSConfigRequest is the request struct for api DescribeTTSConfig
+type DescribeTTSConfigRequest struct {
+	*requests.RpcRequest
+	InstanceId string `position:"Query" name:"InstanceId"`
+}
+
+// DescribeTTSConfigResponse is the response struct for api DescribeTTSConfig
+type DescribeTTSConfigResponse struct {
+	*responses.BaseResponse
+	RequestId  string `json:"RequestId" xml:"RequestId"`
+	Voice      string `json:"Voice" xml:"Voice"`
+	SpeechRate int    `json:"SpeechRate" xml:"SpeechRate"`
+	Volume     int    `json:"Volume" xml:"Volume"`
+}
+
+// CreateDescribeTTSConfigRequest creates a request to invoke DescribeTTSConfig API
+func CreateDescribeTTSConfigRequest() (request *DescribeTTSConfigRequest) {
+	request = &DescribeTTSConfigRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("VoiceNavigator", "2018-06-12", "DescribeTTSConfig", "voicebot", "openAPI")
+	return
+}
+
+// CreateDescribeTTSConfigResponse creates a response to parse from DescribeTTSConfig response
+func CreateDescribeTTSConfigResponse() (response *DescribeTTSConfigResponse) {
+	response = &DescribeTTSConfigResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 112 - 0
services/voicenavigator/dialogue.go

@@ -0,0 +1,112 @@
+package voicenavigator
+
+//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"
+)
+
+// Dialogue invokes the voicenavigator.Dialogue API synchronously
+// api document: https://help.aliyun.com/api/voicenavigator/dialogue.html
+func (client *Client) Dialogue(request *DialogueRequest) (response *DialogueResponse, err error) {
+	response = CreateDialogueResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DialogueWithChan invokes the voicenavigator.Dialogue API asynchronously
+// api document: https://help.aliyun.com/api/voicenavigator/dialogue.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DialogueWithChan(request *DialogueRequest) (<-chan *DialogueResponse, <-chan error) {
+	responseChan := make(chan *DialogueResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.Dialogue(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DialogueWithCallback invokes the voicenavigator.Dialogue API asynchronously
+// api document: https://help.aliyun.com/api/voicenavigator/dialogue.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DialogueWithCallback(request *DialogueRequest, callback func(response *DialogueResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DialogueResponse
+		var err error
+		defer close(result)
+		response, err = client.Dialogue(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DialogueRequest is the request struct for api Dialogue
+type DialogueRequest struct {
+	*requests.RpcRequest
+	ConversationId    string `position:"Query" name:"ConversationId"`
+	CallingNumber     string `position:"Query" name:"CallingNumber"`
+	InstanceId        string `position:"Query" name:"InstanceId"`
+	CalledNumber      string `position:"Query" name:"CalledNumber"`
+	AdditionalContext string `position:"Query" name:"AdditionalContext"`
+	Utterance         string `position:"Query" name:"Utterance"`
+}
+
+// DialogueResponse is the response struct for api Dialogue
+type DialogueResponse struct {
+	*responses.BaseResponse
+	RequestId     string `json:"RequestId" xml:"RequestId"`
+	TextResponse  string `json:"TextResponse" xml:"TextResponse"`
+	Interruptible bool   `json:"Interruptible" xml:"Interruptible"`
+	Action        string `json:"Action" xml:"Action"`
+	ActionParams  string `json:"ActionParams" xml:"ActionParams"`
+}
+
+// CreateDialogueRequest creates a request to invoke Dialogue API
+func CreateDialogueRequest() (request *DialogueRequest) {
+	request = &DialogueRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("VoiceNavigator", "2018-06-12", "Dialogue", "voicebot", "openAPI")
+	return
+}
+
+// CreateDialogueResponse creates a response to parse from Dialogue response
+func CreateDialogueResponse() (response *DialogueResponse) {
+	response = &DialogueResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 104 - 0
services/voicenavigator/disable_instance.go

@@ -0,0 +1,104 @@
+package voicenavigator
+
+//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"
+)
+
+// DisableInstance invokes the voicenavigator.DisableInstance API synchronously
+// api document: https://help.aliyun.com/api/voicenavigator/disableinstance.html
+func (client *Client) DisableInstance(request *DisableInstanceRequest) (response *DisableInstanceResponse, err error) {
+	response = CreateDisableInstanceResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DisableInstanceWithChan invokes the voicenavigator.DisableInstance API asynchronously
+// api document: https://help.aliyun.com/api/voicenavigator/disableinstance.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DisableInstanceWithChan(request *DisableInstanceRequest) (<-chan *DisableInstanceResponse, <-chan error) {
+	responseChan := make(chan *DisableInstanceResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DisableInstance(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DisableInstanceWithCallback invokes the voicenavigator.DisableInstance API asynchronously
+// api document: https://help.aliyun.com/api/voicenavigator/disableinstance.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DisableInstanceWithCallback(request *DisableInstanceRequest, callback func(response *DisableInstanceResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DisableInstanceResponse
+		var err error
+		defer close(result)
+		response, err = client.DisableInstance(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DisableInstanceRequest is the request struct for api DisableInstance
+type DisableInstanceRequest struct {
+	*requests.RpcRequest
+	InstanceId string `position:"Query" name:"InstanceId"`
+}
+
+// DisableInstanceResponse is the response struct for api DisableInstance
+type DisableInstanceResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+	Status    string `json:"Status" xml:"Status"`
+}
+
+// CreateDisableInstanceRequest creates a request to invoke DisableInstance API
+func CreateDisableInstanceRequest() (request *DisableInstanceRequest) {
+	request = &DisableInstanceRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("VoiceNavigator", "2018-06-12", "DisableInstance", "voicebot", "openAPI")
+	return
+}
+
+// CreateDisableInstanceResponse creates a response to parse from DisableInstance response
+func CreateDisableInstanceResponse() (response *DisableInstanceResponse) {
+	response = &DisableInstanceResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 104 - 0
services/voicenavigator/duplicate_instance.go

@@ -0,0 +1,104 @@
+package voicenavigator
+
+//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"
+)
+
+// DuplicateInstance invokes the voicenavigator.DuplicateInstance API synchronously
+// api document: https://help.aliyun.com/api/voicenavigator/duplicateinstance.html
+func (client *Client) DuplicateInstance(request *DuplicateInstanceRequest) (response *DuplicateInstanceResponse, err error) {
+	response = CreateDuplicateInstanceResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DuplicateInstanceWithChan invokes the voicenavigator.DuplicateInstance API asynchronously
+// api document: https://help.aliyun.com/api/voicenavigator/duplicateinstance.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DuplicateInstanceWithChan(request *DuplicateInstanceRequest) (<-chan *DuplicateInstanceResponse, <-chan error) {
+	responseChan := make(chan *DuplicateInstanceResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DuplicateInstance(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DuplicateInstanceWithCallback invokes the voicenavigator.DuplicateInstance API asynchronously
+// api document: https://help.aliyun.com/api/voicenavigator/duplicateinstance.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DuplicateInstanceWithCallback(request *DuplicateInstanceRequest, callback func(response *DuplicateInstanceResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DuplicateInstanceResponse
+		var err error
+		defer close(result)
+		response, err = client.DuplicateInstance(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DuplicateInstanceRequest is the request struct for api DuplicateInstance
+type DuplicateInstanceRequest struct {
+	*requests.RpcRequest
+	InstanceId string `position:"Query" name:"InstanceId"`
+}
+
+// DuplicateInstanceResponse is the response struct for api DuplicateInstance
+type DuplicateInstanceResponse struct {
+	*responses.BaseResponse
+	RequestId  string `json:"RequestId" xml:"RequestId"`
+	InstanceId string `json:"InstanceId" xml:"InstanceId"`
+}
+
+// CreateDuplicateInstanceRequest creates a request to invoke DuplicateInstance API
+func CreateDuplicateInstanceRequest() (request *DuplicateInstanceRequest) {
+	request = &DuplicateInstanceRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("VoiceNavigator", "2018-06-12", "DuplicateInstance", "voicebot", "openAPI")
+	return
+}
+
+// CreateDuplicateInstanceResponse creates a response to parse from DuplicateInstance response
+func CreateDuplicateInstanceResponse() (response *DuplicateInstanceResponse) {
+	response = &DuplicateInstanceResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 104 - 0
services/voicenavigator/enable_instance.go

@@ -0,0 +1,104 @@
+package voicenavigator
+
+//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"
+)
+
+// EnableInstance invokes the voicenavigator.EnableInstance API synchronously
+// api document: https://help.aliyun.com/api/voicenavigator/enableinstance.html
+func (client *Client) EnableInstance(request *EnableInstanceRequest) (response *EnableInstanceResponse, err error) {
+	response = CreateEnableInstanceResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// EnableInstanceWithChan invokes the voicenavigator.EnableInstance API asynchronously
+// api document: https://help.aliyun.com/api/voicenavigator/enableinstance.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) EnableInstanceWithChan(request *EnableInstanceRequest) (<-chan *EnableInstanceResponse, <-chan error) {
+	responseChan := make(chan *EnableInstanceResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.EnableInstance(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// EnableInstanceWithCallback invokes the voicenavigator.EnableInstance API asynchronously
+// api document: https://help.aliyun.com/api/voicenavigator/enableinstance.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) EnableInstanceWithCallback(request *EnableInstanceRequest, callback func(response *EnableInstanceResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *EnableInstanceResponse
+		var err error
+		defer close(result)
+		response, err = client.EnableInstance(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// EnableInstanceRequest is the request struct for api EnableInstance
+type EnableInstanceRequest struct {
+	*requests.RpcRequest
+	InstanceId string `position:"Query" name:"InstanceId"`
+}
+
+// EnableInstanceResponse is the response struct for api EnableInstance
+type EnableInstanceResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+	Status    string `json:"Status" xml:"Status"`
+}
+
+// CreateEnableInstanceRequest creates a request to invoke EnableInstance API
+func CreateEnableInstanceRequest() (request *EnableInstanceRequest) {
+	request = &EnableInstanceRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("VoiceNavigator", "2018-06-12", "EnableInstance", "voicebot", "openAPI")
+	return
+}
+
+// CreateEnableInstanceResponse creates a response to parse from EnableInstance response
+func CreateEnableInstanceResponse() (response *EnableInstanceResponse) {
+	response = &EnableInstanceResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 104 - 0
services/voicenavigator/end_dialogue.go

@@ -0,0 +1,104 @@
+package voicenavigator
+
+//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"
+)
+
+// EndDialogue invokes the voicenavigator.EndDialogue API synchronously
+// api document: https://help.aliyun.com/api/voicenavigator/enddialogue.html
+func (client *Client) EndDialogue(request *EndDialogueRequest) (response *EndDialogueResponse, err error) {
+	response = CreateEndDialogueResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// EndDialogueWithChan invokes the voicenavigator.EndDialogue API asynchronously
+// api document: https://help.aliyun.com/api/voicenavigator/enddialogue.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) EndDialogueWithChan(request *EndDialogueRequest) (<-chan *EndDialogueResponse, <-chan error) {
+	responseChan := make(chan *EndDialogueResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.EndDialogue(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// EndDialogueWithCallback invokes the voicenavigator.EndDialogue API asynchronously
+// api document: https://help.aliyun.com/api/voicenavigator/enddialogue.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) EndDialogueWithCallback(request *EndDialogueRequest, callback func(response *EndDialogueResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *EndDialogueResponse
+		var err error
+		defer close(result)
+		response, err = client.EndDialogue(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// EndDialogueRequest is the request struct for api EndDialogue
+type EndDialogueRequest struct {
+	*requests.RpcRequest
+	ConversationId string `position:"Query" name:"ConversationId"`
+	InstanceId     string `position:"Query" name:"InstanceId"`
+}
+
+// EndDialogueResponse is the response struct for api EndDialogue
+type EndDialogueResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+}
+
+// CreateEndDialogueRequest creates a request to invoke EndDialogue API
+func CreateEndDialogueRequest() (request *EndDialogueRequest) {
+	request = &EndDialogueRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("VoiceNavigator", "2018-06-12", "EndDialogue", "voicebot", "openAPI")
+	return
+}
+
+// CreateEndDialogueResponse creates a response to parse from EndDialogue response
+func CreateEndDialogueResponse() (response *EndDialogueResponse) {
+	response = &EndDialogueResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 20 - 0
services/voicenavigator/endpoint.go

@@ -0,0 +1,20 @@
+package voicenavigator
+
+// EndpointMap Endpoint Data
+var EndpointMap map[string]string
+
+// EndpointType regional or central
+var EndpointType = "regional"
+
+// 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
+}

+ 107 - 0
services/voicenavigator/export_conversation_details.go

@@ -0,0 +1,107 @@
+package voicenavigator
+
+//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"
+)
+
+// ExportConversationDetails invokes the voicenavigator.ExportConversationDetails API synchronously
+// api document: https://help.aliyun.com/api/voicenavigator/exportconversationdetails.html
+func (client *Client) ExportConversationDetails(request *ExportConversationDetailsRequest) (response *ExportConversationDetailsResponse, err error) {
+	response = CreateExportConversationDetailsResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// ExportConversationDetailsWithChan invokes the voicenavigator.ExportConversationDetails API asynchronously
+// api document: https://help.aliyun.com/api/voicenavigator/exportconversationdetails.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ExportConversationDetailsWithChan(request *ExportConversationDetailsRequest) (<-chan *ExportConversationDetailsResponse, <-chan error) {
+	responseChan := make(chan *ExportConversationDetailsResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.ExportConversationDetails(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// ExportConversationDetailsWithCallback invokes the voicenavigator.ExportConversationDetails API asynchronously
+// api document: https://help.aliyun.com/api/voicenavigator/exportconversationdetails.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ExportConversationDetailsWithCallback(request *ExportConversationDetailsRequest, callback func(response *ExportConversationDetailsResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *ExportConversationDetailsResponse
+		var err error
+		defer close(result)
+		response, err = client.ExportConversationDetails(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// ExportConversationDetailsRequest is the request struct for api ExportConversationDetails
+type ExportConversationDetailsRequest struct {
+	*requests.RpcRequest
+	BeginTimeLeftRange  requests.Integer `position:"Query" name:"BeginTimeLeftRange"`
+	CallingNumber       string           `position:"Query" name:"CallingNumber"`
+	InstanceId          string           `position:"Query" name:"InstanceId"`
+	BeginTimeRightRange requests.Integer `position:"Query" name:"BeginTimeRightRange"`
+}
+
+// ExportConversationDetailsResponse is the response struct for api ExportConversationDetails
+type ExportConversationDetailsResponse struct {
+	*responses.BaseResponse
+	RequestId    string `json:"RequestId" xml:"RequestId"`
+	ExportTaskId string `json:"ExportTaskId" xml:"ExportTaskId"`
+}
+
+// CreateExportConversationDetailsRequest creates a request to invoke ExportConversationDetails API
+func CreateExportConversationDetailsRequest() (request *ExportConversationDetailsRequest) {
+	request = &ExportConversationDetailsRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("VoiceNavigator", "2018-06-12", "ExportConversationDetails", "voicebot", "openAPI")
+	return
+}
+
+// CreateExportConversationDetailsResponse creates a response to parse from ExportConversationDetails response
+func CreateExportConversationDetailsResponse() (response *ExportConversationDetailsResponse) {
+	response = &ExportConversationDetailsResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 108 - 0
services/voicenavigator/export_statistical_data.go

@@ -0,0 +1,108 @@
+package voicenavigator
+
+//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"
+)
+
+// ExportStatisticalData invokes the voicenavigator.ExportStatisticalData API synchronously
+// api document: https://help.aliyun.com/api/voicenavigator/exportstatisticaldata.html
+func (client *Client) ExportStatisticalData(request *ExportStatisticalDataRequest) (response *ExportStatisticalDataResponse, err error) {
+	response = CreateExportStatisticalDataResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// ExportStatisticalDataWithChan invokes the voicenavigator.ExportStatisticalData API asynchronously
+// api document: https://help.aliyun.com/api/voicenavigator/exportstatisticaldata.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ExportStatisticalDataWithChan(request *ExportStatisticalDataRequest) (<-chan *ExportStatisticalDataResponse, <-chan error) {
+	responseChan := make(chan *ExportStatisticalDataResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.ExportStatisticalData(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// ExportStatisticalDataWithCallback invokes the voicenavigator.ExportStatisticalData API asynchronously
+// api document: https://help.aliyun.com/api/voicenavigator/exportstatisticaldata.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ExportStatisticalDataWithCallback(request *ExportStatisticalDataRequest, callback func(response *ExportStatisticalDataResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *ExportStatisticalDataResponse
+		var err error
+		defer close(result)
+		response, err = client.ExportStatisticalData(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// ExportStatisticalDataRequest is the request struct for api ExportStatisticalData
+type ExportStatisticalDataRequest struct {
+	*requests.RpcRequest
+	BeginTimeLeftRange  requests.Integer `position:"Query" name:"BeginTimeLeftRange"`
+	ExportType          string           `position:"Query" name:"ExportType"`
+	TimeUnit            string           `position:"Query" name:"TimeUnit"`
+	InstanceId          string           `position:"Query" name:"InstanceId"`
+	BeginTimeRightRange requests.Integer `position:"Query" name:"BeginTimeRightRange"`
+}
+
+// ExportStatisticalDataResponse is the response struct for api ExportStatisticalData
+type ExportStatisticalDataResponse struct {
+	*responses.BaseResponse
+	RequestId    string `json:"RequestId" xml:"RequestId"`
+	ExportTaskId string `json:"ExportTaskId" xml:"ExportTaskId"`
+}
+
+// CreateExportStatisticalDataRequest creates a request to invoke ExportStatisticalData API
+func CreateExportStatisticalDataRequest() (request *ExportStatisticalDataRequest) {
+	request = &ExportStatisticalDataRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("VoiceNavigator", "2018-06-12", "ExportStatisticalData", "voicebot", "openAPI")
+	return
+}
+
+// CreateExportStatisticalDataResponse creates a response to parse from ExportStatisticalData response
+func CreateExportStatisticalDataResponse() (response *ExportStatisticalDataResponse) {
+	response = &ExportStatisticalDataResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 105 - 0
services/voicenavigator/list_categories.go

@@ -0,0 +1,105 @@
+package voicenavigator
+
+//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"
+)
+
+// ListCategories invokes the voicenavigator.ListCategories API synchronously
+// api document: https://help.aliyun.com/api/voicenavigator/listcategories.html
+func (client *Client) ListCategories(request *ListCategoriesRequest) (response *ListCategoriesResponse, err error) {
+	response = CreateListCategoriesResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// ListCategoriesWithChan invokes the voicenavigator.ListCategories API asynchronously
+// api document: https://help.aliyun.com/api/voicenavigator/listcategories.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ListCategoriesWithChan(request *ListCategoriesRequest) (<-chan *ListCategoriesResponse, <-chan error) {
+	responseChan := make(chan *ListCategoriesResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.ListCategories(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// ListCategoriesWithCallback invokes the voicenavigator.ListCategories API asynchronously
+// api document: https://help.aliyun.com/api/voicenavigator/listcategories.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ListCategoriesWithCallback(request *ListCategoriesRequest, callback func(response *ListCategoriesResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *ListCategoriesResponse
+		var err error
+		defer close(result)
+		response, err = client.ListCategories(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// ListCategoriesRequest is the request struct for api ListCategories
+type ListCategoriesRequest struct {
+	*requests.RpcRequest
+	ParentId   string `position:"Query" name:"ParentId"`
+	InstanceId string `position:"Query" name:"InstanceId"`
+}
+
+// ListCategoriesResponse is the response struct for api ListCategories
+type ListCategoriesResponse struct {
+	*responses.BaseResponse
+	RequestId  string     `json:"RequestId" xml:"RequestId"`
+	Categories []Category `json:"Categories" xml:"Categories"`
+}
+
+// CreateListCategoriesRequest creates a request to invoke ListCategories API
+func CreateListCategoriesRequest() (request *ListCategoriesRequest) {
+	request = &ListCategoriesRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("VoiceNavigator", "2018-06-12", "ListCategories", "voicebot", "openAPI")
+	return
+}
+
+// CreateListCategoriesResponse creates a response to parse from ListCategories response
+func CreateListCategoriesResponse() (response *ListCategoriesResponse) {
+	response = &ListCategoriesResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 105 - 0
services/voicenavigator/list_conversation_details.go

@@ -0,0 +1,105 @@
+package voicenavigator
+
+//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"
+)
+
+// ListConversationDetails invokes the voicenavigator.ListConversationDetails API synchronously
+// api document: https://help.aliyun.com/api/voicenavigator/listconversationdetails.html
+func (client *Client) ListConversationDetails(request *ListConversationDetailsRequest) (response *ListConversationDetailsResponse, err error) {
+	response = CreateListConversationDetailsResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// ListConversationDetailsWithChan invokes the voicenavigator.ListConversationDetails API asynchronously
+// api document: https://help.aliyun.com/api/voicenavigator/listconversationdetails.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ListConversationDetailsWithChan(request *ListConversationDetailsRequest) (<-chan *ListConversationDetailsResponse, <-chan error) {
+	responseChan := make(chan *ListConversationDetailsResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.ListConversationDetails(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// ListConversationDetailsWithCallback invokes the voicenavigator.ListConversationDetails API asynchronously
+// api document: https://help.aliyun.com/api/voicenavigator/listconversationdetails.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ListConversationDetailsWithCallback(request *ListConversationDetailsRequest, callback func(response *ListConversationDetailsResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *ListConversationDetailsResponse
+		var err error
+		defer close(result)
+		response, err = client.ListConversationDetails(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// ListConversationDetailsRequest is the request struct for api ListConversationDetails
+type ListConversationDetailsRequest struct {
+	*requests.RpcRequest
+	ConversationId string `position:"Query" name:"ConversationId"`
+	InstanceId     string `position:"Query" name:"InstanceId"`
+}
+
+// ListConversationDetailsResponse is the response struct for api ListConversationDetails
+type ListConversationDetailsResponse struct {
+	*responses.BaseResponse
+	RequestId           string               `json:"RequestId" xml:"RequestId"`
+	ConversationDetails []ConversationDetail `json:"ConversationDetails" xml:"ConversationDetails"`
+}
+
+// CreateListConversationDetailsRequest creates a request to invoke ListConversationDetails API
+func CreateListConversationDetailsRequest() (request *ListConversationDetailsRequest) {
+	request = &ListConversationDetailsRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("VoiceNavigator", "2018-06-12", "ListConversationDetails", "voicebot", "openAPI")
+	return
+}
+
+// CreateListConversationDetailsResponse creates a response to parse from ListConversationDetails response
+func CreateListConversationDetailsResponse() (response *ListConversationDetailsResponse) {
+	response = &ListConversationDetailsResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 109 - 0
services/voicenavigator/list_conversations.go

@@ -0,0 +1,109 @@
+package voicenavigator
+
+//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"
+)
+
+// ListConversations invokes the voicenavigator.ListConversations API synchronously
+// api document: https://help.aliyun.com/api/voicenavigator/listconversations.html
+func (client *Client) ListConversations(request *ListConversationsRequest) (response *ListConversationsResponse, err error) {
+	response = CreateListConversationsResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// ListConversationsWithChan invokes the voicenavigator.ListConversations API asynchronously
+// api document: https://help.aliyun.com/api/voicenavigator/listconversations.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ListConversationsWithChan(request *ListConversationsRequest) (<-chan *ListConversationsResponse, <-chan error) {
+	responseChan := make(chan *ListConversationsResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.ListConversations(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// ListConversationsWithCallback invokes the voicenavigator.ListConversations API asynchronously
+// api document: https://help.aliyun.com/api/voicenavigator/listconversations.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ListConversationsWithCallback(request *ListConversationsRequest, callback func(response *ListConversationsResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *ListConversationsResponse
+		var err error
+		defer close(result)
+		response, err = client.ListConversations(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// ListConversationsRequest is the request struct for api ListConversations
+type ListConversationsRequest struct {
+	*requests.RpcRequest
+	PageNumber requests.Integer `position:"Query" name:"PageNumber"`
+	InstanceId string           `position:"Query" name:"InstanceId"`
+	PageSize   requests.Integer `position:"Query" name:"PageSize"`
+}
+
+// ListConversationsResponse is the response struct for api ListConversations
+type ListConversationsResponse struct {
+	*responses.BaseResponse
+	RequestId     string         `json:"RequestId" xml:"RequestId"`
+	TotalCount    int64          `json:"TotalCount" xml:"TotalCount"`
+	PageNumber    int            `json:"PageNumber" xml:"PageNumber"`
+	PageSize      int            `json:"PageSize" xml:"PageSize"`
+	Conversations []Conversation `json:"Conversations" xml:"Conversations"`
+}
+
+// CreateListConversationsRequest creates a request to invoke ListConversations API
+func CreateListConversationsRequest() (request *ListConversationsRequest) {
+	request = &ListConversationsRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("VoiceNavigator", "2018-06-12", "ListConversations", "voicebot", "openAPI")
+	return
+}
+
+// CreateListConversationsResponse creates a response to parse from ListConversations response
+func CreateListConversationsResponse() (response *ListConversationsResponse) {
+	response = &ListConversationsResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 108 - 0
services/voicenavigator/list_instances.go

@@ -0,0 +1,108 @@
+package voicenavigator
+
+//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"
+)
+
+// ListInstances invokes the voicenavigator.ListInstances API synchronously
+// api document: https://help.aliyun.com/api/voicenavigator/listinstances.html
+func (client *Client) ListInstances(request *ListInstancesRequest) (response *ListInstancesResponse, err error) {
+	response = CreateListInstancesResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// ListInstancesWithChan invokes the voicenavigator.ListInstances API asynchronously
+// api document: https://help.aliyun.com/api/voicenavigator/listinstances.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ListInstancesWithChan(request *ListInstancesRequest) (<-chan *ListInstancesResponse, <-chan error) {
+	responseChan := make(chan *ListInstancesResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.ListInstances(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// ListInstancesWithCallback invokes the voicenavigator.ListInstances API asynchronously
+// api document: https://help.aliyun.com/api/voicenavigator/listinstances.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ListInstancesWithCallback(request *ListInstancesRequest, callback func(response *ListInstancesResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *ListInstancesResponse
+		var err error
+		defer close(result)
+		response, err = client.ListInstances(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// ListInstancesRequest is the request struct for api ListInstances
+type ListInstancesRequest struct {
+	*requests.RpcRequest
+	PageNumber requests.Integer `position:"Query" name:"PageNumber"`
+	PageSize   requests.Integer `position:"Query" name:"PageSize"`
+}
+
+// ListInstancesResponse is the response struct for api ListInstances
+type ListInstancesResponse struct {
+	*responses.BaseResponse
+	RequestId  string     `json:"RequestId" xml:"RequestId"`
+	TotalCount int        `json:"TotalCount" xml:"TotalCount"`
+	PageNumber int        `json:"PageNumber" xml:"PageNumber"`
+	PageSize   int        `json:"PageSize" xml:"PageSize"`
+	Instances  []Instance `json:"Instances" xml:"Instances"`
+}
+
+// CreateListInstancesRequest creates a request to invoke ListInstances API
+func CreateListInstancesRequest() (request *ListInstancesRequest) {
+	request = &ListInstancesRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("VoiceNavigator", "2018-06-12", "ListInstances", "voicebot", "openAPI")
+	return
+}
+
+// CreateListInstancesResponse creates a response to parse from ListInstances response
+func CreateListInstancesResponse() (response *ListInstancesResponse) {
+	response = &ListInstancesResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 110 - 0
services/voicenavigator/list_navigation_scripts.go

@@ -0,0 +1,110 @@
+package voicenavigator
+
+//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"
+)
+
+// ListNavigationScripts invokes the voicenavigator.ListNavigationScripts API synchronously
+// api document: https://help.aliyun.com/api/voicenavigator/listnavigationscripts.html
+func (client *Client) ListNavigationScripts(request *ListNavigationScriptsRequest) (response *ListNavigationScriptsResponse, err error) {
+	response = CreateListNavigationScriptsResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// ListNavigationScriptsWithChan invokes the voicenavigator.ListNavigationScripts API asynchronously
+// api document: https://help.aliyun.com/api/voicenavigator/listnavigationscripts.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ListNavigationScriptsWithChan(request *ListNavigationScriptsRequest) (<-chan *ListNavigationScriptsResponse, <-chan error) {
+	responseChan := make(chan *ListNavigationScriptsResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.ListNavigationScripts(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// ListNavigationScriptsWithCallback invokes the voicenavigator.ListNavigationScripts API asynchronously
+// api document: https://help.aliyun.com/api/voicenavigator/listnavigationscripts.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ListNavigationScriptsWithCallback(request *ListNavigationScriptsRequest, callback func(response *ListNavigationScriptsResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *ListNavigationScriptsResponse
+		var err error
+		defer close(result)
+		response, err = client.ListNavigationScripts(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// ListNavigationScriptsRequest is the request struct for api ListNavigationScripts
+type ListNavigationScriptsRequest struct {
+	*requests.RpcRequest
+	PageNumber requests.Integer `position:"Query" name:"PageNumber"`
+	InstanceId string           `position:"Query" name:"InstanceId"`
+	PageSize   requests.Integer `position:"Query" name:"PageSize"`
+	CategoryId string           `position:"Query" name:"CategoryId"`
+}
+
+// ListNavigationScriptsResponse is the response struct for api ListNavigationScripts
+type ListNavigationScriptsResponse struct {
+	*responses.BaseResponse
+	RequestId         string             `json:"RequestId" xml:"RequestId"`
+	TotalCount        int64              `json:"TotalCount" xml:"TotalCount"`
+	PageNumber        int                `json:"PageNumber" xml:"PageNumber"`
+	PageSize          int                `json:"PageSize" xml:"PageSize"`
+	NavigationScripts []NavigationScript `json:"NavigationScripts" xml:"NavigationScripts"`
+}
+
+// CreateListNavigationScriptsRequest creates a request to invoke ListNavigationScripts API
+func CreateListNavigationScriptsRequest() (request *ListNavigationScriptsRequest) {
+	request = &ListNavigationScriptsRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("VoiceNavigator", "2018-06-12", "ListNavigationScripts", "voicebot", "openAPI")
+	return
+}
+
+// CreateListNavigationScriptsResponse creates a response to parse from ListNavigationScripts response
+func CreateListNavigationScriptsResponse() (response *ListNavigationScriptsResponse) {
+	response = &ListNavigationScriptsResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 109 - 0
services/voicenavigator/list_publish_histories.go

@@ -0,0 +1,109 @@
+package voicenavigator
+
+//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"
+)
+
+// ListPublishHistories invokes the voicenavigator.ListPublishHistories API synchronously
+// api document: https://help.aliyun.com/api/voicenavigator/listpublishhistories.html
+func (client *Client) ListPublishHistories(request *ListPublishHistoriesRequest) (response *ListPublishHistoriesResponse, err error) {
+	response = CreateListPublishHistoriesResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// ListPublishHistoriesWithChan invokes the voicenavigator.ListPublishHistories API asynchronously
+// api document: https://help.aliyun.com/api/voicenavigator/listpublishhistories.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ListPublishHistoriesWithChan(request *ListPublishHistoriesRequest) (<-chan *ListPublishHistoriesResponse, <-chan error) {
+	responseChan := make(chan *ListPublishHistoriesResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.ListPublishHistories(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// ListPublishHistoriesWithCallback invokes the voicenavigator.ListPublishHistories API asynchronously
+// api document: https://help.aliyun.com/api/voicenavigator/listpublishhistories.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ListPublishHistoriesWithCallback(request *ListPublishHistoriesRequest, callback func(response *ListPublishHistoriesResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *ListPublishHistoriesResponse
+		var err error
+		defer close(result)
+		response, err = client.ListPublishHistories(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// ListPublishHistoriesRequest is the request struct for api ListPublishHistories
+type ListPublishHistoriesRequest struct {
+	*requests.RpcRequest
+	PageNumber requests.Integer `position:"Query" name:"PageNumber"`
+	InstanceId string           `position:"Query" name:"InstanceId"`
+	PageSize   requests.Integer `position:"Query" name:"PageSize"`
+}
+
+// ListPublishHistoriesResponse is the response struct for api ListPublishHistories
+type ListPublishHistoriesResponse struct {
+	*responses.BaseResponse
+	RequestId        string                 `json:"RequestId" xml:"RequestId"`
+	TotalCount       int                    `json:"TotalCount" xml:"TotalCount"`
+	PageNumber       int                    `json:"PageNumber" xml:"PageNumber"`
+	PageSize         int                    `json:"PageSize" xml:"PageSize"`
+	PublishHistories []PublishHistoriesItem `json:"PublishHistories" xml:"PublishHistories"`
+}
+
+// CreateListPublishHistoriesRequest creates a request to invoke ListPublishHistories API
+func CreateListPublishHistoriesRequest() (request *ListPublishHistoriesRequest) {
+	request = &ListPublishHistoriesRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("VoiceNavigator", "2018-06-12", "ListPublishHistories", "voicebot", "openAPI")
+	return
+}
+
+// CreateListPublishHistoriesResponse creates a response to parse from ListPublishHistories response
+func CreateListPublishHistoriesResponse() (response *ListPublishHistoriesResponse) {
+	response = &ListPublishHistoriesResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 110 - 0
services/voicenavigator/modify_asking_back_config.go

@@ -0,0 +1,110 @@
+package voicenavigator
+
+//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"
+)
+
+// ModifyAskingBackConfig invokes the voicenavigator.ModifyAskingBackConfig API synchronously
+// api document: https://help.aliyun.com/api/voicenavigator/modifyaskingbackconfig.html
+func (client *Client) ModifyAskingBackConfig(request *ModifyAskingBackConfigRequest) (response *ModifyAskingBackConfigResponse, err error) {
+	response = CreateModifyAskingBackConfigResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// ModifyAskingBackConfigWithChan invokes the voicenavigator.ModifyAskingBackConfig API asynchronously
+// api document: https://help.aliyun.com/api/voicenavigator/modifyaskingbackconfig.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ModifyAskingBackConfigWithChan(request *ModifyAskingBackConfigRequest) (<-chan *ModifyAskingBackConfigResponse, <-chan error) {
+	responseChan := make(chan *ModifyAskingBackConfigResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.ModifyAskingBackConfig(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// ModifyAskingBackConfigWithCallback invokes the voicenavigator.ModifyAskingBackConfig API asynchronously
+// api document: https://help.aliyun.com/api/voicenavigator/modifyaskingbackconfig.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ModifyAskingBackConfigWithCallback(request *ModifyAskingBackConfigRequest, callback func(response *ModifyAskingBackConfigResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *ModifyAskingBackConfigResponse
+		var err error
+		defer close(result)
+		response, err = client.ModifyAskingBackConfig(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// ModifyAskingBackConfigRequest is the request struct for api ModifyAskingBackConfig
+type ModifyAskingBackConfigRequest struct {
+	*requests.RpcRequest
+	NegativeFeedbackPrompt       string           `position:"Query" name:"NegativeFeedbackPrompt"`
+	NegativeFeedbackAction       string           `position:"Query" name:"NegativeFeedbackAction"`
+	Enabled                      requests.Boolean `position:"Query" name:"Enabled"`
+	EnableNegativeFeedback       requests.Boolean `position:"Query" name:"EnableNegativeFeedback"`
+	InstanceId                   string           `position:"Query" name:"InstanceId"`
+	Prompt                       string           `position:"Query" name:"Prompt"`
+	NegativeFeedbackUtterances   *[]string        `position:"Query" name:"NegativeFeedbackUtterances"  type:"Repeated"`
+	NegativeFeedbackActionParams string           `position:"Query" name:"NegativeFeedbackActionParams"`
+}
+
+// ModifyAskingBackConfigResponse is the response struct for api ModifyAskingBackConfig
+type ModifyAskingBackConfigResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+}
+
+// CreateModifyAskingBackConfigRequest creates a request to invoke ModifyAskingBackConfig API
+func CreateModifyAskingBackConfigRequest() (request *ModifyAskingBackConfigRequest) {
+	request = &ModifyAskingBackConfigRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("VoiceNavigator", "2018-06-12", "ModifyAskingBackConfig", "voicebot", "openAPI")
+	return
+}
+
+// CreateModifyAskingBackConfigResponse creates a response to parse from ModifyAskingBackConfig response
+func CreateModifyAskingBackConfigResponse() (response *ModifyAskingBackConfigResponse) {
+	response = &ModifyAskingBackConfigResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 105 - 0
services/voicenavigator/modify_category.go

@@ -0,0 +1,105 @@
+package voicenavigator
+
+//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"
+)
+
+// ModifyCategory invokes the voicenavigator.ModifyCategory API synchronously
+// api document: https://help.aliyun.com/api/voicenavigator/modifycategory.html
+func (client *Client) ModifyCategory(request *ModifyCategoryRequest) (response *ModifyCategoryResponse, err error) {
+	response = CreateModifyCategoryResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// ModifyCategoryWithChan invokes the voicenavigator.ModifyCategory API asynchronously
+// api document: https://help.aliyun.com/api/voicenavigator/modifycategory.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ModifyCategoryWithChan(request *ModifyCategoryRequest) (<-chan *ModifyCategoryResponse, <-chan error) {
+	responseChan := make(chan *ModifyCategoryResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.ModifyCategory(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// ModifyCategoryWithCallback invokes the voicenavigator.ModifyCategory API asynchronously
+// api document: https://help.aliyun.com/api/voicenavigator/modifycategory.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ModifyCategoryWithCallback(request *ModifyCategoryRequest, callback func(response *ModifyCategoryResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *ModifyCategoryResponse
+		var err error
+		defer close(result)
+		response, err = client.ModifyCategory(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// ModifyCategoryRequest is the request struct for api ModifyCategory
+type ModifyCategoryRequest struct {
+	*requests.RpcRequest
+	InstanceId string `position:"Query" name:"InstanceId"`
+	Name       string `position:"Query" name:"Name"`
+	CategoryId string `position:"Query" name:"CategoryId"`
+}
+
+// ModifyCategoryResponse is the response struct for api ModifyCategory
+type ModifyCategoryResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+}
+
+// CreateModifyCategoryRequest creates a request to invoke ModifyCategory API
+func CreateModifyCategoryRequest() (request *ModifyCategoryRequest) {
+	request = &ModifyCategoryRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("VoiceNavigator", "2018-06-12", "ModifyCategory", "voicebot", "openAPI")
+	return
+}
+
+// CreateModifyCategoryResponse creates a response to parse from ModifyCategory response
+func CreateModifyCategoryResponse() (response *ModifyCategoryResponse) {
+	response = &ModifyCategoryResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 107 - 0
services/voicenavigator/modify_complaining_config.go

@@ -0,0 +1,107 @@
+package voicenavigator
+
+//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"
+)
+
+// ModifyComplainingConfig invokes the voicenavigator.ModifyComplainingConfig API synchronously
+// api document: https://help.aliyun.com/api/voicenavigator/modifycomplainingconfig.html
+func (client *Client) ModifyComplainingConfig(request *ModifyComplainingConfigRequest) (response *ModifyComplainingConfigResponse, err error) {
+	response = CreateModifyComplainingConfigResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// ModifyComplainingConfigWithChan invokes the voicenavigator.ModifyComplainingConfig API asynchronously
+// api document: https://help.aliyun.com/api/voicenavigator/modifycomplainingconfig.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ModifyComplainingConfigWithChan(request *ModifyComplainingConfigRequest) (<-chan *ModifyComplainingConfigResponse, <-chan error) {
+	responseChan := make(chan *ModifyComplainingConfigResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.ModifyComplainingConfig(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// ModifyComplainingConfigWithCallback invokes the voicenavigator.ModifyComplainingConfig API asynchronously
+// api document: https://help.aliyun.com/api/voicenavigator/modifycomplainingconfig.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ModifyComplainingConfigWithCallback(request *ModifyComplainingConfigRequest, callback func(response *ModifyComplainingConfigResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *ModifyComplainingConfigResponse
+		var err error
+		defer close(result)
+		response, err = client.ModifyComplainingConfig(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// ModifyComplainingConfigRequest is the request struct for api ModifyComplainingConfig
+type ModifyComplainingConfigRequest struct {
+	*requests.RpcRequest
+	Utterances        *[]string `position:"Query" name:"Utterances"  type:"Repeated"`
+	FinalAction       string    `position:"Query" name:"FinalAction"`
+	InstanceId        string    `position:"Query" name:"InstanceId"`
+	FinalActionParams string    `position:"Query" name:"FinalActionParams"`
+	Prompt            string    `position:"Query" name:"Prompt"`
+}
+
+// ModifyComplainingConfigResponse is the response struct for api ModifyComplainingConfig
+type ModifyComplainingConfigResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+}
+
+// CreateModifyComplainingConfigRequest creates a request to invoke ModifyComplainingConfig API
+func CreateModifyComplainingConfigRequest() (request *ModifyComplainingConfigRequest) {
+	request = &ModifyComplainingConfigRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("VoiceNavigator", "2018-06-12", "ModifyComplainingConfig", "voicebot", "openAPI")
+	return
+}
+
+// CreateModifyComplainingConfigResponse creates a response to parse from ModifyComplainingConfig response
+func CreateModifyComplainingConfigResponse() (response *ModifyComplainingConfigResponse) {
+	response = &ModifyComplainingConfigResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 106 - 0
services/voicenavigator/modify_greeting_config.go

@@ -0,0 +1,106 @@
+package voicenavigator
+
+//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"
+)
+
+// ModifyGreetingConfig invokes the voicenavigator.ModifyGreetingConfig API synchronously
+// api document: https://help.aliyun.com/api/voicenavigator/modifygreetingconfig.html
+func (client *Client) ModifyGreetingConfig(request *ModifyGreetingConfigRequest) (response *ModifyGreetingConfigResponse, err error) {
+	response = CreateModifyGreetingConfigResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// ModifyGreetingConfigWithChan invokes the voicenavigator.ModifyGreetingConfig API asynchronously
+// api document: https://help.aliyun.com/api/voicenavigator/modifygreetingconfig.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ModifyGreetingConfigWithChan(request *ModifyGreetingConfigRequest) (<-chan *ModifyGreetingConfigResponse, <-chan error) {
+	responseChan := make(chan *ModifyGreetingConfigResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.ModifyGreetingConfig(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// ModifyGreetingConfigWithCallback invokes the voicenavigator.ModifyGreetingConfig API asynchronously
+// api document: https://help.aliyun.com/api/voicenavigator/modifygreetingconfig.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ModifyGreetingConfigWithCallback(request *ModifyGreetingConfigRequest, callback func(response *ModifyGreetingConfigResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *ModifyGreetingConfigResponse
+		var err error
+		defer close(result)
+		response, err = client.ModifyGreetingConfig(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// ModifyGreetingConfigRequest is the request struct for api ModifyGreetingConfig
+type ModifyGreetingConfigRequest struct {
+	*requests.RpcRequest
+	GreetingWords string `position:"Query" name:"GreetingWords"`
+	IntentTrigger string `position:"Query" name:"IntentTrigger"`
+	InstanceId    string `position:"Query" name:"InstanceId"`
+	SourceType    string `position:"Query" name:"SourceType"`
+}
+
+// ModifyGreetingConfigResponse is the response struct for api ModifyGreetingConfig
+type ModifyGreetingConfigResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+}
+
+// CreateModifyGreetingConfigRequest creates a request to invoke ModifyGreetingConfig API
+func CreateModifyGreetingConfigRequest() (request *ModifyGreetingConfigRequest) {
+	request = &ModifyGreetingConfigRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("VoiceNavigator", "2018-06-12", "ModifyGreetingConfig", "voicebot", "openAPI")
+	return
+}
+
+// CreateModifyGreetingConfigResponse creates a response to parse from ModifyGreetingConfig response
+func CreateModifyGreetingConfigResponse() (response *ModifyGreetingConfigResponse) {
+	response = &ModifyGreetingConfigResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 106 - 0
services/voicenavigator/modify_instance.go

@@ -0,0 +1,106 @@
+package voicenavigator
+
+//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"
+)
+
+// ModifyInstance invokes the voicenavigator.ModifyInstance API synchronously
+// api document: https://help.aliyun.com/api/voicenavigator/modifyinstance.html
+func (client *Client) ModifyInstance(request *ModifyInstanceRequest) (response *ModifyInstanceResponse, err error) {
+	response = CreateModifyInstanceResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// ModifyInstanceWithChan invokes the voicenavigator.ModifyInstance API asynchronously
+// api document: https://help.aliyun.com/api/voicenavigator/modifyinstance.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ModifyInstanceWithChan(request *ModifyInstanceRequest) (<-chan *ModifyInstanceResponse, <-chan error) {
+	responseChan := make(chan *ModifyInstanceResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.ModifyInstance(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// ModifyInstanceWithCallback invokes the voicenavigator.ModifyInstance API asynchronously
+// api document: https://help.aliyun.com/api/voicenavigator/modifyinstance.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ModifyInstanceWithCallback(request *ModifyInstanceRequest, callback func(response *ModifyInstanceResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *ModifyInstanceResponse
+		var err error
+		defer close(result)
+		response, err = client.ModifyInstance(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// ModifyInstanceRequest is the request struct for api ModifyInstance
+type ModifyInstanceRequest struct {
+	*requests.RpcRequest
+	Description       string           `position:"Query" name:"Description"`
+	Concurrency       requests.Integer `position:"Query" name:"Concurrency"`
+	InstanceId        string           `position:"Query" name:"InstanceId"`
+	ChatbotInstanceId string           `position:"Query" name:"ChatbotInstanceId"`
+}
+
+// ModifyInstanceResponse is the response struct for api ModifyInstance
+type ModifyInstanceResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+}
+
+// CreateModifyInstanceRequest creates a request to invoke ModifyInstance API
+func CreateModifyInstanceRequest() (request *ModifyInstanceRequest) {
+	request = &ModifyInstanceRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("VoiceNavigator", "2018-06-12", "ModifyInstance", "voicebot", "openAPI")
+	return
+}
+
+// CreateModifyInstanceResponse creates a response to parse from ModifyInstance response
+func CreateModifyInstanceResponse() (response *ModifyInstanceResponse) {
+	response = &ModifyInstanceResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 108 - 0
services/voicenavigator/modify_knowledge.go

@@ -0,0 +1,108 @@
+package voicenavigator
+
+//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"
+)
+
+// ModifyKnowledge invokes the voicenavigator.ModifyKnowledge API synchronously
+// api document: https://help.aliyun.com/api/voicenavigator/modifyknowledge.html
+func (client *Client) ModifyKnowledge(request *ModifyKnowledgeRequest) (response *ModifyKnowledgeResponse, err error) {
+	response = CreateModifyKnowledgeResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// ModifyKnowledgeWithChan invokes the voicenavigator.ModifyKnowledge API asynchronously
+// api document: https://help.aliyun.com/api/voicenavigator/modifyknowledge.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ModifyKnowledgeWithChan(request *ModifyKnowledgeRequest) (<-chan *ModifyKnowledgeResponse, <-chan error) {
+	responseChan := make(chan *ModifyKnowledgeResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.ModifyKnowledge(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// ModifyKnowledgeWithCallback invokes the voicenavigator.ModifyKnowledge API asynchronously
+// api document: https://help.aliyun.com/api/voicenavigator/modifyknowledge.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ModifyKnowledgeWithCallback(request *ModifyKnowledgeRequest, callback func(response *ModifyKnowledgeResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *ModifyKnowledgeResponse
+		var err error
+		defer close(result)
+		response, err = client.ModifyKnowledge(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// ModifyKnowledgeRequest is the request struct for api ModifyKnowledge
+type ModifyKnowledgeRequest struct {
+	*requests.RpcRequest
+	UserUtterance      string           `position:"Query" name:"UserUtterance"`
+	Interruptible      requests.Boolean `position:"Query" name:"Interruptible"`
+	InstanceId         string           `position:"Query" name:"InstanceId"`
+	NavigationScriptId string           `position:"Query" name:"NavigationScriptId"`
+	Answer             string           `position:"Query" name:"Answer"`
+	SimilarUtterances  *[]string        `position:"Query" name:"SimilarUtterances"  type:"Repeated"`
+}
+
+// ModifyKnowledgeResponse is the response struct for api ModifyKnowledge
+type ModifyKnowledgeResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+}
+
+// CreateModifyKnowledgeRequest creates a request to invoke ModifyKnowledge API
+func CreateModifyKnowledgeRequest() (request *ModifyKnowledgeRequest) {
+	request = &ModifyKnowledgeRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("VoiceNavigator", "2018-06-12", "ModifyKnowledge", "voicebot", "openAPI")
+	return
+}
+
+// CreateModifyKnowledgeResponse creates a response to parse from ModifyKnowledge response
+func CreateModifyKnowledgeResponse() (response *ModifyKnowledgeResponse) {
+	response = &ModifyKnowledgeResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 110 - 0
services/voicenavigator/modify_redirection.go

@@ -0,0 +1,110 @@
+package voicenavigator
+
+//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"
+)
+
+// ModifyRedirection invokes the voicenavigator.ModifyRedirection API synchronously
+// api document: https://help.aliyun.com/api/voicenavigator/modifyredirection.html
+func (client *Client) ModifyRedirection(request *ModifyRedirectionRequest) (response *ModifyRedirectionResponse, err error) {
+	response = CreateModifyRedirectionResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// ModifyRedirectionWithChan invokes the voicenavigator.ModifyRedirection API asynchronously
+// api document: https://help.aliyun.com/api/voicenavigator/modifyredirection.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ModifyRedirectionWithChan(request *ModifyRedirectionRequest) (<-chan *ModifyRedirectionResponse, <-chan error) {
+	responseChan := make(chan *ModifyRedirectionResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.ModifyRedirection(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// ModifyRedirectionWithCallback invokes the voicenavigator.ModifyRedirection API asynchronously
+// api document: https://help.aliyun.com/api/voicenavigator/modifyredirection.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ModifyRedirectionWithCallback(request *ModifyRedirectionRequest, callback func(response *ModifyRedirectionResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *ModifyRedirectionResponse
+		var err error
+		defer close(result)
+		response, err = client.ModifyRedirection(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// ModifyRedirectionRequest is the request struct for api ModifyRedirection
+type ModifyRedirectionRequest struct {
+	*requests.RpcRequest
+	RedirectionType    string           `position:"Query" name:"RedirectionType"`
+	UserUtterance      string           `position:"Query" name:"UserUtterance"`
+	Interruptible      requests.Boolean `position:"Query" name:"Interruptible"`
+	InstanceId         string           `position:"Query" name:"InstanceId"`
+	NavigationScriptId string           `position:"Query" name:"NavigationScriptId"`
+	SimilarUtterances  *[]string        `position:"Query" name:"SimilarUtterances"  type:"Repeated"`
+	RedirectionTarget  string           `position:"Query" name:"RedirectionTarget"`
+	Prompt             string           `position:"Query" name:"Prompt"`
+}
+
+// ModifyRedirectionResponse is the response struct for api ModifyRedirection
+type ModifyRedirectionResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+}
+
+// CreateModifyRedirectionRequest creates a request to invoke ModifyRedirection API
+func CreateModifyRedirectionRequest() (request *ModifyRedirectionRequest) {
+	request = &ModifyRedirectionRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("VoiceNavigator", "2018-06-12", "ModifyRedirection", "voicebot", "openAPI")
+	return
+}
+
+// CreateModifyRedirectionResponse creates a response to parse from ModifyRedirection response
+func CreateModifyRedirectionResponse() (response *ModifyRedirectionResponse) {
+	response = &ModifyRedirectionResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 104 - 0
services/voicenavigator/modify_repeating_config.go

@@ -0,0 +1,104 @@
+package voicenavigator
+
+//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"
+)
+
+// ModifyRepeatingConfig invokes the voicenavigator.ModifyRepeatingConfig API synchronously
+// api document: https://help.aliyun.com/api/voicenavigator/modifyrepeatingconfig.html
+func (client *Client) ModifyRepeatingConfig(request *ModifyRepeatingConfigRequest) (response *ModifyRepeatingConfigResponse, err error) {
+	response = CreateModifyRepeatingConfigResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// ModifyRepeatingConfigWithChan invokes the voicenavigator.ModifyRepeatingConfig API asynchronously
+// api document: https://help.aliyun.com/api/voicenavigator/modifyrepeatingconfig.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ModifyRepeatingConfigWithChan(request *ModifyRepeatingConfigRequest) (<-chan *ModifyRepeatingConfigResponse, <-chan error) {
+	responseChan := make(chan *ModifyRepeatingConfigResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.ModifyRepeatingConfig(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// ModifyRepeatingConfigWithCallback invokes the voicenavigator.ModifyRepeatingConfig API asynchronously
+// api document: https://help.aliyun.com/api/voicenavigator/modifyrepeatingconfig.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ModifyRepeatingConfigWithCallback(request *ModifyRepeatingConfigRequest, callback func(response *ModifyRepeatingConfigResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *ModifyRepeatingConfigResponse
+		var err error
+		defer close(result)
+		response, err = client.ModifyRepeatingConfig(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// ModifyRepeatingConfigRequest is the request struct for api ModifyRepeatingConfig
+type ModifyRepeatingConfigRequest struct {
+	*requests.RpcRequest
+	Utterances *[]string `position:"Query" name:"Utterances"  type:"Repeated"`
+	InstanceId string    `position:"Query" name:"InstanceId"`
+}
+
+// ModifyRepeatingConfigResponse is the response struct for api ModifyRepeatingConfig
+type ModifyRepeatingConfigResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+}
+
+// CreateModifyRepeatingConfigRequest creates a request to invoke ModifyRepeatingConfig API
+func CreateModifyRepeatingConfigRequest() (request *ModifyRepeatingConfigRequest) {
+	request = &ModifyRepeatingConfigRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("VoiceNavigator", "2018-06-12", "ModifyRepeatingConfig", "voicebot", "openAPI")
+	return
+}
+
+// CreateModifyRepeatingConfigResponse creates a response to parse from ModifyRepeatingConfig response
+func CreateModifyRepeatingConfigResponse() (response *ModifyRepeatingConfigResponse) {
+	response = &ModifyRepeatingConfigResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 111 - 0
services/voicenavigator/modify_silence_timeout_config.go

@@ -0,0 +1,111 @@
+package voicenavigator
+
+//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"
+)
+
+// ModifySilenceTimeoutConfig invokes the voicenavigator.ModifySilenceTimeoutConfig API synchronously
+// api document: https://help.aliyun.com/api/voicenavigator/modifysilencetimeoutconfig.html
+func (client *Client) ModifySilenceTimeoutConfig(request *ModifySilenceTimeoutConfigRequest) (response *ModifySilenceTimeoutConfigResponse, err error) {
+	response = CreateModifySilenceTimeoutConfigResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// ModifySilenceTimeoutConfigWithChan invokes the voicenavigator.ModifySilenceTimeoutConfig API asynchronously
+// api document: https://help.aliyun.com/api/voicenavigator/modifysilencetimeoutconfig.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ModifySilenceTimeoutConfigWithChan(request *ModifySilenceTimeoutConfigRequest) (<-chan *ModifySilenceTimeoutConfigResponse, <-chan error) {
+	responseChan := make(chan *ModifySilenceTimeoutConfigResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.ModifySilenceTimeoutConfig(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// ModifySilenceTimeoutConfigWithCallback invokes the voicenavigator.ModifySilenceTimeoutConfig API asynchronously
+// api document: https://help.aliyun.com/api/voicenavigator/modifysilencetimeoutconfig.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ModifySilenceTimeoutConfigWithCallback(request *ModifySilenceTimeoutConfigRequest, callback func(response *ModifySilenceTimeoutConfigResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *ModifySilenceTimeoutConfigResponse
+		var err error
+		defer close(result)
+		response, err = client.ModifySilenceTimeoutConfig(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// ModifySilenceTimeoutConfigRequest is the request struct for api ModifySilenceTimeoutConfig
+type ModifySilenceTimeoutConfigRequest struct {
+	*requests.RpcRequest
+	FinalAction       string           `position:"Query" name:"FinalAction"`
+	FinalPrompt       string           `position:"Query" name:"FinalPrompt"`
+	Threshold         requests.Integer `position:"Query" name:"Threshold"`
+	IntentTrigger     string           `position:"Query" name:"IntentTrigger"`
+	Timeout           requests.Integer `position:"Query" name:"Timeout"`
+	InstanceId        string           `position:"Query" name:"InstanceId"`
+	SourceType        string           `position:"Query" name:"SourceType"`
+	FinalActionParams string           `position:"Query" name:"FinalActionParams"`
+	Prompt            string           `position:"Query" name:"Prompt"`
+}
+
+// ModifySilenceTimeoutConfigResponse is the response struct for api ModifySilenceTimeoutConfig
+type ModifySilenceTimeoutConfigResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+}
+
+// CreateModifySilenceTimeoutConfigRequest creates a request to invoke ModifySilenceTimeoutConfig API
+func CreateModifySilenceTimeoutConfigRequest() (request *ModifySilenceTimeoutConfigRequest) {
+	request = &ModifySilenceTimeoutConfigRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("VoiceNavigator", "2018-06-12", "ModifySilenceTimeoutConfig", "voicebot", "openAPI")
+	return
+}
+
+// CreateModifySilenceTimeoutConfigResponse creates a response to parse from ModifySilenceTimeoutConfig response
+func CreateModifySilenceTimeoutConfigResponse() (response *ModifySilenceTimeoutConfigResponse) {
+	response = &ModifySilenceTimeoutConfigResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 106 - 0
services/voicenavigator/modify_tts_config.go

@@ -0,0 +1,106 @@
+package voicenavigator
+
+//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"
+)
+
+// ModifyTTSConfig invokes the voicenavigator.ModifyTTSConfig API synchronously
+// api document: https://help.aliyun.com/api/voicenavigator/modifyttsconfig.html
+func (client *Client) ModifyTTSConfig(request *ModifyTTSConfigRequest) (response *ModifyTTSConfigResponse, err error) {
+	response = CreateModifyTTSConfigResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// ModifyTTSConfigWithChan invokes the voicenavigator.ModifyTTSConfig API asynchronously
+// api document: https://help.aliyun.com/api/voicenavigator/modifyttsconfig.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ModifyTTSConfigWithChan(request *ModifyTTSConfigRequest) (<-chan *ModifyTTSConfigResponse, <-chan error) {
+	responseChan := make(chan *ModifyTTSConfigResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.ModifyTTSConfig(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// ModifyTTSConfigWithCallback invokes the voicenavigator.ModifyTTSConfig API asynchronously
+// api document: https://help.aliyun.com/api/voicenavigator/modifyttsconfig.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ModifyTTSConfigWithCallback(request *ModifyTTSConfigRequest, callback func(response *ModifyTTSConfigResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *ModifyTTSConfigResponse
+		var err error
+		defer close(result)
+		response, err = client.ModifyTTSConfig(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// ModifyTTSConfigRequest is the request struct for api ModifyTTSConfig
+type ModifyTTSConfigRequest struct {
+	*requests.RpcRequest
+	Voice      string `position:"Query" name:"Voice"`
+	Volume     string `position:"Query" name:"Volume"`
+	InstanceId string `position:"Query" name:"InstanceId"`
+	SpeechRate string `position:"Query" name:"SpeechRate"`
+}
+
+// ModifyTTSConfigResponse is the response struct for api ModifyTTSConfig
+type ModifyTTSConfigResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+}
+
+// CreateModifyTTSConfigRequest creates a request to invoke ModifyTTSConfig API
+func CreateModifyTTSConfigRequest() (request *ModifyTTSConfigRequest) {
+	request = &ModifyTTSConfigRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("VoiceNavigator", "2018-06-12", "ModifyTTSConfig", "voicebot", "openAPI")
+	return
+}
+
+// CreateModifyTTSConfigResponse creates a response to parse from ModifyTTSConfig response
+func CreateModifyTTSConfigResponse() (response *ModifyTTSConfigResponse) {
+	response = &ModifyTTSConfigResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 108 - 0
services/voicenavigator/modify_unrecognizing_config.go

@@ -0,0 +1,108 @@
+package voicenavigator
+
+//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"
+)
+
+// ModifyUnrecognizingConfig invokes the voicenavigator.ModifyUnrecognizingConfig API synchronously
+// api document: https://help.aliyun.com/api/voicenavigator/modifyunrecognizingconfig.html
+func (client *Client) ModifyUnrecognizingConfig(request *ModifyUnrecognizingConfigRequest) (response *ModifyUnrecognizingConfigResponse, err error) {
+	response = CreateModifyUnrecognizingConfigResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// ModifyUnrecognizingConfigWithChan invokes the voicenavigator.ModifyUnrecognizingConfig API asynchronously
+// api document: https://help.aliyun.com/api/voicenavigator/modifyunrecognizingconfig.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ModifyUnrecognizingConfigWithChan(request *ModifyUnrecognizingConfigRequest) (<-chan *ModifyUnrecognizingConfigResponse, <-chan error) {
+	responseChan := make(chan *ModifyUnrecognizingConfigResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.ModifyUnrecognizingConfig(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// ModifyUnrecognizingConfigWithCallback invokes the voicenavigator.ModifyUnrecognizingConfig API asynchronously
+// api document: https://help.aliyun.com/api/voicenavigator/modifyunrecognizingconfig.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ModifyUnrecognizingConfigWithCallback(request *ModifyUnrecognizingConfigRequest, callback func(response *ModifyUnrecognizingConfigResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *ModifyUnrecognizingConfigResponse
+		var err error
+		defer close(result)
+		response, err = client.ModifyUnrecognizingConfig(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// ModifyUnrecognizingConfigRequest is the request struct for api ModifyUnrecognizingConfig
+type ModifyUnrecognizingConfigRequest struct {
+	*requests.RpcRequest
+	FinalAction       string           `position:"Query" name:"FinalAction"`
+	FinalPrompt       string           `position:"Query" name:"FinalPrompt"`
+	Threshold         requests.Integer `position:"Query" name:"Threshold"`
+	InstanceId        string           `position:"Query" name:"InstanceId"`
+	FinalActionParams string           `position:"Query" name:"FinalActionParams"`
+	Prompt            string           `position:"Query" name:"Prompt"`
+}
+
+// ModifyUnrecognizingConfigResponse is the response struct for api ModifyUnrecognizingConfig
+type ModifyUnrecognizingConfigResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+}
+
+// CreateModifyUnrecognizingConfigRequest creates a request to invoke ModifyUnrecognizingConfig API
+func CreateModifyUnrecognizingConfigRequest() (request *ModifyUnrecognizingConfigRequest) {
+	request = &ModifyUnrecognizingConfigRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("VoiceNavigator", "2018-06-12", "ModifyUnrecognizingConfig", "voicebot", "openAPI")
+	return
+}
+
+// CreateModifyUnrecognizingConfigResponse creates a response to parse from ModifyUnrecognizingConfig response
+func CreateModifyUnrecognizingConfigResponse() (response *ModifyUnrecognizingConfigResponse) {
+	response = &ModifyUnrecognizingConfigResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 106 - 0
services/voicenavigator/move_category.go

@@ -0,0 +1,106 @@
+package voicenavigator
+
+//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"
+)
+
+// MoveCategory invokes the voicenavigator.MoveCategory API synchronously
+// api document: https://help.aliyun.com/api/voicenavigator/movecategory.html
+func (client *Client) MoveCategory(request *MoveCategoryRequest) (response *MoveCategoryResponse, err error) {
+	response = CreateMoveCategoryResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// MoveCategoryWithChan invokes the voicenavigator.MoveCategory API asynchronously
+// api document: https://help.aliyun.com/api/voicenavigator/movecategory.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) MoveCategoryWithChan(request *MoveCategoryRequest) (<-chan *MoveCategoryResponse, <-chan error) {
+	responseChan := make(chan *MoveCategoryResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.MoveCategory(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// MoveCategoryWithCallback invokes the voicenavigator.MoveCategory API asynchronously
+// api document: https://help.aliyun.com/api/voicenavigator/movecategory.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) MoveCategoryWithCallback(request *MoveCategoryRequest, callback func(response *MoveCategoryResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *MoveCategoryResponse
+		var err error
+		defer close(result)
+		response, err = client.MoveCategory(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// MoveCategoryRequest is the request struct for api MoveCategory
+type MoveCategoryRequest struct {
+	*requests.RpcRequest
+	InstanceId              string `position:"Query" name:"InstanceId"`
+	TargetPreviousSiblingId string `position:"Query" name:"TargetPreviousSiblingId"`
+	TargetParentId          string `position:"Query" name:"TargetParentId"`
+	CategoryId              string `position:"Query" name:"CategoryId"`
+}
+
+// MoveCategoryResponse is the response struct for api MoveCategory
+type MoveCategoryResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+}
+
+// CreateMoveCategoryRequest creates a request to invoke MoveCategory API
+func CreateMoveCategoryRequest() (request *MoveCategoryRequest) {
+	request = &MoveCategoryRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("VoiceNavigator", "2018-06-12", "MoveCategory", "voicebot", "openAPI")
+	return
+}
+
+// CreateMoveCategoryResponse creates a response to parse from MoveCategory response
+func CreateMoveCategoryResponse() (response *MoveCategoryResponse) {
+	response = &MoveCategoryResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 105 - 0
services/voicenavigator/move_navigation_script.go

@@ -0,0 +1,105 @@
+package voicenavigator
+
+//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"
+)
+
+// MoveNavigationScript invokes the voicenavigator.MoveNavigationScript API synchronously
+// api document: https://help.aliyun.com/api/voicenavigator/movenavigationscript.html
+func (client *Client) MoveNavigationScript(request *MoveNavigationScriptRequest) (response *MoveNavigationScriptResponse, err error) {
+	response = CreateMoveNavigationScriptResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// MoveNavigationScriptWithChan invokes the voicenavigator.MoveNavigationScript API asynchronously
+// api document: https://help.aliyun.com/api/voicenavigator/movenavigationscript.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) MoveNavigationScriptWithChan(request *MoveNavigationScriptRequest) (<-chan *MoveNavigationScriptResponse, <-chan error) {
+	responseChan := make(chan *MoveNavigationScriptResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.MoveNavigationScript(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// MoveNavigationScriptWithCallback invokes the voicenavigator.MoveNavigationScript API asynchronously
+// api document: https://help.aliyun.com/api/voicenavigator/movenavigationscript.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) MoveNavigationScriptWithCallback(request *MoveNavigationScriptRequest, callback func(response *MoveNavigationScriptResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *MoveNavigationScriptResponse
+		var err error
+		defer close(result)
+		response, err = client.MoveNavigationScript(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// MoveNavigationScriptRequest is the request struct for api MoveNavigationScript
+type MoveNavigationScriptRequest struct {
+	*requests.RpcRequest
+	InstanceId         string `position:"Query" name:"InstanceId"`
+	NavigationScriptId string `position:"Query" name:"NavigationScriptId"`
+	TargetCategoryId   string `position:"Query" name:"TargetCategoryId"`
+}
+
+// MoveNavigationScriptResponse is the response struct for api MoveNavigationScript
+type MoveNavigationScriptResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+}
+
+// CreateMoveNavigationScriptRequest creates a request to invoke MoveNavigationScript API
+func CreateMoveNavigationScriptRequest() (request *MoveNavigationScriptRequest) {
+	request = &MoveNavigationScriptRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("VoiceNavigator", "2018-06-12", "MoveNavigationScript", "voicebot", "openAPI")
+	return
+}
+
+// CreateMoveNavigationScriptResponse creates a response to parse from MoveNavigationScript response
+func CreateMoveNavigationScriptResponse() (response *MoveNavigationScriptResponse) {
+	response = &MoveNavigationScriptResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 105 - 0
services/voicenavigator/publish_instance.go

@@ -0,0 +1,105 @@
+package voicenavigator
+
+//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"
+)
+
+// PublishInstance invokes the voicenavigator.PublishInstance API synchronously
+// api document: https://help.aliyun.com/api/voicenavigator/publishinstance.html
+func (client *Client) PublishInstance(request *PublishInstanceRequest) (response *PublishInstanceResponse, err error) {
+	response = CreatePublishInstanceResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// PublishInstanceWithChan invokes the voicenavigator.PublishInstance API asynchronously
+// api document: https://help.aliyun.com/api/voicenavigator/publishinstance.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) PublishInstanceWithChan(request *PublishInstanceRequest) (<-chan *PublishInstanceResponse, <-chan error) {
+	responseChan := make(chan *PublishInstanceResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.PublishInstance(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// PublishInstanceWithCallback invokes the voicenavigator.PublishInstance API asynchronously
+// api document: https://help.aliyun.com/api/voicenavigator/publishinstance.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) PublishInstanceWithCallback(request *PublishInstanceRequest, callback func(response *PublishInstanceResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *PublishInstanceResponse
+		var err error
+		defer close(result)
+		response, err = client.PublishInstance(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// PublishInstanceRequest is the request struct for api PublishInstance
+type PublishInstanceRequest struct {
+	*requests.RpcRequest
+	InstanceId string `position:"Query" name:"InstanceId"`
+}
+
+// PublishInstanceResponse is the response struct for api PublishInstance
+type PublishInstanceResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+	Status    string `json:"Status" xml:"Status"`
+	Version   string `json:"Version" xml:"Version"`
+}
+
+// CreatePublishInstanceRequest creates a request to invoke PublishInstance API
+func CreatePublishInstanceRequest() (request *PublishInstanceRequest) {
+	request = &PublishInstanceRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("VoiceNavigator", "2018-06-12", "PublishInstance", "voicebot", "openAPI")
+	return
+}
+
+// CreatePublishInstanceResponse creates a response to parse from PublishInstance response
+func CreatePublishInstanceResponse() (response *PublishInstanceResponse) {
+	response = &PublishInstanceResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 112 - 0
services/voicenavigator/query_conversations.go

@@ -0,0 +1,112 @@
+package voicenavigator
+
+//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"
+)
+
+// QueryConversations invokes the voicenavigator.QueryConversations API synchronously
+// api document: https://help.aliyun.com/api/voicenavigator/queryconversations.html
+func (client *Client) QueryConversations(request *QueryConversationsRequest) (response *QueryConversationsResponse, err error) {
+	response = CreateQueryConversationsResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// QueryConversationsWithChan invokes the voicenavigator.QueryConversations API asynchronously
+// api document: https://help.aliyun.com/api/voicenavigator/queryconversations.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) QueryConversationsWithChan(request *QueryConversationsRequest) (<-chan *QueryConversationsResponse, <-chan error) {
+	responseChan := make(chan *QueryConversationsResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.QueryConversations(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// QueryConversationsWithCallback invokes the voicenavigator.QueryConversations API asynchronously
+// api document: https://help.aliyun.com/api/voicenavigator/queryconversations.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) QueryConversationsWithCallback(request *QueryConversationsRequest, callback func(response *QueryConversationsResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *QueryConversationsResponse
+		var err error
+		defer close(result)
+		response, err = client.QueryConversations(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// QueryConversationsRequest is the request struct for api QueryConversations
+type QueryConversationsRequest struct {
+	*requests.RpcRequest
+	BeginTimeLeftRange  requests.Integer `position:"Query" name:"BeginTimeLeftRange"`
+	PageNumber          requests.Integer `position:"Query" name:"PageNumber"`
+	CallingNumber       string           `position:"Query" name:"CallingNumber"`
+	InstanceId          string           `position:"Query" name:"InstanceId"`
+	BeginTimeRightRange requests.Integer `position:"Query" name:"BeginTimeRightRange"`
+	PageSize            requests.Integer `position:"Query" name:"PageSize"`
+}
+
+// QueryConversationsResponse is the response struct for api QueryConversations
+type QueryConversationsResponse struct {
+	*responses.BaseResponse
+	RequestId     string         `json:"RequestId" xml:"RequestId"`
+	TotalCount    int64          `json:"TotalCount" xml:"TotalCount"`
+	PageNumber    int            `json:"PageNumber" xml:"PageNumber"`
+	PageSize      int            `json:"PageSize" xml:"PageSize"`
+	Conversations []Conversation `json:"Conversations" xml:"Conversations"`
+}
+
+// CreateQueryConversationsRequest creates a request to invoke QueryConversations API
+func CreateQueryConversationsRequest() (request *QueryConversationsRequest) {
+	request = &QueryConversationsRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("VoiceNavigator", "2018-06-12", "QueryConversations", "voicebot", "openAPI")
+	return
+}
+
+// CreateQueryConversationsResponse creates a response to parse from QueryConversations response
+func CreateQueryConversationsResponse() (response *QueryConversationsResponse) {
+	response = &QueryConversationsResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 112 - 0
services/voicenavigator/query_navigation_scripts.go

@@ -0,0 +1,112 @@
+package voicenavigator
+
+//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"
+)
+
+// QueryNavigationScripts invokes the voicenavigator.QueryNavigationScripts API synchronously
+// api document: https://help.aliyun.com/api/voicenavigator/querynavigationscripts.html
+func (client *Client) QueryNavigationScripts(request *QueryNavigationScriptsRequest) (response *QueryNavigationScriptsResponse, err error) {
+	response = CreateQueryNavigationScriptsResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// QueryNavigationScriptsWithChan invokes the voicenavigator.QueryNavigationScripts API asynchronously
+// api document: https://help.aliyun.com/api/voicenavigator/querynavigationscripts.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) QueryNavigationScriptsWithChan(request *QueryNavigationScriptsRequest) (<-chan *QueryNavigationScriptsResponse, <-chan error) {
+	responseChan := make(chan *QueryNavigationScriptsResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.QueryNavigationScripts(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// QueryNavigationScriptsWithCallback invokes the voicenavigator.QueryNavigationScripts API asynchronously
+// api document: https://help.aliyun.com/api/voicenavigator/querynavigationscripts.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) QueryNavigationScriptsWithCallback(request *QueryNavigationScriptsRequest, callback func(response *QueryNavigationScriptsResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *QueryNavigationScriptsResponse
+		var err error
+		defer close(result)
+		response, err = client.QueryNavigationScripts(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// QueryNavigationScriptsRequest is the request struct for api QueryNavigationScripts
+type QueryNavigationScriptsRequest struct {
+	*requests.RpcRequest
+	Type       string           `position:"Query" name:"Type"`
+	PageNumber requests.Integer `position:"Query" name:"PageNumber"`
+	InstanceId string           `position:"Query" name:"InstanceId"`
+	PageSize   requests.Integer `position:"Query" name:"PageSize"`
+	KeyWord    string           `position:"Query" name:"KeyWord"`
+	CategoryId string           `position:"Query" name:"CategoryId"`
+}
+
+// QueryNavigationScriptsResponse is the response struct for api QueryNavigationScripts
+type QueryNavigationScriptsResponse struct {
+	*responses.BaseResponse
+	RequestId         string             `json:"RequestId" xml:"RequestId"`
+	TotalCount        int64              `json:"TotalCount" xml:"TotalCount"`
+	PageNumber        int                `json:"PageNumber" xml:"PageNumber"`
+	PageSize          int                `json:"PageSize" xml:"PageSize"`
+	NavigationScripts []NavigationScript `json:"NavigationScripts" xml:"NavigationScripts"`
+}
+
+// CreateQueryNavigationScriptsRequest creates a request to invoke QueryNavigationScripts API
+func CreateQueryNavigationScriptsRequest() (request *QueryNavigationScriptsRequest) {
+	request = &QueryNavigationScriptsRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("VoiceNavigator", "2018-06-12", "QueryNavigationScripts", "voicebot", "openAPI")
+	return
+}
+
+// CreateQueryNavigationScriptsResponse creates a response to parse from QueryNavigationScripts response
+func CreateQueryNavigationScriptsResponse() (response *QueryNavigationScriptsResponse) {
+	response = &QueryNavigationScriptsResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 108 - 0
services/voicenavigator/query_performance_indicators.go

@@ -0,0 +1,108 @@
+package voicenavigator
+
+//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"
+)
+
+// QueryPerformanceIndicators invokes the voicenavigator.QueryPerformanceIndicators API synchronously
+// api document: https://help.aliyun.com/api/voicenavigator/queryperformanceindicators.html
+func (client *Client) QueryPerformanceIndicators(request *QueryPerformanceIndicatorsRequest) (response *QueryPerformanceIndicatorsResponse, err error) {
+	response = CreateQueryPerformanceIndicatorsResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// QueryPerformanceIndicatorsWithChan invokes the voicenavigator.QueryPerformanceIndicators API asynchronously
+// api document: https://help.aliyun.com/api/voicenavigator/queryperformanceindicators.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) QueryPerformanceIndicatorsWithChan(request *QueryPerformanceIndicatorsRequest) (<-chan *QueryPerformanceIndicatorsResponse, <-chan error) {
+	responseChan := make(chan *QueryPerformanceIndicatorsResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.QueryPerformanceIndicators(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// QueryPerformanceIndicatorsWithCallback invokes the voicenavigator.QueryPerformanceIndicators API asynchronously
+// api document: https://help.aliyun.com/api/voicenavigator/queryperformanceindicators.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) QueryPerformanceIndicatorsWithCallback(request *QueryPerformanceIndicatorsRequest, callback func(response *QueryPerformanceIndicatorsResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *QueryPerformanceIndicatorsResponse
+		var err error
+		defer close(result)
+		response, err = client.QueryPerformanceIndicators(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// QueryPerformanceIndicatorsRequest is the request struct for api QueryPerformanceIndicators
+type QueryPerformanceIndicatorsRequest struct {
+	*requests.RpcRequest
+	InstanceId string `position:"Query" name:"InstanceId"`
+	DateUnit   string `position:"Query" name:"DateUnit"`
+}
+
+// QueryPerformanceIndicatorsResponse is the response struct for api QueryPerformanceIndicators
+type QueryPerformanceIndicatorsResponse struct {
+	*responses.BaseResponse
+	RequestId        string           `json:"RequestId" xml:"RequestId"`
+	ResolutionRate   ResolutionRate   `json:"ResolutionRate" xml:"ResolutionRate"`
+	ValidAnswerRate  ValidAnswerRate  `json:"ValidAnswerRate" xml:"ValidAnswerRate"`
+	DialoguePassRate DialoguePassRate `json:"DialoguePassRate" xml:"DialoguePassRate"`
+	KnowledgeHitRate KnowledgeHitRate `json:"KnowledgeHitRate" xml:"KnowledgeHitRate"`
+}
+
+// CreateQueryPerformanceIndicatorsRequest creates a request to invoke QueryPerformanceIndicators API
+func CreateQueryPerformanceIndicatorsRequest() (request *QueryPerformanceIndicatorsRequest) {
+	request = &QueryPerformanceIndicatorsRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("VoiceNavigator", "2018-06-12", "QueryPerformanceIndicators", "voicebot", "openAPI")
+	return
+}
+
+// CreateQueryPerformanceIndicatorsResponse creates a response to parse from QueryPerformanceIndicators response
+func CreateQueryPerformanceIndicatorsResponse() (response *QueryPerformanceIndicatorsResponse) {
+	response = &QueryPerformanceIndicatorsResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 106 - 0
services/voicenavigator/query_recording.go

@@ -0,0 +1,106 @@
+package voicenavigator
+
+//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"
+)
+
+// QueryRecording invokes the voicenavigator.QueryRecording API synchronously
+// api document: https://help.aliyun.com/api/voicenavigator/queryrecording.html
+func (client *Client) QueryRecording(request *QueryRecordingRequest) (response *QueryRecordingResponse, err error) {
+	response = CreateQueryRecordingResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// QueryRecordingWithChan invokes the voicenavigator.QueryRecording API asynchronously
+// api document: https://help.aliyun.com/api/voicenavigator/queryrecording.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) QueryRecordingWithChan(request *QueryRecordingRequest) (<-chan *QueryRecordingResponse, <-chan error) {
+	responseChan := make(chan *QueryRecordingResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.QueryRecording(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// QueryRecordingWithCallback invokes the voicenavigator.QueryRecording API asynchronously
+// api document: https://help.aliyun.com/api/voicenavigator/queryrecording.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) QueryRecordingWithCallback(request *QueryRecordingRequest, callback func(response *QueryRecordingResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *QueryRecordingResponse
+		var err error
+		defer close(result)
+		response, err = client.QueryRecording(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// QueryRecordingRequest is the request struct for api QueryRecording
+type QueryRecordingRequest struct {
+	*requests.RpcRequest
+	ConversationId string `position:"Query" name:"ConversationId"`
+	InstanceId     string `position:"Query" name:"InstanceId"`
+}
+
+// QueryRecordingResponse is the response struct for api QueryRecording
+type QueryRecordingResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+	FileName  string `json:"FileName" xml:"FileName"`
+	FilePath  string `json:"FilePath" xml:"FilePath"`
+}
+
+// CreateQueryRecordingRequest creates a request to invoke QueryRecording API
+func CreateQueryRecordingRequest() (request *QueryRecordingRequest) {
+	request = &QueryRecordingRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("VoiceNavigator", "2018-06-12", "QueryRecording", "voicebot", "openAPI")
+	return
+}
+
+// CreateQueryRecordingResponse creates a response to parse from QueryRecording response
+func CreateQueryRecordingResponse() (response *QueryRecordingResponse) {
+	response = &QueryRecordingResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 105 - 0
services/voicenavigator/rollback_instance.go

@@ -0,0 +1,105 @@
+package voicenavigator
+
+//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"
+)
+
+// RollbackInstance invokes the voicenavigator.RollbackInstance API synchronously
+// api document: https://help.aliyun.com/api/voicenavigator/rollbackinstance.html
+func (client *Client) RollbackInstance(request *RollbackInstanceRequest) (response *RollbackInstanceResponse, err error) {
+	response = CreateRollbackInstanceResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// RollbackInstanceWithChan invokes the voicenavigator.RollbackInstance API asynchronously
+// api document: https://help.aliyun.com/api/voicenavigator/rollbackinstance.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) RollbackInstanceWithChan(request *RollbackInstanceRequest) (<-chan *RollbackInstanceResponse, <-chan error) {
+	responseChan := make(chan *RollbackInstanceResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.RollbackInstance(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// RollbackInstanceWithCallback invokes the voicenavigator.RollbackInstance API asynchronously
+// api document: https://help.aliyun.com/api/voicenavigator/rollbackinstance.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) RollbackInstanceWithCallback(request *RollbackInstanceRequest, callback func(response *RollbackInstanceResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *RollbackInstanceResponse
+		var err error
+		defer close(result)
+		response, err = client.RollbackInstance(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// RollbackInstanceRequest is the request struct for api RollbackInstance
+type RollbackInstanceRequest struct {
+	*requests.RpcRequest
+	TargetVersion string `position:"Query" name:"TargetVersion"`
+	InstanceId    string `position:"Query" name:"InstanceId"`
+}
+
+// RollbackInstanceResponse is the response struct for api RollbackInstance
+type RollbackInstanceResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+	Status    string `json:"Status" xml:"Status"`
+}
+
+// CreateRollbackInstanceRequest creates a request to invoke RollbackInstance API
+func CreateRollbackInstanceRequest() (request *RollbackInstanceRequest) {
+	request = &RollbackInstanceRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("VoiceNavigator", "2018-06-12", "RollbackInstance", "voicebot", "openAPI")
+	return
+}
+
+// CreateRollbackInstanceResponse creates a response to parse from RollbackInstance response
+func CreateRollbackInstanceResponse() (response *RollbackInstanceResponse) {
+	response = &RollbackInstanceResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 109 - 0
services/voicenavigator/save_recording.go

@@ -0,0 +1,109 @@
+package voicenavigator
+
+//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"
+)
+
+// SaveRecording invokes the voicenavigator.SaveRecording API synchronously
+// api document: https://help.aliyun.com/api/voicenavigator/saverecording.html
+func (client *Client) SaveRecording(request *SaveRecordingRequest) (response *SaveRecordingResponse, err error) {
+	response = CreateSaveRecordingResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// SaveRecordingWithChan invokes the voicenavigator.SaveRecording API asynchronously
+// api document: https://help.aliyun.com/api/voicenavigator/saverecording.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) SaveRecordingWithChan(request *SaveRecordingRequest) (<-chan *SaveRecordingResponse, <-chan error) {
+	responseChan := make(chan *SaveRecordingResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.SaveRecording(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// SaveRecordingWithCallback invokes the voicenavigator.SaveRecording API asynchronously
+// api document: https://help.aliyun.com/api/voicenavigator/saverecording.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) SaveRecordingWithCallback(request *SaveRecordingRequest, callback func(response *SaveRecordingResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *SaveRecordingResponse
+		var err error
+		defer close(result)
+		response, err = client.SaveRecording(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// SaveRecordingRequest is the request struct for api SaveRecording
+type SaveRecordingRequest struct {
+	*requests.RpcRequest
+	ConversationId string           `position:"Query" name:"ConversationId"`
+	StartTime      requests.Integer `position:"Query" name:"StartTime"`
+	Type           string           `position:"Query" name:"Type"`
+	Duration       string           `position:"Query" name:"Duration"`
+	InstanceId     string           `position:"Query" name:"InstanceId"`
+	FileName       string           `position:"Query" name:"FileName"`
+	FilePath       string           `position:"Query" name:"FilePath"`
+}
+
+// SaveRecordingResponse is the response struct for api SaveRecording
+type SaveRecordingResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+}
+
+// CreateSaveRecordingRequest creates a request to invoke SaveRecording API
+func CreateSaveRecordingRequest() (request *SaveRecordingRequest) {
+	request = &SaveRecordingRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("VoiceNavigator", "2018-06-12", "SaveRecording", "voicebot", "openAPI")
+	return
+}
+
+// CreateSaveRecordingResponse creates a response to parse from SaveRecording response
+func CreateSaveRecordingResponse() (response *SaveRecordingResponse) {
+	response = &SaveRecordingResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 109 - 0
services/voicenavigator/silence_timeout.go

@@ -0,0 +1,109 @@
+package voicenavigator
+
+//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"
+)
+
+// SilenceTimeout invokes the voicenavigator.SilenceTimeout API synchronously
+// api document: https://help.aliyun.com/api/voicenavigator/silencetimeout.html
+func (client *Client) SilenceTimeout(request *SilenceTimeoutRequest) (response *SilenceTimeoutResponse, err error) {
+	response = CreateSilenceTimeoutResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// SilenceTimeoutWithChan invokes the voicenavigator.SilenceTimeout API asynchronously
+// api document: https://help.aliyun.com/api/voicenavigator/silencetimeout.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) SilenceTimeoutWithChan(request *SilenceTimeoutRequest) (<-chan *SilenceTimeoutResponse, <-chan error) {
+	responseChan := make(chan *SilenceTimeoutResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.SilenceTimeout(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// SilenceTimeoutWithCallback invokes the voicenavigator.SilenceTimeout API asynchronously
+// api document: https://help.aliyun.com/api/voicenavigator/silencetimeout.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) SilenceTimeoutWithCallback(request *SilenceTimeoutRequest, callback func(response *SilenceTimeoutResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *SilenceTimeoutResponse
+		var err error
+		defer close(result)
+		response, err = client.SilenceTimeout(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// SilenceTimeoutRequest is the request struct for api SilenceTimeout
+type SilenceTimeoutRequest struct {
+	*requests.RpcRequest
+	ConversationId string `position:"Query" name:"ConversationId"`
+	InitialContext string `position:"Query" name:"InitialContext"`
+	InstanceId     string `position:"Query" name:"InstanceId"`
+}
+
+// SilenceTimeoutResponse is the response struct for api SilenceTimeout
+type SilenceTimeoutResponse struct {
+	*responses.BaseResponse
+	RequestId     string `json:"RequestId" xml:"RequestId"`
+	TextResponse  string `json:"TextResponse" xml:"TextResponse"`
+	Interruptible bool   `json:"Interruptible" xml:"Interruptible"`
+	Action        string `json:"Action" xml:"Action"`
+	ActionParams  string `json:"ActionParams" xml:"ActionParams"`
+}
+
+// CreateSilenceTimeoutRequest creates a request to invoke SilenceTimeout API
+func CreateSilenceTimeoutRequest() (request *SilenceTimeoutRequest) {
+	request = &SilenceTimeoutRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("VoiceNavigator", "2018-06-12", "SilenceTimeout", "voicebot", "openAPI")
+	return
+}
+
+// CreateSilenceTimeoutResponse creates a response to parse from SilenceTimeout response
+func CreateSilenceTimeoutResponse() (response *SilenceTimeoutResponse) {
+	response = &SilenceTimeoutResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 21 - 0
services/voicenavigator/struct_applicable_operations_in_describe_instance.go

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

+ 21 - 0
services/voicenavigator/struct_applicable_operations_in_list_instances.go

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

+ 27 - 0
services/voicenavigator/struct_asking_back_config.go

@@ -0,0 +1,27 @@
+package voicenavigator
+
+//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.
+
+// AskingBackConfig is a nested struct in voicenavigator response
+type AskingBackConfig struct {
+	Enabled                      bool     `json:"Enabled" xml:"Enabled"`
+	Prompt                       string   `json:"Prompt" xml:"Prompt"`
+	EnableNegativeFeedback       bool     `json:"EnableNegativeFeedback" xml:"EnableNegativeFeedback"`
+	NegativeFeedbackPrompt       string   `json:"NegativeFeedbackPrompt" xml:"NegativeFeedbackPrompt"`
+	NegativeFeedbackAction       string   `json:"NegativeFeedbackAction" xml:"NegativeFeedbackAction"`
+	NegativeFeedbackActionParams string   `json:"NegativeFeedbackActionParams" xml:"NegativeFeedbackActionParams"`
+	NegativeFeedbackUtterances   []string `json:"NegativeFeedbackUtterances" xml:"NegativeFeedbackUtterances"`
+}

+ 21 - 0
services/voicenavigator/struct_categories_in_describe_category_tree.go

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

+ 21 - 0
services/voicenavigator/struct_categories_in_list_categories.go

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

+ 27 - 0
services/voicenavigator/struct_category.go

@@ -0,0 +1,27 @@
+package voicenavigator
+
+//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.
+
+// Category is a nested struct in voicenavigator response
+type Category struct {
+	Name              string `json:"Name" xml:"Name"`
+	PreviousSiblingId string `json:"PreviousSiblingId" xml:"PreviousSiblingId"`
+	CategoryId        string `json:"CategoryId" xml:"CategoryId"`
+	ParentId          string `json:"ParentId" xml:"ParentId"`
+	InstanceId        string `json:"InstanceId" xml:"InstanceId"`
+	Level             int64  `json:"Level" xml:"Level"`
+	NextSiblingId     string `json:"NextSiblingId" xml:"NextSiblingId"`
+}

+ 24 - 0
services/voicenavigator/struct_complaining_config.go

@@ -0,0 +1,24 @@
+package voicenavigator
+
+//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.
+
+// ComplainingConfig is a nested struct in voicenavigator response
+type ComplainingConfig struct {
+	Prompt            string   `json:"Prompt" xml:"Prompt"`
+	FinalAction       string   `json:"FinalAction" xml:"FinalAction"`
+	FinalActionParams string   `json:"FinalActionParams" xml:"FinalActionParams"`
+	Utterances        []string `json:"Utterances" xml:"Utterances"`
+}

+ 28 - 0
services/voicenavigator/struct_conversation.go

@@ -0,0 +1,28 @@
+package voicenavigator
+
+//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.
+
+// Conversation is a nested struct in voicenavigator response
+type Conversation struct {
+	CallingNumber        string `json:"CallingNumber" xml:"CallingNumber"`
+	EffectiveAnswerCount int    `json:"EffectiveAnswerCount" xml:"EffectiveAnswerCount"`
+	BeginTime            int64  `json:"BeginTime" xml:"BeginTime"`
+	SkillGroupId         string `json:"SkillGroupId" xml:"SkillGroupId"`
+	UserUtteranceCount   int    `json:"UserUtteranceCount" xml:"UserUtteranceCount"`
+	TransferredToAgent   bool   `json:"TransferredToAgent" xml:"TransferredToAgent"`
+	ConversationId       string `json:"ConversationId" xml:"ConversationId"`
+	EndTime              int64  `json:"EndTime" xml:"EndTime"`
+}

+ 27 - 0
services/voicenavigator/struct_conversation_detail.go

@@ -0,0 +1,27 @@
+package voicenavigator
+
+//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.
+
+// ConversationDetail is a nested struct in voicenavigator response
+type ConversationDetail struct {
+	ConversationId string `json:"ConversationId" xml:"ConversationId"`
+	Speaker        string `json:"Speaker" xml:"Speaker"`
+	Utterance      string `json:"Utterance" xml:"Utterance"`
+	Action         string `json:"Action" xml:"Action"`
+	ActionParams   string `json:"ActionParams" xml:"ActionParams"`
+	CreateTime     int64  `json:"CreateTime" xml:"CreateTime"`
+	SequenceId     string `json:"SequenceId" xml:"SequenceId"`
+}

+ 21 - 0
services/voicenavigator/struct_conversation_details.go

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

+ 21 - 0
services/voicenavigator/struct_conversations_in_list_conversations.go

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

+ 21 - 0
services/voicenavigator/struct_conversations_in_query_conversations.go

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

+ 22 - 0
services/voicenavigator/struct_dialogue_pass_rate.go

@@ -0,0 +1,22 @@
+package voicenavigator
+
+//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.
+
+// DialoguePassRate is a nested struct in voicenavigator response
+type DialoguePassRate struct {
+	TotalRateValue    float64            `json:"TotalRateValue" xml:"TotalRateValue"`
+	ValuePerDateUnits []ValuePerDateUnit `json:"ValuePerDateUnits" xml:"ValuePerDateUnits"`
+}

+ 23 - 0
services/voicenavigator/struct_greeting_config.go

@@ -0,0 +1,23 @@
+package voicenavigator
+
+//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.
+
+// GreetingConfig is a nested struct in voicenavigator response
+type GreetingConfig struct {
+	GreetingWords string `json:"GreetingWords" xml:"GreetingWords"`
+	SourceType    string `json:"SourceType" xml:"SourceType"`
+	IntentTrigger string `json:"IntentTrigger" xml:"IntentTrigger"`
+}

+ 29 - 0
services/voicenavigator/struct_instance.go

@@ -0,0 +1,29 @@
+package voicenavigator
+
+//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.
+
+// Instance is a nested struct in voicenavigator response
+type Instance struct {
+	InstanceId           string   `json:"InstanceId" xml:"InstanceId"`
+	Name                 string   `json:"Name" xml:"Name"`
+	Description          string   `json:"Description" xml:"Description"`
+	Status               string   `json:"Status" xml:"Status"`
+	Concurrency          int64    `json:"Concurrency" xml:"Concurrency"`
+	ModifyTime           int64    `json:"ModifyTime" xml:"ModifyTime"`
+	ModifyUserName       string   `json:"ModifyUserName" xml:"ModifyUserName"`
+	NluServiceType       string   `json:"NluServiceType" xml:"NluServiceType"`
+	ApplicableOperations []string `json:"ApplicableOperations" xml:"ApplicableOperations"`
+}

+ 21 - 0
services/voicenavigator/struct_instances.go

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

+ 22 - 0
services/voicenavigator/struct_knowledge_hit_rate.go

@@ -0,0 +1,22 @@
+package voicenavigator
+
+//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.
+
+// KnowledgeHitRate is a nested struct in voicenavigator response
+type KnowledgeHitRate struct {
+	TotalRateValue    float64            `json:"TotalRateValue" xml:"TotalRateValue"`
+	ValuePerDateUnits []ValuePerDateUnit `json:"ValuePerDateUnits" xml:"ValuePerDateUnits"`
+}

+ 21 - 0
services/voicenavigator/struct_level.go

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

+ 21 - 0
services/voicenavigator/struct_levels.go

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

+ 24 - 0
services/voicenavigator/struct_navigation_script.go

@@ -0,0 +1,24 @@
+package voicenavigator
+
+//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.
+
+// NavigationScript is a nested struct in voicenavigator response
+type NavigationScript struct {
+	ModifyTime         int64  `json:"ModifyTime" xml:"ModifyTime"`
+	Title              string `json:"Title" xml:"Title"`
+	NavigationScriptId string `json:"NavigationScriptId" xml:"NavigationScriptId"`
+	Type               string `json:"Type" xml:"Type"`
+}

+ 21 - 0
services/voicenavigator/struct_navigation_scripts_in_list_navigation_scripts.go

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

+ 21 - 0
services/voicenavigator/struct_navigation_scripts_in_query_navigation_scripts.go

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

+ 21 - 0
services/voicenavigator/struct_negative_feedback_utterances.go

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

+ 21 - 0
services/voicenavigator/struct_publish_histories.go

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

+ 25 - 0
services/voicenavigator/struct_publish_histories_item.go

@@ -0,0 +1,25 @@
+package voicenavigator
+
+//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.
+
+// PublishHistoriesItem is a nested struct in voicenavigator response
+type PublishHistoriesItem struct {
+	InstanceId           string `json:"InstanceId" xml:"InstanceId"`
+	Version              string `json:"Version" xml:"Version"`
+	PublishUserName      string `json:"PublishUserName" xml:"PublishUserName"`
+	PublishTime          int64  `json:"PublishTime" xml:"PublishTime"`
+	IsRollbackApplicable bool   `json:"IsRollbackApplicable" xml:"IsRollbackApplicable"`
+}

+ 21 - 0
services/voicenavigator/struct_repeating_config.go

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

+ 22 - 0
services/voicenavigator/struct_resolution_rate.go

@@ -0,0 +1,22 @@
+package voicenavigator
+
+//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.
+
+// ResolutionRate is a nested struct in voicenavigator response
+type ResolutionRate struct {
+	TotalRateValue    float64            `json:"TotalRateValue" xml:"TotalRateValue"`
+	ValuePerDateUnits []ValuePerDateUnit `json:"ValuePerDateUnits" xml:"ValuePerDateUnits"`
+}

+ 28 - 0
services/voicenavigator/struct_silence_timeout_config.go

@@ -0,0 +1,28 @@
+package voicenavigator
+
+//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.
+
+// SilenceTimeoutConfig is a nested struct in voicenavigator response
+type SilenceTimeoutConfig struct {
+	Prompt            string `json:"Prompt" xml:"Prompt"`
+	Timeout           int64  `json:"Timeout" xml:"Timeout"`
+	Threshold         int    `json:"Threshold" xml:"Threshold"`
+	FinalPrompt       string `json:"FinalPrompt" xml:"FinalPrompt"`
+	FinalAction       string `json:"FinalAction" xml:"FinalAction"`
+	FinalActionParams string `json:"FinalActionParams" xml:"FinalActionParams"`
+	SourceType        string `json:"SourceType" xml:"SourceType"`
+	IntentTrigger     string `json:"IntentTrigger" xml:"IntentTrigger"`
+}

+ 21 - 0
services/voicenavigator/struct_similar_utterances_in_describe_knowledge.go

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

+ 21 - 0
services/voicenavigator/struct_similar_utterances_in_describe_redirection.go

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

+ 27 - 0
services/voicenavigator/struct_statistical_data_report.go

@@ -0,0 +1,27 @@
+package voicenavigator
+
+//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.
+
+// StatisticalDataReport is a nested struct in voicenavigator response
+type StatisticalDataReport struct {
+	StatisticalDate      string `json:"StatisticalDate" xml:"StatisticalDate"`
+	ResolvedQuestionNum  int    `json:"ResolvedQuestionNum" xml:"ResolvedQuestionNum"`
+	TotalConversationNum int    `json:"TotalConversationNum" xml:"TotalConversationNum"`
+	ResolutionRate       string `json:"ResolutionRate" xml:"ResolutionRate"`
+	ValidAnswerRate      string `json:"ValidAnswerRate" xml:"ValidAnswerRate"`
+	DialoguePassRate     string `json:"DialoguePassRate" xml:"DialoguePassRate"`
+	KnowledgeHitRate     string `json:"KnowledgeHitRate" xml:"KnowledgeHitRate"`
+}

+ 21 - 0
services/voicenavigator/struct_statistical_data_reports.go

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

+ 25 - 0
services/voicenavigator/struct_unrecognizing_config.go

@@ -0,0 +1,25 @@
+package voicenavigator
+
+//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.
+
+// UnrecognizingConfig is a nested struct in voicenavigator response
+type UnrecognizingConfig struct {
+	Prompt            string `json:"Prompt" xml:"Prompt"`
+	Threshold         int    `json:"Threshold" xml:"Threshold"`
+	FinalPrompt       string `json:"FinalPrompt" xml:"FinalPrompt"`
+	FinalAction       string `json:"FinalAction" xml:"FinalAction"`
+	FinalActionParams string `json:"FinalActionParams" xml:"FinalActionParams"`
+}

+ 21 - 0
services/voicenavigator/struct_utterances_in_describe_navigation_config.go

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

+ 22 - 0
services/voicenavigator/struct_valid_answer_rate.go

@@ -0,0 +1,22 @@
+package voicenavigator
+
+//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.
+
+// ValidAnswerRate is a nested struct in voicenavigator response
+type ValidAnswerRate struct {
+	TotalRateValue    float64            `json:"TotalRateValue" xml:"TotalRateValue"`
+	ValuePerDateUnits []ValuePerDateUnit `json:"ValuePerDateUnits" xml:"ValuePerDateUnits"`
+}

Beberapa file tidak ditampilkan karena terlalu banyak file yang berubah dalam diff ini