diff --git a/aliyun-java-sdk-mopen/ChangeLog.txt b/aliyun-java-sdk-mopen/ChangeLog.txt
new file mode 100644
index 0000000000..3fe55dbbb7
--- /dev/null
+++ b/aliyun-java-sdk-mopen/ChangeLog.txt
@@ -0,0 +1,3 @@
+2018-08-01 Version: 1.1.0
+1, Add api: MoPenQueryCanvas, MoPenDoRecognize, MoPenSendMqttMessage, MoPenFindGroup
+
diff --git a/aliyun-java-sdk-mopen/pom.xml b/aliyun-java-sdk-mopen/pom.xml
new file mode 100644
index 0000000000..5acba1ef35
--- /dev/null
+++ b/aliyun-java-sdk-mopen/pom.xml
@@ -0,0 +1,119 @@
+
+ 4.0.0
+ com.aliyun
+ aliyun-java-sdk-mopen
+ jar
+ 1.1.0
+ aliyun-java-sdk-mopen
+ http://www.aliyun.com
+ Aliyun Open API SDK for Java
+
+Copyright (C) Alibaba Cloud Computing
+All rights reserved.
+
+版权所有 (C)阿里云计算有限公司
+
+http://www.aliyun.com
+
+
+
+ sonatype-nexus-snapshots
+ https://oss.sonatype.org/content/repositories/snapshots
+
+
+ sonatype-nexus-staging
+ https://oss.sonatype.org/service/local/staging/deploy/maven2/
+
+
+
+
+
+ com.aliyun
+ aliyun-java-sdk-core
+ true
+ 3.7.1
+
+
+
+
+
+
+
+
+
+
+ scm:git:git://github.com/aliyun/aliyun-openapi-java-sdk.git
+ scm:git:git@github.com:aliyun/aliyun-openapi-java-sdk.git
+ https://github.com/aliyun/aliyun-openapi-java-sdk
+
+
+
+ aliyunproducts
+ Aliyun SDK
+ aliyunsdk@aliyun.com
+
+
+
+
+
+ maven-compiler-plugin
+ 2.3.2
+
+
+ 1.6
+ UTF-8
+
+
+
+ org.apache.maven.plugins
+ maven-jar-plugin
+ 2.3.2
+
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-surefire-plugin
+ 2.10
+
+ -Dfile.encoding=UTF-8
+
+
+
+ org.apache.maven.plugins
+ maven-javadoc-plugin
+ 2.8
+
+ UTF-8
+
+
+
+ org.apache.maven.plugins
+ maven-gpg-plugin
+ 1.5
+
+
+ sign-artifacts
+ verify
+
+ sign
+
+
+
+
+
+ org.sonatype.plugins
+ nexus-staging-maven-plugin
+ 1.6.3
+ true
+
+ sonatype-nexus-staging
+ https://oss.sonatype.org/
+ true
+
+
+
+
+
diff --git a/aliyun-java-sdk-mopen/src/main/java/com/aliyuncs/mopen/model/v20180211/MoPenAddGroupMemberRequest.java b/aliyun-java-sdk-mopen/src/main/java/com/aliyuncs/mopen/model/v20180211/MoPenAddGroupMemberRequest.java
new file mode 100644
index 0000000000..c192225e96
--- /dev/null
+++ b/aliyun-java-sdk-mopen/src/main/java/com/aliyuncs/mopen/model/v20180211/MoPenAddGroupMemberRequest.java
@@ -0,0 +1,64 @@
+/*
+ * 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.
+ */
+
+package com.aliyuncs.mopen.model.v20180211;
+
+import com.aliyuncs.RpcAcsRequest;
+import com.aliyuncs.http.ProtocolType;
+import com.aliyuncs.http.MethodType;
+
+/**
+ * @author auto create
+ * @version
+ */
+public class MoPenAddGroupMemberRequest extends RpcAcsRequest {
+
+ public MoPenAddGroupMemberRequest() {
+ super("MoPen", "2018-02-11", "MoPenAddGroupMember");
+ setProtocol(ProtocolType.HTTPS);
+ setMethod(MethodType.POST);
+ }
+
+ private String groupId;
+
+ private String deviceName;
+
+ public String getGroupId() {
+ return this.groupId;
+ }
+
+ public void setGroupId(String groupId) {
+ this.groupId = groupId;
+ if(groupId != null){
+ putBodyParameter("GroupId", groupId);
+ }
+ }
+
+ public String getDeviceName() {
+ return this.deviceName;
+ }
+
+ public void setDeviceName(String deviceName) {
+ this.deviceName = deviceName;
+ if(deviceName != null){
+ putBodyParameter("DeviceName", deviceName);
+ }
+ }
+
+ @Override
+ public Class getResponseClass() {
+ return MoPenAddGroupMemberResponse.class;
+ }
+
+}
diff --git a/aliyun-java-sdk-mopen/src/main/java/com/aliyuncs/mopen/model/v20180211/MoPenAddGroupMemberResponse.java b/aliyun-java-sdk-mopen/src/main/java/com/aliyuncs/mopen/model/v20180211/MoPenAddGroupMemberResponse.java
new file mode 100644
index 0000000000..c1cccc2bcb
--- /dev/null
+++ b/aliyun-java-sdk-mopen/src/main/java/com/aliyuncs/mopen/model/v20180211/MoPenAddGroupMemberResponse.java
@@ -0,0 +1,76 @@
+/*
+ * 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.
+ */
+
+package com.aliyuncs.mopen.model.v20180211;
+
+import com.aliyuncs.AcsResponse;
+import com.aliyuncs.mopen.transform.v20180211.MoPenAddGroupMemberResponseUnmarshaller;
+import com.aliyuncs.transform.UnmarshallerContext;
+
+/**
+ * @author auto create
+ * @version
+ */
+public class MoPenAddGroupMemberResponse extends AcsResponse {
+
+ private Boolean success;
+
+ private String code;
+
+ private String description;
+
+ private String message;
+
+ public Boolean getSuccess() {
+ return this.success;
+ }
+
+ public void setSuccess(Boolean success) {
+ this.success = success;
+ }
+
+ public String getCode() {
+ return this.code;
+ }
+
+ public void setCode(String code) {
+ this.code = code;
+ }
+
+ public String getDescription() {
+ return this.description;
+ }
+
+ public void setDescription(String description) {
+ this.description = description;
+ }
+
+ public String getMessage() {
+ return this.message;
+ }
+
+ public void setMessage(String message) {
+ this.message = message;
+ }
+
+ @Override
+ public MoPenAddGroupMemberResponse getInstance(UnmarshallerContext context) {
+ return MoPenAddGroupMemberResponseUnmarshaller.unmarshall(this, context);
+ }
+
+ @Override
+ public boolean checkShowJsonItemName() {
+ return false;
+ }
+}
diff --git a/aliyun-java-sdk-mopen/src/main/java/com/aliyuncs/mopen/model/v20180211/MoPenBindIsvRequest.java b/aliyun-java-sdk-mopen/src/main/java/com/aliyuncs/mopen/model/v20180211/MoPenBindIsvRequest.java
new file mode 100644
index 0000000000..5efb2ee7d4
--- /dev/null
+++ b/aliyun-java-sdk-mopen/src/main/java/com/aliyuncs/mopen/model/v20180211/MoPenBindIsvRequest.java
@@ -0,0 +1,64 @@
+/*
+ * 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.
+ */
+
+package com.aliyuncs.mopen.model.v20180211;
+
+import com.aliyuncs.RpcAcsRequest;
+import com.aliyuncs.http.ProtocolType;
+import com.aliyuncs.http.MethodType;
+
+/**
+ * @author auto create
+ * @version
+ */
+public class MoPenBindIsvRequest extends RpcAcsRequest {
+
+ public MoPenBindIsvRequest() {
+ super("MoPen", "2018-02-11", "MoPenBindIsv");
+ setProtocol(ProtocolType.HTTPS);
+ setMethod(MethodType.POST);
+ }
+
+ private String orderKey;
+
+ private String deviceName;
+
+ public String getOrderKey() {
+ return this.orderKey;
+ }
+
+ public void setOrderKey(String orderKey) {
+ this.orderKey = orderKey;
+ if(orderKey != null){
+ putBodyParameter("OrderKey", orderKey);
+ }
+ }
+
+ public String getDeviceName() {
+ return this.deviceName;
+ }
+
+ public void setDeviceName(String deviceName) {
+ this.deviceName = deviceName;
+ if(deviceName != null){
+ putBodyParameter("DeviceName", deviceName);
+ }
+ }
+
+ @Override
+ public Class getResponseClass() {
+ return MoPenBindIsvResponse.class;
+ }
+
+}
diff --git a/aliyun-java-sdk-mopen/src/main/java/com/aliyuncs/mopen/model/v20180211/MoPenBindIsvResponse.java b/aliyun-java-sdk-mopen/src/main/java/com/aliyuncs/mopen/model/v20180211/MoPenBindIsvResponse.java
new file mode 100644
index 0000000000..4c2d518609
--- /dev/null
+++ b/aliyun-java-sdk-mopen/src/main/java/com/aliyuncs/mopen/model/v20180211/MoPenBindIsvResponse.java
@@ -0,0 +1,76 @@
+/*
+ * 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.
+ */
+
+package com.aliyuncs.mopen.model.v20180211;
+
+import com.aliyuncs.AcsResponse;
+import com.aliyuncs.mopen.transform.v20180211.MoPenBindIsvResponseUnmarshaller;
+import com.aliyuncs.transform.UnmarshallerContext;
+
+/**
+ * @author auto create
+ * @version
+ */
+public class MoPenBindIsvResponse extends AcsResponse {
+
+ private Boolean code;
+
+ private String message;
+
+ private Boolean success;
+
+ private String description;
+
+ public Boolean getCode() {
+ return this.code;
+ }
+
+ public void setCode(Boolean code) {
+ this.code = code;
+ }
+
+ public String getMessage() {
+ return this.message;
+ }
+
+ public void setMessage(String message) {
+ this.message = message;
+ }
+
+ public Boolean getSuccess() {
+ return this.success;
+ }
+
+ public void setSuccess(Boolean success) {
+ this.success = success;
+ }
+
+ public String getDescription() {
+ return this.description;
+ }
+
+ public void setDescription(String description) {
+ this.description = description;
+ }
+
+ @Override
+ public MoPenBindIsvResponse getInstance(UnmarshallerContext context) {
+ return MoPenBindIsvResponseUnmarshaller.unmarshall(this, context);
+ }
+
+ @Override
+ public boolean checkShowJsonItemName() {
+ return false;
+ }
+}
diff --git a/aliyun-java-sdk-mopen/src/main/java/com/aliyuncs/mopen/model/v20180211/MoPenCreateDeviceRequest.java b/aliyun-java-sdk-mopen/src/main/java/com/aliyuncs/mopen/model/v20180211/MoPenCreateDeviceRequest.java
new file mode 100644
index 0000000000..4ed7e13ffb
--- /dev/null
+++ b/aliyun-java-sdk-mopen/src/main/java/com/aliyuncs/mopen/model/v20180211/MoPenCreateDeviceRequest.java
@@ -0,0 +1,64 @@
+/*
+ * 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.
+ */
+
+package com.aliyuncs.mopen.model.v20180211;
+
+import com.aliyuncs.RpcAcsRequest;
+import com.aliyuncs.http.ProtocolType;
+import com.aliyuncs.http.MethodType;
+
+/**
+ * @author auto create
+ * @version
+ */
+public class MoPenCreateDeviceRequest extends RpcAcsRequest {
+
+ public MoPenCreateDeviceRequest() {
+ super("MoPen", "2018-02-11", "MoPenCreateDevice");
+ setProtocol(ProtocolType.HTTPS);
+ setMethod(MethodType.POST);
+ }
+
+ private String deviceName;
+
+ private Integer deviceType;
+
+ public String getDeviceName() {
+ return this.deviceName;
+ }
+
+ public void setDeviceName(String deviceName) {
+ this.deviceName = deviceName;
+ if(deviceName != null){
+ putBodyParameter("DeviceName", deviceName);
+ }
+ }
+
+ public Integer getDeviceType() {
+ return this.deviceType;
+ }
+
+ public void setDeviceType(Integer deviceType) {
+ this.deviceType = deviceType;
+ if(deviceType != null){
+ putBodyParameter("DeviceType", deviceType.toString());
+ }
+ }
+
+ @Override
+ public Class getResponseClass() {
+ return MoPenCreateDeviceResponse.class;
+ }
+
+}
diff --git a/aliyun-java-sdk-mopen/src/main/java/com/aliyuncs/mopen/model/v20180211/MoPenCreateDeviceResponse.java b/aliyun-java-sdk-mopen/src/main/java/com/aliyuncs/mopen/model/v20180211/MoPenCreateDeviceResponse.java
new file mode 100644
index 0000000000..85a34573ee
--- /dev/null
+++ b/aliyun-java-sdk-mopen/src/main/java/com/aliyuncs/mopen/model/v20180211/MoPenCreateDeviceResponse.java
@@ -0,0 +1,119 @@
+/*
+ * 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.
+ */
+
+package com.aliyuncs.mopen.model.v20180211;
+
+import com.aliyuncs.AcsResponse;
+import com.aliyuncs.mopen.transform.v20180211.MoPenCreateDeviceResponseUnmarshaller;
+import com.aliyuncs.transform.UnmarshallerContext;
+
+/**
+ * @author auto create
+ * @version
+ */
+public class MoPenCreateDeviceResponse extends AcsResponse {
+
+ private Boolean code;
+
+ private String message;
+
+ private Boolean success;
+
+ private String description;
+
+ private Data data;
+
+ public Boolean getCode() {
+ return this.code;
+ }
+
+ public void setCode(Boolean code) {
+ this.code = code;
+ }
+
+ public String getMessage() {
+ return this.message;
+ }
+
+ public void setMessage(String message) {
+ this.message = message;
+ }
+
+ public Boolean getSuccess() {
+ return this.success;
+ }
+
+ public void setSuccess(Boolean success) {
+ this.success = success;
+ }
+
+ public String getDescription() {
+ return this.description;
+ }
+
+ public void setDescription(String description) {
+ this.description = description;
+ }
+
+ public Data getData() {
+ return this.data;
+ }
+
+ public void setData(Data data) {
+ this.data = data;
+ }
+
+ public static class Data {
+
+ private String deviceName;
+
+ private String product;
+
+ private String deviceSecret;
+
+ public String getDeviceName() {
+ return this.deviceName;
+ }
+
+ public void setDeviceName(String deviceName) {
+ this.deviceName = deviceName;
+ }
+
+ public String getProduct() {
+ return this.product;
+ }
+
+ public void setProduct(String product) {
+ this.product = product;
+ }
+
+ public String getDeviceSecret() {
+ return this.deviceSecret;
+ }
+
+ public void setDeviceSecret(String deviceSecret) {
+ this.deviceSecret = deviceSecret;
+ }
+ }
+
+ @Override
+ public MoPenCreateDeviceResponse getInstance(UnmarshallerContext context) {
+ return MoPenCreateDeviceResponseUnmarshaller.unmarshall(this, context);
+ }
+
+ @Override
+ public boolean checkShowJsonItemName() {
+ return false;
+ }
+}
diff --git a/aliyun-java-sdk-mopen/src/main/java/com/aliyuncs/mopen/model/v20180211/MoPenDeleteGroupMemberRequest.java b/aliyun-java-sdk-mopen/src/main/java/com/aliyuncs/mopen/model/v20180211/MoPenDeleteGroupMemberRequest.java
new file mode 100644
index 0000000000..4eaaf8b597
--- /dev/null
+++ b/aliyun-java-sdk-mopen/src/main/java/com/aliyuncs/mopen/model/v20180211/MoPenDeleteGroupMemberRequest.java
@@ -0,0 +1,64 @@
+/*
+ * 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.
+ */
+
+package com.aliyuncs.mopen.model.v20180211;
+
+import com.aliyuncs.RpcAcsRequest;
+import com.aliyuncs.http.ProtocolType;
+import com.aliyuncs.http.MethodType;
+
+/**
+ * @author auto create
+ * @version
+ */
+public class MoPenDeleteGroupMemberRequest extends RpcAcsRequest {
+
+ public MoPenDeleteGroupMemberRequest() {
+ super("MoPen", "2018-02-11", "MoPenDeleteGroupMember");
+ setProtocol(ProtocolType.HTTPS);
+ setMethod(MethodType.POST);
+ }
+
+ private Long groupId;
+
+ private String deviceName;
+
+ public Long getGroupId() {
+ return this.groupId;
+ }
+
+ public void setGroupId(Long groupId) {
+ this.groupId = groupId;
+ if(groupId != null){
+ putBodyParameter("GroupId", groupId.toString());
+ }
+ }
+
+ public String getDeviceName() {
+ return this.deviceName;
+ }
+
+ public void setDeviceName(String deviceName) {
+ this.deviceName = deviceName;
+ if(deviceName != null){
+ putBodyParameter("DeviceName", deviceName);
+ }
+ }
+
+ @Override
+ public Class getResponseClass() {
+ return MoPenDeleteGroupMemberResponse.class;
+ }
+
+}
diff --git a/aliyun-java-sdk-mopen/src/main/java/com/aliyuncs/mopen/model/v20180211/MoPenDeleteGroupMemberResponse.java b/aliyun-java-sdk-mopen/src/main/java/com/aliyuncs/mopen/model/v20180211/MoPenDeleteGroupMemberResponse.java
new file mode 100644
index 0000000000..7449483aed
--- /dev/null
+++ b/aliyun-java-sdk-mopen/src/main/java/com/aliyuncs/mopen/model/v20180211/MoPenDeleteGroupMemberResponse.java
@@ -0,0 +1,76 @@
+/*
+ * 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.
+ */
+
+package com.aliyuncs.mopen.model.v20180211;
+
+import com.aliyuncs.AcsResponse;
+import com.aliyuncs.mopen.transform.v20180211.MoPenDeleteGroupMemberResponseUnmarshaller;
+import com.aliyuncs.transform.UnmarshallerContext;
+
+/**
+ * @author auto create
+ * @version
+ */
+public class MoPenDeleteGroupMemberResponse extends AcsResponse {
+
+ private String code;
+
+ private Boolean success;
+
+ private String description;
+
+ private String message;
+
+ public String getCode() {
+ return this.code;
+ }
+
+ public void setCode(String code) {
+ this.code = code;
+ }
+
+ public Boolean getSuccess() {
+ return this.success;
+ }
+
+ public void setSuccess(Boolean success) {
+ this.success = success;
+ }
+
+ public String getDescription() {
+ return this.description;
+ }
+
+ public void setDescription(String description) {
+ this.description = description;
+ }
+
+ public String getMessage() {
+ return this.message;
+ }
+
+ public void setMessage(String message) {
+ this.message = message;
+ }
+
+ @Override
+ public MoPenDeleteGroupMemberResponse getInstance(UnmarshallerContext context) {
+ return MoPenDeleteGroupMemberResponseUnmarshaller.unmarshall(this, context);
+ }
+
+ @Override
+ public boolean checkShowJsonItemName() {
+ return false;
+ }
+}
diff --git a/aliyun-java-sdk-mopen/src/main/java/com/aliyuncs/mopen/model/v20180211/MoPenDeleteGroupRequest.java b/aliyun-java-sdk-mopen/src/main/java/com/aliyuncs/mopen/model/v20180211/MoPenDeleteGroupRequest.java
new file mode 100644
index 0000000000..e4458b9e1f
--- /dev/null
+++ b/aliyun-java-sdk-mopen/src/main/java/com/aliyuncs/mopen/model/v20180211/MoPenDeleteGroupRequest.java
@@ -0,0 +1,51 @@
+/*
+ * 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.
+ */
+
+package com.aliyuncs.mopen.model.v20180211;
+
+import com.aliyuncs.RpcAcsRequest;
+import com.aliyuncs.http.ProtocolType;
+import com.aliyuncs.http.MethodType;
+
+/**
+ * @author auto create
+ * @version
+ */
+public class MoPenDeleteGroupRequest extends RpcAcsRequest {
+
+ public MoPenDeleteGroupRequest() {
+ super("MoPen", "2018-02-11", "MoPenDeleteGroup");
+ setProtocol(ProtocolType.HTTPS);
+ setMethod(MethodType.POST);
+ }
+
+ private String groupId;
+
+ public String getGroupId() {
+ return this.groupId;
+ }
+
+ public void setGroupId(String groupId) {
+ this.groupId = groupId;
+ if(groupId != null){
+ putBodyParameter("GroupId", groupId);
+ }
+ }
+
+ @Override
+ public Class getResponseClass() {
+ return MoPenDeleteGroupResponse.class;
+ }
+
+}
diff --git a/aliyun-java-sdk-mopen/src/main/java/com/aliyuncs/mopen/model/v20180211/MoPenDeleteGroupResponse.java b/aliyun-java-sdk-mopen/src/main/java/com/aliyuncs/mopen/model/v20180211/MoPenDeleteGroupResponse.java
new file mode 100644
index 0000000000..e4545f58ba
--- /dev/null
+++ b/aliyun-java-sdk-mopen/src/main/java/com/aliyuncs/mopen/model/v20180211/MoPenDeleteGroupResponse.java
@@ -0,0 +1,76 @@
+/*
+ * 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.
+ */
+
+package com.aliyuncs.mopen.model.v20180211;
+
+import com.aliyuncs.AcsResponse;
+import com.aliyuncs.mopen.transform.v20180211.MoPenDeleteGroupResponseUnmarshaller;
+import com.aliyuncs.transform.UnmarshallerContext;
+
+/**
+ * @author auto create
+ * @version
+ */
+public class MoPenDeleteGroupResponse extends AcsResponse {
+
+ private Boolean success;
+
+ private String code;
+
+ private String message;
+
+ private String description;
+
+ public Boolean getSuccess() {
+ return this.success;
+ }
+
+ public void setSuccess(Boolean success) {
+ this.success = success;
+ }
+
+ public String getCode() {
+ return this.code;
+ }
+
+ public void setCode(String code) {
+ this.code = code;
+ }
+
+ public String getMessage() {
+ return this.message;
+ }
+
+ public void setMessage(String message) {
+ this.message = message;
+ }
+
+ public String getDescription() {
+ return this.description;
+ }
+
+ public void setDescription(String description) {
+ this.description = description;
+ }
+
+ @Override
+ public MoPenDeleteGroupResponse getInstance(UnmarshallerContext context) {
+ return MoPenDeleteGroupResponseUnmarshaller.unmarshall(this, context);
+ }
+
+ @Override
+ public boolean checkShowJsonItemName() {
+ return false;
+ }
+}
diff --git a/aliyun-java-sdk-mopen/src/main/java/com/aliyuncs/mopen/model/v20180211/MoPenDoRecognizeRequest.java b/aliyun-java-sdk-mopen/src/main/java/com/aliyuncs/mopen/model/v20180211/MoPenDoRecognizeRequest.java
new file mode 100644
index 0000000000..28ea2b09da
--- /dev/null
+++ b/aliyun-java-sdk-mopen/src/main/java/com/aliyuncs/mopen/model/v20180211/MoPenDoRecognizeRequest.java
@@ -0,0 +1,129 @@
+/*
+ * 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.
+ */
+
+package com.aliyuncs.mopen.model.v20180211;
+
+import com.aliyuncs.RpcAcsRequest;
+import com.aliyuncs.http.ProtocolType;
+import com.aliyuncs.http.MethodType;
+
+/**
+ * @author auto create
+ * @version
+ */
+public class MoPenDoRecognizeRequest extends RpcAcsRequest {
+
+ public MoPenDoRecognizeRequest() {
+ super("MoPen", "2018-02-11", "MoPenDoRecognize");
+ setProtocol(ProtocolType.HTTPS);
+ setMethod(MethodType.POST);
+ }
+
+ private Long canvasId;
+
+ private Integer endY;
+
+ private Integer endX;
+
+ private String jsonConf;
+
+ private String exportType;
+
+ private Integer startY;
+
+ private Integer startX;
+
+ public Long getCanvasId() {
+ return this.canvasId;
+ }
+
+ public void setCanvasId(Long canvasId) {
+ this.canvasId = canvasId;
+ if(canvasId != null){
+ putBodyParameter("CanvasId", canvasId.toString());
+ }
+ }
+
+ public Integer getEndY() {
+ return this.endY;
+ }
+
+ public void setEndY(Integer endY) {
+ this.endY = endY;
+ if(endY != null){
+ putBodyParameter("EndY", endY.toString());
+ }
+ }
+
+ public Integer getEndX() {
+ return this.endX;
+ }
+
+ public void setEndX(Integer endX) {
+ this.endX = endX;
+ if(endX != null){
+ putBodyParameter("EndX", endX.toString());
+ }
+ }
+
+ public String getJsonConf() {
+ return this.jsonConf;
+ }
+
+ public void setJsonConf(String jsonConf) {
+ this.jsonConf = jsonConf;
+ if(jsonConf != null){
+ putBodyParameter("JsonConf", jsonConf);
+ }
+ }
+
+ public String getExportType() {
+ return this.exportType;
+ }
+
+ public void setExportType(String exportType) {
+ this.exportType = exportType;
+ if(exportType != null){
+ putBodyParameter("ExportType", exportType);
+ }
+ }
+
+ public Integer getStartY() {
+ return this.startY;
+ }
+
+ public void setStartY(Integer startY) {
+ this.startY = startY;
+ if(startY != null){
+ putBodyParameter("StartY", startY.toString());
+ }
+ }
+
+ public Integer getStartX() {
+ return this.startX;
+ }
+
+ public void setStartX(Integer startX) {
+ this.startX = startX;
+ if(startX != null){
+ putBodyParameter("StartX", startX.toString());
+ }
+ }
+
+ @Override
+ public Class getResponseClass() {
+ return MoPenDoRecognizeResponse.class;
+ }
+
+}
diff --git a/aliyun-java-sdk-mopen/src/main/java/com/aliyuncs/mopen/model/v20180211/MoPenDoRecognizeResponse.java b/aliyun-java-sdk-mopen/src/main/java/com/aliyuncs/mopen/model/v20180211/MoPenDoRecognizeResponse.java
new file mode 100644
index 0000000000..338bd8eb42
--- /dev/null
+++ b/aliyun-java-sdk-mopen/src/main/java/com/aliyuncs/mopen/model/v20180211/MoPenDoRecognizeResponse.java
@@ -0,0 +1,129 @@
+/*
+ * 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.
+ */
+
+package com.aliyuncs.mopen.model.v20180211;
+
+import com.aliyuncs.AcsResponse;
+import com.aliyuncs.mopen.transform.v20180211.MoPenDoRecognizeResponseUnmarshaller;
+import com.aliyuncs.transform.UnmarshallerContext;
+
+/**
+ * @author auto create
+ * @version
+ */
+public class MoPenDoRecognizeResponse extends AcsResponse {
+
+ private String requestId;
+
+ private String code;
+
+ private String message;
+
+ private Boolean success;
+
+ private String description;
+
+ private Data data;
+
+ public String getRequestId() {
+ return this.requestId;
+ }
+
+ public void setRequestId(String requestId) {
+ this.requestId = requestId;
+ }
+
+ public String getCode() {
+ return this.code;
+ }
+
+ public void setCode(String code) {
+ this.code = code;
+ }
+
+ public String getMessage() {
+ return this.message;
+ }
+
+ public void setMessage(String message) {
+ this.message = message;
+ }
+
+ public Boolean getSuccess() {
+ return this.success;
+ }
+
+ public void setSuccess(Boolean success) {
+ this.success = success;
+ }
+
+ public String getDescription() {
+ return this.description;
+ }
+
+ public void setDescription(String description) {
+ this.description = description;
+ }
+
+ public Data getData() {
+ return this.data;
+ }
+
+ public void setData(Data data) {
+ this.data = data;
+ }
+
+ public static class Data {
+
+ private String result;
+
+ private String resultType;
+
+ private Long canvasId;
+
+ public String getResult() {
+ return this.result;
+ }
+
+ public void setResult(String result) {
+ this.result = result;
+ }
+
+ public String getResultType() {
+ return this.resultType;
+ }
+
+ public void setResultType(String resultType) {
+ this.resultType = resultType;
+ }
+
+ public Long getCanvasId() {
+ return this.canvasId;
+ }
+
+ public void setCanvasId(Long canvasId) {
+ this.canvasId = canvasId;
+ }
+ }
+
+ @Override
+ public MoPenDoRecognizeResponse getInstance(UnmarshallerContext context) {
+ return MoPenDoRecognizeResponseUnmarshaller.unmarshall(this, context);
+ }
+
+ @Override
+ public boolean checkShowJsonItemName() {
+ return false;
+ }
+}
diff --git a/aliyun-java-sdk-mopen/src/main/java/com/aliyuncs/mopen/model/v20180211/MoPenFindGroupRequest.java b/aliyun-java-sdk-mopen/src/main/java/com/aliyuncs/mopen/model/v20180211/MoPenFindGroupRequest.java
new file mode 100644
index 0000000000..fac97f0d5d
--- /dev/null
+++ b/aliyun-java-sdk-mopen/src/main/java/com/aliyuncs/mopen/model/v20180211/MoPenFindGroupRequest.java
@@ -0,0 +1,51 @@
+/*
+ * 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.
+ */
+
+package com.aliyuncs.mopen.model.v20180211;
+
+import com.aliyuncs.RpcAcsRequest;
+import com.aliyuncs.http.ProtocolType;
+import com.aliyuncs.http.MethodType;
+
+/**
+ * @author auto create
+ * @version
+ */
+public class MoPenFindGroupRequest extends RpcAcsRequest {
+
+ public MoPenFindGroupRequest() {
+ super("MoPen", "2018-02-11", "MoPenFindGroup");
+ setProtocol(ProtocolType.HTTPS);
+ setMethod(MethodType.POST);
+ }
+
+ private String creator;
+
+ public String getCreator() {
+ return this.creator;
+ }
+
+ public void setCreator(String creator) {
+ this.creator = creator;
+ if(creator != null){
+ putBodyParameter("Creator", creator);
+ }
+ }
+
+ @Override
+ public Class getResponseClass() {
+ return MoPenFindGroupResponse.class;
+ }
+
+}
diff --git a/aliyun-java-sdk-mopen/src/main/java/com/aliyuncs/mopen/model/v20180211/MoPenFindGroupResponse.java b/aliyun-java-sdk-mopen/src/main/java/com/aliyuncs/mopen/model/v20180211/MoPenFindGroupResponse.java
new file mode 100644
index 0000000000..6ebb0917c5
--- /dev/null
+++ b/aliyun-java-sdk-mopen/src/main/java/com/aliyuncs/mopen/model/v20180211/MoPenFindGroupResponse.java
@@ -0,0 +1,119 @@
+/*
+ * 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.
+ */
+
+package com.aliyuncs.mopen.model.v20180211;
+
+import com.aliyuncs.AcsResponse;
+import com.aliyuncs.mopen.transform.v20180211.MoPenFindGroupResponseUnmarshaller;
+import com.aliyuncs.transform.UnmarshallerContext;
+
+/**
+ * @author auto create
+ * @version
+ */
+public class MoPenFindGroupResponse extends AcsResponse {
+
+ private String requestId;
+
+ private Integer code;
+
+ private String success;
+
+ private String description;
+
+ private String message;
+
+ private Data data;
+
+ public String getRequestId() {
+ return this.requestId;
+ }
+
+ public void setRequestId(String requestId) {
+ this.requestId = requestId;
+ }
+
+ public Integer getCode() {
+ return this.code;
+ }
+
+ public void setCode(Integer code) {
+ this.code = code;
+ }
+
+ public String getSuccess() {
+ return this.success;
+ }
+
+ public void setSuccess(String success) {
+ this.success = success;
+ }
+
+ public String getDescription() {
+ return this.description;
+ }
+
+ public void setDescription(String description) {
+ this.description = description;
+ }
+
+ public String getMessage() {
+ return this.message;
+ }
+
+ public void setMessage(String message) {
+ this.message = message;
+ }
+
+ public Data getData() {
+ return this.data;
+ }
+
+ public void setData(Data data) {
+ this.data = data;
+ }
+
+ public static class Data {
+
+ private String groupId;
+
+ private String creator;
+
+ public String getGroupId() {
+ return this.groupId;
+ }
+
+ public void setGroupId(String groupId) {
+ this.groupId = groupId;
+ }
+
+ public String getCreator() {
+ return this.creator;
+ }
+
+ public void setCreator(String creator) {
+ this.creator = creator;
+ }
+ }
+
+ @Override
+ public MoPenFindGroupResponse getInstance(UnmarshallerContext context) {
+ return MoPenFindGroupResponseUnmarshaller.unmarshall(this, context);
+ }
+
+ @Override
+ public boolean checkShowJsonItemName() {
+ return false;
+ }
+}
diff --git a/aliyun-java-sdk-mopen/src/main/java/com/aliyuncs/mopen/model/v20180211/MoPenQueryCanvasRequest.java b/aliyun-java-sdk-mopen/src/main/java/com/aliyuncs/mopen/model/v20180211/MoPenQueryCanvasRequest.java
new file mode 100644
index 0000000000..6921e98b9a
--- /dev/null
+++ b/aliyun-java-sdk-mopen/src/main/java/com/aliyuncs/mopen/model/v20180211/MoPenQueryCanvasRequest.java
@@ -0,0 +1,90 @@
+/*
+ * 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.
+ */
+
+package com.aliyuncs.mopen.model.v20180211;
+
+import com.aliyuncs.RpcAcsRequest;
+import com.aliyuncs.http.ProtocolType;
+import com.aliyuncs.http.MethodType;
+
+/**
+ * @author auto create
+ * @version
+ */
+public class MoPenQueryCanvasRequest extends RpcAcsRequest {
+
+ public MoPenQueryCanvasRequest() {
+ super("MoPen", "2018-02-11", "MoPenQueryCanvas");
+ setProtocol(ProtocolType.HTTPS);
+ setMethod(MethodType.POST);
+ }
+
+ private String deviceName;
+
+ private String sessionId;
+
+ private Integer pageId;
+
+ private Integer status;
+
+ public String getDeviceName() {
+ return this.deviceName;
+ }
+
+ public void setDeviceName(String deviceName) {
+ this.deviceName = deviceName;
+ if(deviceName != null){
+ putBodyParameter("DeviceName", deviceName);
+ }
+ }
+
+ public String getSessionId() {
+ return this.sessionId;
+ }
+
+ public void setSessionId(String sessionId) {
+ this.sessionId = sessionId;
+ if(sessionId != null){
+ putBodyParameter("SessionId", sessionId);
+ }
+ }
+
+ public Integer getPageId() {
+ return this.pageId;
+ }
+
+ public void setPageId(Integer pageId) {
+ this.pageId = pageId;
+ if(pageId != null){
+ putBodyParameter("PageId", pageId.toString());
+ }
+ }
+
+ public Integer getStatus() {
+ return this.status;
+ }
+
+ public void setStatus(Integer status) {
+ this.status = status;
+ if(status != null){
+ putBodyParameter("Status", status.toString());
+ }
+ }
+
+ @Override
+ public Class getResponseClass() {
+ return MoPenQueryCanvasResponse.class;
+ }
+
+}
diff --git a/aliyun-java-sdk-mopen/src/main/java/com/aliyuncs/mopen/model/v20180211/MoPenQueryCanvasResponse.java b/aliyun-java-sdk-mopen/src/main/java/com/aliyuncs/mopen/model/v20180211/MoPenQueryCanvasResponse.java
new file mode 100644
index 0000000000..ea6348d88f
--- /dev/null
+++ b/aliyun-java-sdk-mopen/src/main/java/com/aliyuncs/mopen/model/v20180211/MoPenQueryCanvasResponse.java
@@ -0,0 +1,203 @@
+/*
+ * 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.
+ */
+
+package com.aliyuncs.mopen.model.v20180211;
+
+import java.util.List;
+import com.aliyuncs.AcsResponse;
+import com.aliyuncs.mopen.transform.v20180211.MoPenQueryCanvasResponseUnmarshaller;
+import com.aliyuncs.transform.UnmarshallerContext;
+
+/**
+ * @author auto create
+ * @version
+ */
+public class MoPenQueryCanvasResponse extends AcsResponse {
+
+ private String requestId;
+
+ private String code;
+
+ private String message;
+
+ private Boolean success;
+
+ private String description;
+
+ private Data data;
+
+ public String getRequestId() {
+ return this.requestId;
+ }
+
+ public void setRequestId(String requestId) {
+ this.requestId = requestId;
+ }
+
+ public String getCode() {
+ return this.code;
+ }
+
+ public void setCode(String code) {
+ this.code = code;
+ }
+
+ public String getMessage() {
+ return this.message;
+ }
+
+ public void setMessage(String message) {
+ this.message = message;
+ }
+
+ public Boolean getSuccess() {
+ return this.success;
+ }
+
+ public void setSuccess(Boolean success) {
+ this.success = success;
+ }
+
+ public String getDescription() {
+ return this.description;
+ }
+
+ public void setDescription(String description) {
+ this.description = description;
+ }
+
+ public Data getData() {
+ return this.data;
+ }
+
+ public void setData(Data data) {
+ this.data = data;
+ }
+
+ public static class Data {
+
+ private List