浏览代码

CLOUDESL SDK Auto Released By shujin.lk,Version:1.45.2

Signed-off-by: yixiong.jxy <yixiong.jxy@alibaba-inc.com>
yixiong.jxy 7 年之前
父节点
当前提交
663bc9d18a
共有 31 个文件被更改,包括 2380 次插入0 次删除
  1. 3 0
      ChangeLog.txt
  2. 153 0
      services/cloudesl/batch_insert_items.go
  3. 108 0
      services/cloudesl/bind_esl_device.go
  4. 108 0
      services/cloudesl/bind_esl_device_shelf.go
  5. 81 0
      services/cloudesl/client.go
  6. 114 0
      services/cloudesl/create_store.go
  7. 107 0
      services/cloudesl/delete_esl_device.go
  8. 107 0
      services/cloudesl/delete_item.go
  9. 106 0
      services/cloudesl/delete_store.go
  10. 118 0
      services/cloudesl/describe_alarms.go
  11. 108 0
      services/cloudesl/describe_company.go
  12. 122 0
      services/cloudesl/describe_esl_devices.go
  13. 118 0
      services/cloudesl/describe_items.go
  14. 117 0
      services/cloudesl/describe_stores.go
  15. 122 0
      services/cloudesl/describe_user_operation_log.go
  16. 109 0
      services/cloudesl/describe_user_ram_policy.go
  17. 36 0
      services/cloudesl/struct_alarm_info.go
  18. 21 0
      services/cloudesl/struct_alarms.go
  19. 24 0
      services/cloudesl/struct_batch_result.go
  20. 21 0
      services/cloudesl/struct_batch_results.go
  21. 41 0
      services/cloudesl/struct_esl_device_info.go
  22. 21 0
      services/cloudesl/struct_esl_devices.go
  23. 62 0
      services/cloudesl/struct_item_info.go
  24. 21 0
      services/cloudesl/struct_items.go
  25. 31 0
      services/cloudesl/struct_operation_log_info.go
  26. 21 0
      services/cloudesl/struct_operation_logs.go
  27. 32 0
      services/cloudesl/struct_store_info.go
  28. 21 0
      services/cloudesl/struct_stores.go
  29. 108 0
      services/cloudesl/unbind_esl_device.go
  30. 107 0
      services/cloudesl/unbind_esl_device_shelf.go
  31. 112 0
      services/cloudesl/update_store.go

+ 3 - 0
ChangeLog.txt

@@ -1,3 +1,6 @@
+2018-12-17 Version: 1.45.2
+1, First Release
+
 2018-12-16 Version: 1.45.1
 2018-12-16 Version: 1.45.1
 1, Add a new api called AddMediaSequences to add media sequences of vod videos with in/out or live streams with start time/end time.
 1, Add a new api called AddMediaSequences to add media sequences of vod videos with in/out or live streams with start time/end time.
 
 

+ 153 - 0
services/cloudesl/batch_insert_items.go

@@ -0,0 +1,153 @@
+package cloudesl
+
+//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"
+)
+
+// BatchInsertItems invokes the cloudesl.BatchInsertItems API synchronously
+// api document: https://help.aliyun.com/api/cloudesl/batchinsertitems.html
+func (client *Client) BatchInsertItems(request *BatchInsertItemsRequest) (response *BatchInsertItemsResponse, err error) {
+	response = CreateBatchInsertItemsResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// BatchInsertItemsWithChan invokes the cloudesl.BatchInsertItems API asynchronously
+// api document: https://help.aliyun.com/api/cloudesl/batchinsertitems.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) BatchInsertItemsWithChan(request *BatchInsertItemsRequest) (<-chan *BatchInsertItemsResponse, <-chan error) {
+	responseChan := make(chan *BatchInsertItemsResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.BatchInsertItems(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// BatchInsertItemsWithCallback invokes the cloudesl.BatchInsertItems API asynchronously
+// api document: https://help.aliyun.com/api/cloudesl/batchinsertitems.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) BatchInsertItemsWithCallback(request *BatchInsertItemsRequest, callback func(response *BatchInsertItemsResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *BatchInsertItemsResponse
+		var err error
+		defer close(result)
+		response, err = client.BatchInsertItems(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// BatchInsertItemsRequest is the request struct for api BatchInsertItems
+type BatchInsertItemsRequest struct {
+	*requests.RpcRequest
+	ItemInfo *[]BatchInsertItemsItemInfo `position:"Body" name:"ItemInfo"  type:"Repeated"`
+	StoreId  string                      `position:"Query" name:"StoreId"`
+}
+
+// BatchInsertItemsItemInfo is a repeated param struct in BatchInsertItemsRequest
+type BatchInsertItemsItemInfo struct {
+	MemberPrice       string `name:"MemberPrice"`
+	ActionPrice       string `name:"ActionPrice"`
+	ProductionPlace   string `name:"ProductionPlace"`
+	BeSourceCode      string `name:"BeSourceCode"`
+	StoreId           string `name:"StoreId"`
+	BrandName         string `name:"BrandName"`
+	PromotionStart    string `name:"PromotionStart"`
+	SourceCode        string `name:"SourceCode"`
+	ItemId            string `name:"ItemId"`
+	ExtraAttribute    string `name:"ExtraAttribute"`
+	CompanyId         string `name:"CompanyId"`
+	PriceUnit         string `name:"PriceUnit"`
+	Rank              string `name:"Rank"`
+	ItemBarCode       string `name:"ItemBarCode"`
+	BePromotion       string `name:"BePromotion"`
+	PromotionEnd      string `name:"PromotionEnd"`
+	ItemTitle         string `name:"ItemTitle"`
+	OriginalPrice     string `name:"OriginalPrice"`
+	ItemShortTitle    string `name:"ItemShortTitle"`
+	CustomizeFeatureC string `name:"CustomizeFeatureC"`
+	ItemQrCode        string `name:"ItemQrCode"`
+	CustomizeFeatureD string `name:"CustomizeFeatureD"`
+	PromotionReason   string `name:"PromotionReason"`
+	CustomizeFeatureE string `name:"CustomizeFeatureE"`
+	CustomizeFeatureF string `name:"CustomizeFeatureF"`
+	ForestSecondId    string `name:"ForestSecondId"`
+	CustomizeFeatureG string `name:"CustomizeFeatureG"`
+	CustomizeFeatureH string `name:"CustomizeFeatureH"`
+	CustomizeFeatureI string `name:"CustomizeFeatureI"`
+	CustomizeFeatureJ string `name:"CustomizeFeatureJ"`
+	OptionGroups      string `name:"OptionGroups"`
+	ModelNumber       string `name:"ModelNumber"`
+	SaleSpec          string `name:"SaleSpec"`
+	CustomizeFeatureA string `name:"CustomizeFeatureA"`
+	CustomizeFeatureB string `name:"CustomizeFeatureB"`
+	SuggestPrice      string `name:"SuggestPrice"`
+	ForestFirstId     string `name:"ForestFirstId"`
+	CategoryName      string `name:"CategoryName"`
+	EnergyEfficiency  string `name:"EnergyEfficiency"`
+	SkuId             string `name:"SkuId"`
+	PromotionText     string `name:"PromotionText"`
+}
+
+// BatchInsertItemsResponse is the response struct for api BatchInsertItems
+type BatchInsertItemsResponse struct {
+	*responses.BaseResponse
+	RequestId    string       `json:"RequestId" xml:"RequestId"`
+	Success      bool         `json:"Success" xml:"Success"`
+	Message      string       `json:"Message" xml:"Message"`
+	ErrorCode    string       `json:"ErrorCode" xml:"ErrorCode"`
+	BatchResults BatchResults `json:"BatchResults" xml:"BatchResults"`
+}
+
+// CreateBatchInsertItemsRequest creates a request to invoke BatchInsertItems API
+func CreateBatchInsertItemsRequest() (request *BatchInsertItemsRequest) {
+	request = &BatchInsertItemsRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("cloudesl", "2018-08-01", "BatchInsertItems", "", "")
+	return
+}
+
+// CreateBatchInsertItemsResponse creates a response to parse from BatchInsertItems response
+func CreateBatchInsertItemsResponse() (response *BatchInsertItemsResponse) {
+	response = &BatchInsertItemsResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 108 - 0
services/cloudesl/bind_esl_device.go

@@ -0,0 +1,108 @@
+package cloudesl
+
+//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"
+)
+
+// BindEslDevice invokes the cloudesl.BindEslDevice API synchronously
+// api document: https://help.aliyun.com/api/cloudesl/bindesldevice.html
+func (client *Client) BindEslDevice(request *BindEslDeviceRequest) (response *BindEslDeviceResponse, err error) {
+	response = CreateBindEslDeviceResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// BindEslDeviceWithChan invokes the cloudesl.BindEslDevice API asynchronously
+// api document: https://help.aliyun.com/api/cloudesl/bindesldevice.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) BindEslDeviceWithChan(request *BindEslDeviceRequest) (<-chan *BindEslDeviceResponse, <-chan error) {
+	responseChan := make(chan *BindEslDeviceResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.BindEslDevice(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// BindEslDeviceWithCallback invokes the cloudesl.BindEslDevice API asynchronously
+// api document: https://help.aliyun.com/api/cloudesl/bindesldevice.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) BindEslDeviceWithCallback(request *BindEslDeviceRequest, callback func(response *BindEslDeviceResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *BindEslDeviceResponse
+		var err error
+		defer close(result)
+		response, err = client.BindEslDevice(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// BindEslDeviceRequest is the request struct for api BindEslDevice
+type BindEslDeviceRequest struct {
+	*requests.RpcRequest
+	EslBarCode  string `position:"Query" name:"EslBarCode"`
+	StoreId     string `position:"Query" name:"StoreId"`
+	ItemBarCode string `position:"Query" name:"ItemBarCode"`
+}
+
+// BindEslDeviceResponse is the response struct for api BindEslDevice
+type BindEslDeviceResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+	Success   bool   `json:"Success" xml:"Success"`
+	Message   string `json:"Message" xml:"Message"`
+	ErrorCode string `json:"ErrorCode" xml:"ErrorCode"`
+}
+
+// CreateBindEslDeviceRequest creates a request to invoke BindEslDevice API
+func CreateBindEslDeviceRequest() (request *BindEslDeviceRequest) {
+	request = &BindEslDeviceRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("cloudesl", "2018-08-01", "BindEslDevice", "", "")
+	return
+}
+
+// CreateBindEslDeviceResponse creates a response to parse from BindEslDevice response
+func CreateBindEslDeviceResponse() (response *BindEslDeviceResponse) {
+	response = &BindEslDeviceResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 108 - 0
services/cloudesl/bind_esl_device_shelf.go

@@ -0,0 +1,108 @@
+package cloudesl
+
+//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"
+)
+
+// BindEslDeviceShelf invokes the cloudesl.BindEslDeviceShelf API synchronously
+// api document: https://help.aliyun.com/api/cloudesl/bindesldeviceshelf.html
+func (client *Client) BindEslDeviceShelf(request *BindEslDeviceShelfRequest) (response *BindEslDeviceShelfResponse, err error) {
+	response = CreateBindEslDeviceShelfResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// BindEslDeviceShelfWithChan invokes the cloudesl.BindEslDeviceShelf API asynchronously
+// api document: https://help.aliyun.com/api/cloudesl/bindesldeviceshelf.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) BindEslDeviceShelfWithChan(request *BindEslDeviceShelfRequest) (<-chan *BindEslDeviceShelfResponse, <-chan error) {
+	responseChan := make(chan *BindEslDeviceShelfResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.BindEslDeviceShelf(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// BindEslDeviceShelfWithCallback invokes the cloudesl.BindEslDeviceShelf API asynchronously
+// api document: https://help.aliyun.com/api/cloudesl/bindesldeviceshelf.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) BindEslDeviceShelfWithCallback(request *BindEslDeviceShelfRequest, callback func(response *BindEslDeviceShelfResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *BindEslDeviceShelfResponse
+		var err error
+		defer close(result)
+		response, err = client.BindEslDeviceShelf(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// BindEslDeviceShelfRequest is the request struct for api BindEslDeviceShelf
+type BindEslDeviceShelfRequest struct {
+	*requests.RpcRequest
+	ShelfCode  string `position:"Query" name:"ShelfCode"`
+	EslBarCode string `position:"Query" name:"EslBarCode"`
+	StoreId    string `position:"Query" name:"StoreId"`
+}
+
+// BindEslDeviceShelfResponse is the response struct for api BindEslDeviceShelf
+type BindEslDeviceShelfResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+	Success   bool   `json:"Success" xml:"Success"`
+	Message   string `json:"Message" xml:"Message"`
+	ErrorCode string `json:"ErrorCode" xml:"ErrorCode"`
+}
+
+// CreateBindEslDeviceShelfRequest creates a request to invoke BindEslDeviceShelf API
+func CreateBindEslDeviceShelfRequest() (request *BindEslDeviceShelfRequest) {
+	request = &BindEslDeviceShelfRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("cloudesl", "2018-08-01", "BindEslDeviceShelf", "", "")
+	return
+}
+
+// CreateBindEslDeviceShelfResponse creates a response to parse from BindEslDeviceShelf response
+func CreateBindEslDeviceShelfResponse() (response *BindEslDeviceShelfResponse) {
+	response = &BindEslDeviceShelfResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 81 - 0
services/cloudesl/client.go

@@ -0,0 +1,81 @@
+package cloudesl
+
+//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"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/auth"
+)
+
+// Client is the sdk client struct, each func corresponds to an OpenAPI
+type Client struct {
+	sdk.Client
+}
+
+// NewClient creates a sdk client with environment variables
+func NewClient() (client *Client, err error) {
+	client = &Client{}
+	err = client.Init()
+	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)
+	return
+}
+
+// NewClientWithAccessKey is a shortcut to create sdk client with accesskey
+// usage: https://help.aliyun.com/document_detail/66217.html
+func NewClientWithAccessKey(regionId, accessKeyId, accessKeySecret string) (client *Client, err error) {
+	client = &Client{}
+	err = client.InitWithAccessKey(regionId, accessKeyId, accessKeySecret)
+	return
+}
+
+// NewClientWithStsToken is a shortcut to create sdk client with sts token
+// usage: https://help.aliyun.com/document_detail/66222.html
+func NewClientWithStsToken(regionId, stsAccessKeyId, stsAccessKeySecret, stsToken string) (client *Client, err error) {
+	client = &Client{}
+	err = client.InitWithStsToken(regionId, stsAccessKeyId, stsAccessKeySecret, stsToken)
+	return
+}
+
+// NewClientWithRamRoleArn is a shortcut to create sdk client with ram roleArn
+// usage: https://help.aliyun.com/document_detail/66222.html
+func NewClientWithRamRoleArn(regionId string, accessKeyId, accessKeySecret, roleArn, roleSessionName string) (client *Client, err error) {
+	client = &Client{}
+	err = client.InitWithRamRoleArn(regionId, accessKeyId, accessKeySecret, roleArn, roleSessionName)
+	return
+}
+
+// NewClientWithEcsRamRole is a shortcut to create sdk client with ecs ram role
+// usage: https://help.aliyun.com/document_detail/66223.html
+func NewClientWithEcsRamRole(regionId string, roleName string) (client *Client, err error) {
+	client = &Client{}
+	err = client.InitWithEcsRamRole(regionId, roleName)
+	return
+}
+
+// NewClientWithRsaKeyPair is a shortcut to create sdk client with rsa key pair
+// attention: rsa key pair auth is only Japan regions available
+func NewClientWithRsaKeyPair(regionId string, publicKeyId, privateKey string, sessionExpiration int) (client *Client, err error) {
+	client = &Client{}
+	err = client.InitWithRsaKeyPair(regionId, publicKeyId, privateKey, sessionExpiration)
+	return
+}

+ 114 - 0
services/cloudesl/create_store.go

@@ -0,0 +1,114 @@
+package cloudesl
+
+//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"
+)
+
+// CreateStore invokes the cloudesl.CreateStore API synchronously
+// api document: https://help.aliyun.com/api/cloudesl/createstore.html
+func (client *Client) CreateStore(request *CreateStoreRequest) (response *CreateStoreResponse, err error) {
+	response = CreateCreateStoreResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// CreateStoreWithChan invokes the cloudesl.CreateStore API asynchronously
+// api document: https://help.aliyun.com/api/cloudesl/createstore.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) CreateStoreWithChan(request *CreateStoreRequest) (<-chan *CreateStoreResponse, <-chan error) {
+	responseChan := make(chan *CreateStoreResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.CreateStore(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// CreateStoreWithCallback invokes the cloudesl.CreateStore API asynchronously
+// api document: https://help.aliyun.com/api/cloudesl/createstore.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) CreateStoreWithCallback(request *CreateStoreRequest, callback func(response *CreateStoreResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *CreateStoreResponse
+		var err error
+		defer close(result)
+		response, err = client.CreateStore(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// CreateStoreRequest is the request struct for api CreateStore
+type CreateStoreRequest struct {
+	*requests.RpcRequest
+	CompanyId string `position:"Query" name:"CompanyId"`
+	Comments  string `position:"Query" name:"Comments"`
+	Phone     string `position:"Query" name:"Phone"`
+	StoreName string `position:"Query" name:"StoreName"`
+	Groups    string `position:"Query" name:"Groups"`
+	OutId     string `position:"Query" name:"OutId"`
+	Brand     string `position:"Query" name:"Brand"`
+	ParentId  string `position:"Query" name:"ParentId"`
+}
+
+// CreateStoreResponse is the response struct for api CreateStore
+type CreateStoreResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+	Success   bool   `json:"Success" xml:"Success"`
+	Message   string `json:"Message" xml:"Message"`
+	ErrorCode string `json:"ErrorCode" xml:"ErrorCode"`
+	StoreId   string `json:"StoreId" xml:"StoreId"`
+}
+
+// CreateCreateStoreRequest creates a request to invoke CreateStore API
+func CreateCreateStoreRequest() (request *CreateStoreRequest) {
+	request = &CreateStoreRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("cloudesl", "2018-08-01", "CreateStore", "", "")
+	return
+}
+
+// CreateCreateStoreResponse creates a response to parse from CreateStore response
+func CreateCreateStoreResponse() (response *CreateStoreResponse) {
+	response = &CreateStoreResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 107 - 0
services/cloudesl/delete_esl_device.go

@@ -0,0 +1,107 @@
+package cloudesl
+
+//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"
+)
+
+// DeleteEslDevice invokes the cloudesl.DeleteEslDevice API synchronously
+// api document: https://help.aliyun.com/api/cloudesl/deleteesldevice.html
+func (client *Client) DeleteEslDevice(request *DeleteEslDeviceRequest) (response *DeleteEslDeviceResponse, err error) {
+	response = CreateDeleteEslDeviceResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DeleteEslDeviceWithChan invokes the cloudesl.DeleteEslDevice API asynchronously
+// api document: https://help.aliyun.com/api/cloudesl/deleteesldevice.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DeleteEslDeviceWithChan(request *DeleteEslDeviceRequest) (<-chan *DeleteEslDeviceResponse, <-chan error) {
+	responseChan := make(chan *DeleteEslDeviceResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DeleteEslDevice(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DeleteEslDeviceWithCallback invokes the cloudesl.DeleteEslDevice API asynchronously
+// api document: https://help.aliyun.com/api/cloudesl/deleteesldevice.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DeleteEslDeviceWithCallback(request *DeleteEslDeviceRequest, callback func(response *DeleteEslDeviceResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DeleteEslDeviceResponse
+		var err error
+		defer close(result)
+		response, err = client.DeleteEslDevice(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DeleteEslDeviceRequest is the request struct for api DeleteEslDevice
+type DeleteEslDeviceRequest struct {
+	*requests.RpcRequest
+	EslBarCode string `position:"Query" name:"EslBarCode"`
+	StoreId    string `position:"Query" name:"StoreId"`
+}
+
+// DeleteEslDeviceResponse is the response struct for api DeleteEslDevice
+type DeleteEslDeviceResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+	Success   bool   `json:"Success" xml:"Success"`
+	Message   string `json:"Message" xml:"Message"`
+	ErrorCode string `json:"ErrorCode" xml:"ErrorCode"`
+}
+
+// CreateDeleteEslDeviceRequest creates a request to invoke DeleteEslDevice API
+func CreateDeleteEslDeviceRequest() (request *DeleteEslDeviceRequest) {
+	request = &DeleteEslDeviceRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("cloudesl", "2018-08-01", "DeleteEslDevice", "", "")
+	return
+}
+
+// CreateDeleteEslDeviceResponse creates a response to parse from DeleteEslDevice response
+func CreateDeleteEslDeviceResponse() (response *DeleteEslDeviceResponse) {
+	response = &DeleteEslDeviceResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 107 - 0
services/cloudesl/delete_item.go

@@ -0,0 +1,107 @@
+package cloudesl
+
+//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"
+)
+
+// DeleteItem invokes the cloudesl.DeleteItem API synchronously
+// api document: https://help.aliyun.com/api/cloudesl/deleteitem.html
+func (client *Client) DeleteItem(request *DeleteItemRequest) (response *DeleteItemResponse, err error) {
+	response = CreateDeleteItemResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DeleteItemWithChan invokes the cloudesl.DeleteItem API asynchronously
+// api document: https://help.aliyun.com/api/cloudesl/deleteitem.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DeleteItemWithChan(request *DeleteItemRequest) (<-chan *DeleteItemResponse, <-chan error) {
+	responseChan := make(chan *DeleteItemResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DeleteItem(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DeleteItemWithCallback invokes the cloudesl.DeleteItem API asynchronously
+// api document: https://help.aliyun.com/api/cloudesl/deleteitem.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DeleteItemWithCallback(request *DeleteItemRequest, callback func(response *DeleteItemResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DeleteItemResponse
+		var err error
+		defer close(result)
+		response, err = client.DeleteItem(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DeleteItemRequest is the request struct for api DeleteItem
+type DeleteItemRequest struct {
+	*requests.RpcRequest
+	StoreId     string `position:"Query" name:"StoreId"`
+	ItemBarCode string `position:"Query" name:"ItemBarCode"`
+}
+
+// DeleteItemResponse is the response struct for api DeleteItem
+type DeleteItemResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+	Success   bool   `json:"Success" xml:"Success"`
+	Message   string `json:"Message" xml:"Message"`
+	ErrorCode string `json:"ErrorCode" xml:"ErrorCode"`
+}
+
+// CreateDeleteItemRequest creates a request to invoke DeleteItem API
+func CreateDeleteItemRequest() (request *DeleteItemRequest) {
+	request = &DeleteItemRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("cloudesl", "2018-08-01", "DeleteItem", "", "")
+	return
+}
+
+// CreateDeleteItemResponse creates a response to parse from DeleteItem response
+func CreateDeleteItemResponse() (response *DeleteItemResponse) {
+	response = &DeleteItemResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 106 - 0
services/cloudesl/delete_store.go

@@ -0,0 +1,106 @@
+package cloudesl
+
+//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"
+)
+
+// DeleteStore invokes the cloudesl.DeleteStore API synchronously
+// api document: https://help.aliyun.com/api/cloudesl/deletestore.html
+func (client *Client) DeleteStore(request *DeleteStoreRequest) (response *DeleteStoreResponse, err error) {
+	response = CreateDeleteStoreResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DeleteStoreWithChan invokes the cloudesl.DeleteStore API asynchronously
+// api document: https://help.aliyun.com/api/cloudesl/deletestore.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DeleteStoreWithChan(request *DeleteStoreRequest) (<-chan *DeleteStoreResponse, <-chan error) {
+	responseChan := make(chan *DeleteStoreResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DeleteStore(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DeleteStoreWithCallback invokes the cloudesl.DeleteStore API asynchronously
+// api document: https://help.aliyun.com/api/cloudesl/deletestore.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DeleteStoreWithCallback(request *DeleteStoreRequest, callback func(response *DeleteStoreResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DeleteStoreResponse
+		var err error
+		defer close(result)
+		response, err = client.DeleteStore(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DeleteStoreRequest is the request struct for api DeleteStore
+type DeleteStoreRequest struct {
+	*requests.RpcRequest
+	StoreId string `position:"Query" name:"StoreId"`
+}
+
+// DeleteStoreResponse is the response struct for api DeleteStore
+type DeleteStoreResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+	Success   bool   `json:"Success" xml:"Success"`
+	Message   string `json:"Message" xml:"Message"`
+	ErrorCode string `json:"ErrorCode" xml:"ErrorCode"`
+}
+
+// CreateDeleteStoreRequest creates a request to invoke DeleteStore API
+func CreateDeleteStoreRequest() (request *DeleteStoreRequest) {
+	request = &DeleteStoreRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("cloudesl", "2018-08-01", "DeleteStore", "", "")
+	return
+}
+
+// CreateDeleteStoreResponse creates a response to parse from DeleteStore response
+func CreateDeleteStoreResponse() (response *DeleteStoreResponse) {
+	response = &DeleteStoreResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 118 - 0
services/cloudesl/describe_alarms.go

@@ -0,0 +1,118 @@
+package cloudesl
+
+//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"
+)
+
+// DescribeAlarms invokes the cloudesl.DescribeAlarms API synchronously
+// api document: https://help.aliyun.com/api/cloudesl/describealarms.html
+func (client *Client) DescribeAlarms(request *DescribeAlarmsRequest) (response *DescribeAlarmsResponse, err error) {
+	response = CreateDescribeAlarmsResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DescribeAlarmsWithChan invokes the cloudesl.DescribeAlarms API asynchronously
+// api document: https://help.aliyun.com/api/cloudesl/describealarms.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeAlarmsWithChan(request *DescribeAlarmsRequest) (<-chan *DescribeAlarmsResponse, <-chan error) {
+	responseChan := make(chan *DescribeAlarmsResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeAlarms(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DescribeAlarmsWithCallback invokes the cloudesl.DescribeAlarms API asynchronously
+// api document: https://help.aliyun.com/api/cloudesl/describealarms.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeAlarmsWithCallback(request *DescribeAlarmsRequest, callback func(response *DescribeAlarmsResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeAlarmsResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeAlarms(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DescribeAlarmsRequest is the request struct for api DescribeAlarms
+type DescribeAlarmsRequest struct {
+	*requests.RpcRequest
+	ErrorType     string           `position:"Query" name:"ErrorType"`
+	ToAlarmTime   string           `position:"Query" name:"ToAlarmTime"`
+	AlarmType     string           `position:"Query" name:"AlarmType"`
+	FromAlarmTime string           `position:"Query" name:"FromAlarmTime"`
+	AlarmId       string           `position:"Query" name:"AlarmId"`
+	PageSize      requests.Integer `position:"Query" name:"PageSize"`
+	StoreId       string           `position:"Query" name:"StoreId"`
+	PageNumber    requests.Integer `position:"Query" name:"PageNumber"`
+	AlarmStatus   string           `position:"Query" name:"AlarmStatus"`
+}
+
+// DescribeAlarmsResponse is the response struct for api DescribeAlarms
+type DescribeAlarmsResponse struct {
+	*responses.BaseResponse
+	RequestId  string `json:"RequestId" xml:"RequestId"`
+	Success    bool   `json:"Success" xml:"Success"`
+	Message    string `json:"Message" xml:"Message"`
+	ErrorCode  string `json:"ErrorCode" xml:"ErrorCode"`
+	TotalCount int    `json:"TotalCount" xml:"TotalCount"`
+	PageNumber int    `json:"PageNumber" xml:"PageNumber"`
+	PageSize   int    `json:"PageSize" xml:"PageSize"`
+	Alarms     Alarms `json:"Alarms" xml:"Alarms"`
+}
+
+// CreateDescribeAlarmsRequest creates a request to invoke DescribeAlarms API
+func CreateDescribeAlarmsRequest() (request *DescribeAlarmsRequest) {
+	request = &DescribeAlarmsRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("cloudesl", "2018-08-01", "DescribeAlarms", "", "")
+	return
+}
+
+// CreateDescribeAlarmsResponse creates a response to parse from DescribeAlarms response
+func CreateDescribeAlarmsResponse() (response *DescribeAlarmsResponse) {
+	response = &DescribeAlarmsResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 108 - 0
services/cloudesl/describe_company.go

@@ -0,0 +1,108 @@
+package cloudesl
+
+//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"
+)
+
+// DescribeCompany invokes the cloudesl.DescribeCompany API synchronously
+// api document: https://help.aliyun.com/api/cloudesl/describecompany.html
+func (client *Client) DescribeCompany(request *DescribeCompanyRequest) (response *DescribeCompanyResponse, err error) {
+	response = CreateDescribeCompanyResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DescribeCompanyWithChan invokes the cloudesl.DescribeCompany API asynchronously
+// api document: https://help.aliyun.com/api/cloudesl/describecompany.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeCompanyWithChan(request *DescribeCompanyRequest) (<-chan *DescribeCompanyResponse, <-chan error) {
+	responseChan := make(chan *DescribeCompanyResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeCompany(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DescribeCompanyWithCallback invokes the cloudesl.DescribeCompany API asynchronously
+// api document: https://help.aliyun.com/api/cloudesl/describecompany.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeCompanyWithCallback(request *DescribeCompanyRequest, callback func(response *DescribeCompanyResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeCompanyResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeCompany(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DescribeCompanyRequest is the request struct for api DescribeCompany
+type DescribeCompanyRequest struct {
+	*requests.RpcRequest
+}
+
+// DescribeCompanyResponse is the response struct for api DescribeCompany
+type DescribeCompanyResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+	Success   bool   `json:"Success" xml:"Success"`
+	Message   string `json:"Message" xml:"Message"`
+	ErrorCode string `json:"ErrorCode" xml:"ErrorCode"`
+	CompanyId string `json:"CompanyId" xml:"CompanyId"`
+	Platform  string `json:"Platform" xml:"Platform"`
+	Status    string `json:"Status" xml:"Status"`
+}
+
+// CreateDescribeCompanyRequest creates a request to invoke DescribeCompany API
+func CreateDescribeCompanyRequest() (request *DescribeCompanyRequest) {
+	request = &DescribeCompanyRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("cloudesl", "2018-08-01", "DescribeCompany", "", "")
+	return
+}
+
+// CreateDescribeCompanyResponse creates a response to parse from DescribeCompany response
+func CreateDescribeCompanyResponse() (response *DescribeCompanyResponse) {
+	response = &DescribeCompanyResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 122 - 0
services/cloudesl/describe_esl_devices.go

@@ -0,0 +1,122 @@
+package cloudesl
+
+//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"
+)
+
+// DescribeEslDevices invokes the cloudesl.DescribeEslDevices API synchronously
+// api document: https://help.aliyun.com/api/cloudesl/describeesldevices.html
+func (client *Client) DescribeEslDevices(request *DescribeEslDevicesRequest) (response *DescribeEslDevicesResponse, err error) {
+	response = CreateDescribeEslDevicesResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DescribeEslDevicesWithChan invokes the cloudesl.DescribeEslDevices API asynchronously
+// api document: https://help.aliyun.com/api/cloudesl/describeesldevices.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeEslDevicesWithChan(request *DescribeEslDevicesRequest) (<-chan *DescribeEslDevicesResponse, <-chan error) {
+	responseChan := make(chan *DescribeEslDevicesResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeEslDevices(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DescribeEslDevicesWithCallback invokes the cloudesl.DescribeEslDevices API asynchronously
+// api document: https://help.aliyun.com/api/cloudesl/describeesldevices.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeEslDevicesWithCallback(request *DescribeEslDevicesRequest, callback func(response *DescribeEslDevicesResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeEslDevicesResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeEslDevices(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DescribeEslDevicesRequest is the request struct for api DescribeEslDevices
+type DescribeEslDevicesRequest struct {
+	*requests.RpcRequest
+	EslStatus        string           `position:"Query" name:"EslStatus"`
+	ToBatteryLevel   requests.Integer `position:"Query" name:"ToBatteryLevel"`
+	StoreId          string           `position:"Query" name:"StoreId"`
+	Type             string           `position:"Query" name:"Type"`
+	Mac              string           `position:"Query" name:"Mac"`
+	PageNumber       requests.Integer `position:"Query" name:"PageNumber"`
+	FromBatteryLevel requests.Integer `position:"Query" name:"FromBatteryLevel"`
+	ShelfCode        string           `position:"Query" name:"ShelfCode"`
+	EslBarCode       string           `position:"Query" name:"EslBarCode"`
+	Vendor           string           `position:"Query" name:"Vendor"`
+	PageSize         requests.Integer `position:"Query" name:"PageSize"`
+	BeBind           requests.Boolean `position:"Query" name:"BeBind"`
+	ItemBarCode      string           `position:"Query" name:"ItemBarCode"`
+}
+
+// DescribeEslDevicesResponse is the response struct for api DescribeEslDevices
+type DescribeEslDevicesResponse struct {
+	*responses.BaseResponse
+	RequestId  string     `json:"RequestId" xml:"RequestId"`
+	Success    bool       `json:"Success" xml:"Success"`
+	Message    string     `json:"Message" xml:"Message"`
+	ErrorCode  string     `json:"ErrorCode" xml:"ErrorCode"`
+	TotalCount int        `json:"TotalCount" xml:"TotalCount"`
+	PageNumber int        `json:"PageNumber" xml:"PageNumber"`
+	PageSize   int        `json:"PageSize" xml:"PageSize"`
+	EslDevices EslDevices `json:"EslDevices" xml:"EslDevices"`
+}
+
+// CreateDescribeEslDevicesRequest creates a request to invoke DescribeEslDevices API
+func CreateDescribeEslDevicesRequest() (request *DescribeEslDevicesRequest) {
+	request = &DescribeEslDevicesRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("cloudesl", "2018-08-01", "DescribeEslDevices", "", "")
+	return
+}
+
+// CreateDescribeEslDevicesResponse creates a response to parse from DescribeEslDevices response
+func CreateDescribeEslDevicesResponse() (response *DescribeEslDevicesResponse) {
+	response = &DescribeEslDevicesResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 118 - 0
services/cloudesl/describe_items.go

@@ -0,0 +1,118 @@
+package cloudesl
+
+//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"
+)
+
+// DescribeItems invokes the cloudesl.DescribeItems API synchronously
+// api document: https://help.aliyun.com/api/cloudesl/describeitems.html
+func (client *Client) DescribeItems(request *DescribeItemsRequest) (response *DescribeItemsResponse, err error) {
+	response = CreateDescribeItemsResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DescribeItemsWithChan invokes the cloudesl.DescribeItems API asynchronously
+// api document: https://help.aliyun.com/api/cloudesl/describeitems.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeItemsWithChan(request *DescribeItemsRequest) (<-chan *DescribeItemsResponse, <-chan error) {
+	responseChan := make(chan *DescribeItemsResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeItems(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DescribeItemsWithCallback invokes the cloudesl.DescribeItems API asynchronously
+// api document: https://help.aliyun.com/api/cloudesl/describeitems.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeItemsWithCallback(request *DescribeItemsRequest, callback func(response *DescribeItemsResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeItemsResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeItems(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DescribeItemsRequest is the request struct for api DescribeItems
+type DescribeItemsRequest struct {
+	*requests.RpcRequest
+	ItemId      requests.Integer `position:"Query" name:"ItemId"`
+	BePromotion requests.Boolean `position:"Query" name:"BePromotion"`
+	ShelfCode   string           `position:"Query" name:"ShelfCode"`
+	ItemTitle   string           `position:"Query" name:"ItemTitle"`
+	PageSize    requests.Integer `position:"Query" name:"PageSize"`
+	StoreId     string           `position:"Query" name:"StoreId"`
+	SkuId       string           `position:"Query" name:"SkuId"`
+	PageNumber  requests.Integer `position:"Query" name:"PageNumber"`
+	ItemBarCode string           `position:"Query" name:"ItemBarCode"`
+}
+
+// DescribeItemsResponse is the response struct for api DescribeItems
+type DescribeItemsResponse struct {
+	*responses.BaseResponse
+	RequestId  string `json:"RequestId" xml:"RequestId"`
+	Success    bool   `json:"Success" xml:"Success"`
+	Message    string `json:"Message" xml:"Message"`
+	ErrorCode  string `json:"ErrorCode" xml:"ErrorCode"`
+	TotalCount int    `json:"TotalCount" xml:"TotalCount"`
+	PageNumber int    `json:"PageNumber" xml:"PageNumber"`
+	PageSize   int    `json:"PageSize" xml:"PageSize"`
+	Items      Items  `json:"Items" xml:"Items"`
+}
+
+// CreateDescribeItemsRequest creates a request to invoke DescribeItems API
+func CreateDescribeItemsRequest() (request *DescribeItemsRequest) {
+	request = &DescribeItemsRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("cloudesl", "2018-08-01", "DescribeItems", "", "")
+	return
+}
+
+// CreateDescribeItemsResponse creates a response to parse from DescribeItems response
+func CreateDescribeItemsResponse() (response *DescribeItemsResponse) {
+	response = &DescribeItemsResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 117 - 0
services/cloudesl/describe_stores.go

@@ -0,0 +1,117 @@
+package cloudesl
+
+//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"
+)
+
+// DescribeStores invokes the cloudesl.DescribeStores API synchronously
+// api document: https://help.aliyun.com/api/cloudesl/describestores.html
+func (client *Client) DescribeStores(request *DescribeStoresRequest) (response *DescribeStoresResponse, err error) {
+	response = CreateDescribeStoresResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DescribeStoresWithChan invokes the cloudesl.DescribeStores API asynchronously
+// api document: https://help.aliyun.com/api/cloudesl/describestores.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeStoresWithChan(request *DescribeStoresRequest) (<-chan *DescribeStoresResponse, <-chan error) {
+	responseChan := make(chan *DescribeStoresResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeStores(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DescribeStoresWithCallback invokes the cloudesl.DescribeStores API asynchronously
+// api document: https://help.aliyun.com/api/cloudesl/describestores.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeStoresWithCallback(request *DescribeStoresRequest, callback func(response *DescribeStoresResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeStoresResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeStores(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DescribeStoresRequest is the request struct for api DescribeStores
+type DescribeStoresRequest struct {
+	*requests.RpcRequest
+	ToDate     string           `position:"Query" name:"ToDate"`
+	PageSize   requests.Integer `position:"Query" name:"PageSize"`
+	StoreName  string           `position:"Query" name:"StoreName"`
+	Groups     string           `position:"Query" name:"Groups"`
+	StoreId    string           `position:"Query" name:"StoreId"`
+	Brand      string           `position:"Query" name:"Brand"`
+	PageNumber requests.Integer `position:"Query" name:"PageNumber"`
+	FromDate   string           `position:"Query" name:"FromDate"`
+}
+
+// DescribeStoresResponse is the response struct for api DescribeStores
+type DescribeStoresResponse struct {
+	*responses.BaseResponse
+	RequestId  string `json:"RequestId" xml:"RequestId"`
+	Success    bool   `json:"Success" xml:"Success"`
+	Message    string `json:"Message" xml:"Message"`
+	ErrorCode  string `json:"ErrorCode" xml:"ErrorCode"`
+	TotalCount int    `json:"TotalCount" xml:"TotalCount"`
+	PageNumber int    `json:"PageNumber" xml:"PageNumber"`
+	PageSize   int    `json:"PageSize" xml:"PageSize"`
+	Stores     Stores `json:"Stores" xml:"Stores"`
+}
+
+// CreateDescribeStoresRequest creates a request to invoke DescribeStores API
+func CreateDescribeStoresRequest() (request *DescribeStoresRequest) {
+	request = &DescribeStoresRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("cloudesl", "2018-08-01", "DescribeStores", "", "")
+	return
+}
+
+// CreateDescribeStoresResponse creates a response to parse from DescribeStores response
+func CreateDescribeStoresResponse() (response *DescribeStoresResponse) {
+	response = &DescribeStoresResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 122 - 0
services/cloudesl/describe_user_operation_log.go

@@ -0,0 +1,122 @@
+package cloudesl
+
+//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"
+)
+
+// DescribeUserOperationLog invokes the cloudesl.DescribeUserOperationLog API synchronously
+// api document: https://help.aliyun.com/api/cloudesl/describeuseroperationlog.html
+func (client *Client) DescribeUserOperationLog(request *DescribeUserOperationLogRequest) (response *DescribeUserOperationLogResponse, err error) {
+	response = CreateDescribeUserOperationLogResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DescribeUserOperationLogWithChan invokes the cloudesl.DescribeUserOperationLog API asynchronously
+// api document: https://help.aliyun.com/api/cloudesl/describeuseroperationlog.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeUserOperationLogWithChan(request *DescribeUserOperationLogRequest) (<-chan *DescribeUserOperationLogResponse, <-chan error) {
+	responseChan := make(chan *DescribeUserOperationLogResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeUserOperationLog(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DescribeUserOperationLogWithCallback invokes the cloudesl.DescribeUserOperationLog API asynchronously
+// api document: https://help.aliyun.com/api/cloudesl/describeuseroperationlog.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeUserOperationLogWithCallback(request *DescribeUserOperationLogRequest, callback func(response *DescribeUserOperationLogResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeUserOperationLogResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeUserOperationLog(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DescribeUserOperationLogRequest is the request struct for api DescribeUserOperationLog
+type DescribeUserOperationLogRequest struct {
+	*requests.RpcRequest
+	OperateUserId requests.Integer `position:"Query" name:"OperateUserId"`
+	ItemTitle     string           `position:"Query" name:"ItemTitle"`
+	OperateStatus string           `position:"Query" name:"OperateStatus"`
+	StoreId       string           `position:"Query" name:"StoreId"`
+	Reverse       requests.Boolean `position:"Query" name:"Reverse"`
+	PageNumber    requests.Integer `position:"Query" name:"PageNumber"`
+	FromDate      string           `position:"Query" name:"FromDate"`
+	ItemId        requests.Integer `position:"Query" name:"ItemId"`
+	ToDate        string           `position:"Query" name:"ToDate"`
+	EslBarCode    string           `position:"Query" name:"EslBarCode"`
+	PageSize      requests.Integer `position:"Query" name:"PageSize"`
+	OperateType   string           `position:"Query" name:"OperateType"`
+	ItemBarCode   string           `position:"Query" name:"ItemBarCode"`
+}
+
+// DescribeUserOperationLogResponse is the response struct for api DescribeUserOperationLog
+type DescribeUserOperationLogResponse struct {
+	*responses.BaseResponse
+	RequestId     string        `json:"RequestId" xml:"RequestId"`
+	Success       bool          `json:"Success" xml:"Success"`
+	Message       string        `json:"Message" xml:"Message"`
+	ErrorCode     string        `json:"ErrorCode" xml:"ErrorCode"`
+	TotalCount    int           `json:"TotalCount" xml:"TotalCount"`
+	PageNumber    int           `json:"PageNumber" xml:"PageNumber"`
+	PageSize      int           `json:"PageSize" xml:"PageSize"`
+	OperationLogs OperationLogs `json:"OperationLogs" xml:"OperationLogs"`
+}
+
+// CreateDescribeUserOperationLogRequest creates a request to invoke DescribeUserOperationLog API
+func CreateDescribeUserOperationLogRequest() (request *DescribeUserOperationLogRequest) {
+	request = &DescribeUserOperationLogRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("cloudesl", "2018-08-01", "DescribeUserOperationLog", "", "")
+	return
+}
+
+// CreateDescribeUserOperationLogResponse creates a response to parse from DescribeUserOperationLog response
+func CreateDescribeUserOperationLogResponse() (response *DescribeUserOperationLogResponse) {
+	response = &DescribeUserOperationLogResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 109 - 0
services/cloudesl/describe_user_ram_policy.go

@@ -0,0 +1,109 @@
+package cloudesl
+
+//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"
+)
+
+// DescribeUserRamPolicy invokes the cloudesl.DescribeUserRamPolicy API synchronously
+// api document: https://help.aliyun.com/api/cloudesl/describeuserrampolicy.html
+func (client *Client) DescribeUserRamPolicy(request *DescribeUserRamPolicyRequest) (response *DescribeUserRamPolicyResponse, err error) {
+	response = CreateDescribeUserRamPolicyResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DescribeUserRamPolicyWithChan invokes the cloudesl.DescribeUserRamPolicy API asynchronously
+// api document: https://help.aliyun.com/api/cloudesl/describeuserrampolicy.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeUserRamPolicyWithChan(request *DescribeUserRamPolicyRequest) (<-chan *DescribeUserRamPolicyResponse, <-chan error) {
+	responseChan := make(chan *DescribeUserRamPolicyResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeUserRamPolicy(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DescribeUserRamPolicyWithCallback invokes the cloudesl.DescribeUserRamPolicy API asynchronously
+// api document: https://help.aliyun.com/api/cloudesl/describeuserrampolicy.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeUserRamPolicyWithCallback(request *DescribeUserRamPolicyRequest, callback func(response *DescribeUserRamPolicyResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeUserRamPolicyResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeUserRamPolicy(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DescribeUserRamPolicyRequest is the request struct for api DescribeUserRamPolicy
+type DescribeUserRamPolicyRequest struct {
+	*requests.RpcRequest
+	CompanyId string `position:"Query" name:"CompanyId"`
+	UserType  string `position:"Query" name:"UserType"`
+	StoreId   string `position:"Query" name:"StoreId"`
+}
+
+// DescribeUserRamPolicyResponse is the response struct for api DescribeUserRamPolicy
+type DescribeUserRamPolicyResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+	Success   bool   `json:"Success" xml:"Success"`
+	Message   string `json:"Message" xml:"Message"`
+	ErrorCode string `json:"ErrorCode" xml:"ErrorCode"`
+	Policy    string `json:"Policy" xml:"Policy"`
+}
+
+// CreateDescribeUserRamPolicyRequest creates a request to invoke DescribeUserRamPolicy API
+func CreateDescribeUserRamPolicyRequest() (request *DescribeUserRamPolicyRequest) {
+	request = &DescribeUserRamPolicyRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("cloudesl", "2018-08-01", "DescribeUserRamPolicy", "", "")
+	return
+}
+
+// CreateDescribeUserRamPolicyResponse creates a response to parse from DescribeUserRamPolicy response
+func CreateDescribeUserRamPolicyResponse() (response *DescribeUserRamPolicyResponse) {
+	response = &DescribeUserRamPolicyResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 36 - 0
services/cloudesl/struct_alarm_info.go

@@ -0,0 +1,36 @@
+package cloudesl
+
+//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.
+
+// AlarmInfo is a nested struct in cloudesl response
+type AlarmInfo struct {
+	AlarmId       string `json:"AlarmId" xml:"AlarmId"`
+	AlarmType     string `json:"AlarmType" xml:"AlarmType"`
+	DeviceType    string `json:"DeviceType" xml:"DeviceType"`
+	DeviceBarCode string `json:"DeviceBarCode" xml:"DeviceBarCode"`
+	DeviceMac     string `json:"DeviceMac" xml:"DeviceMac"`
+	ErrorType     string `json:"ErrorType" xml:"ErrorType"`
+	ItemBarCode   string `json:"ItemBarCode" xml:"ItemBarCode"`
+	ItemTitle     string `json:"ItemTitle" xml:"ItemTitle"`
+	CompanyId     string `json:"CompanyId" xml:"CompanyId"`
+	StoreId       string `json:"StoreId" xml:"StoreId"`
+	AlarmTime     string `json:"AlarmTime" xml:"AlarmTime"`
+	AlarmStatus   string `json:"AlarmStatus" xml:"AlarmStatus"`
+	DealUserId    int    `json:"DealUserId" xml:"DealUserId"`
+	DealTime      string `json:"DealTime" xml:"DealTime"`
+	Vendor        string `json:"Vendor" xml:"Vendor"`
+	Model         string `json:"Model" xml:"Model"`
+}

+ 21 - 0
services/cloudesl/struct_alarms.go

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

+ 24 - 0
services/cloudesl/struct_batch_result.go

@@ -0,0 +1,24 @@
+package cloudesl
+
+//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.
+
+// BatchResult is a nested struct in cloudesl response
+type BatchResult struct {
+	Index     int    `json:"Index" xml:"Index"`
+	Success   bool   `json:"Success" xml:"Success"`
+	Message   string `json:"Message" xml:"Message"`
+	ErrorCode string `json:"ErrorCode" xml:"ErrorCode"`
+}

+ 21 - 0
services/cloudesl/struct_batch_results.go

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

+ 41 - 0
services/cloudesl/struct_esl_device_info.go

@@ -0,0 +1,41 @@
+package cloudesl
+
+//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.
+
+// EslDeviceInfo is a nested struct in cloudesl response
+type EslDeviceInfo struct {
+	CompanyId           string `json:"CompanyId" xml:"CompanyId"`
+	StoreId             string `json:"StoreId" xml:"StoreId"`
+	Mac                 string `json:"Mac" xml:"Mac"`
+	EslBarCode          string `json:"EslBarCode" xml:"EslBarCode"`
+	ItemBarCode         string `json:"ItemBarCode" xml:"ItemBarCode"`
+	Vendor              string `json:"Vendor" xml:"Vendor"`
+	ConnectAp           string `json:"ConnectAp" xml:"ConnectAp"`
+	Type                string `json:"Type" xml:"Type"`
+	Model               string `json:"Model" xml:"Model"`
+	BeBind              string `json:"BeBind" xml:"BeBind"`
+	ScreenWidth         string `json:"ScreenWidth" xml:"ScreenWidth"`
+	ScreenHeight        string `json:"ScreenHeight" xml:"ScreenHeight"`
+	LastCommunicateTime string `json:"LastCommunicateTime" xml:"LastCommunicateTime"`
+	BatteryLevel        int    `json:"BatteryLevel" xml:"BatteryLevel"`
+	EslStatus           string `json:"EslStatus" xml:"EslStatus"`
+	ShelfCode           string `json:"ShelfCode" xml:"ShelfCode"`
+	PositionCode        string `json:"PositionCode" xml:"PositionCode"`
+	ItemId              int    `json:"ItemId" xml:"ItemId"`
+	ItemTitle           string `json:"ItemTitle" xml:"ItemTitle"`
+	ItemActionPrice     int    `json:"ItemActionPrice" xml:"ItemActionPrice"`
+	ItemPriceUnit       string `json:"ItemPriceUnit" xml:"ItemPriceUnit"`
+}

+ 21 - 0
services/cloudesl/struct_esl_devices.go

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

+ 62 - 0
services/cloudesl/struct_item_info.go

@@ -0,0 +1,62 @@
+package cloudesl
+
+//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.
+
+// ItemInfo is a nested struct in cloudesl response
+type ItemInfo struct {
+	CompanyId         string `json:"CompanyId" xml:"CompanyId"`
+	StoreId           string `json:"StoreId" xml:"StoreId"`
+	PriceUnit         string `json:"PriceUnit" xml:"PriceUnit"`
+	ActionPrice       int    `json:"ActionPrice" xml:"ActionPrice"`
+	ItemBarCode       string `json:"ItemBarCode" xml:"ItemBarCode"`
+	ItemTitle         string `json:"ItemTitle" xml:"ItemTitle"`
+	ItemId            int    `json:"ItemId" xml:"ItemId"`
+	ModelNumber       string `json:"ModelNumber" xml:"ModelNumber"`
+	BrandName         string `json:"BrandName" xml:"BrandName"`
+	SaleSpec          string `json:"SaleSpec" xml:"SaleSpec"`
+	CategoryName      string `json:"CategoryName" xml:"CategoryName"`
+	Rank              string `json:"Rank" xml:"Rank"`
+	EnergyEfficiency  string `json:"EnergyEfficiency" xml:"EnergyEfficiency"`
+	SkuId             string `json:"SkuId" xml:"SkuId"`
+	PromotionStart    string `json:"PromotionStart" xml:"PromotionStart"`
+	PromotionEnd      string `json:"PromotionEnd" xml:"PromotionEnd"`
+	PromotionText     string `json:"PromotionText" xml:"PromotionText"`
+	PromotionReason   string `json:"PromotionReason" xml:"PromotionReason"`
+	BePromotion       bool   `json:"BePromotion" xml:"BePromotion"`
+	ItemQrCode        string `json:"ItemQrCode" xml:"ItemQrCode"`
+	OriginalPrice     int    `json:"OriginalPrice" xml:"OriginalPrice"`
+	MemberPrice       int    `json:"MemberPrice" xml:"MemberPrice"`
+	SuggestPrice      int    `json:"SuggestPrice" xml:"SuggestPrice"`
+	ItemShortTitle    string `json:"ItemShortTitle" xml:"ItemShortTitle"`
+	OptionGroups      string `json:"OptionGroups" xml:"OptionGroups"`
+	ProductionPlace   string `json:"ProductionPlace" xml:"ProductionPlace"`
+	PositionCode      string `json:"PositionCode" xml:"PositionCode"`
+	ExtraAttribute    string `json:"ExtraAttribute" xml:"ExtraAttribute"`
+	BeSourceCode      bool   `json:"BeSourceCode" xml:"BeSourceCode"`
+	SourceCode        string `json:"SourceCode" xml:"SourceCode"`
+	ForestFirstId     string `json:"ForestFirstId" xml:"ForestFirstId"`
+	ForestSecondId    string `json:"ForestSecondId" xml:"ForestSecondId"`
+	CustomizeFeatureA string `json:"CustomizeFeatureA" xml:"CustomizeFeatureA"`
+	CustomizeFeatureB string `json:"CustomizeFeatureB" xml:"CustomizeFeatureB"`
+	CustomizeFeatureC string `json:"CustomizeFeatureC" xml:"CustomizeFeatureC"`
+	CustomizeFeatureD string `json:"CustomizeFeatureD" xml:"CustomizeFeatureD"`
+	CustomizeFeatureE string `json:"CustomizeFeatureE" xml:"CustomizeFeatureE"`
+	CustomizeFeatureF string `json:"CustomizeFeatureF" xml:"CustomizeFeatureF"`
+	CustomizeFeatureG string `json:"CustomizeFeatureG" xml:"CustomizeFeatureG"`
+	CustomizeFeatureH string `json:"CustomizeFeatureH" xml:"CustomizeFeatureH"`
+	CustomizeFeatureI string `json:"CustomizeFeatureI" xml:"CustomizeFeatureI"`
+	CustomizeFeatureJ string `json:"CustomizeFeatureJ" xml:"CustomizeFeatureJ"`
+}

+ 21 - 0
services/cloudesl/struct_items.go

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

+ 31 - 0
services/cloudesl/struct_operation_log_info.go

@@ -0,0 +1,31 @@
+package cloudesl
+
+//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.
+
+// OperationLogInfo is a nested struct in cloudesl response
+type OperationLogInfo struct {
+	OperateType     string `json:"OperateType" xml:"OperateType"`
+	OperateStatus   string `json:"OperateStatus" xml:"OperateStatus"`
+	OperateUserId   int    `json:"OperateUserId" xml:"OperateUserId"`
+	OperateTime     string `json:"OperateTime" xml:"OperateTime"`
+	StoreId         string `json:"StoreId" xml:"StoreId"`
+	ItemTitle       string `json:"ItemTitle" xml:"ItemTitle"`
+	ItemId          string `json:"ItemId" xml:"ItemId"`
+	ItemActionPrice int    `json:"ItemActionPrice" xml:"ItemActionPrice"`
+	ItemBarCode     string `json:"ItemBarCode" xml:"ItemBarCode"`
+	EslBarCode      string `json:"EslBarCode" xml:"EslBarCode"`
+	ShelfCode       string `json:"ShelfCode" xml:"ShelfCode"`
+}

+ 21 - 0
services/cloudesl/struct_operation_logs.go

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

+ 32 - 0
services/cloudesl/struct_store_info.go

@@ -0,0 +1,32 @@
+package cloudesl
+
+//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.
+
+// StoreInfo is a nested struct in cloudesl response
+type StoreInfo struct {
+	CompanyId   string `json:"CompanyId" xml:"CompanyId"`
+	StoreId     string `json:"StoreId" xml:"StoreId"`
+	StoreName   string `json:"StoreName" xml:"StoreName"`
+	Brand       string `json:"Brand" xml:"Brand"`
+	OutId       string `json:"OutId" xml:"OutId"`
+	Phone       string `json:"Phone" xml:"Phone"`
+	Level       string `json:"Level" xml:"Level"`
+	Groups      string `json:"Groups" xml:"Groups"`
+	Comments    string `json:"Comments" xml:"Comments"`
+	ParentId    string `json:"ParentId" xml:"ParentId"`
+	GmtCreate   string `json:"GmtCreate" xml:"GmtCreate"`
+	GmtModified string `json:"GmtModified" xml:"GmtModified"`
+}

+ 21 - 0
services/cloudesl/struct_stores.go

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

+ 108 - 0
services/cloudesl/unbind_esl_device.go

@@ -0,0 +1,108 @@
+package cloudesl
+
+//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"
+)
+
+// UnbindEslDevice invokes the cloudesl.UnbindEslDevice API synchronously
+// api document: https://help.aliyun.com/api/cloudesl/unbindesldevice.html
+func (client *Client) UnbindEslDevice(request *UnbindEslDeviceRequest) (response *UnbindEslDeviceResponse, err error) {
+	response = CreateUnbindEslDeviceResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// UnbindEslDeviceWithChan invokes the cloudesl.UnbindEslDevice API asynchronously
+// api document: https://help.aliyun.com/api/cloudesl/unbindesldevice.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) UnbindEslDeviceWithChan(request *UnbindEslDeviceRequest) (<-chan *UnbindEslDeviceResponse, <-chan error) {
+	responseChan := make(chan *UnbindEslDeviceResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.UnbindEslDevice(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// UnbindEslDeviceWithCallback invokes the cloudesl.UnbindEslDevice API asynchronously
+// api document: https://help.aliyun.com/api/cloudesl/unbindesldevice.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) UnbindEslDeviceWithCallback(request *UnbindEslDeviceRequest, callback func(response *UnbindEslDeviceResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *UnbindEslDeviceResponse
+		var err error
+		defer close(result)
+		response, err = client.UnbindEslDevice(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// UnbindEslDeviceRequest is the request struct for api UnbindEslDevice
+type UnbindEslDeviceRequest struct {
+	*requests.RpcRequest
+	EslBarCode  string `position:"Query" name:"EslBarCode"`
+	StoreId     string `position:"Query" name:"StoreId"`
+	ItemBarCode string `position:"Query" name:"ItemBarCode"`
+}
+
+// UnbindEslDeviceResponse is the response struct for api UnbindEslDevice
+type UnbindEslDeviceResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+	Success   bool   `json:"Success" xml:"Success"`
+	Message   string `json:"Message" xml:"Message"`
+	ErrorCode string `json:"ErrorCode" xml:"ErrorCode"`
+}
+
+// CreateUnbindEslDeviceRequest creates a request to invoke UnbindEslDevice API
+func CreateUnbindEslDeviceRequest() (request *UnbindEslDeviceRequest) {
+	request = &UnbindEslDeviceRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("cloudesl", "2018-08-01", "UnbindEslDevice", "", "")
+	return
+}
+
+// CreateUnbindEslDeviceResponse creates a response to parse from UnbindEslDevice response
+func CreateUnbindEslDeviceResponse() (response *UnbindEslDeviceResponse) {
+	response = &UnbindEslDeviceResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 107 - 0
services/cloudesl/unbind_esl_device_shelf.go

@@ -0,0 +1,107 @@
+package cloudesl
+
+//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"
+)
+
+// UnbindEslDeviceShelf invokes the cloudesl.UnbindEslDeviceShelf API synchronously
+// api document: https://help.aliyun.com/api/cloudesl/unbindesldeviceshelf.html
+func (client *Client) UnbindEslDeviceShelf(request *UnbindEslDeviceShelfRequest) (response *UnbindEslDeviceShelfResponse, err error) {
+	response = CreateUnbindEslDeviceShelfResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// UnbindEslDeviceShelfWithChan invokes the cloudesl.UnbindEslDeviceShelf API asynchronously
+// api document: https://help.aliyun.com/api/cloudesl/unbindesldeviceshelf.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) UnbindEslDeviceShelfWithChan(request *UnbindEslDeviceShelfRequest) (<-chan *UnbindEslDeviceShelfResponse, <-chan error) {
+	responseChan := make(chan *UnbindEslDeviceShelfResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.UnbindEslDeviceShelf(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// UnbindEslDeviceShelfWithCallback invokes the cloudesl.UnbindEslDeviceShelf API asynchronously
+// api document: https://help.aliyun.com/api/cloudesl/unbindesldeviceshelf.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) UnbindEslDeviceShelfWithCallback(request *UnbindEslDeviceShelfRequest, callback func(response *UnbindEslDeviceShelfResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *UnbindEslDeviceShelfResponse
+		var err error
+		defer close(result)
+		response, err = client.UnbindEslDeviceShelf(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// UnbindEslDeviceShelfRequest is the request struct for api UnbindEslDeviceShelf
+type UnbindEslDeviceShelfRequest struct {
+	*requests.RpcRequest
+	EslBarCode string `position:"Query" name:"EslBarCode"`
+	StoreId    string `position:"Query" name:"StoreId"`
+}
+
+// UnbindEslDeviceShelfResponse is the response struct for api UnbindEslDeviceShelf
+type UnbindEslDeviceShelfResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+	Success   bool   `json:"Success" xml:"Success"`
+	Message   string `json:"Message" xml:"Message"`
+	ErrorCode string `json:"ErrorCode" xml:"ErrorCode"`
+}
+
+// CreateUnbindEslDeviceShelfRequest creates a request to invoke UnbindEslDeviceShelf API
+func CreateUnbindEslDeviceShelfRequest() (request *UnbindEslDeviceShelfRequest) {
+	request = &UnbindEslDeviceShelfRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("cloudesl", "2018-08-01", "UnbindEslDeviceShelf", "", "")
+	return
+}
+
+// CreateUnbindEslDeviceShelfResponse creates a response to parse from UnbindEslDeviceShelf response
+func CreateUnbindEslDeviceShelfResponse() (response *UnbindEslDeviceShelfResponse) {
+	response = &UnbindEslDeviceShelfResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 112 - 0
services/cloudesl/update_store.go

@@ -0,0 +1,112 @@
+package cloudesl
+
+//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"
+)
+
+// UpdateStore invokes the cloudesl.UpdateStore API synchronously
+// api document: https://help.aliyun.com/api/cloudesl/updatestore.html
+func (client *Client) UpdateStore(request *UpdateStoreRequest) (response *UpdateStoreResponse, err error) {
+	response = CreateUpdateStoreResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// UpdateStoreWithChan invokes the cloudesl.UpdateStore API asynchronously
+// api document: https://help.aliyun.com/api/cloudesl/updatestore.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) UpdateStoreWithChan(request *UpdateStoreRequest) (<-chan *UpdateStoreResponse, <-chan error) {
+	responseChan := make(chan *UpdateStoreResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.UpdateStore(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// UpdateStoreWithCallback invokes the cloudesl.UpdateStore API asynchronously
+// api document: https://help.aliyun.com/api/cloudesl/updatestore.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) UpdateStoreWithCallback(request *UpdateStoreRequest, callback func(response *UpdateStoreResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *UpdateStoreResponse
+		var err error
+		defer close(result)
+		response, err = client.UpdateStore(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// UpdateStoreRequest is the request struct for api UpdateStore
+type UpdateStoreRequest struct {
+	*requests.RpcRequest
+	Comments  string `position:"Query" name:"Comments"`
+	Phone     string `position:"Query" name:"Phone"`
+	StoreName string `position:"Query" name:"StoreName"`
+	Groups    string `position:"Query" name:"Groups"`
+	OutId     string `position:"Query" name:"OutId"`
+	StoreId   string `position:"Query" name:"StoreId"`
+	Brand     string `position:"Query" name:"Brand"`
+}
+
+// UpdateStoreResponse is the response struct for api UpdateStore
+type UpdateStoreResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+	Success   bool   `json:"Success" xml:"Success"`
+	Message   string `json:"Message" xml:"Message"`
+	ErrorCode string `json:"ErrorCode" xml:"ErrorCode"`
+}
+
+// CreateUpdateStoreRequest creates a request to invoke UpdateStore API
+func CreateUpdateStoreRequest() (request *UpdateStoreRequest) {
+	request = &UpdateStoreRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("cloudesl", "2018-08-01", "UpdateStore", "", "")
+	return
+}
+
+// CreateUpdateStoreResponse creates a response to parse from UpdateStore response
+func CreateUpdateStoreResponse() (response *UpdateStoreResponse) {
+	response = &UpdateStoreResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}