Просмотр исходного кода

Generated 2020-06-06 for cams.

sdk-team 2 лет назад
Родитель
Сommit
6950861a84
96 измененных файлов с 5555 добавлено и 137 удалено
  1. 1 1
      VERSION
  2. 68 0
      cams/CMakeLists.txt
  3. 136 0
      cams/include/alibabacloud/cams/CamsClient.h
  4. 3 0
      cams/include/alibabacloud/cams/model/CreateChatappTemplateRequest.h
  5. 54 0
      cams/include/alibabacloud/cams/model/CreateFlowRequest.h
  6. 61 0
      cams/include/alibabacloud/cams/model/CreateFlowResult.h
  7. 57 0
      cams/include/alibabacloud/cams/model/CreatePhoneMessageQrdlRequest.h
  8. 64 0
      cams/include/alibabacloud/cams/model/CreatePhoneMessageQrdlResult.h
  9. 9 0
      cams/include/alibabacloud/cams/model/DeleteChatappTemplateRequest.h
  10. 60 0
      cams/include/alibabacloud/cams/model/DeleteFlowRequest.h
  11. 59 0
      cams/include/alibabacloud/cams/model/DeleteFlowResult.h
  12. 54 0
      cams/include/alibabacloud/cams/model/DeletePhoneMessageQrdlRequest.h
  13. 53 0
      cams/include/alibabacloud/cams/model/DeletePhoneMessageQrdlResult.h
  14. 51 0
      cams/include/alibabacloud/cams/model/DeprecateFlowRequest.h
  15. 53 0
      cams/include/alibabacloud/cams/model/DeprecateFlowResult.h
  16. 3 0
      cams/include/alibabacloud/cams/model/GetChatappTemplateDetailRequest.h
  17. 7 4
      cams/include/alibabacloud/cams/model/GetChatappTemplateDetailResult.h
  18. 51 0
      cams/include/alibabacloud/cams/model/GetFlowJSONAssestRequest.h
  19. 60 0
      cams/include/alibabacloud/cams/model/GetFlowJSONAssestResult.h
  20. 51 0
      cams/include/alibabacloud/cams/model/GetFlowPreviewUrlRequest.h
  21. 61 0
      cams/include/alibabacloud/cams/model/GetFlowPreviewUrlResult.h
  22. 51 0
      cams/include/alibabacloud/cams/model/GetFlowRequest.h
  23. 66 0
      cams/include/alibabacloud/cams/model/GetFlowResult.h
  24. 54 0
      cams/include/alibabacloud/cams/model/GetPermissionByCodeRequest.h
  25. 53 0
      cams/include/alibabacloud/cams/model/GetPermissionByCodeResult.h
  26. 51 0
      cams/include/alibabacloud/cams/model/GetPhoneEncryptionPublicKeyRequest.h
  27. 61 0
      cams/include/alibabacloud/cams/model/GetPhoneEncryptionPublicKeyResult.h
  28. 9 3
      cams/include/alibabacloud/cams/model/IsvGetAppIdRequest.h
  29. 2 0
      cams/include/alibabacloud/cams/model/IsvGetAppIdResult.h
  30. 66 0
      cams/include/alibabacloud/cams/model/ListFlowRequest.h
  31. 73 0
      cams/include/alibabacloud/cams/model/ListFlowResult.h
  32. 51 0
      cams/include/alibabacloud/cams/model/ListPhoneMessageQrdlRequest.h
  33. 64 0
      cams/include/alibabacloud/cams/model/ListPhoneMessageQrdlResult.h
  34. 6 0
      cams/include/alibabacloud/cams/model/ModifyChatappTemplateRequest.h
  35. 57 0
      cams/include/alibabacloud/cams/model/ModifyFlowRequest.h
  36. 61 0
      cams/include/alibabacloud/cams/model/ModifyFlowResult.h
  37. 3 0
      cams/include/alibabacloud/cams/model/ModifyPhoneBusinessProfileRequest.h
  38. 51 0
      cams/include/alibabacloud/cams/model/PublishFlowRequest.h
  39. 53 0
      cams/include/alibabacloud/cams/model/PublishFlowResult.h
  40. 3 0
      cams/include/alibabacloud/cams/model/QueryChatappPhoneNumbersRequest.h
  41. 1 0
      cams/include/alibabacloud/cams/model/QueryPhoneBusinessProfileResult.h
  42. 8 0
      cams/include/alibabacloud/cams/model/SendChatappMassMessageRequest.h
  43. 40 30
      cams/include/alibabacloud/cams/model/SendChatappMessageRequest.h
  44. 54 0
      cams/include/alibabacloud/cams/model/UpdateFlowJSONAssetRequest.h
  45. 59 0
      cams/include/alibabacloud/cams/model/UpdateFlowJSONAssetResult.h
  46. 54 0
      cams/include/alibabacloud/cams/model/UpdatePhoneEncryptionPublicKeyRequest.h
  47. 53 0
      cams/include/alibabacloud/cams/model/UpdatePhoneEncryptionPublicKeyResult.h
  48. 60 0
      cams/include/alibabacloud/cams/model/UpdatePhoneMessageQrdlRequest.h
  49. 64 0
      cams/include/alibabacloud/cams/model/UpdatePhoneMessageQrdlResult.h
  50. 612 0
      cams/src/CamsClient.cc
  51. 3 0
      cams/src/model/CreateChatappTemplateRequest.cc
  52. 74 0
      cams/src/model/CreateFlowRequest.cc
  53. 71 0
      cams/src/model/CreateFlowResult.cc
  54. 81 0
      cams/src/model/CreatePhoneMessageQrdlRequest.cc
  55. 76 0
      cams/src/model/CreatePhoneMessageQrdlResult.cc
  56. 27 0
      cams/src/model/DeleteChatappTemplateRequest.cc
  57. 90 0
      cams/src/model/DeleteFlowRequest.cc
  58. 79 0
      cams/src/model/DeleteFlowResult.cc
  59. 72 0
      cams/src/model/DeletePhoneMessageQrdlRequest.cc
  60. 58 0
      cams/src/model/DeletePhoneMessageQrdlResult.cc
  61. 63 0
      cams/src/model/DeprecateFlowRequest.cc
  62. 58 0
      cams/src/model/DeprecateFlowResult.cc
  63. 9 0
      cams/src/model/GetChatappTemplateDetailRequest.cc
  64. 6 0
      cams/src/model/GetChatappTemplateDetailResult.cc
  65. 63 0
      cams/src/model/GetFlowJSONAssestRequest.cc
  66. 68 0
      cams/src/model/GetFlowJSONAssestResult.cc
  67. 63 0
      cams/src/model/GetFlowPreviewUrlRequest.cc
  68. 70 0
      cams/src/model/GetFlowPreviewUrlResult.cc
  69. 63 0
      cams/src/model/GetFlowRequest.cc
  70. 81 0
      cams/src/model/GetFlowResult.cc
  71. 74 0
      cams/src/model/GetPermissionByCodeRequest.cc
  72. 58 0
      cams/src/model/GetPermissionByCodeResult.cc
  73. 63 0
      cams/src/model/GetPhoneEncryptionPublicKeyRequest.cc
  74. 70 0
      cams/src/model/GetPhoneEncryptionPublicKeyResult.cc
  75. 23 5
      cams/src/model/IsvGetAppIdRequest.cc
  76. 7 0
      cams/src/model/IsvGetAppIdResult.cc
  77. 108 0
      cams/src/model/ListFlowRequest.cc
  78. 108 0
      cams/src/model/ListFlowResult.cc
  79. 63 0
      cams/src/model/ListPhoneMessageQrdlRequest.cc
  80. 81 0
      cams/src/model/ListPhoneMessageQrdlResult.cc
  81. 12 0
      cams/src/model/ModifyChatappTemplateRequest.cc
  82. 83 0
      cams/src/model/ModifyFlowRequest.cc
  83. 71 0
      cams/src/model/ModifyFlowResult.cc
  84. 9 0
      cams/src/model/ModifyPhoneBusinessProfileRequest.cc
  85. 63 0
      cams/src/model/PublishFlowRequest.cc
  86. 58 0
      cams/src/model/PublishFlowResult.cc
  87. 9 0
      cams/src/model/QueryChatappPhoneNumbersRequest.cc
  88. 2 0
      cams/src/model/QueryPhoneBusinessProfileResult.cc
  89. 13 0
      cams/src/model/SendChatappMassMessageRequest.cc
  90. 115 94
      cams/src/model/SendChatappMessageRequest.cc
  91. 72 0
      cams/src/model/UpdateFlowJSONAssetRequest.cc
  92. 66 0
      cams/src/model/UpdateFlowJSONAssetResult.cc
  93. 72 0
      cams/src/model/UpdatePhoneEncryptionPublicKeyRequest.cc
  94. 58 0
      cams/src/model/UpdatePhoneEncryptionPublicKeyResult.cc
  95. 90 0
      cams/src/model/UpdatePhoneMessageQrdlRequest.cc
  96. 76 0
      cams/src/model/UpdatePhoneMessageQrdlResult.cc

+ 1 - 1
VERSION

@@ -1 +1 @@
-1.36.1889
+1.36.1890

+ 68 - 0
cams/CMakeLists.txt

@@ -47,8 +47,18 @@ set(cams_public_header_model
 	include/alibabacloud/cams/model/CreateChatappMigrationInitiateResult.h
 	include/alibabacloud/cams/model/CreateChatappTemplateRequest.h
 	include/alibabacloud/cams/model/CreateChatappTemplateResult.h
+	include/alibabacloud/cams/model/CreateFlowRequest.h
+	include/alibabacloud/cams/model/CreateFlowResult.h
+	include/alibabacloud/cams/model/CreatePhoneMessageQrdlRequest.h
+	include/alibabacloud/cams/model/CreatePhoneMessageQrdlResult.h
 	include/alibabacloud/cams/model/DeleteChatappTemplateRequest.h
 	include/alibabacloud/cams/model/DeleteChatappTemplateResult.h
+	include/alibabacloud/cams/model/DeleteFlowRequest.h
+	include/alibabacloud/cams/model/DeleteFlowResult.h
+	include/alibabacloud/cams/model/DeletePhoneMessageQrdlRequest.h
+	include/alibabacloud/cams/model/DeletePhoneMessageQrdlResult.h
+	include/alibabacloud/cams/model/DeprecateFlowRequest.h
+	include/alibabacloud/cams/model/DeprecateFlowResult.h
 	include/alibabacloud/cams/model/EnableWhatsappROIMetricRequest.h
 	include/alibabacloud/cams/model/EnableWhatsappROIMetricResult.h
 	include/alibabacloud/cams/model/GetChatappPhoneNumberMetricRequest.h
@@ -63,8 +73,18 @@ set(cams_public_header_model
 	include/alibabacloud/cams/model/GetChatappVerifyCodeResult.h
 	include/alibabacloud/cams/model/GetCommerceSettingRequest.h
 	include/alibabacloud/cams/model/GetCommerceSettingResult.h
+	include/alibabacloud/cams/model/GetFlowRequest.h
+	include/alibabacloud/cams/model/GetFlowResult.h
+	include/alibabacloud/cams/model/GetFlowJSONAssestRequest.h
+	include/alibabacloud/cams/model/GetFlowJSONAssestResult.h
+	include/alibabacloud/cams/model/GetFlowPreviewUrlRequest.h
+	include/alibabacloud/cams/model/GetFlowPreviewUrlResult.h
 	include/alibabacloud/cams/model/GetMigrationVerifyCodeRequest.h
 	include/alibabacloud/cams/model/GetMigrationVerifyCodeResult.h
+	include/alibabacloud/cams/model/GetPermissionByCodeRequest.h
+	include/alibabacloud/cams/model/GetPermissionByCodeResult.h
+	include/alibabacloud/cams/model/GetPhoneEncryptionPublicKeyRequest.h
+	include/alibabacloud/cams/model/GetPhoneEncryptionPublicKeyResult.h
 	include/alibabacloud/cams/model/GetPhoneNumberVerificationStatusRequest.h
 	include/alibabacloud/cams/model/GetPhoneNumberVerificationStatusResult.h
 	include/alibabacloud/cams/model/GetPreValidatePhoneIdRequest.h
@@ -75,14 +95,22 @@ set(cams_public_header_model
 	include/alibabacloud/cams/model/IsvGetAppIdResult.h
 	include/alibabacloud/cams/model/ListChatappTemplateRequest.h
 	include/alibabacloud/cams/model/ListChatappTemplateResult.h
+	include/alibabacloud/cams/model/ListFlowRequest.h
+	include/alibabacloud/cams/model/ListFlowResult.h
+	include/alibabacloud/cams/model/ListPhoneMessageQrdlRequest.h
+	include/alibabacloud/cams/model/ListPhoneMessageQrdlResult.h
 	include/alibabacloud/cams/model/ListProductRequest.h
 	include/alibabacloud/cams/model/ListProductResult.h
 	include/alibabacloud/cams/model/ListProductCatalogRequest.h
 	include/alibabacloud/cams/model/ListProductCatalogResult.h
 	include/alibabacloud/cams/model/ModifyChatappTemplateRequest.h
 	include/alibabacloud/cams/model/ModifyChatappTemplateResult.h
+	include/alibabacloud/cams/model/ModifyFlowRequest.h
+	include/alibabacloud/cams/model/ModifyFlowResult.h
 	include/alibabacloud/cams/model/ModifyPhoneBusinessProfileRequest.h
 	include/alibabacloud/cams/model/ModifyPhoneBusinessProfileResult.h
+	include/alibabacloud/cams/model/PublishFlowRequest.h
+	include/alibabacloud/cams/model/PublishFlowResult.h
 	include/alibabacloud/cams/model/QueryChatappBindWabaRequest.h
 	include/alibabacloud/cams/model/QueryChatappBindWabaResult.h
 	include/alibabacloud/cams/model/QueryChatappPhoneNumbersRequest.h
@@ -101,6 +129,12 @@ set(cams_public_header_model
 	include/alibabacloud/cams/model/UpdateAccountWebhookResult.h
 	include/alibabacloud/cams/model/UpdateCommerceSettingRequest.h
 	include/alibabacloud/cams/model/UpdateCommerceSettingResult.h
+	include/alibabacloud/cams/model/UpdateFlowJSONAssetRequest.h
+	include/alibabacloud/cams/model/UpdateFlowJSONAssetResult.h
+	include/alibabacloud/cams/model/UpdatePhoneEncryptionPublicKeyRequest.h
+	include/alibabacloud/cams/model/UpdatePhoneEncryptionPublicKeyResult.h
+	include/alibabacloud/cams/model/UpdatePhoneMessageQrdlRequest.h
+	include/alibabacloud/cams/model/UpdatePhoneMessageQrdlResult.h
 	include/alibabacloud/cams/model/UpdatePhoneWebhookRequest.h
 	include/alibabacloud/cams/model/UpdatePhoneWebhookResult.h )
 
@@ -132,8 +166,18 @@ set(cams_src
 	src/model/CreateChatappMigrationInitiateResult.cc
 	src/model/CreateChatappTemplateRequest.cc
 	src/model/CreateChatappTemplateResult.cc
+	src/model/CreateFlowRequest.cc
+	src/model/CreateFlowResult.cc
+	src/model/CreatePhoneMessageQrdlRequest.cc
+	src/model/CreatePhoneMessageQrdlResult.cc
 	src/model/DeleteChatappTemplateRequest.cc
 	src/model/DeleteChatappTemplateResult.cc
+	src/model/DeleteFlowRequest.cc
+	src/model/DeleteFlowResult.cc
+	src/model/DeletePhoneMessageQrdlRequest.cc
+	src/model/DeletePhoneMessageQrdlResult.cc
+	src/model/DeprecateFlowRequest.cc
+	src/model/DeprecateFlowResult.cc
 	src/model/EnableWhatsappROIMetricRequest.cc
 	src/model/EnableWhatsappROIMetricResult.cc
 	src/model/GetChatappPhoneNumberMetricRequest.cc
@@ -148,8 +192,18 @@ set(cams_src
 	src/model/GetChatappVerifyCodeResult.cc
 	src/model/GetCommerceSettingRequest.cc
 	src/model/GetCommerceSettingResult.cc
+	src/model/GetFlowRequest.cc
+	src/model/GetFlowResult.cc
+	src/model/GetFlowJSONAssestRequest.cc
+	src/model/GetFlowJSONAssestResult.cc
+	src/model/GetFlowPreviewUrlRequest.cc
+	src/model/GetFlowPreviewUrlResult.cc
 	src/model/GetMigrationVerifyCodeRequest.cc
 	src/model/GetMigrationVerifyCodeResult.cc
+	src/model/GetPermissionByCodeRequest.cc
+	src/model/GetPermissionByCodeResult.cc
+	src/model/GetPhoneEncryptionPublicKeyRequest.cc
+	src/model/GetPhoneEncryptionPublicKeyResult.cc
 	src/model/GetPhoneNumberVerificationStatusRequest.cc
 	src/model/GetPhoneNumberVerificationStatusResult.cc
 	src/model/GetPreValidatePhoneIdRequest.cc
@@ -160,14 +214,22 @@ set(cams_src
 	src/model/IsvGetAppIdResult.cc
 	src/model/ListChatappTemplateRequest.cc
 	src/model/ListChatappTemplateResult.cc
+	src/model/ListFlowRequest.cc
+	src/model/ListFlowResult.cc
+	src/model/ListPhoneMessageQrdlRequest.cc
+	src/model/ListPhoneMessageQrdlResult.cc
 	src/model/ListProductRequest.cc
 	src/model/ListProductResult.cc
 	src/model/ListProductCatalogRequest.cc
 	src/model/ListProductCatalogResult.cc
 	src/model/ModifyChatappTemplateRequest.cc
 	src/model/ModifyChatappTemplateResult.cc
+	src/model/ModifyFlowRequest.cc
+	src/model/ModifyFlowResult.cc
 	src/model/ModifyPhoneBusinessProfileRequest.cc
 	src/model/ModifyPhoneBusinessProfileResult.cc
+	src/model/PublishFlowRequest.cc
+	src/model/PublishFlowResult.cc
 	src/model/QueryChatappBindWabaRequest.cc
 	src/model/QueryChatappBindWabaResult.cc
 	src/model/QueryChatappPhoneNumbersRequest.cc
@@ -186,6 +248,12 @@ set(cams_src
 	src/model/UpdateAccountWebhookResult.cc
 	src/model/UpdateCommerceSettingRequest.cc
 	src/model/UpdateCommerceSettingResult.cc
+	src/model/UpdateFlowJSONAssetRequest.cc
+	src/model/UpdateFlowJSONAssetResult.cc
+	src/model/UpdatePhoneEncryptionPublicKeyRequest.cc
+	src/model/UpdatePhoneEncryptionPublicKeyResult.cc
+	src/model/UpdatePhoneMessageQrdlRequest.cc
+	src/model/UpdatePhoneMessageQrdlResult.cc
 	src/model/UpdatePhoneWebhookRequest.cc
 	src/model/UpdatePhoneWebhookResult.cc )
 

+ 136 - 0
cams/include/alibabacloud/cams/CamsClient.h

@@ -48,8 +48,18 @@
 #include "model/CreateChatappMigrationInitiateResult.h"
 #include "model/CreateChatappTemplateRequest.h"
 #include "model/CreateChatappTemplateResult.h"
+#include "model/CreateFlowRequest.h"
+#include "model/CreateFlowResult.h"
+#include "model/CreatePhoneMessageQrdlRequest.h"
+#include "model/CreatePhoneMessageQrdlResult.h"
 #include "model/DeleteChatappTemplateRequest.h"
 #include "model/DeleteChatappTemplateResult.h"
+#include "model/DeleteFlowRequest.h"
+#include "model/DeleteFlowResult.h"
+#include "model/DeletePhoneMessageQrdlRequest.h"
+#include "model/DeletePhoneMessageQrdlResult.h"
+#include "model/DeprecateFlowRequest.h"
+#include "model/DeprecateFlowResult.h"
 #include "model/EnableWhatsappROIMetricRequest.h"
 #include "model/EnableWhatsappROIMetricResult.h"
 #include "model/GetChatappPhoneNumberMetricRequest.h"
@@ -64,8 +74,18 @@
 #include "model/GetChatappVerifyCodeResult.h"
 #include "model/GetCommerceSettingRequest.h"
 #include "model/GetCommerceSettingResult.h"
+#include "model/GetFlowRequest.h"
+#include "model/GetFlowResult.h"
+#include "model/GetFlowJSONAssestRequest.h"
+#include "model/GetFlowJSONAssestResult.h"
+#include "model/GetFlowPreviewUrlRequest.h"
+#include "model/GetFlowPreviewUrlResult.h"
 #include "model/GetMigrationVerifyCodeRequest.h"
 #include "model/GetMigrationVerifyCodeResult.h"
+#include "model/GetPermissionByCodeRequest.h"
+#include "model/GetPermissionByCodeResult.h"
+#include "model/GetPhoneEncryptionPublicKeyRequest.h"
+#include "model/GetPhoneEncryptionPublicKeyResult.h"
 #include "model/GetPhoneNumberVerificationStatusRequest.h"
 #include "model/GetPhoneNumberVerificationStatusResult.h"
 #include "model/GetPreValidatePhoneIdRequest.h"
@@ -76,14 +96,22 @@
 #include "model/IsvGetAppIdResult.h"
 #include "model/ListChatappTemplateRequest.h"
 #include "model/ListChatappTemplateResult.h"
+#include "model/ListFlowRequest.h"
+#include "model/ListFlowResult.h"
+#include "model/ListPhoneMessageQrdlRequest.h"
+#include "model/ListPhoneMessageQrdlResult.h"
 #include "model/ListProductRequest.h"
 #include "model/ListProductResult.h"
 #include "model/ListProductCatalogRequest.h"
 #include "model/ListProductCatalogResult.h"
 #include "model/ModifyChatappTemplateRequest.h"
 #include "model/ModifyChatappTemplateResult.h"
+#include "model/ModifyFlowRequest.h"
+#include "model/ModifyFlowResult.h"
 #include "model/ModifyPhoneBusinessProfileRequest.h"
 #include "model/ModifyPhoneBusinessProfileResult.h"
+#include "model/PublishFlowRequest.h"
+#include "model/PublishFlowResult.h"
 #include "model/QueryChatappBindWabaRequest.h"
 #include "model/QueryChatappBindWabaResult.h"
 #include "model/QueryChatappPhoneNumbersRequest.h"
@@ -102,6 +130,12 @@
 #include "model/UpdateAccountWebhookResult.h"
 #include "model/UpdateCommerceSettingRequest.h"
 #include "model/UpdateCommerceSettingResult.h"
+#include "model/UpdateFlowJSONAssetRequest.h"
+#include "model/UpdateFlowJSONAssetResult.h"
+#include "model/UpdatePhoneEncryptionPublicKeyRequest.h"
+#include "model/UpdatePhoneEncryptionPublicKeyResult.h"
+#include "model/UpdatePhoneMessageQrdlRequest.h"
+#include "model/UpdatePhoneMessageQrdlResult.h"
 #include "model/UpdatePhoneWebhookRequest.h"
 #include "model/UpdatePhoneWebhookResult.h"
 
@@ -152,9 +186,24 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::CreateChatappTemplateResult> CreateChatappTemplateOutcome;
 			typedef std::future<CreateChatappTemplateOutcome> CreateChatappTemplateOutcomeCallable;
 			typedef std::function<void(const CamsClient*, const Model::CreateChatappTemplateRequest&, const CreateChatappTemplateOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> CreateChatappTemplateAsyncHandler;
+			typedef Outcome<Error, Model::CreateFlowResult> CreateFlowOutcome;
+			typedef std::future<CreateFlowOutcome> CreateFlowOutcomeCallable;
+			typedef std::function<void(const CamsClient*, const Model::CreateFlowRequest&, const CreateFlowOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> CreateFlowAsyncHandler;
+			typedef Outcome<Error, Model::CreatePhoneMessageQrdlResult> CreatePhoneMessageQrdlOutcome;
+			typedef std::future<CreatePhoneMessageQrdlOutcome> CreatePhoneMessageQrdlOutcomeCallable;
+			typedef std::function<void(const CamsClient*, const Model::CreatePhoneMessageQrdlRequest&, const CreatePhoneMessageQrdlOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> CreatePhoneMessageQrdlAsyncHandler;
 			typedef Outcome<Error, Model::DeleteChatappTemplateResult> DeleteChatappTemplateOutcome;
 			typedef std::future<DeleteChatappTemplateOutcome> DeleteChatappTemplateOutcomeCallable;
 			typedef std::function<void(const CamsClient*, const Model::DeleteChatappTemplateRequest&, const DeleteChatappTemplateOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DeleteChatappTemplateAsyncHandler;
+			typedef Outcome<Error, Model::DeleteFlowResult> DeleteFlowOutcome;
+			typedef std::future<DeleteFlowOutcome> DeleteFlowOutcomeCallable;
+			typedef std::function<void(const CamsClient*, const Model::DeleteFlowRequest&, const DeleteFlowOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DeleteFlowAsyncHandler;
+			typedef Outcome<Error, Model::DeletePhoneMessageQrdlResult> DeletePhoneMessageQrdlOutcome;
+			typedef std::future<DeletePhoneMessageQrdlOutcome> DeletePhoneMessageQrdlOutcomeCallable;
+			typedef std::function<void(const CamsClient*, const Model::DeletePhoneMessageQrdlRequest&, const DeletePhoneMessageQrdlOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DeletePhoneMessageQrdlAsyncHandler;
+			typedef Outcome<Error, Model::DeprecateFlowResult> DeprecateFlowOutcome;
+			typedef std::future<DeprecateFlowOutcome> DeprecateFlowOutcomeCallable;
+			typedef std::function<void(const CamsClient*, const Model::DeprecateFlowRequest&, const DeprecateFlowOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DeprecateFlowAsyncHandler;
 			typedef Outcome<Error, Model::EnableWhatsappROIMetricResult> EnableWhatsappROIMetricOutcome;
 			typedef std::future<EnableWhatsappROIMetricOutcome> EnableWhatsappROIMetricOutcomeCallable;
 			typedef std::function<void(const CamsClient*, const Model::EnableWhatsappROIMetricRequest&, const EnableWhatsappROIMetricOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> EnableWhatsappROIMetricAsyncHandler;
@@ -176,9 +225,24 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::GetCommerceSettingResult> GetCommerceSettingOutcome;
 			typedef std::future<GetCommerceSettingOutcome> GetCommerceSettingOutcomeCallable;
 			typedef std::function<void(const CamsClient*, const Model::GetCommerceSettingRequest&, const GetCommerceSettingOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> GetCommerceSettingAsyncHandler;
+			typedef Outcome<Error, Model::GetFlowResult> GetFlowOutcome;
+			typedef std::future<GetFlowOutcome> GetFlowOutcomeCallable;
+			typedef std::function<void(const CamsClient*, const Model::GetFlowRequest&, const GetFlowOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> GetFlowAsyncHandler;
+			typedef Outcome<Error, Model::GetFlowJSONAssestResult> GetFlowJSONAssestOutcome;
+			typedef std::future<GetFlowJSONAssestOutcome> GetFlowJSONAssestOutcomeCallable;
+			typedef std::function<void(const CamsClient*, const Model::GetFlowJSONAssestRequest&, const GetFlowJSONAssestOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> GetFlowJSONAssestAsyncHandler;
+			typedef Outcome<Error, Model::GetFlowPreviewUrlResult> GetFlowPreviewUrlOutcome;
+			typedef std::future<GetFlowPreviewUrlOutcome> GetFlowPreviewUrlOutcomeCallable;
+			typedef std::function<void(const CamsClient*, const Model::GetFlowPreviewUrlRequest&, const GetFlowPreviewUrlOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> GetFlowPreviewUrlAsyncHandler;
 			typedef Outcome<Error, Model::GetMigrationVerifyCodeResult> GetMigrationVerifyCodeOutcome;
 			typedef std::future<GetMigrationVerifyCodeOutcome> GetMigrationVerifyCodeOutcomeCallable;
 			typedef std::function<void(const CamsClient*, const Model::GetMigrationVerifyCodeRequest&, const GetMigrationVerifyCodeOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> GetMigrationVerifyCodeAsyncHandler;
+			typedef Outcome<Error, Model::GetPermissionByCodeResult> GetPermissionByCodeOutcome;
+			typedef std::future<GetPermissionByCodeOutcome> GetPermissionByCodeOutcomeCallable;
+			typedef std::function<void(const CamsClient*, const Model::GetPermissionByCodeRequest&, const GetPermissionByCodeOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> GetPermissionByCodeAsyncHandler;
+			typedef Outcome<Error, Model::GetPhoneEncryptionPublicKeyResult> GetPhoneEncryptionPublicKeyOutcome;
+			typedef std::future<GetPhoneEncryptionPublicKeyOutcome> GetPhoneEncryptionPublicKeyOutcomeCallable;
+			typedef std::function<void(const CamsClient*, const Model::GetPhoneEncryptionPublicKeyRequest&, const GetPhoneEncryptionPublicKeyOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> GetPhoneEncryptionPublicKeyAsyncHandler;
 			typedef Outcome<Error, Model::GetPhoneNumberVerificationStatusResult> GetPhoneNumberVerificationStatusOutcome;
 			typedef std::future<GetPhoneNumberVerificationStatusOutcome> GetPhoneNumberVerificationStatusOutcomeCallable;
 			typedef std::function<void(const CamsClient*, const Model::GetPhoneNumberVerificationStatusRequest&, const GetPhoneNumberVerificationStatusOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> GetPhoneNumberVerificationStatusAsyncHandler;
@@ -194,6 +258,12 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::ListChatappTemplateResult> ListChatappTemplateOutcome;
 			typedef std::future<ListChatappTemplateOutcome> ListChatappTemplateOutcomeCallable;
 			typedef std::function<void(const CamsClient*, const Model::ListChatappTemplateRequest&, const ListChatappTemplateOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ListChatappTemplateAsyncHandler;
+			typedef Outcome<Error, Model::ListFlowResult> ListFlowOutcome;
+			typedef std::future<ListFlowOutcome> ListFlowOutcomeCallable;
+			typedef std::function<void(const CamsClient*, const Model::ListFlowRequest&, const ListFlowOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ListFlowAsyncHandler;
+			typedef Outcome<Error, Model::ListPhoneMessageQrdlResult> ListPhoneMessageQrdlOutcome;
+			typedef std::future<ListPhoneMessageQrdlOutcome> ListPhoneMessageQrdlOutcomeCallable;
+			typedef std::function<void(const CamsClient*, const Model::ListPhoneMessageQrdlRequest&, const ListPhoneMessageQrdlOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ListPhoneMessageQrdlAsyncHandler;
 			typedef Outcome<Error, Model::ListProductResult> ListProductOutcome;
 			typedef std::future<ListProductOutcome> ListProductOutcomeCallable;
 			typedef std::function<void(const CamsClient*, const Model::ListProductRequest&, const ListProductOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ListProductAsyncHandler;
@@ -203,9 +273,15 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::ModifyChatappTemplateResult> ModifyChatappTemplateOutcome;
 			typedef std::future<ModifyChatappTemplateOutcome> ModifyChatappTemplateOutcomeCallable;
 			typedef std::function<void(const CamsClient*, const Model::ModifyChatappTemplateRequest&, const ModifyChatappTemplateOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ModifyChatappTemplateAsyncHandler;
+			typedef Outcome<Error, Model::ModifyFlowResult> ModifyFlowOutcome;
+			typedef std::future<ModifyFlowOutcome> ModifyFlowOutcomeCallable;
+			typedef std::function<void(const CamsClient*, const Model::ModifyFlowRequest&, const ModifyFlowOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ModifyFlowAsyncHandler;
 			typedef Outcome<Error, Model::ModifyPhoneBusinessProfileResult> ModifyPhoneBusinessProfileOutcome;
 			typedef std::future<ModifyPhoneBusinessProfileOutcome> ModifyPhoneBusinessProfileOutcomeCallable;
 			typedef std::function<void(const CamsClient*, const Model::ModifyPhoneBusinessProfileRequest&, const ModifyPhoneBusinessProfileOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ModifyPhoneBusinessProfileAsyncHandler;
+			typedef Outcome<Error, Model::PublishFlowResult> PublishFlowOutcome;
+			typedef std::future<PublishFlowOutcome> PublishFlowOutcomeCallable;
+			typedef std::function<void(const CamsClient*, const Model::PublishFlowRequest&, const PublishFlowOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> PublishFlowAsyncHandler;
 			typedef Outcome<Error, Model::QueryChatappBindWabaResult> QueryChatappBindWabaOutcome;
 			typedef std::future<QueryChatappBindWabaOutcome> QueryChatappBindWabaOutcomeCallable;
 			typedef std::function<void(const CamsClient*, const Model::QueryChatappBindWabaRequest&, const QueryChatappBindWabaOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> QueryChatappBindWabaAsyncHandler;
@@ -233,6 +309,15 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::UpdateCommerceSettingResult> UpdateCommerceSettingOutcome;
 			typedef std::future<UpdateCommerceSettingOutcome> UpdateCommerceSettingOutcomeCallable;
 			typedef std::function<void(const CamsClient*, const Model::UpdateCommerceSettingRequest&, const UpdateCommerceSettingOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> UpdateCommerceSettingAsyncHandler;
+			typedef Outcome<Error, Model::UpdateFlowJSONAssetResult> UpdateFlowJSONAssetOutcome;
+			typedef std::future<UpdateFlowJSONAssetOutcome> UpdateFlowJSONAssetOutcomeCallable;
+			typedef std::function<void(const CamsClient*, const Model::UpdateFlowJSONAssetRequest&, const UpdateFlowJSONAssetOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> UpdateFlowJSONAssetAsyncHandler;
+			typedef Outcome<Error, Model::UpdatePhoneEncryptionPublicKeyResult> UpdatePhoneEncryptionPublicKeyOutcome;
+			typedef std::future<UpdatePhoneEncryptionPublicKeyOutcome> UpdatePhoneEncryptionPublicKeyOutcomeCallable;
+			typedef std::function<void(const CamsClient*, const Model::UpdatePhoneEncryptionPublicKeyRequest&, const UpdatePhoneEncryptionPublicKeyOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> UpdatePhoneEncryptionPublicKeyAsyncHandler;
+			typedef Outcome<Error, Model::UpdatePhoneMessageQrdlResult> UpdatePhoneMessageQrdlOutcome;
+			typedef std::future<UpdatePhoneMessageQrdlOutcome> UpdatePhoneMessageQrdlOutcomeCallable;
+			typedef std::function<void(const CamsClient*, const Model::UpdatePhoneMessageQrdlRequest&, const UpdatePhoneMessageQrdlOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> UpdatePhoneMessageQrdlAsyncHandler;
 			typedef Outcome<Error, Model::UpdatePhoneWebhookResult> UpdatePhoneWebhookOutcome;
 			typedef std::future<UpdatePhoneWebhookOutcome> UpdatePhoneWebhookOutcomeCallable;
 			typedef std::function<void(const CamsClient*, const Model::UpdatePhoneWebhookRequest&, const UpdatePhoneWebhookOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> UpdatePhoneWebhookAsyncHandler;
@@ -280,9 +365,24 @@ namespace AlibabaCloud
 			CreateChatappTemplateOutcome createChatappTemplate(const Model::CreateChatappTemplateRequest &request)const;
 			void createChatappTemplateAsync(const Model::CreateChatappTemplateRequest& request, const CreateChatappTemplateAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			CreateChatappTemplateOutcomeCallable createChatappTemplateCallable(const Model::CreateChatappTemplateRequest& request) const;
+			CreateFlowOutcome createFlow(const Model::CreateFlowRequest &request)const;
+			void createFlowAsync(const Model::CreateFlowRequest& request, const CreateFlowAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			CreateFlowOutcomeCallable createFlowCallable(const Model::CreateFlowRequest& request) const;
+			CreatePhoneMessageQrdlOutcome createPhoneMessageQrdl(const Model::CreatePhoneMessageQrdlRequest &request)const;
+			void createPhoneMessageQrdlAsync(const Model::CreatePhoneMessageQrdlRequest& request, const CreatePhoneMessageQrdlAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			CreatePhoneMessageQrdlOutcomeCallable createPhoneMessageQrdlCallable(const Model::CreatePhoneMessageQrdlRequest& request) const;
 			DeleteChatappTemplateOutcome deleteChatappTemplate(const Model::DeleteChatappTemplateRequest &request)const;
 			void deleteChatappTemplateAsync(const Model::DeleteChatappTemplateRequest& request, const DeleteChatappTemplateAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			DeleteChatappTemplateOutcomeCallable deleteChatappTemplateCallable(const Model::DeleteChatappTemplateRequest& request) const;
+			DeleteFlowOutcome deleteFlow(const Model::DeleteFlowRequest &request)const;
+			void deleteFlowAsync(const Model::DeleteFlowRequest& request, const DeleteFlowAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			DeleteFlowOutcomeCallable deleteFlowCallable(const Model::DeleteFlowRequest& request) const;
+			DeletePhoneMessageQrdlOutcome deletePhoneMessageQrdl(const Model::DeletePhoneMessageQrdlRequest &request)const;
+			void deletePhoneMessageQrdlAsync(const Model::DeletePhoneMessageQrdlRequest& request, const DeletePhoneMessageQrdlAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			DeletePhoneMessageQrdlOutcomeCallable deletePhoneMessageQrdlCallable(const Model::DeletePhoneMessageQrdlRequest& request) const;
+			DeprecateFlowOutcome deprecateFlow(const Model::DeprecateFlowRequest &request)const;
+			void deprecateFlowAsync(const Model::DeprecateFlowRequest& request, const DeprecateFlowAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			DeprecateFlowOutcomeCallable deprecateFlowCallable(const Model::DeprecateFlowRequest& request) const;
 			EnableWhatsappROIMetricOutcome enableWhatsappROIMetric(const Model::EnableWhatsappROIMetricRequest &request)const;
 			void enableWhatsappROIMetricAsync(const Model::EnableWhatsappROIMetricRequest& request, const EnableWhatsappROIMetricAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			EnableWhatsappROIMetricOutcomeCallable enableWhatsappROIMetricCallable(const Model::EnableWhatsappROIMetricRequest& request) const;
@@ -304,9 +404,24 @@ namespace AlibabaCloud
 			GetCommerceSettingOutcome getCommerceSetting(const Model::GetCommerceSettingRequest &request)const;
 			void getCommerceSettingAsync(const Model::GetCommerceSettingRequest& request, const GetCommerceSettingAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			GetCommerceSettingOutcomeCallable getCommerceSettingCallable(const Model::GetCommerceSettingRequest& request) const;
+			GetFlowOutcome getFlow(const Model::GetFlowRequest &request)const;
+			void getFlowAsync(const Model::GetFlowRequest& request, const GetFlowAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			GetFlowOutcomeCallable getFlowCallable(const Model::GetFlowRequest& request) const;
+			GetFlowJSONAssestOutcome getFlowJSONAssest(const Model::GetFlowJSONAssestRequest &request)const;
+			void getFlowJSONAssestAsync(const Model::GetFlowJSONAssestRequest& request, const GetFlowJSONAssestAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			GetFlowJSONAssestOutcomeCallable getFlowJSONAssestCallable(const Model::GetFlowJSONAssestRequest& request) const;
+			GetFlowPreviewUrlOutcome getFlowPreviewUrl(const Model::GetFlowPreviewUrlRequest &request)const;
+			void getFlowPreviewUrlAsync(const Model::GetFlowPreviewUrlRequest& request, const GetFlowPreviewUrlAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			GetFlowPreviewUrlOutcomeCallable getFlowPreviewUrlCallable(const Model::GetFlowPreviewUrlRequest& request) const;
 			GetMigrationVerifyCodeOutcome getMigrationVerifyCode(const Model::GetMigrationVerifyCodeRequest &request)const;
 			void getMigrationVerifyCodeAsync(const Model::GetMigrationVerifyCodeRequest& request, const GetMigrationVerifyCodeAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			GetMigrationVerifyCodeOutcomeCallable getMigrationVerifyCodeCallable(const Model::GetMigrationVerifyCodeRequest& request) const;
+			GetPermissionByCodeOutcome getPermissionByCode(const Model::GetPermissionByCodeRequest &request)const;
+			void getPermissionByCodeAsync(const Model::GetPermissionByCodeRequest& request, const GetPermissionByCodeAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			GetPermissionByCodeOutcomeCallable getPermissionByCodeCallable(const Model::GetPermissionByCodeRequest& request) const;
+			GetPhoneEncryptionPublicKeyOutcome getPhoneEncryptionPublicKey(const Model::GetPhoneEncryptionPublicKeyRequest &request)const;
+			void getPhoneEncryptionPublicKeyAsync(const Model::GetPhoneEncryptionPublicKeyRequest& request, const GetPhoneEncryptionPublicKeyAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			GetPhoneEncryptionPublicKeyOutcomeCallable getPhoneEncryptionPublicKeyCallable(const Model::GetPhoneEncryptionPublicKeyRequest& request) const;
 			GetPhoneNumberVerificationStatusOutcome getPhoneNumberVerificationStatus(const Model::GetPhoneNumberVerificationStatusRequest &request)const;
 			void getPhoneNumberVerificationStatusAsync(const Model::GetPhoneNumberVerificationStatusRequest& request, const GetPhoneNumberVerificationStatusAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			GetPhoneNumberVerificationStatusOutcomeCallable getPhoneNumberVerificationStatusCallable(const Model::GetPhoneNumberVerificationStatusRequest& request) const;
@@ -322,6 +437,12 @@ namespace AlibabaCloud
 			ListChatappTemplateOutcome listChatappTemplate(const Model::ListChatappTemplateRequest &request)const;
 			void listChatappTemplateAsync(const Model::ListChatappTemplateRequest& request, const ListChatappTemplateAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			ListChatappTemplateOutcomeCallable listChatappTemplateCallable(const Model::ListChatappTemplateRequest& request) const;
+			ListFlowOutcome listFlow(const Model::ListFlowRequest &request)const;
+			void listFlowAsync(const Model::ListFlowRequest& request, const ListFlowAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			ListFlowOutcomeCallable listFlowCallable(const Model::ListFlowRequest& request) const;
+			ListPhoneMessageQrdlOutcome listPhoneMessageQrdl(const Model::ListPhoneMessageQrdlRequest &request)const;
+			void listPhoneMessageQrdlAsync(const Model::ListPhoneMessageQrdlRequest& request, const ListPhoneMessageQrdlAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			ListPhoneMessageQrdlOutcomeCallable listPhoneMessageQrdlCallable(const Model::ListPhoneMessageQrdlRequest& request) const;
 			ListProductOutcome listProduct(const Model::ListProductRequest &request)const;
 			void listProductAsync(const Model::ListProductRequest& request, const ListProductAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			ListProductOutcomeCallable listProductCallable(const Model::ListProductRequest& request) const;
@@ -331,9 +452,15 @@ namespace AlibabaCloud
 			ModifyChatappTemplateOutcome modifyChatappTemplate(const Model::ModifyChatappTemplateRequest &request)const;
 			void modifyChatappTemplateAsync(const Model::ModifyChatappTemplateRequest& request, const ModifyChatappTemplateAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			ModifyChatappTemplateOutcomeCallable modifyChatappTemplateCallable(const Model::ModifyChatappTemplateRequest& request) const;
+			ModifyFlowOutcome modifyFlow(const Model::ModifyFlowRequest &request)const;
+			void modifyFlowAsync(const Model::ModifyFlowRequest& request, const ModifyFlowAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			ModifyFlowOutcomeCallable modifyFlowCallable(const Model::ModifyFlowRequest& request) const;
 			ModifyPhoneBusinessProfileOutcome modifyPhoneBusinessProfile(const Model::ModifyPhoneBusinessProfileRequest &request)const;
 			void modifyPhoneBusinessProfileAsync(const Model::ModifyPhoneBusinessProfileRequest& request, const ModifyPhoneBusinessProfileAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			ModifyPhoneBusinessProfileOutcomeCallable modifyPhoneBusinessProfileCallable(const Model::ModifyPhoneBusinessProfileRequest& request) const;
+			PublishFlowOutcome publishFlow(const Model::PublishFlowRequest &request)const;
+			void publishFlowAsync(const Model::PublishFlowRequest& request, const PublishFlowAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			PublishFlowOutcomeCallable publishFlowCallable(const Model::PublishFlowRequest& request) const;
 			QueryChatappBindWabaOutcome queryChatappBindWaba(const Model::QueryChatappBindWabaRequest &request)const;
 			void queryChatappBindWabaAsync(const Model::QueryChatappBindWabaRequest& request, const QueryChatappBindWabaAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			QueryChatappBindWabaOutcomeCallable queryChatappBindWabaCallable(const Model::QueryChatappBindWabaRequest& request) const;
@@ -361,6 +488,15 @@ namespace AlibabaCloud
 			UpdateCommerceSettingOutcome updateCommerceSetting(const Model::UpdateCommerceSettingRequest &request)const;
 			void updateCommerceSettingAsync(const Model::UpdateCommerceSettingRequest& request, const UpdateCommerceSettingAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			UpdateCommerceSettingOutcomeCallable updateCommerceSettingCallable(const Model::UpdateCommerceSettingRequest& request) const;
+			UpdateFlowJSONAssetOutcome updateFlowJSONAsset(const Model::UpdateFlowJSONAssetRequest &request)const;
+			void updateFlowJSONAssetAsync(const Model::UpdateFlowJSONAssetRequest& request, const UpdateFlowJSONAssetAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			UpdateFlowJSONAssetOutcomeCallable updateFlowJSONAssetCallable(const Model::UpdateFlowJSONAssetRequest& request) const;
+			UpdatePhoneEncryptionPublicKeyOutcome updatePhoneEncryptionPublicKey(const Model::UpdatePhoneEncryptionPublicKeyRequest &request)const;
+			void updatePhoneEncryptionPublicKeyAsync(const Model::UpdatePhoneEncryptionPublicKeyRequest& request, const UpdatePhoneEncryptionPublicKeyAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			UpdatePhoneEncryptionPublicKeyOutcomeCallable updatePhoneEncryptionPublicKeyCallable(const Model::UpdatePhoneEncryptionPublicKeyRequest& request) const;
+			UpdatePhoneMessageQrdlOutcome updatePhoneMessageQrdl(const Model::UpdatePhoneMessageQrdlRequest &request)const;
+			void updatePhoneMessageQrdlAsync(const Model::UpdatePhoneMessageQrdlRequest& request, const UpdatePhoneMessageQrdlAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			UpdatePhoneMessageQrdlOutcomeCallable updatePhoneMessageQrdlCallable(const Model::UpdatePhoneMessageQrdlRequest& request) const;
 			UpdatePhoneWebhookOutcome updatePhoneWebhook(const Model::UpdatePhoneWebhookRequest &request)const;
 			void updatePhoneWebhookAsync(const Model::UpdatePhoneWebhookRequest& request, const UpdatePhoneWebhookAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			UpdatePhoneWebhookOutcomeCallable updatePhoneWebhookCallable(const Model::UpdatePhoneWebhookRequest& request) const;

+ 3 - 0
cams/include/alibabacloud/cams/model/CreateChatappTemplateRequest.h

@@ -46,6 +46,9 @@ public:
 			std::string autofillText;
 			bool isOptOut;
 			std::string couponCode;
+			std::string flowId;
+			std::string flowAction;
+			std::string navigateScreen;
 		};
 		ButtonsItem buttonsItem;
 		std::vector<ButtonsItem> buttons;

+ 54 - 0
cams/include/alibabacloud/cams/model/CreateFlowRequest.h

@@ -0,0 +1,54 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ *
+ * 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.
+ */
+
+#ifndef ALIBABACLOUD_CAMS_MODEL_CREATEFLOWREQUEST_H_
+#define ALIBABACLOUD_CAMS_MODEL_CREATEFLOWREQUEST_H_
+
+#include <alibabacloud/cams/CamsExport.h>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <string>
+#include <vector>
+#include <map>
+
+namespace AlibabaCloud {
+namespace Cams {
+namespace Model {
+class ALIBABACLOUD_CAMS_EXPORT CreateFlowRequest : public RpcServiceRequest {
+public:
+	CreateFlowRequest();
+	~CreateFlowRequest();
+	std::string getApiCode() const;
+	void setApiCode(const std::string &apiCode);
+	std::vector<std::string> getCategories() const;
+	void setCategories(const std::vector<std::string> &categories);
+	std::string getProdCode() const;
+	void setProdCode(const std::string &prodCode);
+	std::string getCustSpaceId() const;
+	void setCustSpaceId(const std::string &custSpaceId);
+	std::string getFlowName() const;
+	void setFlowName(const std::string &flowName);
+
+private:
+	std::string apiCode_;
+	std::vector<std::string> categories_;
+	std::string prodCode_;
+	std::string custSpaceId_;
+	std::string flowName_;
+};
+} // namespace Model
+} // namespace Cams
+} // namespace AlibabaCloud
+#endif // !ALIBABACLOUD_CAMS_MODEL_CREATEFLOWREQUEST_H_

+ 61 - 0
cams/include/alibabacloud/cams/model/CreateFlowResult.h

@@ -0,0 +1,61 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * 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.
+ */
+
+#ifndef ALIBABACLOUD_CAMS_MODEL_CREATEFLOWRESULT_H_
+#define ALIBABACLOUD_CAMS_MODEL_CREATEFLOWRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/cams/CamsExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Cams
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_CAMS_EXPORT CreateFlowResult : public ServiceResult
+			{
+			public:
+				struct Data
+				{
+					std::string flowId;
+					std::vector<std::string> categories;
+					std::string flowName;
+				};
+
+
+				CreateFlowResult();
+				explicit CreateFlowResult(const std::string &payload);
+				~CreateFlowResult();
+				std::string getMessage()const;
+				Data getData()const;
+				std::string getCode()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::string message_;
+				Data data_;
+				std::string code_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_CAMS_MODEL_CREATEFLOWRESULT_H_

+ 57 - 0
cams/include/alibabacloud/cams/model/CreatePhoneMessageQrdlRequest.h

@@ -0,0 +1,57 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ *
+ * 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.
+ */
+
+#ifndef ALIBABACLOUD_CAMS_MODEL_CREATEPHONEMESSAGEQRDLREQUEST_H_
+#define ALIBABACLOUD_CAMS_MODEL_CREATEPHONEMESSAGEQRDLREQUEST_H_
+
+#include <alibabacloud/cams/CamsExport.h>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <string>
+#include <vector>
+#include <map>
+
+namespace AlibabaCloud {
+namespace Cams {
+namespace Model {
+class ALIBABACLOUD_CAMS_EXPORT CreatePhoneMessageQrdlRequest : public RpcServiceRequest {
+public:
+	CreatePhoneMessageQrdlRequest();
+	~CreatePhoneMessageQrdlRequest();
+	std::string getPhoneNumber() const;
+	void setPhoneNumber(const std::string &phoneNumber);
+	std::string getPrefilledMessage() const;
+	void setPrefilledMessage(const std::string &prefilledMessage);
+	std::string getApiCode() const;
+	void setApiCode(const std::string &apiCode);
+	std::string getGenerateQrImage() const;
+	void setGenerateQrImage(const std::string &generateQrImage);
+	std::string getProdCode() const;
+	void setProdCode(const std::string &prodCode);
+	std::string getCustSpaceId() const;
+	void setCustSpaceId(const std::string &custSpaceId);
+
+private:
+	std::string phoneNumber_;
+	std::string prefilledMessage_;
+	std::string apiCode_;
+	std::string generateQrImage_;
+	std::string prodCode_;
+	std::string custSpaceId_;
+};
+} // namespace Model
+} // namespace Cams
+} // namespace AlibabaCloud
+#endif // !ALIBABACLOUD_CAMS_MODEL_CREATEPHONEMESSAGEQRDLREQUEST_H_

+ 64 - 0
cams/include/alibabacloud/cams/model/CreatePhoneMessageQrdlResult.h

@@ -0,0 +1,64 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * 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.
+ */
+
+#ifndef ALIBABACLOUD_CAMS_MODEL_CREATEPHONEMESSAGEQRDLRESULT_H_
+#define ALIBABACLOUD_CAMS_MODEL_CREATEPHONEMESSAGEQRDLRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/cams/CamsExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Cams
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_CAMS_EXPORT CreatePhoneMessageQrdlResult : public ServiceResult
+			{
+			public:
+				struct Data
+				{
+					std::string qrImageUrl;
+					std::string phoneNumber;
+					std::string qrdlCode;
+					std::string deepLinkUrl;
+					std::string generateQrImage;
+					std::string prefilledMessage;
+				};
+
+
+				CreatePhoneMessageQrdlResult();
+				explicit CreatePhoneMessageQrdlResult(const std::string &payload);
+				~CreatePhoneMessageQrdlResult();
+				std::string getMessage()const;
+				Data getData()const;
+				std::string getCode()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::string message_;
+				Data data_;
+				std::string code_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_CAMS_MODEL_CREATEPHONEMESSAGEQRDLRESULT_H_

+ 9 - 0
cams/include/alibabacloud/cams/model/DeleteChatappTemplateRequest.h

@@ -32,8 +32,14 @@ public:
 	~DeleteChatappTemplateRequest();
 	std::string getCustWabaId() const;
 	void setCustWabaId(const std::string &custWabaId);
+	std::string getLanguage() const;
+	void setLanguage(const std::string &language);
 	std::string getApiCode() const;
 	void setApiCode(const std::string &apiCode);
+	std::string getTemplateType() const;
+	void setTemplateType(const std::string &templateType);
+	std::string getTemplateName() const;
+	void setTemplateName(const std::string &templateName);
 	std::string getIsvCode() const;
 	void setIsvCode(const std::string &isvCode);
 	std::string getProdCode() const;
@@ -45,7 +51,10 @@ public:
 
 private:
 	std::string custWabaId_;
+	std::string language_;
 	std::string apiCode_;
+	std::string templateType_;
+	std::string templateName_;
 	std::string isvCode_;
 	std::string prodCode_;
 	std::string custSpaceId_;

+ 60 - 0
cams/include/alibabacloud/cams/model/DeleteFlowRequest.h

@@ -0,0 +1,60 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ *
+ * 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.
+ */
+
+#ifndef ALIBABACLOUD_CAMS_MODEL_DELETEFLOWREQUEST_H_
+#define ALIBABACLOUD_CAMS_MODEL_DELETEFLOWREQUEST_H_
+
+#include <alibabacloud/cams/CamsExport.h>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <string>
+#include <vector>
+#include <map>
+
+namespace AlibabaCloud {
+namespace Cams {
+namespace Model {
+class ALIBABACLOUD_CAMS_EXPORT DeleteFlowRequest : public RpcServiceRequest {
+public:
+	DeleteFlowRequest();
+	~DeleteFlowRequest();
+	long getResourceOwnerId() const;
+	void setResourceOwnerId(long resourceOwnerId);
+	std::string getCode() const;
+	void setCode(const std::string &code);
+	std::string getExtendFunction() const;
+	void setExtendFunction(const std::string &extendFunction);
+	std::string getAccessKeyId() const;
+	void setAccessKeyId(const std::string &accessKeyId);
+	std::string getRouteName() const;
+	void setRouteName(const std::string &routeName);
+	std::string getResourceOwnerAccount() const;
+	void setResourceOwnerAccount(const std::string &resourceOwnerAccount);
+	long getOwnerId() const;
+	void setOwnerId(long ownerId);
+
+private:
+	long resourceOwnerId_;
+	std::string code_;
+	std::string extendFunction_;
+	std::string accessKeyId_;
+	std::string routeName_;
+	std::string resourceOwnerAccount_;
+	long ownerId_;
+};
+} // namespace Model
+} // namespace Cams
+} // namespace AlibabaCloud
+#endif // !ALIBABACLOUD_CAMS_MODEL_DELETEFLOWREQUEST_H_

+ 59 - 0
cams/include/alibabacloud/cams/model/DeleteFlowResult.h

@@ -0,0 +1,59 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * 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.
+ */
+
+#ifndef ALIBABACLOUD_CAMS_MODEL_DELETEFLOWRESULT_H_
+#define ALIBABACLOUD_CAMS_MODEL_DELETEFLOWRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/cams/CamsExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Cams
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_CAMS_EXPORT DeleteFlowResult : public ServiceResult
+			{
+			public:
+
+
+				DeleteFlowResult();
+				explicit DeleteFlowResult(const std::string &payload);
+				~DeleteFlowResult();
+				std::string getResponse()const;
+				std::string getAccessDeniedDetail()const;
+				std::string getMessage()const;
+				std::string getCode()const;
+				bool getSuccess()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::string response_;
+				std::string accessDeniedDetail_;
+				std::string message_;
+				std::string code_;
+				bool success_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_CAMS_MODEL_DELETEFLOWRESULT_H_

+ 54 - 0
cams/include/alibabacloud/cams/model/DeletePhoneMessageQrdlRequest.h

@@ -0,0 +1,54 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ *
+ * 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.
+ */
+
+#ifndef ALIBABACLOUD_CAMS_MODEL_DELETEPHONEMESSAGEQRDLREQUEST_H_
+#define ALIBABACLOUD_CAMS_MODEL_DELETEPHONEMESSAGEQRDLREQUEST_H_
+
+#include <alibabacloud/cams/CamsExport.h>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <string>
+#include <vector>
+#include <map>
+
+namespace AlibabaCloud {
+namespace Cams {
+namespace Model {
+class ALIBABACLOUD_CAMS_EXPORT DeletePhoneMessageQrdlRequest : public RpcServiceRequest {
+public:
+	DeletePhoneMessageQrdlRequest();
+	~DeletePhoneMessageQrdlRequest();
+	std::string getPhoneNumber() const;
+	void setPhoneNumber(const std::string &phoneNumber);
+	std::string getApiCode() const;
+	void setApiCode(const std::string &apiCode);
+	std::string getQrdlCode() const;
+	void setQrdlCode(const std::string &qrdlCode);
+	std::string getProdCode() const;
+	void setProdCode(const std::string &prodCode);
+	std::string getCustSpaceId() const;
+	void setCustSpaceId(const std::string &custSpaceId);
+
+private:
+	std::string phoneNumber_;
+	std::string apiCode_;
+	std::string qrdlCode_;
+	std::string prodCode_;
+	std::string custSpaceId_;
+};
+} // namespace Model
+} // namespace Cams
+} // namespace AlibabaCloud
+#endif // !ALIBABACLOUD_CAMS_MODEL_DELETEPHONEMESSAGEQRDLREQUEST_H_

+ 53 - 0
cams/include/alibabacloud/cams/model/DeletePhoneMessageQrdlResult.h

@@ -0,0 +1,53 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * 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.
+ */
+
+#ifndef ALIBABACLOUD_CAMS_MODEL_DELETEPHONEMESSAGEQRDLRESULT_H_
+#define ALIBABACLOUD_CAMS_MODEL_DELETEPHONEMESSAGEQRDLRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/cams/CamsExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Cams
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_CAMS_EXPORT DeletePhoneMessageQrdlResult : public ServiceResult
+			{
+			public:
+
+
+				DeletePhoneMessageQrdlResult();
+				explicit DeletePhoneMessageQrdlResult(const std::string &payload);
+				~DeletePhoneMessageQrdlResult();
+				std::string getMessage()const;
+				std::string getCode()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::string message_;
+				std::string code_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_CAMS_MODEL_DELETEPHONEMESSAGEQRDLRESULT_H_

+ 51 - 0
cams/include/alibabacloud/cams/model/DeprecateFlowRequest.h

@@ -0,0 +1,51 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ *
+ * 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.
+ */
+
+#ifndef ALIBABACLOUD_CAMS_MODEL_DEPRECATEFLOWREQUEST_H_
+#define ALIBABACLOUD_CAMS_MODEL_DEPRECATEFLOWREQUEST_H_
+
+#include <alibabacloud/cams/CamsExport.h>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <string>
+#include <vector>
+#include <map>
+
+namespace AlibabaCloud {
+namespace Cams {
+namespace Model {
+class ALIBABACLOUD_CAMS_EXPORT DeprecateFlowRequest : public RpcServiceRequest {
+public:
+	DeprecateFlowRequest();
+	~DeprecateFlowRequest();
+	std::string getApiCode() const;
+	void setApiCode(const std::string &apiCode);
+	std::string getProdCode() const;
+	void setProdCode(const std::string &prodCode);
+	std::string getCustSpaceId() const;
+	void setCustSpaceId(const std::string &custSpaceId);
+	std::string getFlowId() const;
+	void setFlowId(const std::string &flowId);
+
+private:
+	std::string apiCode_;
+	std::string prodCode_;
+	std::string custSpaceId_;
+	std::string flowId_;
+};
+} // namespace Model
+} // namespace Cams
+} // namespace AlibabaCloud
+#endif // !ALIBABACLOUD_CAMS_MODEL_DEPRECATEFLOWREQUEST_H_

+ 53 - 0
cams/include/alibabacloud/cams/model/DeprecateFlowResult.h

@@ -0,0 +1,53 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * 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.
+ */
+
+#ifndef ALIBABACLOUD_CAMS_MODEL_DEPRECATEFLOWRESULT_H_
+#define ALIBABACLOUD_CAMS_MODEL_DEPRECATEFLOWRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/cams/CamsExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Cams
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_CAMS_EXPORT DeprecateFlowResult : public ServiceResult
+			{
+			public:
+
+
+				DeprecateFlowResult();
+				explicit DeprecateFlowResult(const std::string &payload);
+				~DeprecateFlowResult();
+				std::string getMessage()const;
+				std::string getCode()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::string message_;
+				std::string code_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_CAMS_MODEL_DEPRECATEFLOWRESULT_H_

+ 3 - 0
cams/include/alibabacloud/cams/model/GetChatappTemplateDetailRequest.h

@@ -38,6 +38,8 @@ public:
 	void setApiCode(const std::string &apiCode);
 	std::string getTemplateType() const;
 	void setTemplateType(const std::string &templateType);
+	std::string getTemplateName() const;
+	void setTemplateName(const std::string &templateName);
 	std::string getIsvCode() const;
 	void setIsvCode(const std::string &isvCode);
 	std::string getProdCode() const;
@@ -52,6 +54,7 @@ private:
 	std::string custWabaId_;
 	std::string apiCode_;
 	std::string templateType_;
+	std::string templateName_;
 	std::string isvCode_;
 	std::string prodCode_;
 	std::string custSpaceId_;

+ 7 - 4
cams/include/alibabacloud/cams/model/GetChatappTemplateDetailResult.h

@@ -47,16 +47,19 @@ namespace AlibabaCloud
 								std::string nextTemplateName;
 							};
 							std::string autofillText;
+							std::string packageName;
+							std::string text;
+							ExtendAttrs extendAttrs;
+							std::string url;
+							std::string flowId;
 							std::string type;
 							std::string couponCode;
 							bool isOptOut;
+							std::string flowAction;
 							std::string signatureHash;
-							std::string packageName;
+							std::string navigateScreen;
 							std::string phoneNumber;
-							std::string text;
 							std::string urlType;
-							ExtendAttrs extendAttrs;
-							std::string url;
 						};
 						struct 轮播卡片列表
 						{

+ 51 - 0
cams/include/alibabacloud/cams/model/GetFlowJSONAssestRequest.h

@@ -0,0 +1,51 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ *
+ * 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.
+ */
+
+#ifndef ALIBABACLOUD_CAMS_MODEL_GETFLOWJSONASSESTREQUEST_H_
+#define ALIBABACLOUD_CAMS_MODEL_GETFLOWJSONASSESTREQUEST_H_
+
+#include <alibabacloud/cams/CamsExport.h>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <string>
+#include <vector>
+#include <map>
+
+namespace AlibabaCloud {
+namespace Cams {
+namespace Model {
+class ALIBABACLOUD_CAMS_EXPORT GetFlowJSONAssestRequest : public RpcServiceRequest {
+public:
+	GetFlowJSONAssestRequest();
+	~GetFlowJSONAssestRequest();
+	std::string getApiCode() const;
+	void setApiCode(const std::string &apiCode);
+	std::string getProdCode() const;
+	void setProdCode(const std::string &prodCode);
+	std::string getCustSpaceId() const;
+	void setCustSpaceId(const std::string &custSpaceId);
+	std::string getFlowId() const;
+	void setFlowId(const std::string &flowId);
+
+private:
+	std::string apiCode_;
+	std::string prodCode_;
+	std::string custSpaceId_;
+	std::string flowId_;
+};
+} // namespace Model
+} // namespace Cams
+} // namespace AlibabaCloud
+#endif // !ALIBABACLOUD_CAMS_MODEL_GETFLOWJSONASSESTREQUEST_H_

+ 60 - 0
cams/include/alibabacloud/cams/model/GetFlowJSONAssestResult.h

@@ -0,0 +1,60 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * 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.
+ */
+
+#ifndef ALIBABACLOUD_CAMS_MODEL_GETFLOWJSONASSESTRESULT_H_
+#define ALIBABACLOUD_CAMS_MODEL_GETFLOWJSONASSESTRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/cams/CamsExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Cams
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_CAMS_EXPORT GetFlowJSONAssestResult : public ServiceResult
+			{
+			public:
+				struct Data
+				{
+					std::string flowId;
+					std::string filePath;
+				};
+
+
+				GetFlowJSONAssestResult();
+				explicit GetFlowJSONAssestResult(const std::string &payload);
+				~GetFlowJSONAssestResult();
+				std::string getMessage()const;
+				Data getData()const;
+				std::string getCode()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::string message_;
+				Data data_;
+				std::string code_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_CAMS_MODEL_GETFLOWJSONASSESTRESULT_H_

+ 51 - 0
cams/include/alibabacloud/cams/model/GetFlowPreviewUrlRequest.h

@@ -0,0 +1,51 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ *
+ * 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.
+ */
+
+#ifndef ALIBABACLOUD_CAMS_MODEL_GETFLOWPREVIEWURLREQUEST_H_
+#define ALIBABACLOUD_CAMS_MODEL_GETFLOWPREVIEWURLREQUEST_H_
+
+#include <alibabacloud/cams/CamsExport.h>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <string>
+#include <vector>
+#include <map>
+
+namespace AlibabaCloud {
+namespace Cams {
+namespace Model {
+class ALIBABACLOUD_CAMS_EXPORT GetFlowPreviewUrlRequest : public RpcServiceRequest {
+public:
+	GetFlowPreviewUrlRequest();
+	~GetFlowPreviewUrlRequest();
+	std::string getApiCode() const;
+	void setApiCode(const std::string &apiCode);
+	std::string getProdCode() const;
+	void setProdCode(const std::string &prodCode);
+	std::string getCustSpaceId() const;
+	void setCustSpaceId(const std::string &custSpaceId);
+	std::string getFlowId() const;
+	void setFlowId(const std::string &flowId);
+
+private:
+	std::string apiCode_;
+	std::string prodCode_;
+	std::string custSpaceId_;
+	std::string flowId_;
+};
+} // namespace Model
+} // namespace Cams
+} // namespace AlibabaCloud
+#endif // !ALIBABACLOUD_CAMS_MODEL_GETFLOWPREVIEWURLREQUEST_H_

+ 61 - 0
cams/include/alibabacloud/cams/model/GetFlowPreviewUrlResult.h

@@ -0,0 +1,61 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * 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.
+ */
+
+#ifndef ALIBABACLOUD_CAMS_MODEL_GETFLOWPREVIEWURLRESULT_H_
+#define ALIBABACLOUD_CAMS_MODEL_GETFLOWPREVIEWURLRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/cams/CamsExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Cams
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_CAMS_EXPORT GetFlowPreviewUrlResult : public ServiceResult
+			{
+			public:
+				struct Data
+				{
+					std::string flowId;
+					std::string previewUrl;
+					long previewUrlExpires;
+				};
+
+
+				GetFlowPreviewUrlResult();
+				explicit GetFlowPreviewUrlResult(const std::string &payload);
+				~GetFlowPreviewUrlResult();
+				std::string getMessage()const;
+				Data getData()const;
+				std::string getCode()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::string message_;
+				Data data_;
+				std::string code_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_CAMS_MODEL_GETFLOWPREVIEWURLRESULT_H_

+ 51 - 0
cams/include/alibabacloud/cams/model/GetFlowRequest.h

@@ -0,0 +1,51 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ *
+ * 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.
+ */
+
+#ifndef ALIBABACLOUD_CAMS_MODEL_GETFLOWREQUEST_H_
+#define ALIBABACLOUD_CAMS_MODEL_GETFLOWREQUEST_H_
+
+#include <alibabacloud/cams/CamsExport.h>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <string>
+#include <vector>
+#include <map>
+
+namespace AlibabaCloud {
+namespace Cams {
+namespace Model {
+class ALIBABACLOUD_CAMS_EXPORT GetFlowRequest : public RpcServiceRequest {
+public:
+	GetFlowRequest();
+	~GetFlowRequest();
+	std::string getApiCode() const;
+	void setApiCode(const std::string &apiCode);
+	std::string getProdCode() const;
+	void setProdCode(const std::string &prodCode);
+	std::string getCustSpaceId() const;
+	void setCustSpaceId(const std::string &custSpaceId);
+	std::string getFlowId() const;
+	void setFlowId(const std::string &flowId);
+
+private:
+	std::string apiCode_;
+	std::string prodCode_;
+	std::string custSpaceId_;
+	std::string flowId_;
+};
+} // namespace Model
+} // namespace Cams
+} // namespace AlibabaCloud
+#endif // !ALIBABACLOUD_CAMS_MODEL_GETFLOWREQUEST_H_

+ 66 - 0
cams/include/alibabacloud/cams/model/GetFlowResult.h

@@ -0,0 +1,66 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * 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.
+ */
+
+#ifndef ALIBABACLOUD_CAMS_MODEL_GETFLOWRESULT_H_
+#define ALIBABACLOUD_CAMS_MODEL_GETFLOWRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/cams/CamsExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Cams
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_CAMS_EXPORT GetFlowResult : public ServiceResult
+			{
+			public:
+				struct Data
+				{
+					std::string status;
+					std::string flowId;
+					std::string previewUrl;
+					std::string jSONVersion;
+					std::vector<std::string> categories;
+					std::string flowName;
+					std::string dataApiVersion;
+					long previewUrlExpires;
+				};
+
+
+				GetFlowResult();
+				explicit GetFlowResult(const std::string &payload);
+				~GetFlowResult();
+				std::string getMessage()const;
+				Data getData()const;
+				std::string getCode()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::string message_;
+				Data data_;
+				std::string code_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_CAMS_MODEL_GETFLOWRESULT_H_

+ 54 - 0
cams/include/alibabacloud/cams/model/GetPermissionByCodeRequest.h

@@ -0,0 +1,54 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ *
+ * 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.
+ */
+
+#ifndef ALIBABACLOUD_CAMS_MODEL_GETPERMISSIONBYCODEREQUEST_H_
+#define ALIBABACLOUD_CAMS_MODEL_GETPERMISSIONBYCODEREQUEST_H_
+
+#include <alibabacloud/cams/CamsExport.h>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <string>
+#include <vector>
+#include <map>
+
+namespace AlibabaCloud {
+namespace Cams {
+namespace Model {
+class ALIBABACLOUD_CAMS_EXPORT GetPermissionByCodeRequest : public RpcServiceRequest {
+public:
+	GetPermissionByCodeRequest();
+	~GetPermissionByCodeRequest();
+	std::string getCode() const;
+	void setCode(const std::string &code);
+	std::string getApiCode() const;
+	void setApiCode(const std::string &apiCode);
+	std::vector<std::string> getPermissions() const;
+	void setPermissions(const std::vector<std::string> &permissions);
+	std::string getProdCode() const;
+	void setProdCode(const std::string &prodCode);
+	std::string getCustSpaceId() const;
+	void setCustSpaceId(const std::string &custSpaceId);
+
+private:
+	std::string code_;
+	std::string apiCode_;
+	std::vector<std::string> permissions_;
+	std::string prodCode_;
+	std::string custSpaceId_;
+};
+} // namespace Model
+} // namespace Cams
+} // namespace AlibabaCloud
+#endif // !ALIBABACLOUD_CAMS_MODEL_GETPERMISSIONBYCODEREQUEST_H_

+ 53 - 0
cams/include/alibabacloud/cams/model/GetPermissionByCodeResult.h

@@ -0,0 +1,53 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * 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.
+ */
+
+#ifndef ALIBABACLOUD_CAMS_MODEL_GETPERMISSIONBYCODERESULT_H_
+#define ALIBABACLOUD_CAMS_MODEL_GETPERMISSIONBYCODERESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/cams/CamsExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Cams
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_CAMS_EXPORT GetPermissionByCodeResult : public ServiceResult
+			{
+			public:
+
+
+				GetPermissionByCodeResult();
+				explicit GetPermissionByCodeResult(const std::string &payload);
+				~GetPermissionByCodeResult();
+				std::string getMessage()const;
+				std::string getCode()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::string message_;
+				std::string code_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_CAMS_MODEL_GETPERMISSIONBYCODERESULT_H_

+ 51 - 0
cams/include/alibabacloud/cams/model/GetPhoneEncryptionPublicKeyRequest.h

@@ -0,0 +1,51 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ *
+ * 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.
+ */
+
+#ifndef ALIBABACLOUD_CAMS_MODEL_GETPHONEENCRYPTIONPUBLICKEYREQUEST_H_
+#define ALIBABACLOUD_CAMS_MODEL_GETPHONEENCRYPTIONPUBLICKEYREQUEST_H_
+
+#include <alibabacloud/cams/CamsExport.h>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <string>
+#include <vector>
+#include <map>
+
+namespace AlibabaCloud {
+namespace Cams {
+namespace Model {
+class ALIBABACLOUD_CAMS_EXPORT GetPhoneEncryptionPublicKeyRequest : public RpcServiceRequest {
+public:
+	GetPhoneEncryptionPublicKeyRequest();
+	~GetPhoneEncryptionPublicKeyRequest();
+	std::string getPhoneNumber() const;
+	void setPhoneNumber(const std::string &phoneNumber);
+	std::string getApiCode() const;
+	void setApiCode(const std::string &apiCode);
+	std::string getProdCode() const;
+	void setProdCode(const std::string &prodCode);
+	std::string getCustSpaceId() const;
+	void setCustSpaceId(const std::string &custSpaceId);
+
+private:
+	std::string phoneNumber_;
+	std::string apiCode_;
+	std::string prodCode_;
+	std::string custSpaceId_;
+};
+} // namespace Model
+} // namespace Cams
+} // namespace AlibabaCloud
+#endif // !ALIBABACLOUD_CAMS_MODEL_GETPHONEENCRYPTIONPUBLICKEYREQUEST_H_

+ 61 - 0
cams/include/alibabacloud/cams/model/GetPhoneEncryptionPublicKeyResult.h

@@ -0,0 +1,61 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * 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.
+ */
+
+#ifndef ALIBABACLOUD_CAMS_MODEL_GETPHONEENCRYPTIONPUBLICKEYRESULT_H_
+#define ALIBABACLOUD_CAMS_MODEL_GETPHONEENCRYPTIONPUBLICKEYRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/cams/CamsExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Cams
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_CAMS_EXPORT GetPhoneEncryptionPublicKeyResult : public ServiceResult
+			{
+			public:
+				struct Data
+				{
+					std::string encryptionPublicKey;
+					std::string phoneNumber;
+					std::string encryptionPublicKeyStatus;
+				};
+
+
+				GetPhoneEncryptionPublicKeyResult();
+				explicit GetPhoneEncryptionPublicKeyResult(const std::string &payload);
+				~GetPhoneEncryptionPublicKeyResult();
+				std::string getMessage()const;
+				Data getData()const;
+				std::string getCode()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::string message_;
+				Data data_;
+				std::string code_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_CAMS_MODEL_GETPHONEENCRYPTIONPUBLICKEYRESULT_H_

+ 9 - 3
cams/include/alibabacloud/cams/model/IsvGetAppIdRequest.h

@@ -30,17 +30,23 @@ class ALIBABACLOUD_CAMS_EXPORT IsvGetAppIdRequest : public RpcServiceRequest {
 public:
 	IsvGetAppIdRequest();
 	~IsvGetAppIdRequest();
-	std::string getProdCode() const;
-	void setProdCode(const std::string &prodCode);
+	std::string getIntlVersion() const;
+	void setIntlVersion(const std::string &intlVersion);
 	std::string getType() const;
 	void setType(const std::string &type);
 	std::string getApiCode() const;
 	void setApiCode(const std::string &apiCode);
+	std::string getPermissions() const;
+	void setPermissions(const std::string &permissions);
+	std::string getProdCode() const;
+	void setProdCode(const std::string &prodCode);
 
 private:
-	std::string prodCode_;
+	std::string intlVersion_;
 	std::string type_;
 	std::string apiCode_;
+	std::string permissions_;
+	std::string prodCode_;
 };
 } // namespace Model
 } // namespace Cams

+ 2 - 0
cams/include/alibabacloud/cams/model/IsvGetAppIdResult.h

@@ -40,6 +40,7 @@ namespace AlibabaCloud
 				std::string getAccessDeniedDetail()const;
 				std::string getMessage()const;
 				std::string getAppId()const;
+				std::string getConfigId()const;
 				std::string getCode()const;
 
 			protected:
@@ -48,6 +49,7 @@ namespace AlibabaCloud
 				std::string accessDeniedDetail_;
 				std::string message_;
 				std::string appId_;
+				std::string configId_;
 				std::string code_;
 
 			};

+ 66 - 0
cams/include/alibabacloud/cams/model/ListFlowRequest.h

@@ -0,0 +1,66 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ *
+ * 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.
+ */
+
+#ifndef ALIBABACLOUD_CAMS_MODEL_LISTFLOWREQUEST_H_
+#define ALIBABACLOUD_CAMS_MODEL_LISTFLOWREQUEST_H_
+
+#include <alibabacloud/cams/CamsExport.h>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <string>
+#include <vector>
+#include <map>
+
+namespace AlibabaCloud {
+namespace Cams {
+namespace Model {
+class ALIBABACLOUD_CAMS_EXPORT ListFlowRequest : public RpcServiceRequest {
+public:
+	ListFlowRequest();
+	~ListFlowRequest();
+	long getResourceOwnerId() const;
+	void setResourceOwnerId(long resourceOwnerId);
+	std::string getExtendFunction() const;
+	void setExtendFunction(const std::string &extendFunction);
+	std::string getAccessKeyId() const;
+	void setAccessKeyId(const std::string &accessKeyId);
+	long getPageSize() const;
+	void setPageSize(long pageSize);
+	std::string getRouteName() const;
+	void setRouteName(const std::string &routeName);
+	std::string getResourceOwnerAccount() const;
+	void setResourceOwnerAccount(const std::string &resourceOwnerAccount);
+	long getOwnerId() const;
+	void setOwnerId(long ownerId);
+	long getPageNo() const;
+	void setPageNo(long pageNo);
+	std::string getStatus() const;
+	void setStatus(const std::string &status);
+
+private:
+	long resourceOwnerId_;
+	std::string extendFunction_;
+	std::string accessKeyId_;
+	long pageSize_;
+	std::string routeName_;
+	std::string resourceOwnerAccount_;
+	long ownerId_;
+	long pageNo_;
+	std::string status_;
+};
+} // namespace Model
+} // namespace Cams
+} // namespace AlibabaCloud
+#endif // !ALIBABACLOUD_CAMS_MODEL_LISTFLOWREQUEST_H_

+ 73 - 0
cams/include/alibabacloud/cams/model/ListFlowResult.h

@@ -0,0 +1,73 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * 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.
+ */
+
+#ifndef ALIBABACLOUD_CAMS_MODEL_LISTFLOWRESULT_H_
+#define ALIBABACLOUD_CAMS_MODEL_LISTFLOWRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/cams/CamsExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Cams
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_CAMS_EXPORT ListFlowResult : public ServiceResult
+			{
+			public:
+				struct DataItem
+				{
+					std::string status;
+					std::string gmtCreate;
+					std::string gmtModified;
+					std::string title;
+					std::string partnerId;
+					std::string id;
+					std::string code;
+					std::string bizCode;
+					std::string remark;
+				};
+
+
+				ListFlowResult();
+				explicit ListFlowResult(const std::string &payload);
+				~ListFlowResult();
+				std::string getResponse()const;
+				std::string getAccessDeniedDetail()const;
+				std::string getMessage()const;
+				std::vector<DataItem> getData()const;
+				std::string getCode()const;
+				bool getSuccess()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::string response_;
+				std::string accessDeniedDetail_;
+				std::string message_;
+				std::vector<DataItem> data_;
+				std::string code_;
+				bool success_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_CAMS_MODEL_LISTFLOWRESULT_H_

+ 51 - 0
cams/include/alibabacloud/cams/model/ListPhoneMessageQrdlRequest.h

@@ -0,0 +1,51 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ *
+ * 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.
+ */
+
+#ifndef ALIBABACLOUD_CAMS_MODEL_LISTPHONEMESSAGEQRDLREQUEST_H_
+#define ALIBABACLOUD_CAMS_MODEL_LISTPHONEMESSAGEQRDLREQUEST_H_
+
+#include <alibabacloud/cams/CamsExport.h>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <string>
+#include <vector>
+#include <map>
+
+namespace AlibabaCloud {
+namespace Cams {
+namespace Model {
+class ALIBABACLOUD_CAMS_EXPORT ListPhoneMessageQrdlRequest : public RpcServiceRequest {
+public:
+	ListPhoneMessageQrdlRequest();
+	~ListPhoneMessageQrdlRequest();
+	std::string getPhoneNumber() const;
+	void setPhoneNumber(const std::string &phoneNumber);
+	std::string getApiCode() const;
+	void setApiCode(const std::string &apiCode);
+	std::string getProdCode() const;
+	void setProdCode(const std::string &prodCode);
+	std::string getCustSpaceId() const;
+	void setCustSpaceId(const std::string &custSpaceId);
+
+private:
+	std::string phoneNumber_;
+	std::string apiCode_;
+	std::string prodCode_;
+	std::string custSpaceId_;
+};
+} // namespace Model
+} // namespace Cams
+} // namespace AlibabaCloud
+#endif // !ALIBABACLOUD_CAMS_MODEL_LISTPHONEMESSAGEQRDLREQUEST_H_

+ 64 - 0
cams/include/alibabacloud/cams/model/ListPhoneMessageQrdlResult.h

@@ -0,0 +1,64 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * 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.
+ */
+
+#ifndef ALIBABACLOUD_CAMS_MODEL_LISTPHONEMESSAGEQRDLRESULT_H_
+#define ALIBABACLOUD_CAMS_MODEL_LISTPHONEMESSAGEQRDLRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/cams/CamsExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Cams
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_CAMS_EXPORT ListPhoneMessageQrdlResult : public ServiceResult
+			{
+			public:
+				struct 列表
+				{
+					std::string qrImageUrl;
+					std::string phoneNumber;
+					std::string qrdlCode;
+					std::string deepLinkUrl;
+					std::string generateQrImage;
+					std::string prefilledMessage;
+				};
+
+
+				ListPhoneMessageQrdlResult();
+				explicit ListPhoneMessageQrdlResult(const std::string &payload);
+				~ListPhoneMessageQrdlResult();
+				std::string getMessage()const;
+				std::vector<列表> getData()const;
+				std::string getCode()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::string message_;
+				std::vector<列表> data_;
+				std::string code_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_CAMS_MODEL_LISTPHONEMESSAGEQRDLRESULT_H_

+ 6 - 0
cams/include/alibabacloud/cams/model/ModifyChatappTemplateRequest.h

@@ -46,6 +46,9 @@ public:
 			std::string autofillText;
 			bool isOptOut;
 			std::string couponCode;
+			std::string flowId;
+			std::string flowAction;
+			std::string navigateScreen;
 		};
 		ButtonsItem buttonsItem;
 		std::vector<ButtonsItem> buttons;
@@ -91,6 +94,8 @@ public:
 	void setApiCode(const std::string &apiCode);
 	std::string getTemplateType() const;
 	void setTemplateType(const std::string &templateType);
+	std::string getTemplateName() const;
+	void setTemplateName(const std::string &templateName);
 	std::string getIsvCode() const;
 	void setIsvCode(const std::string &isvCode);
 	std::string getProdCode() const;
@@ -111,6 +116,7 @@ private:
 	std::map<std::string, std::string> example_;
 	std::string apiCode_;
 	std::string templateType_;
+	std::string templateName_;
 	std::string isvCode_;
 	std::string prodCode_;
 	std::string custSpaceId_;

+ 57 - 0
cams/include/alibabacloud/cams/model/ModifyFlowRequest.h

@@ -0,0 +1,57 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ *
+ * 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.
+ */
+
+#ifndef ALIBABACLOUD_CAMS_MODEL_MODIFYFLOWREQUEST_H_
+#define ALIBABACLOUD_CAMS_MODEL_MODIFYFLOWREQUEST_H_
+
+#include <alibabacloud/cams/CamsExport.h>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <string>
+#include <vector>
+#include <map>
+
+namespace AlibabaCloud {
+namespace Cams {
+namespace Model {
+class ALIBABACLOUD_CAMS_EXPORT ModifyFlowRequest : public RpcServiceRequest {
+public:
+	ModifyFlowRequest();
+	~ModifyFlowRequest();
+	std::string getApiCode() const;
+	void setApiCode(const std::string &apiCode);
+	std::vector<std::string> getCategories() const;
+	void setCategories(const std::vector<std::string> &categories);
+	std::string getProdCode() const;
+	void setProdCode(const std::string &prodCode);
+	std::string getCustSpaceId() const;
+	void setCustSpaceId(const std::string &custSpaceId);
+	std::string getFlowName() const;
+	void setFlowName(const std::string &flowName);
+	std::string getFlowId() const;
+	void setFlowId(const std::string &flowId);
+
+private:
+	std::string apiCode_;
+	std::vector<std::string> categories_;
+	std::string prodCode_;
+	std::string custSpaceId_;
+	std::string flowName_;
+	std::string flowId_;
+};
+} // namespace Model
+} // namespace Cams
+} // namespace AlibabaCloud
+#endif // !ALIBABACLOUD_CAMS_MODEL_MODIFYFLOWREQUEST_H_

+ 61 - 0
cams/include/alibabacloud/cams/model/ModifyFlowResult.h

@@ -0,0 +1,61 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * 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.
+ */
+
+#ifndef ALIBABACLOUD_CAMS_MODEL_MODIFYFLOWRESULT_H_
+#define ALIBABACLOUD_CAMS_MODEL_MODIFYFLOWRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/cams/CamsExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Cams
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_CAMS_EXPORT ModifyFlowResult : public ServiceResult
+			{
+			public:
+				struct Data
+				{
+					std::string flowId;
+					std::vector<std::string> categories;
+					std::string flowName;
+				};
+
+
+				ModifyFlowResult();
+				explicit ModifyFlowResult(const std::string &payload);
+				~ModifyFlowResult();
+				std::string getMessage()const;
+				Data getData()const;
+				std::string getCode()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::string message_;
+				Data data_;
+				std::string code_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_CAMS_MODEL_MODIFYFLOWRESULT_H_

+ 3 - 0
cams/include/alibabacloud/cams/model/ModifyPhoneBusinessProfileRequest.h

@@ -32,6 +32,8 @@ public:
 	~ModifyPhoneBusinessProfileRequest();
 	std::string getPhoneNumber() const;
 	void setPhoneNumber(const std::string &phoneNumber);
+	std::string getAbout() const;
+	void setAbout(const std::string &about);
 	std::string getDescription() const;
 	void setDescription(const std::string &description);
 	std::string getVertical() const;
@@ -53,6 +55,7 @@ public:
 
 private:
 	std::string phoneNumber_;
+	std::string about_;
 	std::string description_;
 	std::string vertical_;
 	std::string apiCode_;

+ 51 - 0
cams/include/alibabacloud/cams/model/PublishFlowRequest.h

@@ -0,0 +1,51 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ *
+ * 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.
+ */
+
+#ifndef ALIBABACLOUD_CAMS_MODEL_PUBLISHFLOWREQUEST_H_
+#define ALIBABACLOUD_CAMS_MODEL_PUBLISHFLOWREQUEST_H_
+
+#include <alibabacloud/cams/CamsExport.h>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <string>
+#include <vector>
+#include <map>
+
+namespace AlibabaCloud {
+namespace Cams {
+namespace Model {
+class ALIBABACLOUD_CAMS_EXPORT PublishFlowRequest : public RpcServiceRequest {
+public:
+	PublishFlowRequest();
+	~PublishFlowRequest();
+	std::string getApiCode() const;
+	void setApiCode(const std::string &apiCode);
+	std::string getProdCode() const;
+	void setProdCode(const std::string &prodCode);
+	std::string getCustSpaceId() const;
+	void setCustSpaceId(const std::string &custSpaceId);
+	std::string getFlowId() const;
+	void setFlowId(const std::string &flowId);
+
+private:
+	std::string apiCode_;
+	std::string prodCode_;
+	std::string custSpaceId_;
+	std::string flowId_;
+};
+} // namespace Model
+} // namespace Cams
+} // namespace AlibabaCloud
+#endif // !ALIBABACLOUD_CAMS_MODEL_PUBLISHFLOWREQUEST_H_

+ 53 - 0
cams/include/alibabacloud/cams/model/PublishFlowResult.h

@@ -0,0 +1,53 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * 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.
+ */
+
+#ifndef ALIBABACLOUD_CAMS_MODEL_PUBLISHFLOWRESULT_H_
+#define ALIBABACLOUD_CAMS_MODEL_PUBLISHFLOWRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/cams/CamsExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Cams
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_CAMS_EXPORT PublishFlowResult : public ServiceResult
+			{
+			public:
+
+
+				PublishFlowResult();
+				explicit PublishFlowResult(const std::string &payload);
+				~PublishFlowResult();
+				std::string getMessage()const;
+				std::string getCode()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::string message_;
+				std::string code_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_CAMS_MODEL_PUBLISHFLOWRESULT_H_

+ 3 - 0
cams/include/alibabacloud/cams/model/QueryChatappPhoneNumbersRequest.h

@@ -38,12 +38,15 @@ public:
 	void setProdCode(const std::string &prodCode);
 	std::string getCustSpaceId() const;
 	void setCustSpaceId(const std::string &custSpaceId);
+	std::string getStatus() const;
+	void setStatus(const std::string &status);
 
 private:
 	std::string apiCode_;
 	std::string isvCode_;
 	std::string prodCode_;
 	std::string custSpaceId_;
+	std::string status_;
 };
 } // namespace Model
 } // namespace Cams

+ 1 - 0
cams/include/alibabacloud/cams/model/QueryPhoneBusinessProfileResult.h

@@ -40,6 +40,7 @@ namespace AlibabaCloud
 					std::string address;
 					std::string profilePictureUrl;
 					std::vector<std::string> websites;
+					std::string about;
 				};
 
 

+ 8 - 0
cams/include/alibabacloud/cams/model/SendChatappMassMessageRequest.h

@@ -47,6 +47,11 @@ public:
 			std::vector<SectionsItem> sections;
 		};
 		ProductAction productAction;
+		struct FlowAction {
+			std::string flowToken;
+			std::map<std::string, std::string> flowActionData;
+		};
+		FlowAction flowAction;
 	};
 	SendChatappMassMessageRequest();
 	~SendChatappMassMessageRequest();
@@ -64,6 +69,8 @@ public:
 	void setChannelType(const std::string &channelType);
 	std::string getFrom() const;
 	void setFrom(const std::string &from);
+	std::string getTemplateName() const;
+	void setTemplateName(const std::string &templateName);
 	std::string getTag() const;
 	void setTag(const std::string &tag);
 	std::string getFallBackRule() const;
@@ -95,6 +102,7 @@ private:
 	std::string apiCode_;
 	std::string channelType_;
 	std::string from_;
+	std::string templateName_;
 	std::string tag_;
 	std::string fallBackRule_;
 	std::string taskId_;

+ 40 - 30
cams/include/alibabacloud/cams/model/SendChatappMessageRequest.h

@@ -28,6 +28,10 @@ namespace Cams {
 namespace Model {
 class ALIBABACLOUD_CAMS_EXPORT SendChatappMessageRequest : public RpcServiceRequest {
 public:
+	struct FlowAction {
+		std::string flowToken;
+		std::map<std::string, std::string> flowActionData;
+	};
 	struct ProductAction {
 		std::string thumbnailProductRetailerId;
 		struct SectionsItem {
@@ -43,40 +47,48 @@ public:
 	};
 	SendChatappMessageRequest();
 	~SendChatappMessageRequest();
-	ProductAction getProductAction() const;
-	void setProductAction(const ProductAction &productAction);
-	std::string getMessageType() const;
-	void setMessageType(const std::string &messageType);
 	std::string getLanguage() const;
 	void setLanguage(const std::string &language);
-	std::string getCustWabaId() const;
-	void setCustWabaId(const std::string &custWabaId);
 	std::string getType() const;
 	void setType(const std::string &type);
 	std::string getFallBackContent() const;
 	void setFallBackContent(const std::string &fallBackContent);
-	std::string getContent() const;
-	void setContent(const std::string &content);
-	std::map<std::string, std::string> getTemplateParams() const;
-	void setTemplateParams(const std::map<std::string, std::string> &templateParams);
 	std::vector<std::string> getPayload() const;
 	void setPayload(const std::vector<std::string> &payload);
-	std::string getApiCode() const;
-	void setApiCode(const std::string &apiCode);
-	std::string getChannelType() const;
-	void setChannelType(const std::string &channelType);
 	std::string getFrom() const;
 	void setFrom(const std::string &from);
 	std::string getTag() const;
 	void setTag(const std::string &tag);
 	std::string getFallBackRule() const;
 	void setFallBackRule(const std::string &fallBackRule);
-	std::string getTrackingData() const;
-	void setTrackingData(const std::string &trackingData);
+	FlowAction getFlowAction() const;
+	void setFlowAction(const FlowAction &flowAction);
 	std::string getTaskId() const;
 	void setTaskId(const std::string &taskId);
 	std::string getIsvCode() const;
 	void setIsvCode(const std::string &isvCode);
+	std::string getCustSpaceId() const;
+	void setCustSpaceId(const std::string &custSpaceId);
+	std::string getTemplateCode() const;
+	void setTemplateCode(const std::string &templateCode);
+	ProductAction getProductAction() const;
+	void setProductAction(const ProductAction &productAction);
+	std::string getMessageType() const;
+	void setMessageType(const std::string &messageType);
+	std::string getCustWabaId() const;
+	void setCustWabaId(const std::string &custWabaId);
+	std::string getContent() const;
+	void setContent(const std::string &content);
+	std::map<std::string, std::string> getTemplateParams() const;
+	void setTemplateParams(const std::map<std::string, std::string> &templateParams);
+	std::string getApiCode() const;
+	void setApiCode(const std::string &apiCode);
+	std::string getChannelType() const;
+	void setChannelType(const std::string &channelType);
+	std::string getTemplateName() const;
+	void setTemplateName(const std::string &templateName);
+	std::string getTrackingData() const;
+	void setTrackingData(const std::string &trackingData);
 	std::string getContextMessageId() const;
 	void setContextMessageId(const std::string &contextMessageId);
 	std::string getProdCode() const;
@@ -89,40 +101,38 @@ public:
 	void setTtl(int ttl);
 	int getFallBackDuration() const;
 	void setFallBackDuration(int fallBackDuration);
-	std::string getCustSpaceId() const;
-	void setCustSpaceId(const std::string &custSpaceId);
 	std::string getTo() const;
 	void setTo(const std::string &to);
-	std::string getTemplateCode() const;
-	void setTemplateCode(const std::string &templateCode);
 
 private:
-	ProductAction productAction_;
-	std::string messageType_;
 	std::string language_;
-	std::string custWabaId_;
 	std::string type_;
 	std::string fallBackContent_;
-	std::string content_;
-	std::map<std::string, std::string> templateParams_;
 	std::vector<std::string> payload_;
-	std::string apiCode_;
-	std::string channelType_;
 	std::string from_;
 	std::string tag_;
 	std::string fallBackRule_;
-	std::string trackingData_;
+	FlowAction flowAction_;
 	std::string taskId_;
 	std::string isvCode_;
+	std::string custSpaceId_;
+	std::string templateCode_;
+	ProductAction productAction_;
+	std::string messageType_;
+	std::string custWabaId_;
+	std::string content_;
+	std::map<std::string, std::string> templateParams_;
+	std::string apiCode_;
+	std::string channelType_;
+	std::string templateName_;
+	std::string trackingData_;
 	std::string contextMessageId_;
 	std::string prodCode_;
 	std::string label_;
 	std::string fallBackId_;
 	int ttl_;
 	int fallBackDuration_;
-	std::string custSpaceId_;
 	std::string to_;
-	std::string templateCode_;
 };
 } // namespace Model
 } // namespace Cams

+ 54 - 0
cams/include/alibabacloud/cams/model/UpdateFlowJSONAssetRequest.h

@@ -0,0 +1,54 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ *
+ * 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.
+ */
+
+#ifndef ALIBABACLOUD_CAMS_MODEL_UPDATEFLOWJSONASSETREQUEST_H_
+#define ALIBABACLOUD_CAMS_MODEL_UPDATEFLOWJSONASSETREQUEST_H_
+
+#include <alibabacloud/cams/CamsExport.h>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <string>
+#include <vector>
+#include <map>
+
+namespace AlibabaCloud {
+namespace Cams {
+namespace Model {
+class ALIBABACLOUD_CAMS_EXPORT UpdateFlowJSONAssetRequest : public RpcServiceRequest {
+public:
+	UpdateFlowJSONAssetRequest();
+	~UpdateFlowJSONAssetRequest();
+	std::string getFilePath() const;
+	void setFilePath(const std::string &filePath);
+	std::string getApiCode() const;
+	void setApiCode(const std::string &apiCode);
+	std::string getProdCode() const;
+	void setProdCode(const std::string &prodCode);
+	std::string getCustSpaceId() const;
+	void setCustSpaceId(const std::string &custSpaceId);
+	std::string getFlowId() const;
+	void setFlowId(const std::string &flowId);
+
+private:
+	std::string filePath_;
+	std::string apiCode_;
+	std::string prodCode_;
+	std::string custSpaceId_;
+	std::string flowId_;
+};
+} // namespace Model
+} // namespace Cams
+} // namespace AlibabaCloud
+#endif // !ALIBABACLOUD_CAMS_MODEL_UPDATEFLOWJSONASSETREQUEST_H_

+ 59 - 0
cams/include/alibabacloud/cams/model/UpdateFlowJSONAssetResult.h

@@ -0,0 +1,59 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * 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.
+ */
+
+#ifndef ALIBABACLOUD_CAMS_MODEL_UPDATEFLOWJSONASSETRESULT_H_
+#define ALIBABACLOUD_CAMS_MODEL_UPDATEFLOWJSONASSETRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/cams/CamsExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Cams
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_CAMS_EXPORT UpdateFlowJSONAssetResult : public ServiceResult
+			{
+			public:
+				struct Data
+				{
+					std::string flowId;
+				};
+
+
+				UpdateFlowJSONAssetResult();
+				explicit UpdateFlowJSONAssetResult(const std::string &payload);
+				~UpdateFlowJSONAssetResult();
+				std::string getMessage()const;
+				Data getData()const;
+				std::string getCode()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::string message_;
+				Data data_;
+				std::string code_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_CAMS_MODEL_UPDATEFLOWJSONASSETRESULT_H_

+ 54 - 0
cams/include/alibabacloud/cams/model/UpdatePhoneEncryptionPublicKeyRequest.h

@@ -0,0 +1,54 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ *
+ * 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.
+ */
+
+#ifndef ALIBABACLOUD_CAMS_MODEL_UPDATEPHONEENCRYPTIONPUBLICKEYREQUEST_H_
+#define ALIBABACLOUD_CAMS_MODEL_UPDATEPHONEENCRYPTIONPUBLICKEYREQUEST_H_
+
+#include <alibabacloud/cams/CamsExport.h>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <string>
+#include <vector>
+#include <map>
+
+namespace AlibabaCloud {
+namespace Cams {
+namespace Model {
+class ALIBABACLOUD_CAMS_EXPORT UpdatePhoneEncryptionPublicKeyRequest : public RpcServiceRequest {
+public:
+	UpdatePhoneEncryptionPublicKeyRequest();
+	~UpdatePhoneEncryptionPublicKeyRequest();
+	std::string getPhoneNumber() const;
+	void setPhoneNumber(const std::string &phoneNumber);
+	std::string getEncryptionPublicKey() const;
+	void setEncryptionPublicKey(const std::string &encryptionPublicKey);
+	std::string getApiCode() const;
+	void setApiCode(const std::string &apiCode);
+	std::string getProdCode() const;
+	void setProdCode(const std::string &prodCode);
+	std::string getCustSpaceId() const;
+	void setCustSpaceId(const std::string &custSpaceId);
+
+private:
+	std::string phoneNumber_;
+	std::string encryptionPublicKey_;
+	std::string apiCode_;
+	std::string prodCode_;
+	std::string custSpaceId_;
+};
+} // namespace Model
+} // namespace Cams
+} // namespace AlibabaCloud
+#endif // !ALIBABACLOUD_CAMS_MODEL_UPDATEPHONEENCRYPTIONPUBLICKEYREQUEST_H_

+ 53 - 0
cams/include/alibabacloud/cams/model/UpdatePhoneEncryptionPublicKeyResult.h

@@ -0,0 +1,53 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * 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.
+ */
+
+#ifndef ALIBABACLOUD_CAMS_MODEL_UPDATEPHONEENCRYPTIONPUBLICKEYRESULT_H_
+#define ALIBABACLOUD_CAMS_MODEL_UPDATEPHONEENCRYPTIONPUBLICKEYRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/cams/CamsExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Cams
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_CAMS_EXPORT UpdatePhoneEncryptionPublicKeyResult : public ServiceResult
+			{
+			public:
+
+
+				UpdatePhoneEncryptionPublicKeyResult();
+				explicit UpdatePhoneEncryptionPublicKeyResult(const std::string &payload);
+				~UpdatePhoneEncryptionPublicKeyResult();
+				std::string getMessage()const;
+				std::string getCode()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::string message_;
+				std::string code_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_CAMS_MODEL_UPDATEPHONEENCRYPTIONPUBLICKEYRESULT_H_

+ 60 - 0
cams/include/alibabacloud/cams/model/UpdatePhoneMessageQrdlRequest.h

@@ -0,0 +1,60 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ *
+ * 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.
+ */
+
+#ifndef ALIBABACLOUD_CAMS_MODEL_UPDATEPHONEMESSAGEQRDLREQUEST_H_
+#define ALIBABACLOUD_CAMS_MODEL_UPDATEPHONEMESSAGEQRDLREQUEST_H_
+
+#include <alibabacloud/cams/CamsExport.h>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <string>
+#include <vector>
+#include <map>
+
+namespace AlibabaCloud {
+namespace Cams {
+namespace Model {
+class ALIBABACLOUD_CAMS_EXPORT UpdatePhoneMessageQrdlRequest : public RpcServiceRequest {
+public:
+	UpdatePhoneMessageQrdlRequest();
+	~UpdatePhoneMessageQrdlRequest();
+	std::string getPhoneNumber() const;
+	void setPhoneNumber(const std::string &phoneNumber);
+	std::string getPrefilledMessage() const;
+	void setPrefilledMessage(const std::string &prefilledMessage);
+	std::string getApiCode() const;
+	void setApiCode(const std::string &apiCode);
+	std::string getGenerateQrImage() const;
+	void setGenerateQrImage(const std::string &generateQrImage);
+	std::string getQrdlCode() const;
+	void setQrdlCode(const std::string &qrdlCode);
+	std::string getProdCode() const;
+	void setProdCode(const std::string &prodCode);
+	std::string getCustSpaceId() const;
+	void setCustSpaceId(const std::string &custSpaceId);
+
+private:
+	std::string phoneNumber_;
+	std::string prefilledMessage_;
+	std::string apiCode_;
+	std::string generateQrImage_;
+	std::string qrdlCode_;
+	std::string prodCode_;
+	std::string custSpaceId_;
+};
+} // namespace Model
+} // namespace Cams
+} // namespace AlibabaCloud
+#endif // !ALIBABACLOUD_CAMS_MODEL_UPDATEPHONEMESSAGEQRDLREQUEST_H_

+ 64 - 0
cams/include/alibabacloud/cams/model/UpdatePhoneMessageQrdlResult.h

@@ -0,0 +1,64 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * 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.
+ */
+
+#ifndef ALIBABACLOUD_CAMS_MODEL_UPDATEPHONEMESSAGEQRDLRESULT_H_
+#define ALIBABACLOUD_CAMS_MODEL_UPDATEPHONEMESSAGEQRDLRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/cams/CamsExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Cams
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_CAMS_EXPORT UpdatePhoneMessageQrdlResult : public ServiceResult
+			{
+			public:
+				struct Data
+				{
+					std::string qrImageUrl;
+					std::string phoneNumber;
+					std::string qrdlCode;
+					std::string deepLinkUrl;
+					std::string generateQrImage;
+					std::string prefilledMessage;
+				};
+
+
+				UpdatePhoneMessageQrdlResult();
+				explicit UpdatePhoneMessageQrdlResult(const std::string &payload);
+				~UpdatePhoneMessageQrdlResult();
+				std::string getMessage()const;
+				Data getData()const;
+				std::string getCode()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::string message_;
+				Data data_;
+				std::string code_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_CAMS_MODEL_UPDATEPHONEMESSAGEQRDLRESULT_H_

+ 612 - 0
cams/src/CamsClient.cc

@@ -519,6 +519,78 @@ CamsClient::CreateChatappTemplateOutcomeCallable CamsClient::createChatappTempla
 	return task->get_future();
 }
 
+CamsClient::CreateFlowOutcome CamsClient::createFlow(const CreateFlowRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return CreateFlowOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return CreateFlowOutcome(CreateFlowResult(outcome.result()));
+	else
+		return CreateFlowOutcome(outcome.error());
+}
+
+void CamsClient::createFlowAsync(const CreateFlowRequest& request, const CreateFlowAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, createFlow(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+CamsClient::CreateFlowOutcomeCallable CamsClient::createFlowCallable(const CreateFlowRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<CreateFlowOutcome()>>(
+			[this, request]()
+			{
+			return this->createFlow(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
+CamsClient::CreatePhoneMessageQrdlOutcome CamsClient::createPhoneMessageQrdl(const CreatePhoneMessageQrdlRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return CreatePhoneMessageQrdlOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return CreatePhoneMessageQrdlOutcome(CreatePhoneMessageQrdlResult(outcome.result()));
+	else
+		return CreatePhoneMessageQrdlOutcome(outcome.error());
+}
+
+void CamsClient::createPhoneMessageQrdlAsync(const CreatePhoneMessageQrdlRequest& request, const CreatePhoneMessageQrdlAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, createPhoneMessageQrdl(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+CamsClient::CreatePhoneMessageQrdlOutcomeCallable CamsClient::createPhoneMessageQrdlCallable(const CreatePhoneMessageQrdlRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<CreatePhoneMessageQrdlOutcome()>>(
+			[this, request]()
+			{
+			return this->createPhoneMessageQrdl(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 CamsClient::DeleteChatappTemplateOutcome CamsClient::deleteChatappTemplate(const DeleteChatappTemplateRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -555,6 +627,114 @@ CamsClient::DeleteChatappTemplateOutcomeCallable CamsClient::deleteChatappTempla
 	return task->get_future();
 }
 
+CamsClient::DeleteFlowOutcome CamsClient::deleteFlow(const DeleteFlowRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return DeleteFlowOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return DeleteFlowOutcome(DeleteFlowResult(outcome.result()));
+	else
+		return DeleteFlowOutcome(outcome.error());
+}
+
+void CamsClient::deleteFlowAsync(const DeleteFlowRequest& request, const DeleteFlowAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, deleteFlow(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+CamsClient::DeleteFlowOutcomeCallable CamsClient::deleteFlowCallable(const DeleteFlowRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<DeleteFlowOutcome()>>(
+			[this, request]()
+			{
+			return this->deleteFlow(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
+CamsClient::DeletePhoneMessageQrdlOutcome CamsClient::deletePhoneMessageQrdl(const DeletePhoneMessageQrdlRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return DeletePhoneMessageQrdlOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return DeletePhoneMessageQrdlOutcome(DeletePhoneMessageQrdlResult(outcome.result()));
+	else
+		return DeletePhoneMessageQrdlOutcome(outcome.error());
+}
+
+void CamsClient::deletePhoneMessageQrdlAsync(const DeletePhoneMessageQrdlRequest& request, const DeletePhoneMessageQrdlAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, deletePhoneMessageQrdl(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+CamsClient::DeletePhoneMessageQrdlOutcomeCallable CamsClient::deletePhoneMessageQrdlCallable(const DeletePhoneMessageQrdlRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<DeletePhoneMessageQrdlOutcome()>>(
+			[this, request]()
+			{
+			return this->deletePhoneMessageQrdl(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
+CamsClient::DeprecateFlowOutcome CamsClient::deprecateFlow(const DeprecateFlowRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return DeprecateFlowOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return DeprecateFlowOutcome(DeprecateFlowResult(outcome.result()));
+	else
+		return DeprecateFlowOutcome(outcome.error());
+}
+
+void CamsClient::deprecateFlowAsync(const DeprecateFlowRequest& request, const DeprecateFlowAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, deprecateFlow(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+CamsClient::DeprecateFlowOutcomeCallable CamsClient::deprecateFlowCallable(const DeprecateFlowRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<DeprecateFlowOutcome()>>(
+			[this, request]()
+			{
+			return this->deprecateFlow(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 CamsClient::EnableWhatsappROIMetricOutcome CamsClient::enableWhatsappROIMetric(const EnableWhatsappROIMetricRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -807,6 +987,114 @@ CamsClient::GetCommerceSettingOutcomeCallable CamsClient::getCommerceSettingCall
 	return task->get_future();
 }
 
+CamsClient::GetFlowOutcome CamsClient::getFlow(const GetFlowRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return GetFlowOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return GetFlowOutcome(GetFlowResult(outcome.result()));
+	else
+		return GetFlowOutcome(outcome.error());
+}
+
+void CamsClient::getFlowAsync(const GetFlowRequest& request, const GetFlowAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, getFlow(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+CamsClient::GetFlowOutcomeCallable CamsClient::getFlowCallable(const GetFlowRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<GetFlowOutcome()>>(
+			[this, request]()
+			{
+			return this->getFlow(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
+CamsClient::GetFlowJSONAssestOutcome CamsClient::getFlowJSONAssest(const GetFlowJSONAssestRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return GetFlowJSONAssestOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return GetFlowJSONAssestOutcome(GetFlowJSONAssestResult(outcome.result()));
+	else
+		return GetFlowJSONAssestOutcome(outcome.error());
+}
+
+void CamsClient::getFlowJSONAssestAsync(const GetFlowJSONAssestRequest& request, const GetFlowJSONAssestAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, getFlowJSONAssest(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+CamsClient::GetFlowJSONAssestOutcomeCallable CamsClient::getFlowJSONAssestCallable(const GetFlowJSONAssestRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<GetFlowJSONAssestOutcome()>>(
+			[this, request]()
+			{
+			return this->getFlowJSONAssest(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
+CamsClient::GetFlowPreviewUrlOutcome CamsClient::getFlowPreviewUrl(const GetFlowPreviewUrlRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return GetFlowPreviewUrlOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return GetFlowPreviewUrlOutcome(GetFlowPreviewUrlResult(outcome.result()));
+	else
+		return GetFlowPreviewUrlOutcome(outcome.error());
+}
+
+void CamsClient::getFlowPreviewUrlAsync(const GetFlowPreviewUrlRequest& request, const GetFlowPreviewUrlAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, getFlowPreviewUrl(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+CamsClient::GetFlowPreviewUrlOutcomeCallable CamsClient::getFlowPreviewUrlCallable(const GetFlowPreviewUrlRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<GetFlowPreviewUrlOutcome()>>(
+			[this, request]()
+			{
+			return this->getFlowPreviewUrl(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 CamsClient::GetMigrationVerifyCodeOutcome CamsClient::getMigrationVerifyCode(const GetMigrationVerifyCodeRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -843,6 +1131,78 @@ CamsClient::GetMigrationVerifyCodeOutcomeCallable CamsClient::getMigrationVerify
 	return task->get_future();
 }
 
+CamsClient::GetPermissionByCodeOutcome CamsClient::getPermissionByCode(const GetPermissionByCodeRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return GetPermissionByCodeOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return GetPermissionByCodeOutcome(GetPermissionByCodeResult(outcome.result()));
+	else
+		return GetPermissionByCodeOutcome(outcome.error());
+}
+
+void CamsClient::getPermissionByCodeAsync(const GetPermissionByCodeRequest& request, const GetPermissionByCodeAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, getPermissionByCode(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+CamsClient::GetPermissionByCodeOutcomeCallable CamsClient::getPermissionByCodeCallable(const GetPermissionByCodeRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<GetPermissionByCodeOutcome()>>(
+			[this, request]()
+			{
+			return this->getPermissionByCode(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
+CamsClient::GetPhoneEncryptionPublicKeyOutcome CamsClient::getPhoneEncryptionPublicKey(const GetPhoneEncryptionPublicKeyRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return GetPhoneEncryptionPublicKeyOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return GetPhoneEncryptionPublicKeyOutcome(GetPhoneEncryptionPublicKeyResult(outcome.result()));
+	else
+		return GetPhoneEncryptionPublicKeyOutcome(outcome.error());
+}
+
+void CamsClient::getPhoneEncryptionPublicKeyAsync(const GetPhoneEncryptionPublicKeyRequest& request, const GetPhoneEncryptionPublicKeyAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, getPhoneEncryptionPublicKey(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+CamsClient::GetPhoneEncryptionPublicKeyOutcomeCallable CamsClient::getPhoneEncryptionPublicKeyCallable(const GetPhoneEncryptionPublicKeyRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<GetPhoneEncryptionPublicKeyOutcome()>>(
+			[this, request]()
+			{
+			return this->getPhoneEncryptionPublicKey(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 CamsClient::GetPhoneNumberVerificationStatusOutcome CamsClient::getPhoneNumberVerificationStatus(const GetPhoneNumberVerificationStatusRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -1023,6 +1383,78 @@ CamsClient::ListChatappTemplateOutcomeCallable CamsClient::listChatappTemplateCa
 	return task->get_future();
 }
 
+CamsClient::ListFlowOutcome CamsClient::listFlow(const ListFlowRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return ListFlowOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return ListFlowOutcome(ListFlowResult(outcome.result()));
+	else
+		return ListFlowOutcome(outcome.error());
+}
+
+void CamsClient::listFlowAsync(const ListFlowRequest& request, const ListFlowAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, listFlow(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+CamsClient::ListFlowOutcomeCallable CamsClient::listFlowCallable(const ListFlowRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<ListFlowOutcome()>>(
+			[this, request]()
+			{
+			return this->listFlow(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
+CamsClient::ListPhoneMessageQrdlOutcome CamsClient::listPhoneMessageQrdl(const ListPhoneMessageQrdlRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return ListPhoneMessageQrdlOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return ListPhoneMessageQrdlOutcome(ListPhoneMessageQrdlResult(outcome.result()));
+	else
+		return ListPhoneMessageQrdlOutcome(outcome.error());
+}
+
+void CamsClient::listPhoneMessageQrdlAsync(const ListPhoneMessageQrdlRequest& request, const ListPhoneMessageQrdlAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, listPhoneMessageQrdl(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+CamsClient::ListPhoneMessageQrdlOutcomeCallable CamsClient::listPhoneMessageQrdlCallable(const ListPhoneMessageQrdlRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<ListPhoneMessageQrdlOutcome()>>(
+			[this, request]()
+			{
+			return this->listPhoneMessageQrdl(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 CamsClient::ListProductOutcome CamsClient::listProduct(const ListProductRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -1131,6 +1563,42 @@ CamsClient::ModifyChatappTemplateOutcomeCallable CamsClient::modifyChatappTempla
 	return task->get_future();
 }
 
+CamsClient::ModifyFlowOutcome CamsClient::modifyFlow(const ModifyFlowRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return ModifyFlowOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return ModifyFlowOutcome(ModifyFlowResult(outcome.result()));
+	else
+		return ModifyFlowOutcome(outcome.error());
+}
+
+void CamsClient::modifyFlowAsync(const ModifyFlowRequest& request, const ModifyFlowAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, modifyFlow(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+CamsClient::ModifyFlowOutcomeCallable CamsClient::modifyFlowCallable(const ModifyFlowRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<ModifyFlowOutcome()>>(
+			[this, request]()
+			{
+			return this->modifyFlow(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 CamsClient::ModifyPhoneBusinessProfileOutcome CamsClient::modifyPhoneBusinessProfile(const ModifyPhoneBusinessProfileRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -1167,6 +1635,42 @@ CamsClient::ModifyPhoneBusinessProfileOutcomeCallable CamsClient::modifyPhoneBus
 	return task->get_future();
 }
 
+CamsClient::PublishFlowOutcome CamsClient::publishFlow(const PublishFlowRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return PublishFlowOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return PublishFlowOutcome(PublishFlowResult(outcome.result()));
+	else
+		return PublishFlowOutcome(outcome.error());
+}
+
+void CamsClient::publishFlowAsync(const PublishFlowRequest& request, const PublishFlowAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, publishFlow(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+CamsClient::PublishFlowOutcomeCallable CamsClient::publishFlowCallable(const PublishFlowRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<PublishFlowOutcome()>>(
+			[this, request]()
+			{
+			return this->publishFlow(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 CamsClient::QueryChatappBindWabaOutcome CamsClient::queryChatappBindWaba(const QueryChatappBindWabaRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -1491,6 +1995,114 @@ CamsClient::UpdateCommerceSettingOutcomeCallable CamsClient::updateCommerceSetti
 	return task->get_future();
 }
 
+CamsClient::UpdateFlowJSONAssetOutcome CamsClient::updateFlowJSONAsset(const UpdateFlowJSONAssetRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return UpdateFlowJSONAssetOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return UpdateFlowJSONAssetOutcome(UpdateFlowJSONAssetResult(outcome.result()));
+	else
+		return UpdateFlowJSONAssetOutcome(outcome.error());
+}
+
+void CamsClient::updateFlowJSONAssetAsync(const UpdateFlowJSONAssetRequest& request, const UpdateFlowJSONAssetAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, updateFlowJSONAsset(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+CamsClient::UpdateFlowJSONAssetOutcomeCallable CamsClient::updateFlowJSONAssetCallable(const UpdateFlowJSONAssetRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<UpdateFlowJSONAssetOutcome()>>(
+			[this, request]()
+			{
+			return this->updateFlowJSONAsset(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
+CamsClient::UpdatePhoneEncryptionPublicKeyOutcome CamsClient::updatePhoneEncryptionPublicKey(const UpdatePhoneEncryptionPublicKeyRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return UpdatePhoneEncryptionPublicKeyOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return UpdatePhoneEncryptionPublicKeyOutcome(UpdatePhoneEncryptionPublicKeyResult(outcome.result()));
+	else
+		return UpdatePhoneEncryptionPublicKeyOutcome(outcome.error());
+}
+
+void CamsClient::updatePhoneEncryptionPublicKeyAsync(const UpdatePhoneEncryptionPublicKeyRequest& request, const UpdatePhoneEncryptionPublicKeyAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, updatePhoneEncryptionPublicKey(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+CamsClient::UpdatePhoneEncryptionPublicKeyOutcomeCallable CamsClient::updatePhoneEncryptionPublicKeyCallable(const UpdatePhoneEncryptionPublicKeyRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<UpdatePhoneEncryptionPublicKeyOutcome()>>(
+			[this, request]()
+			{
+			return this->updatePhoneEncryptionPublicKey(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
+CamsClient::UpdatePhoneMessageQrdlOutcome CamsClient::updatePhoneMessageQrdl(const UpdatePhoneMessageQrdlRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return UpdatePhoneMessageQrdlOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return UpdatePhoneMessageQrdlOutcome(UpdatePhoneMessageQrdlResult(outcome.result()));
+	else
+		return UpdatePhoneMessageQrdlOutcome(outcome.error());
+}
+
+void CamsClient::updatePhoneMessageQrdlAsync(const UpdatePhoneMessageQrdlRequest& request, const UpdatePhoneMessageQrdlAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, updatePhoneMessageQrdl(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+CamsClient::UpdatePhoneMessageQrdlOutcomeCallable CamsClient::updatePhoneMessageQrdlCallable(const UpdatePhoneMessageQrdlRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<UpdatePhoneMessageQrdlOutcome()>>(
+			[this, request]()
+			{
+			return this->updatePhoneMessageQrdl(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 CamsClient::UpdatePhoneWebhookOutcome CamsClient::updatePhoneWebhook(const UpdatePhoneWebhookRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();

+ 3 - 0
cams/src/model/CreateChatappTemplateRequest.cc

@@ -49,6 +49,9 @@ void CreateChatappTemplateRequest::setComponents(const std::vector<CreateChatapp
       setBodyParameter(std::string("Components") + "." + std::to_string(dep1 + 1) + ".Buttons." + std::to_string(dep2 + 1) + ".AutofillText", components[dep1].buttons[dep2].autofillText);
       setBodyParameter(std::string("Components") + "." + std::to_string(dep1 + 1) + ".Buttons." + std::to_string(dep2 + 1) + ".IsOptOut", components[dep1].buttons[dep2].isOptOut ? "true" : "false");
       setBodyParameter(std::string("Components") + "." + std::to_string(dep1 + 1) + ".Buttons." + std::to_string(dep2 + 1) + ".CouponCode", components[dep1].buttons[dep2].couponCode);
+      setBodyParameter(std::string("Components") + "." + std::to_string(dep1 + 1) + ".Buttons." + std::to_string(dep2 + 1) + ".FlowId", components[dep1].buttons[dep2].flowId);
+      setBodyParameter(std::string("Components") + "." + std::to_string(dep1 + 1) + ".Buttons." + std::to_string(dep2 + 1) + ".FlowAction", components[dep1].buttons[dep2].flowAction);
+      setBodyParameter(std::string("Components") + "." + std::to_string(dep1 + 1) + ".Buttons." + std::to_string(dep2 + 1) + ".NavigateScreen", components[dep1].buttons[dep2].navigateScreen);
     }
     setBodyParameter(std::string("Components") + "." + std::to_string(dep1 + 1) + ".ThumbUrl", components[dep1].thumbUrl);
     setBodyParameter(std::string("Components") + "." + std::to_string(dep1 + 1) + ".Duration", std::to_string(components[dep1].duration));

+ 74 - 0
cams/src/model/CreateFlowRequest.cc

@@ -0,0 +1,74 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ *
+ * 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.
+ */
+
+#include <alibabacloud/cams/model/CreateFlowRequest.h>
+
+using AlibabaCloud::Cams::Model::CreateFlowRequest;
+
+CreateFlowRequest::CreateFlowRequest()
+    : RpcServiceRequest("cams", "2020-06-06", "CreateFlow") {
+  setMethod(HttpRequest::Method::Post);
+}
+
+CreateFlowRequest::~CreateFlowRequest() {}
+
+std::string CreateFlowRequest::getApiCode() const {
+  return apiCode_;
+}
+
+void CreateFlowRequest::setApiCode(const std::string &apiCode) {
+  apiCode_ = apiCode;
+  setParameter(std::string("ApiCode"), apiCode);
+}
+
+std::vector<CreateFlowRequest::std::string> CreateFlowRequest::getCategories() const {
+  return categories_;
+}
+
+void CreateFlowRequest::setCategories(const std::vector<CreateFlowRequest::std::string> &categories) {
+  categories_ = categories;
+  for(int dep1 = 0; dep1 != categories.size(); dep1++) {
+    setBodyParameter(std::string("Categories") + "." + std::to_string(dep1 + 1), categories[dep1]);
+  }
+}
+
+std::string CreateFlowRequest::getProdCode() const {
+  return prodCode_;
+}
+
+void CreateFlowRequest::setProdCode(const std::string &prodCode) {
+  prodCode_ = prodCode;
+  setParameter(std::string("ProdCode"), prodCode);
+}
+
+std::string CreateFlowRequest::getCustSpaceId() const {
+  return custSpaceId_;
+}
+
+void CreateFlowRequest::setCustSpaceId(const std::string &custSpaceId) {
+  custSpaceId_ = custSpaceId;
+  setBodyParameter(std::string("CustSpaceId"), custSpaceId);
+}
+
+std::string CreateFlowRequest::getFlowName() const {
+  return flowName_;
+}
+
+void CreateFlowRequest::setFlowName(const std::string &flowName) {
+  flowName_ = flowName;
+  setBodyParameter(std::string("FlowName"), flowName);
+}
+

+ 71 - 0
cams/src/model/CreateFlowResult.cc

@@ -0,0 +1,71 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * 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.
+ */
+
+#include <alibabacloud/cams/model/CreateFlowResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Cams;
+using namespace AlibabaCloud::Cams::Model;
+
+CreateFlowResult::CreateFlowResult() :
+	ServiceResult()
+{}
+
+CreateFlowResult::CreateFlowResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+CreateFlowResult::~CreateFlowResult()
+{}
+
+void CreateFlowResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+	setRequestId(value["RequestId"].asString());
+	auto dataNode = value["Data"];
+	if(!dataNode["FlowId"].isNull())
+		data_.flowId = dataNode["FlowId"].asString();
+	if(!dataNode["FlowName"].isNull())
+		data_.flowName = dataNode["FlowName"].asString();
+		auto allCategories = dataNode["Categories"]["categories"];
+		for (auto value : allCategories)
+			data_.categories.push_back(value.asString());
+	if(!value["Code"].isNull())
+		code_ = value["Code"].asString();
+	if(!value["Message"].isNull())
+		message_ = value["Message"].asString();
+
+}
+
+std::string CreateFlowResult::getMessage()const
+{
+	return message_;
+}
+
+CreateFlowResult::Data CreateFlowResult::getData()const
+{
+	return data_;
+}
+
+std::string CreateFlowResult::getCode()const
+{
+	return code_;
+}
+

+ 81 - 0
cams/src/model/CreatePhoneMessageQrdlRequest.cc

@@ -0,0 +1,81 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ *
+ * 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.
+ */
+
+#include <alibabacloud/cams/model/CreatePhoneMessageQrdlRequest.h>
+
+using AlibabaCloud::Cams::Model::CreatePhoneMessageQrdlRequest;
+
+CreatePhoneMessageQrdlRequest::CreatePhoneMessageQrdlRequest()
+    : RpcServiceRequest("cams", "2020-06-06", "CreatePhoneMessageQrdl") {
+  setMethod(HttpRequest::Method::Post);
+}
+
+CreatePhoneMessageQrdlRequest::~CreatePhoneMessageQrdlRequest() {}
+
+std::string CreatePhoneMessageQrdlRequest::getPhoneNumber() const {
+  return phoneNumber_;
+}
+
+void CreatePhoneMessageQrdlRequest::setPhoneNumber(const std::string &phoneNumber) {
+  phoneNumber_ = phoneNumber;
+  setBodyParameter(std::string("PhoneNumber"), phoneNumber);
+}
+
+std::string CreatePhoneMessageQrdlRequest::getPrefilledMessage() const {
+  return prefilledMessage_;
+}
+
+void CreatePhoneMessageQrdlRequest::setPrefilledMessage(const std::string &prefilledMessage) {
+  prefilledMessage_ = prefilledMessage;
+  setBodyParameter(std::string("PrefilledMessage"), prefilledMessage);
+}
+
+std::string CreatePhoneMessageQrdlRequest::getApiCode() const {
+  return apiCode_;
+}
+
+void CreatePhoneMessageQrdlRequest::setApiCode(const std::string &apiCode) {
+  apiCode_ = apiCode;
+  setParameter(std::string("ApiCode"), apiCode);
+}
+
+std::string CreatePhoneMessageQrdlRequest::getGenerateQrImage() const {
+  return generateQrImage_;
+}
+
+void CreatePhoneMessageQrdlRequest::setGenerateQrImage(const std::string &generateQrImage) {
+  generateQrImage_ = generateQrImage;
+  setBodyParameter(std::string("GenerateQrImage"), generateQrImage);
+}
+
+std::string CreatePhoneMessageQrdlRequest::getProdCode() const {
+  return prodCode_;
+}
+
+void CreatePhoneMessageQrdlRequest::setProdCode(const std::string &prodCode) {
+  prodCode_ = prodCode;
+  setParameter(std::string("ProdCode"), prodCode);
+}
+
+std::string CreatePhoneMessageQrdlRequest::getCustSpaceId() const {
+  return custSpaceId_;
+}
+
+void CreatePhoneMessageQrdlRequest::setCustSpaceId(const std::string &custSpaceId) {
+  custSpaceId_ = custSpaceId;
+  setBodyParameter(std::string("CustSpaceId"), custSpaceId);
+}
+

+ 76 - 0
cams/src/model/CreatePhoneMessageQrdlResult.cc

@@ -0,0 +1,76 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * 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.
+ */
+
+#include <alibabacloud/cams/model/CreatePhoneMessageQrdlResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Cams;
+using namespace AlibabaCloud::Cams::Model;
+
+CreatePhoneMessageQrdlResult::CreatePhoneMessageQrdlResult() :
+	ServiceResult()
+{}
+
+CreatePhoneMessageQrdlResult::CreatePhoneMessageQrdlResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+CreatePhoneMessageQrdlResult::~CreatePhoneMessageQrdlResult()
+{}
+
+void CreatePhoneMessageQrdlResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+	setRequestId(value["RequestId"].asString());
+	auto dataNode = value["Data"];
+	if(!dataNode["PhoneNumber"].isNull())
+		data_.phoneNumber = dataNode["PhoneNumber"].asString();
+	if(!dataNode["QrdlCode"].isNull())
+		data_.qrdlCode = dataNode["QrdlCode"].asString();
+	if(!dataNode["GenerateQrImage"].isNull())
+		data_.generateQrImage = dataNode["GenerateQrImage"].asString();
+	if(!dataNode["PrefilledMessage"].isNull())
+		data_.prefilledMessage = dataNode["PrefilledMessage"].asString();
+	if(!dataNode["DeepLinkUrl"].isNull())
+		data_.deepLinkUrl = dataNode["DeepLinkUrl"].asString();
+	if(!dataNode["QrImageUrl"].isNull())
+		data_.qrImageUrl = dataNode["QrImageUrl"].asString();
+	if(!value["Code"].isNull())
+		code_ = value["Code"].asString();
+	if(!value["Message"].isNull())
+		message_ = value["Message"].asString();
+
+}
+
+std::string CreatePhoneMessageQrdlResult::getMessage()const
+{
+	return message_;
+}
+
+CreatePhoneMessageQrdlResult::Data CreatePhoneMessageQrdlResult::getData()const
+{
+	return data_;
+}
+
+std::string CreatePhoneMessageQrdlResult::getCode()const
+{
+	return code_;
+}
+

+ 27 - 0
cams/src/model/DeleteChatappTemplateRequest.cc

@@ -34,6 +34,15 @@ void DeleteChatappTemplateRequest::setCustWabaId(const std::string &custWabaId)
   setParameter(std::string("CustWabaId"), custWabaId);
 }
 
+std::string DeleteChatappTemplateRequest::getLanguage() const {
+  return language_;
+}
+
+void DeleteChatappTemplateRequest::setLanguage(const std::string &language) {
+  language_ = language;
+  setParameter(std::string("Language"), language);
+}
+
 std::string DeleteChatappTemplateRequest::getApiCode() const {
   return apiCode_;
 }
@@ -43,6 +52,24 @@ void DeleteChatappTemplateRequest::setApiCode(const std::string &apiCode) {
   setParameter(std::string("ApiCode"), apiCode);
 }
 
+std::string DeleteChatappTemplateRequest::getTemplateType() const {
+  return templateType_;
+}
+
+void DeleteChatappTemplateRequest::setTemplateType(const std::string &templateType) {
+  templateType_ = templateType;
+  setParameter(std::string("TemplateType"), templateType);
+}
+
+std::string DeleteChatappTemplateRequest::getTemplateName() const {
+  return templateName_;
+}
+
+void DeleteChatappTemplateRequest::setTemplateName(const std::string &templateName) {
+  templateName_ = templateName;
+  setParameter(std::string("TemplateName"), templateName);
+}
+
 std::string DeleteChatappTemplateRequest::getIsvCode() const {
   return isvCode_;
 }

+ 90 - 0
cams/src/model/DeleteFlowRequest.cc

@@ -0,0 +1,90 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ *
+ * 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.
+ */
+
+#include <alibabacloud/cams/model/DeleteFlowRequest.h>
+
+using AlibabaCloud::Cams::Model::DeleteFlowRequest;
+
+DeleteFlowRequest::DeleteFlowRequest()
+    : RpcServiceRequest("cams", "2020-06-06", "DeleteFlow") {
+  setMethod(HttpRequest::Method::Post);
+}
+
+DeleteFlowRequest::~DeleteFlowRequest() {}
+
+long DeleteFlowRequest::getResourceOwnerId() const {
+  return resourceOwnerId_;
+}
+
+void DeleteFlowRequest::setResourceOwnerId(long resourceOwnerId) {
+  resourceOwnerId_ = resourceOwnerId;
+  setParameter(std::string("ResourceOwnerId"), std::to_string(resourceOwnerId));
+}
+
+std::string DeleteFlowRequest::getCode() const {
+  return code_;
+}
+
+void DeleteFlowRequest::setCode(const std::string &code) {
+  code_ = code;
+  setParameter(std::string("Code"), code);
+}
+
+std::string DeleteFlowRequest::getExtendFunction() const {
+  return extendFunction_;
+}
+
+void DeleteFlowRequest::setExtendFunction(const std::string &extendFunction) {
+  extendFunction_ = extendFunction;
+  setParameter(std::string("ExtendFunction"), extendFunction);
+}
+
+std::string DeleteFlowRequest::getAccessKeyId() const {
+  return accessKeyId_;
+}
+
+void DeleteFlowRequest::setAccessKeyId(const std::string &accessKeyId) {
+  accessKeyId_ = accessKeyId;
+  setParameter(std::string("AccessKeyId"), accessKeyId);
+}
+
+std::string DeleteFlowRequest::getRouteName() const {
+  return routeName_;
+}
+
+void DeleteFlowRequest::setRouteName(const std::string &routeName) {
+  routeName_ = routeName;
+  setParameter(std::string("RouteName"), routeName);
+}
+
+std::string DeleteFlowRequest::getResourceOwnerAccount() const {
+  return resourceOwnerAccount_;
+}
+
+void DeleteFlowRequest::setResourceOwnerAccount(const std::string &resourceOwnerAccount) {
+  resourceOwnerAccount_ = resourceOwnerAccount;
+  setParameter(std::string("ResourceOwnerAccount"), resourceOwnerAccount);
+}
+
+long DeleteFlowRequest::getOwnerId() const {
+  return ownerId_;
+}
+
+void DeleteFlowRequest::setOwnerId(long ownerId) {
+  ownerId_ = ownerId;
+  setParameter(std::string("OwnerId"), std::to_string(ownerId));
+}
+

+ 79 - 0
cams/src/model/DeleteFlowResult.cc

@@ -0,0 +1,79 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * 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.
+ */
+
+#include <alibabacloud/cams/model/DeleteFlowResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Cams;
+using namespace AlibabaCloud::Cams::Model;
+
+DeleteFlowResult::DeleteFlowResult() :
+	ServiceResult()
+{}
+
+DeleteFlowResult::DeleteFlowResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+DeleteFlowResult::~DeleteFlowResult()
+{}
+
+void DeleteFlowResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+	setRequestId(value["RequestId"].asString());
+	if(!value["Response"].isNull())
+		response_ = value["Response"].asString();
+	if(!value["AccessDeniedDetail"].isNull())
+		accessDeniedDetail_ = value["AccessDeniedDetail"].asString();
+	if(!value["Message"].isNull())
+		message_ = value["Message"].asString();
+	if(!value["Code"].isNull())
+		code_ = value["Code"].asString();
+	if(!value["Success"].isNull())
+		success_ = value["Success"].asString() == "true";
+
+}
+
+std::string DeleteFlowResult::getResponse()const
+{
+	return response_;
+}
+
+std::string DeleteFlowResult::getAccessDeniedDetail()const
+{
+	return accessDeniedDetail_;
+}
+
+std::string DeleteFlowResult::getMessage()const
+{
+	return message_;
+}
+
+std::string DeleteFlowResult::getCode()const
+{
+	return code_;
+}
+
+bool DeleteFlowResult::getSuccess()const
+{
+	return success_;
+}
+

+ 72 - 0
cams/src/model/DeletePhoneMessageQrdlRequest.cc

@@ -0,0 +1,72 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ *
+ * 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.
+ */
+
+#include <alibabacloud/cams/model/DeletePhoneMessageQrdlRequest.h>
+
+using AlibabaCloud::Cams::Model::DeletePhoneMessageQrdlRequest;
+
+DeletePhoneMessageQrdlRequest::DeletePhoneMessageQrdlRequest()
+    : RpcServiceRequest("cams", "2020-06-06", "DeletePhoneMessageQrdl") {
+  setMethod(HttpRequest::Method::Post);
+}
+
+DeletePhoneMessageQrdlRequest::~DeletePhoneMessageQrdlRequest() {}
+
+std::string DeletePhoneMessageQrdlRequest::getPhoneNumber() const {
+  return phoneNumber_;
+}
+
+void DeletePhoneMessageQrdlRequest::setPhoneNumber(const std::string &phoneNumber) {
+  phoneNumber_ = phoneNumber;
+  setBodyParameter(std::string("PhoneNumber"), phoneNumber);
+}
+
+std::string DeletePhoneMessageQrdlRequest::getApiCode() const {
+  return apiCode_;
+}
+
+void DeletePhoneMessageQrdlRequest::setApiCode(const std::string &apiCode) {
+  apiCode_ = apiCode;
+  setParameter(std::string("ApiCode"), apiCode);
+}
+
+std::string DeletePhoneMessageQrdlRequest::getQrdlCode() const {
+  return qrdlCode_;
+}
+
+void DeletePhoneMessageQrdlRequest::setQrdlCode(const std::string &qrdlCode) {
+  qrdlCode_ = qrdlCode;
+  setBodyParameter(std::string("QrdlCode"), qrdlCode);
+}
+
+std::string DeletePhoneMessageQrdlRequest::getProdCode() const {
+  return prodCode_;
+}
+
+void DeletePhoneMessageQrdlRequest::setProdCode(const std::string &prodCode) {
+  prodCode_ = prodCode;
+  setParameter(std::string("ProdCode"), prodCode);
+}
+
+std::string DeletePhoneMessageQrdlRequest::getCustSpaceId() const {
+  return custSpaceId_;
+}
+
+void DeletePhoneMessageQrdlRequest::setCustSpaceId(const std::string &custSpaceId) {
+  custSpaceId_ = custSpaceId;
+  setBodyParameter(std::string("CustSpaceId"), custSpaceId);
+}
+

+ 58 - 0
cams/src/model/DeletePhoneMessageQrdlResult.cc

@@ -0,0 +1,58 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * 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.
+ */
+
+#include <alibabacloud/cams/model/DeletePhoneMessageQrdlResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Cams;
+using namespace AlibabaCloud::Cams::Model;
+
+DeletePhoneMessageQrdlResult::DeletePhoneMessageQrdlResult() :
+	ServiceResult()
+{}
+
+DeletePhoneMessageQrdlResult::DeletePhoneMessageQrdlResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+DeletePhoneMessageQrdlResult::~DeletePhoneMessageQrdlResult()
+{}
+
+void DeletePhoneMessageQrdlResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+	setRequestId(value["RequestId"].asString());
+	if(!value["Code"].isNull())
+		code_ = value["Code"].asString();
+	if(!value["Message"].isNull())
+		message_ = value["Message"].asString();
+
+}
+
+std::string DeletePhoneMessageQrdlResult::getMessage()const
+{
+	return message_;
+}
+
+std::string DeletePhoneMessageQrdlResult::getCode()const
+{
+	return code_;
+}
+

+ 63 - 0
cams/src/model/DeprecateFlowRequest.cc

@@ -0,0 +1,63 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ *
+ * 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.
+ */
+
+#include <alibabacloud/cams/model/DeprecateFlowRequest.h>
+
+using AlibabaCloud::Cams::Model::DeprecateFlowRequest;
+
+DeprecateFlowRequest::DeprecateFlowRequest()
+    : RpcServiceRequest("cams", "2020-06-06", "DeprecateFlow") {
+  setMethod(HttpRequest::Method::Post);
+}
+
+DeprecateFlowRequest::~DeprecateFlowRequest() {}
+
+std::string DeprecateFlowRequest::getApiCode() const {
+  return apiCode_;
+}
+
+void DeprecateFlowRequest::setApiCode(const std::string &apiCode) {
+  apiCode_ = apiCode;
+  setParameter(std::string("ApiCode"), apiCode);
+}
+
+std::string DeprecateFlowRequest::getProdCode() const {
+  return prodCode_;
+}
+
+void DeprecateFlowRequest::setProdCode(const std::string &prodCode) {
+  prodCode_ = prodCode;
+  setParameter(std::string("ProdCode"), prodCode);
+}
+
+std::string DeprecateFlowRequest::getCustSpaceId() const {
+  return custSpaceId_;
+}
+
+void DeprecateFlowRequest::setCustSpaceId(const std::string &custSpaceId) {
+  custSpaceId_ = custSpaceId;
+  setBodyParameter(std::string("CustSpaceId"), custSpaceId);
+}
+
+std::string DeprecateFlowRequest::getFlowId() const {
+  return flowId_;
+}
+
+void DeprecateFlowRequest::setFlowId(const std::string &flowId) {
+  flowId_ = flowId;
+  setBodyParameter(std::string("FlowId"), flowId);
+}
+

+ 58 - 0
cams/src/model/DeprecateFlowResult.cc

@@ -0,0 +1,58 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * 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.
+ */
+
+#include <alibabacloud/cams/model/DeprecateFlowResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Cams;
+using namespace AlibabaCloud::Cams::Model;
+
+DeprecateFlowResult::DeprecateFlowResult() :
+	ServiceResult()
+{}
+
+DeprecateFlowResult::DeprecateFlowResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+DeprecateFlowResult::~DeprecateFlowResult()
+{}
+
+void DeprecateFlowResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+	setRequestId(value["RequestId"].asString());
+	if(!value["Code"].isNull())
+		code_ = value["Code"].asString();
+	if(!value["Message"].isNull())
+		message_ = value["Message"].asString();
+
+}
+
+std::string DeprecateFlowResult::getMessage()const
+{
+	return message_;
+}
+
+std::string DeprecateFlowResult::getCode()const
+{
+	return code_;
+}
+

+ 9 - 0
cams/src/model/GetChatappTemplateDetailRequest.cc

@@ -61,6 +61,15 @@ void GetChatappTemplateDetailRequest::setTemplateType(const std::string &templat
   setParameter(std::string("TemplateType"), templateType);
 }
 
+std::string GetChatappTemplateDetailRequest::getTemplateName() const {
+  return templateName_;
+}
+
+void GetChatappTemplateDetailRequest::setTemplateName(const std::string &templateName) {
+  templateName_ = templateName;
+  setParameter(std::string("TemplateName"), templateName);
+}
+
 std::string GetChatappTemplateDetailRequest::getIsvCode() const {
   return isvCode_;
 }

+ 6 - 0
cams/src/model/GetChatappTemplateDetailResult.cc

@@ -122,6 +122,12 @@ void GetChatappTemplateDetailResult::parse(const std::string &payload)
 				buttonsObject.isOptOut = dataNodeComponentscomponentButtonsbutton["IsOptOut"].asString() == "true";
 			if(!dataNodeComponentscomponentButtonsbutton["CouponCode"].isNull())
 				buttonsObject.couponCode = dataNodeComponentscomponentButtonsbutton["CouponCode"].asString();
+			if(!dataNodeComponentscomponentButtonsbutton["FlowId"].isNull())
+				buttonsObject.flowId = dataNodeComponentscomponentButtonsbutton["FlowId"].asString();
+			if(!dataNodeComponentscomponentButtonsbutton["FlowAction"].isNull())
+				buttonsObject.flowAction = dataNodeComponentscomponentButtonsbutton["FlowAction"].asString();
+			if(!dataNodeComponentscomponentButtonsbutton["NavigateScreen"].isNull())
+				buttonsObject.navigateScreen = dataNodeComponentscomponentButtonsbutton["NavigateScreen"].asString();
 			auto extendAttrsNode = value["ExtendAttrs"];
 			if(!extendAttrsNode["NextTemplateCode"].isNull())
 				buttonsObject.extendAttrs.nextTemplateCode = extendAttrsNode["NextTemplateCode"].asString();

+ 63 - 0
cams/src/model/GetFlowJSONAssestRequest.cc

@@ -0,0 +1,63 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ *
+ * 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.
+ */
+
+#include <alibabacloud/cams/model/GetFlowJSONAssestRequest.h>
+
+using AlibabaCloud::Cams::Model::GetFlowJSONAssestRequest;
+
+GetFlowJSONAssestRequest::GetFlowJSONAssestRequest()
+    : RpcServiceRequest("cams", "2020-06-06", "GetFlowJSONAssest") {
+  setMethod(HttpRequest::Method::Post);
+}
+
+GetFlowJSONAssestRequest::~GetFlowJSONAssestRequest() {}
+
+std::string GetFlowJSONAssestRequest::getApiCode() const {
+  return apiCode_;
+}
+
+void GetFlowJSONAssestRequest::setApiCode(const std::string &apiCode) {
+  apiCode_ = apiCode;
+  setParameter(std::string("ApiCode"), apiCode);
+}
+
+std::string GetFlowJSONAssestRequest::getProdCode() const {
+  return prodCode_;
+}
+
+void GetFlowJSONAssestRequest::setProdCode(const std::string &prodCode) {
+  prodCode_ = prodCode;
+  setParameter(std::string("ProdCode"), prodCode);
+}
+
+std::string GetFlowJSONAssestRequest::getCustSpaceId() const {
+  return custSpaceId_;
+}
+
+void GetFlowJSONAssestRequest::setCustSpaceId(const std::string &custSpaceId) {
+  custSpaceId_ = custSpaceId;
+  setBodyParameter(std::string("CustSpaceId"), custSpaceId);
+}
+
+std::string GetFlowJSONAssestRequest::getFlowId() const {
+  return flowId_;
+}
+
+void GetFlowJSONAssestRequest::setFlowId(const std::string &flowId) {
+  flowId_ = flowId;
+  setBodyParameter(std::string("FlowId"), flowId);
+}
+

+ 68 - 0
cams/src/model/GetFlowJSONAssestResult.cc

@@ -0,0 +1,68 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * 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.
+ */
+
+#include <alibabacloud/cams/model/GetFlowJSONAssestResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Cams;
+using namespace AlibabaCloud::Cams::Model;
+
+GetFlowJSONAssestResult::GetFlowJSONAssestResult() :
+	ServiceResult()
+{}
+
+GetFlowJSONAssestResult::GetFlowJSONAssestResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+GetFlowJSONAssestResult::~GetFlowJSONAssestResult()
+{}
+
+void GetFlowJSONAssestResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+	setRequestId(value["RequestId"].asString());
+	auto dataNode = value["Data"];
+	if(!dataNode["FlowId"].isNull())
+		data_.flowId = dataNode["FlowId"].asString();
+	if(!dataNode["FilePath"].isNull())
+		data_.filePath = dataNode["FilePath"].asString();
+	if(!value["Code"].isNull())
+		code_ = value["Code"].asString();
+	if(!value["Message"].isNull())
+		message_ = value["Message"].asString();
+
+}
+
+std::string GetFlowJSONAssestResult::getMessage()const
+{
+	return message_;
+}
+
+GetFlowJSONAssestResult::Data GetFlowJSONAssestResult::getData()const
+{
+	return data_;
+}
+
+std::string GetFlowJSONAssestResult::getCode()const
+{
+	return code_;
+}
+

+ 63 - 0
cams/src/model/GetFlowPreviewUrlRequest.cc

@@ -0,0 +1,63 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ *
+ * 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.
+ */
+
+#include <alibabacloud/cams/model/GetFlowPreviewUrlRequest.h>
+
+using AlibabaCloud::Cams::Model::GetFlowPreviewUrlRequest;
+
+GetFlowPreviewUrlRequest::GetFlowPreviewUrlRequest()
+    : RpcServiceRequest("cams", "2020-06-06", "GetFlowPreviewUrl") {
+  setMethod(HttpRequest::Method::Post);
+}
+
+GetFlowPreviewUrlRequest::~GetFlowPreviewUrlRequest() {}
+
+std::string GetFlowPreviewUrlRequest::getApiCode() const {
+  return apiCode_;
+}
+
+void GetFlowPreviewUrlRequest::setApiCode(const std::string &apiCode) {
+  apiCode_ = apiCode;
+  setParameter(std::string("ApiCode"), apiCode);
+}
+
+std::string GetFlowPreviewUrlRequest::getProdCode() const {
+  return prodCode_;
+}
+
+void GetFlowPreviewUrlRequest::setProdCode(const std::string &prodCode) {
+  prodCode_ = prodCode;
+  setParameter(std::string("ProdCode"), prodCode);
+}
+
+std::string GetFlowPreviewUrlRequest::getCustSpaceId() const {
+  return custSpaceId_;
+}
+
+void GetFlowPreviewUrlRequest::setCustSpaceId(const std::string &custSpaceId) {
+  custSpaceId_ = custSpaceId;
+  setBodyParameter(std::string("CustSpaceId"), custSpaceId);
+}
+
+std::string GetFlowPreviewUrlRequest::getFlowId() const {
+  return flowId_;
+}
+
+void GetFlowPreviewUrlRequest::setFlowId(const std::string &flowId) {
+  flowId_ = flowId;
+  setBodyParameter(std::string("FlowId"), flowId);
+}
+

+ 70 - 0
cams/src/model/GetFlowPreviewUrlResult.cc

@@ -0,0 +1,70 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * 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.
+ */
+
+#include <alibabacloud/cams/model/GetFlowPreviewUrlResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Cams;
+using namespace AlibabaCloud::Cams::Model;
+
+GetFlowPreviewUrlResult::GetFlowPreviewUrlResult() :
+	ServiceResult()
+{}
+
+GetFlowPreviewUrlResult::GetFlowPreviewUrlResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+GetFlowPreviewUrlResult::~GetFlowPreviewUrlResult()
+{}
+
+void GetFlowPreviewUrlResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+	setRequestId(value["RequestId"].asString());
+	auto dataNode = value["Data"];
+	if(!dataNode["FlowId"].isNull())
+		data_.flowId = dataNode["FlowId"].asString();
+	if(!dataNode["PreviewUrl"].isNull())
+		data_.previewUrl = dataNode["PreviewUrl"].asString();
+	if(!dataNode["PreviewUrlExpires"].isNull())
+		data_.previewUrlExpires = std::stol(dataNode["PreviewUrlExpires"].asString());
+	if(!value["Code"].isNull())
+		code_ = value["Code"].asString();
+	if(!value["Message"].isNull())
+		message_ = value["Message"].asString();
+
+}
+
+std::string GetFlowPreviewUrlResult::getMessage()const
+{
+	return message_;
+}
+
+GetFlowPreviewUrlResult::Data GetFlowPreviewUrlResult::getData()const
+{
+	return data_;
+}
+
+std::string GetFlowPreviewUrlResult::getCode()const
+{
+	return code_;
+}
+

+ 63 - 0
cams/src/model/GetFlowRequest.cc

@@ -0,0 +1,63 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ *
+ * 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.
+ */
+
+#include <alibabacloud/cams/model/GetFlowRequest.h>
+
+using AlibabaCloud::Cams::Model::GetFlowRequest;
+
+GetFlowRequest::GetFlowRequest()
+    : RpcServiceRequest("cams", "2020-06-06", "GetFlow") {
+  setMethod(HttpRequest::Method::Post);
+}
+
+GetFlowRequest::~GetFlowRequest() {}
+
+std::string GetFlowRequest::getApiCode() const {
+  return apiCode_;
+}
+
+void GetFlowRequest::setApiCode(const std::string &apiCode) {
+  apiCode_ = apiCode;
+  setParameter(std::string("ApiCode"), apiCode);
+}
+
+std::string GetFlowRequest::getProdCode() const {
+  return prodCode_;
+}
+
+void GetFlowRequest::setProdCode(const std::string &prodCode) {
+  prodCode_ = prodCode;
+  setParameter(std::string("ProdCode"), prodCode);
+}
+
+std::string GetFlowRequest::getCustSpaceId() const {
+  return custSpaceId_;
+}
+
+void GetFlowRequest::setCustSpaceId(const std::string &custSpaceId) {
+  custSpaceId_ = custSpaceId;
+  setBodyParameter(std::string("CustSpaceId"), custSpaceId);
+}
+
+std::string GetFlowRequest::getFlowId() const {
+  return flowId_;
+}
+
+void GetFlowRequest::setFlowId(const std::string &flowId) {
+  flowId_ = flowId;
+  setBodyParameter(std::string("FlowId"), flowId);
+}
+

+ 81 - 0
cams/src/model/GetFlowResult.cc

@@ -0,0 +1,81 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * 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.
+ */
+
+#include <alibabacloud/cams/model/GetFlowResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Cams;
+using namespace AlibabaCloud::Cams::Model;
+
+GetFlowResult::GetFlowResult() :
+	ServiceResult()
+{}
+
+GetFlowResult::GetFlowResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+GetFlowResult::~GetFlowResult()
+{}
+
+void GetFlowResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+	setRequestId(value["RequestId"].asString());
+	auto dataNode = value["Data"];
+	if(!dataNode["Status"].isNull())
+		data_.status = dataNode["Status"].asString();
+	if(!dataNode["FlowId"].isNull())
+		data_.flowId = dataNode["FlowId"].asString();
+	if(!dataNode["FlowName"].isNull())
+		data_.flowName = dataNode["FlowName"].asString();
+	if(!dataNode["JSONVersion"].isNull())
+		data_.jSONVersion = dataNode["JSONVersion"].asString();
+	if(!dataNode["DataApiVersion"].isNull())
+		data_.dataApiVersion = dataNode["DataApiVersion"].asString();
+	if(!dataNode["PreviewUrl"].isNull())
+		data_.previewUrl = dataNode["PreviewUrl"].asString();
+	if(!dataNode["PreviewUrlExpires"].isNull())
+		data_.previewUrlExpires = std::stol(dataNode["PreviewUrlExpires"].asString());
+		auto allCategories = dataNode["Categories"]["目录"];
+		for (auto value : allCategories)
+			data_.categories.push_back(value.asString());
+	if(!value["Code"].isNull())
+		code_ = value["Code"].asString();
+	if(!value["Message"].isNull())
+		message_ = value["Message"].asString();
+
+}
+
+std::string GetFlowResult::getMessage()const
+{
+	return message_;
+}
+
+GetFlowResult::Data GetFlowResult::getData()const
+{
+	return data_;
+}
+
+std::string GetFlowResult::getCode()const
+{
+	return code_;
+}
+

+ 74 - 0
cams/src/model/GetPermissionByCodeRequest.cc

@@ -0,0 +1,74 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ *
+ * 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.
+ */
+
+#include <alibabacloud/cams/model/GetPermissionByCodeRequest.h>
+
+using AlibabaCloud::Cams::Model::GetPermissionByCodeRequest;
+
+GetPermissionByCodeRequest::GetPermissionByCodeRequest()
+    : RpcServiceRequest("cams", "2020-06-06", "GetPermissionByCode") {
+  setMethod(HttpRequest::Method::Post);
+}
+
+GetPermissionByCodeRequest::~GetPermissionByCodeRequest() {}
+
+std::string GetPermissionByCodeRequest::getCode() const {
+  return code_;
+}
+
+void GetPermissionByCodeRequest::setCode(const std::string &code) {
+  code_ = code;
+  setBodyParameter(std::string("Code"), code);
+}
+
+std::string GetPermissionByCodeRequest::getApiCode() const {
+  return apiCode_;
+}
+
+void GetPermissionByCodeRequest::setApiCode(const std::string &apiCode) {
+  apiCode_ = apiCode;
+  setParameter(std::string("ApiCode"), apiCode);
+}
+
+std::vector<GetPermissionByCodeRequest::std::string> GetPermissionByCodeRequest::getPermissions() const {
+  return permissions_;
+}
+
+void GetPermissionByCodeRequest::setPermissions(const std::vector<GetPermissionByCodeRequest::std::string> &permissions) {
+  permissions_ = permissions;
+  for(int dep1 = 0; dep1 != permissions.size(); dep1++) {
+    setBodyParameter(std::string("Permissions") + "." + std::to_string(dep1 + 1), permissions[dep1]);
+  }
+}
+
+std::string GetPermissionByCodeRequest::getProdCode() const {
+  return prodCode_;
+}
+
+void GetPermissionByCodeRequest::setProdCode(const std::string &prodCode) {
+  prodCode_ = prodCode;
+  setParameter(std::string("ProdCode"), prodCode);
+}
+
+std::string GetPermissionByCodeRequest::getCustSpaceId() const {
+  return custSpaceId_;
+}
+
+void GetPermissionByCodeRequest::setCustSpaceId(const std::string &custSpaceId) {
+  custSpaceId_ = custSpaceId;
+  setBodyParameter(std::string("CustSpaceId"), custSpaceId);
+}
+

+ 58 - 0
cams/src/model/GetPermissionByCodeResult.cc

@@ -0,0 +1,58 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * 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.
+ */
+
+#include <alibabacloud/cams/model/GetPermissionByCodeResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Cams;
+using namespace AlibabaCloud::Cams::Model;
+
+GetPermissionByCodeResult::GetPermissionByCodeResult() :
+	ServiceResult()
+{}
+
+GetPermissionByCodeResult::GetPermissionByCodeResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+GetPermissionByCodeResult::~GetPermissionByCodeResult()
+{}
+
+void GetPermissionByCodeResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+	setRequestId(value["RequestId"].asString());
+	if(!value["Code"].isNull())
+		code_ = value["Code"].asString();
+	if(!value["Message"].isNull())
+		message_ = value["Message"].asString();
+
+}
+
+std::string GetPermissionByCodeResult::getMessage()const
+{
+	return message_;
+}
+
+std::string GetPermissionByCodeResult::getCode()const
+{
+	return code_;
+}
+

+ 63 - 0
cams/src/model/GetPhoneEncryptionPublicKeyRequest.cc

@@ -0,0 +1,63 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ *
+ * 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.
+ */
+
+#include <alibabacloud/cams/model/GetPhoneEncryptionPublicKeyRequest.h>
+
+using AlibabaCloud::Cams::Model::GetPhoneEncryptionPublicKeyRequest;
+
+GetPhoneEncryptionPublicKeyRequest::GetPhoneEncryptionPublicKeyRequest()
+    : RpcServiceRequest("cams", "2020-06-06", "GetPhoneEncryptionPublicKey") {
+  setMethod(HttpRequest::Method::Post);
+}
+
+GetPhoneEncryptionPublicKeyRequest::~GetPhoneEncryptionPublicKeyRequest() {}
+
+std::string GetPhoneEncryptionPublicKeyRequest::getPhoneNumber() const {
+  return phoneNumber_;
+}
+
+void GetPhoneEncryptionPublicKeyRequest::setPhoneNumber(const std::string &phoneNumber) {
+  phoneNumber_ = phoneNumber;
+  setBodyParameter(std::string("PhoneNumber"), phoneNumber);
+}
+
+std::string GetPhoneEncryptionPublicKeyRequest::getApiCode() const {
+  return apiCode_;
+}
+
+void GetPhoneEncryptionPublicKeyRequest::setApiCode(const std::string &apiCode) {
+  apiCode_ = apiCode;
+  setParameter(std::string("ApiCode"), apiCode);
+}
+
+std::string GetPhoneEncryptionPublicKeyRequest::getProdCode() const {
+  return prodCode_;
+}
+
+void GetPhoneEncryptionPublicKeyRequest::setProdCode(const std::string &prodCode) {
+  prodCode_ = prodCode;
+  setParameter(std::string("ProdCode"), prodCode);
+}
+
+std::string GetPhoneEncryptionPublicKeyRequest::getCustSpaceId() const {
+  return custSpaceId_;
+}
+
+void GetPhoneEncryptionPublicKeyRequest::setCustSpaceId(const std::string &custSpaceId) {
+  custSpaceId_ = custSpaceId;
+  setBodyParameter(std::string("CustSpaceId"), custSpaceId);
+}
+

+ 70 - 0
cams/src/model/GetPhoneEncryptionPublicKeyResult.cc

@@ -0,0 +1,70 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * 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.
+ */
+
+#include <alibabacloud/cams/model/GetPhoneEncryptionPublicKeyResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Cams;
+using namespace AlibabaCloud::Cams::Model;
+
+GetPhoneEncryptionPublicKeyResult::GetPhoneEncryptionPublicKeyResult() :
+	ServiceResult()
+{}
+
+GetPhoneEncryptionPublicKeyResult::GetPhoneEncryptionPublicKeyResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+GetPhoneEncryptionPublicKeyResult::~GetPhoneEncryptionPublicKeyResult()
+{}
+
+void GetPhoneEncryptionPublicKeyResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+	setRequestId(value["RequestId"].asString());
+	auto dataNode = value["Data"];
+	if(!dataNode["PhoneNumber"].isNull())
+		data_.phoneNumber = dataNode["PhoneNumber"].asString();
+	if(!dataNode["EncryptionPublicKey"].isNull())
+		data_.encryptionPublicKey = dataNode["EncryptionPublicKey"].asString();
+	if(!dataNode["EncryptionPublicKeyStatus"].isNull())
+		data_.encryptionPublicKeyStatus = dataNode["EncryptionPublicKeyStatus"].asString();
+	if(!value["Code"].isNull())
+		code_ = value["Code"].asString();
+	if(!value["Message"].isNull())
+		message_ = value["Message"].asString();
+
+}
+
+std::string GetPhoneEncryptionPublicKeyResult::getMessage()const
+{
+	return message_;
+}
+
+GetPhoneEncryptionPublicKeyResult::Data GetPhoneEncryptionPublicKeyResult::getData()const
+{
+	return data_;
+}
+
+std::string GetPhoneEncryptionPublicKeyResult::getCode()const
+{
+	return code_;
+}
+

+ 23 - 5
cams/src/model/IsvGetAppIdRequest.cc

@@ -25,13 +25,13 @@ IsvGetAppIdRequest::IsvGetAppIdRequest()
 
 IsvGetAppIdRequest::~IsvGetAppIdRequest() {}
 
-std::string IsvGetAppIdRequest::getProdCode() const {
-  return prodCode_;
+std::string IsvGetAppIdRequest::getIntlVersion() const {
+  return intlVersion_;
 }
 
-void IsvGetAppIdRequest::setProdCode(const std::string &prodCode) {
-  prodCode_ = prodCode;
-  setParameter(std::string("ProdCode"), prodCode);
+void IsvGetAppIdRequest::setIntlVersion(const std::string &intlVersion) {
+  intlVersion_ = intlVersion;
+  setBodyParameter(std::string("IntlVersion"), intlVersion);
 }
 
 std::string IsvGetAppIdRequest::getType() const {
@@ -52,3 +52,21 @@ void IsvGetAppIdRequest::setApiCode(const std::string &apiCode) {
   setParameter(std::string("ApiCode"), apiCode);
 }
 
+std::string IsvGetAppIdRequest::getPermissions() const {
+  return permissions_;
+}
+
+void IsvGetAppIdRequest::setPermissions(const std::string &permissions) {
+  permissions_ = permissions;
+  setBodyParameter(std::string("Permissions"), permissions);
+}
+
+std::string IsvGetAppIdRequest::getProdCode() const {
+  return prodCode_;
+}
+
+void IsvGetAppIdRequest::setProdCode(const std::string &prodCode) {
+  prodCode_ = prodCode;
+  setParameter(std::string("ProdCode"), prodCode);
+}
+

+ 7 - 0
cams/src/model/IsvGetAppIdResult.cc

@@ -47,6 +47,8 @@ void IsvGetAppIdResult::parse(const std::string &payload)
 		appId_ = value["AppId"].asString();
 	if(!value["AccessDeniedDetail"].isNull())
 		accessDeniedDetail_ = value["AccessDeniedDetail"].asString();
+	if(!value["ConfigId"].isNull())
+		configId_ = value["ConfigId"].asString();
 
 }
 
@@ -65,6 +67,11 @@ std::string IsvGetAppIdResult::getAppId()const
 	return appId_;
 }
 
+std::string IsvGetAppIdResult::getConfigId()const
+{
+	return configId_;
+}
+
 std::string IsvGetAppIdResult::getCode()const
 {
 	return code_;

+ 108 - 0
cams/src/model/ListFlowRequest.cc

@@ -0,0 +1,108 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ *
+ * 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.
+ */
+
+#include <alibabacloud/cams/model/ListFlowRequest.h>
+
+using AlibabaCloud::Cams::Model::ListFlowRequest;
+
+ListFlowRequest::ListFlowRequest()
+    : RpcServiceRequest("cams", "2020-06-06", "ListFlow") {
+  setMethod(HttpRequest::Method::Post);
+}
+
+ListFlowRequest::~ListFlowRequest() {}
+
+long ListFlowRequest::getResourceOwnerId() const {
+  return resourceOwnerId_;
+}
+
+void ListFlowRequest::setResourceOwnerId(long resourceOwnerId) {
+  resourceOwnerId_ = resourceOwnerId;
+  setParameter(std::string("ResourceOwnerId"), std::to_string(resourceOwnerId));
+}
+
+std::string ListFlowRequest::getExtendFunction() const {
+  return extendFunction_;
+}
+
+void ListFlowRequest::setExtendFunction(const std::string &extendFunction) {
+  extendFunction_ = extendFunction;
+  setParameter(std::string("ExtendFunction"), extendFunction);
+}
+
+std::string ListFlowRequest::getAccessKeyId() const {
+  return accessKeyId_;
+}
+
+void ListFlowRequest::setAccessKeyId(const std::string &accessKeyId) {
+  accessKeyId_ = accessKeyId;
+  setParameter(std::string("AccessKeyId"), accessKeyId);
+}
+
+long ListFlowRequest::getPageSize() const {
+  return pageSize_;
+}
+
+void ListFlowRequest::setPageSize(long pageSize) {
+  pageSize_ = pageSize;
+  setParameter(std::string("PageSize"), std::to_string(pageSize));
+}
+
+std::string ListFlowRequest::getRouteName() const {
+  return routeName_;
+}
+
+void ListFlowRequest::setRouteName(const std::string &routeName) {
+  routeName_ = routeName;
+  setParameter(std::string("RouteName"), routeName);
+}
+
+std::string ListFlowRequest::getResourceOwnerAccount() const {
+  return resourceOwnerAccount_;
+}
+
+void ListFlowRequest::setResourceOwnerAccount(const std::string &resourceOwnerAccount) {
+  resourceOwnerAccount_ = resourceOwnerAccount;
+  setParameter(std::string("ResourceOwnerAccount"), resourceOwnerAccount);
+}
+
+long ListFlowRequest::getOwnerId() const {
+  return ownerId_;
+}
+
+void ListFlowRequest::setOwnerId(long ownerId) {
+  ownerId_ = ownerId;
+  setParameter(std::string("OwnerId"), std::to_string(ownerId));
+}
+
+long ListFlowRequest::getPageNo() const {
+  return pageNo_;
+}
+
+void ListFlowRequest::setPageNo(long pageNo) {
+  pageNo_ = pageNo;
+  setParameter(std::string("PageNo"), std::to_string(pageNo));
+}
+
+std::string ListFlowRequest::getStatus() const {
+  return status_;
+}
+
+void ListFlowRequest::setStatus(const std::string &status) {
+  status_ = status;
+  setParameter(std::string("Status"), status);
+}
+

+ 108 - 0
cams/src/model/ListFlowResult.cc

@@ -0,0 +1,108 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * 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.
+ */
+
+#include <alibabacloud/cams/model/ListFlowResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Cams;
+using namespace AlibabaCloud::Cams::Model;
+
+ListFlowResult::ListFlowResult() :
+	ServiceResult()
+{}
+
+ListFlowResult::ListFlowResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+ListFlowResult::~ListFlowResult()
+{}
+
+void ListFlowResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+	setRequestId(value["RequestId"].asString());
+	auto allDataNode = value["Data"]["dataItem"];
+	for (auto valueDatadataItem : allDataNode)
+	{
+		DataItem dataObject;
+		if(!valueDatadataItem["Status"].isNull())
+			dataObject.status = valueDatadataItem["Status"].asString();
+		if(!valueDatadataItem["GmtCreate"].isNull())
+			dataObject.gmtCreate = valueDatadataItem["GmtCreate"].asString();
+		if(!valueDatadataItem["GmtModified"].isNull())
+			dataObject.gmtModified = valueDatadataItem["GmtModified"].asString();
+		if(!valueDatadataItem["Title"].isNull())
+			dataObject.title = valueDatadataItem["Title"].asString();
+		if(!valueDatadataItem["PartnerId"].isNull())
+			dataObject.partnerId = valueDatadataItem["PartnerId"].asString();
+		if(!valueDatadataItem["Id"].isNull())
+			dataObject.id = valueDatadataItem["Id"].asString();
+		if(!valueDatadataItem["Code"].isNull())
+			dataObject.code = valueDatadataItem["Code"].asString();
+		if(!valueDatadataItem["BizCode"].isNull())
+			dataObject.bizCode = valueDatadataItem["BizCode"].asString();
+		if(!valueDatadataItem["Remark"].isNull())
+			dataObject.remark = valueDatadataItem["Remark"].asString();
+		data_.push_back(dataObject);
+	}
+	if(!value["Response"].isNull())
+		response_ = value["Response"].asString();
+	if(!value["AccessDeniedDetail"].isNull())
+		accessDeniedDetail_ = value["AccessDeniedDetail"].asString();
+	if(!value["Message"].isNull())
+		message_ = value["Message"].asString();
+	if(!value["Code"].isNull())
+		code_ = value["Code"].asString();
+	if(!value["Success"].isNull())
+		success_ = value["Success"].asString() == "true";
+
+}
+
+std::string ListFlowResult::getResponse()const
+{
+	return response_;
+}
+
+std::string ListFlowResult::getAccessDeniedDetail()const
+{
+	return accessDeniedDetail_;
+}
+
+std::string ListFlowResult::getMessage()const
+{
+	return message_;
+}
+
+std::vector<ListFlowResult::DataItem> ListFlowResult::getData()const
+{
+	return data_;
+}
+
+std::string ListFlowResult::getCode()const
+{
+	return code_;
+}
+
+bool ListFlowResult::getSuccess()const
+{
+	return success_;
+}
+

+ 63 - 0
cams/src/model/ListPhoneMessageQrdlRequest.cc

@@ -0,0 +1,63 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ *
+ * 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.
+ */
+
+#include <alibabacloud/cams/model/ListPhoneMessageQrdlRequest.h>
+
+using AlibabaCloud::Cams::Model::ListPhoneMessageQrdlRequest;
+
+ListPhoneMessageQrdlRequest::ListPhoneMessageQrdlRequest()
+    : RpcServiceRequest("cams", "2020-06-06", "ListPhoneMessageQrdl") {
+  setMethod(HttpRequest::Method::Post);
+}
+
+ListPhoneMessageQrdlRequest::~ListPhoneMessageQrdlRequest() {}
+
+std::string ListPhoneMessageQrdlRequest::getPhoneNumber() const {
+  return phoneNumber_;
+}
+
+void ListPhoneMessageQrdlRequest::setPhoneNumber(const std::string &phoneNumber) {
+  phoneNumber_ = phoneNumber;
+  setBodyParameter(std::string("PhoneNumber"), phoneNumber);
+}
+
+std::string ListPhoneMessageQrdlRequest::getApiCode() const {
+  return apiCode_;
+}
+
+void ListPhoneMessageQrdlRequest::setApiCode(const std::string &apiCode) {
+  apiCode_ = apiCode;
+  setParameter(std::string("ApiCode"), apiCode);
+}
+
+std::string ListPhoneMessageQrdlRequest::getProdCode() const {
+  return prodCode_;
+}
+
+void ListPhoneMessageQrdlRequest::setProdCode(const std::string &prodCode) {
+  prodCode_ = prodCode;
+  setParameter(std::string("ProdCode"), prodCode);
+}
+
+std::string ListPhoneMessageQrdlRequest::getCustSpaceId() const {
+  return custSpaceId_;
+}
+
+void ListPhoneMessageQrdlRequest::setCustSpaceId(const std::string &custSpaceId) {
+  custSpaceId_ = custSpaceId;
+  setBodyParameter(std::string("CustSpaceId"), custSpaceId);
+}
+

+ 81 - 0
cams/src/model/ListPhoneMessageQrdlResult.cc

@@ -0,0 +1,81 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * 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.
+ */
+
+#include <alibabacloud/cams/model/ListPhoneMessageQrdlResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Cams;
+using namespace AlibabaCloud::Cams::Model;
+
+ListPhoneMessageQrdlResult::ListPhoneMessageQrdlResult() :
+	ServiceResult()
+{}
+
+ListPhoneMessageQrdlResult::ListPhoneMessageQrdlResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+ListPhoneMessageQrdlResult::~ListPhoneMessageQrdlResult()
+{}
+
+void ListPhoneMessageQrdlResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+	setRequestId(value["RequestId"].asString());
+	auto allDataNode = value["Data"]["列表"];
+	for (auto valueData列表 : allDataNode)
+	{
+		列表 dataObject;
+		if(!valueData列表["PhoneNumber"].isNull())
+			dataObject.phoneNumber = valueData列表["PhoneNumber"].asString();
+		if(!valueData列表["QrdlCode"].isNull())
+			dataObject.qrdlCode = valueData列表["QrdlCode"].asString();
+		if(!valueData列表["GenerateQrImage"].isNull())
+			dataObject.generateQrImage = valueData列表["GenerateQrImage"].asString();
+		if(!valueData列表["PrefilledMessage"].isNull())
+			dataObject.prefilledMessage = valueData列表["PrefilledMessage"].asString();
+		if(!valueData列表["DeepLinkUrl"].isNull())
+			dataObject.deepLinkUrl = valueData列表["DeepLinkUrl"].asString();
+		if(!valueData列表["QrImageUrl"].isNull())
+			dataObject.qrImageUrl = valueData列表["QrImageUrl"].asString();
+		data_.push_back(dataObject);
+	}
+	if(!value["Code"].isNull())
+		code_ = value["Code"].asString();
+	if(!value["Message"].isNull())
+		message_ = value["Message"].asString();
+
+}
+
+std::string ListPhoneMessageQrdlResult::getMessage()const
+{
+	return message_;
+}
+
+std::vector<ListPhoneMessageQrdlResult::列表> ListPhoneMessageQrdlResult::getData()const
+{
+	return data_;
+}
+
+std::string ListPhoneMessageQrdlResult::getCode()const
+{
+	return code_;
+}
+

+ 12 - 0
cams/src/model/ModifyChatappTemplateRequest.cc

@@ -49,6 +49,9 @@ void ModifyChatappTemplateRequest::setComponents(const std::vector<ModifyChatapp
       setBodyParameter(std::string("Components") + "." + std::to_string(dep1 + 1) + ".Buttons." + std::to_string(dep2 + 1) + ".AutofillText", components[dep1].buttons[dep2].autofillText);
       setBodyParameter(std::string("Components") + "." + std::to_string(dep1 + 1) + ".Buttons." + std::to_string(dep2 + 1) + ".IsOptOut", components[dep1].buttons[dep2].isOptOut ? "true" : "false");
       setBodyParameter(std::string("Components") + "." + std::to_string(dep1 + 1) + ".Buttons." + std::to_string(dep2 + 1) + ".CouponCode", components[dep1].buttons[dep2].couponCode);
+      setBodyParameter(std::string("Components") + "." + std::to_string(dep1 + 1) + ".Buttons." + std::to_string(dep2 + 1) + ".FlowId", components[dep1].buttons[dep2].flowId);
+      setBodyParameter(std::string("Components") + "." + std::to_string(dep1 + 1) + ".Buttons." + std::to_string(dep2 + 1) + ".FlowAction", components[dep1].buttons[dep2].flowAction);
+      setBodyParameter(std::string("Components") + "." + std::to_string(dep1 + 1) + ".Buttons." + std::to_string(dep2 + 1) + ".NavigateScreen", components[dep1].buttons[dep2].navigateScreen);
     }
     setBodyParameter(std::string("Components") + "." + std::to_string(dep1 + 1) + ".ThumbUrl", components[dep1].thumbUrl);
     setBodyParameter(std::string("Components") + "." + std::to_string(dep1 + 1) + ".Duration", std::to_string(components[dep1].duration));
@@ -121,6 +124,15 @@ void ModifyChatappTemplateRequest::setTemplateType(const std::string &templateTy
   setBodyParameter(std::string("TemplateType"), templateType);
 }
 
+std::string ModifyChatappTemplateRequest::getTemplateName() const {
+  return templateName_;
+}
+
+void ModifyChatappTemplateRequest::setTemplateName(const std::string &templateName) {
+  templateName_ = templateName;
+  setBodyParameter(std::string("TemplateName"), templateName);
+}
+
 std::string ModifyChatappTemplateRequest::getIsvCode() const {
   return isvCode_;
 }

+ 83 - 0
cams/src/model/ModifyFlowRequest.cc

@@ -0,0 +1,83 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ *
+ * 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.
+ */
+
+#include <alibabacloud/cams/model/ModifyFlowRequest.h>
+
+using AlibabaCloud::Cams::Model::ModifyFlowRequest;
+
+ModifyFlowRequest::ModifyFlowRequest()
+    : RpcServiceRequest("cams", "2020-06-06", "ModifyFlow") {
+  setMethod(HttpRequest::Method::Post);
+}
+
+ModifyFlowRequest::~ModifyFlowRequest() {}
+
+std::string ModifyFlowRequest::getApiCode() const {
+  return apiCode_;
+}
+
+void ModifyFlowRequest::setApiCode(const std::string &apiCode) {
+  apiCode_ = apiCode;
+  setParameter(std::string("ApiCode"), apiCode);
+}
+
+std::vector<ModifyFlowRequest::std::string> ModifyFlowRequest::getCategories() const {
+  return categories_;
+}
+
+void ModifyFlowRequest::setCategories(const std::vector<ModifyFlowRequest::std::string> &categories) {
+  categories_ = categories;
+  for(int dep1 = 0; dep1 != categories.size(); dep1++) {
+    setBodyParameter(std::string("Categories") + "." + std::to_string(dep1 + 1), categories[dep1]);
+  }
+}
+
+std::string ModifyFlowRequest::getProdCode() const {
+  return prodCode_;
+}
+
+void ModifyFlowRequest::setProdCode(const std::string &prodCode) {
+  prodCode_ = prodCode;
+  setParameter(std::string("ProdCode"), prodCode);
+}
+
+std::string ModifyFlowRequest::getCustSpaceId() const {
+  return custSpaceId_;
+}
+
+void ModifyFlowRequest::setCustSpaceId(const std::string &custSpaceId) {
+  custSpaceId_ = custSpaceId;
+  setBodyParameter(std::string("CustSpaceId"), custSpaceId);
+}
+
+std::string ModifyFlowRequest::getFlowName() const {
+  return flowName_;
+}
+
+void ModifyFlowRequest::setFlowName(const std::string &flowName) {
+  flowName_ = flowName;
+  setBodyParameter(std::string("FlowName"), flowName);
+}
+
+std::string ModifyFlowRequest::getFlowId() const {
+  return flowId_;
+}
+
+void ModifyFlowRequest::setFlowId(const std::string &flowId) {
+  flowId_ = flowId;
+  setBodyParameter(std::string("FlowId"), flowId);
+}
+

+ 71 - 0
cams/src/model/ModifyFlowResult.cc

@@ -0,0 +1,71 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * 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.
+ */
+
+#include <alibabacloud/cams/model/ModifyFlowResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Cams;
+using namespace AlibabaCloud::Cams::Model;
+
+ModifyFlowResult::ModifyFlowResult() :
+	ServiceResult()
+{}
+
+ModifyFlowResult::ModifyFlowResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+ModifyFlowResult::~ModifyFlowResult()
+{}
+
+void ModifyFlowResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+	setRequestId(value["RequestId"].asString());
+	auto dataNode = value["Data"];
+	if(!dataNode["FlowId"].isNull())
+		data_.flowId = dataNode["FlowId"].asString();
+	if(!dataNode["FlowName"].isNull())
+		data_.flowName = dataNode["FlowName"].asString();
+		auto allCategories = dataNode["Categories"]["categories"];
+		for (auto value : allCategories)
+			data_.categories.push_back(value.asString());
+	if(!value["Code"].isNull())
+		code_ = value["Code"].asString();
+	if(!value["Message"].isNull())
+		message_ = value["Message"].asString();
+
+}
+
+std::string ModifyFlowResult::getMessage()const
+{
+	return message_;
+}
+
+ModifyFlowResult::Data ModifyFlowResult::getData()const
+{
+	return data_;
+}
+
+std::string ModifyFlowResult::getCode()const
+{
+	return code_;
+}
+

+ 9 - 0
cams/src/model/ModifyPhoneBusinessProfileRequest.cc

@@ -34,6 +34,15 @@ void ModifyPhoneBusinessProfileRequest::setPhoneNumber(const std::string &phoneN
   setParameter(std::string("PhoneNumber"), phoneNumber);
 }
 
+std::string ModifyPhoneBusinessProfileRequest::getAbout() const {
+  return about_;
+}
+
+void ModifyPhoneBusinessProfileRequest::setAbout(const std::string &about) {
+  about_ = about;
+  setParameter(std::string("About"), about);
+}
+
 std::string ModifyPhoneBusinessProfileRequest::getDescription() const {
   return description_;
 }

+ 63 - 0
cams/src/model/PublishFlowRequest.cc

@@ -0,0 +1,63 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ *
+ * 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.
+ */
+
+#include <alibabacloud/cams/model/PublishFlowRequest.h>
+
+using AlibabaCloud::Cams::Model::PublishFlowRequest;
+
+PublishFlowRequest::PublishFlowRequest()
+    : RpcServiceRequest("cams", "2020-06-06", "PublishFlow") {
+  setMethod(HttpRequest::Method::Post);
+}
+
+PublishFlowRequest::~PublishFlowRequest() {}
+
+std::string PublishFlowRequest::getApiCode() const {
+  return apiCode_;
+}
+
+void PublishFlowRequest::setApiCode(const std::string &apiCode) {
+  apiCode_ = apiCode;
+  setParameter(std::string("ApiCode"), apiCode);
+}
+
+std::string PublishFlowRequest::getProdCode() const {
+  return prodCode_;
+}
+
+void PublishFlowRequest::setProdCode(const std::string &prodCode) {
+  prodCode_ = prodCode;
+  setParameter(std::string("ProdCode"), prodCode);
+}
+
+std::string PublishFlowRequest::getCustSpaceId() const {
+  return custSpaceId_;
+}
+
+void PublishFlowRequest::setCustSpaceId(const std::string &custSpaceId) {
+  custSpaceId_ = custSpaceId;
+  setBodyParameter(std::string("CustSpaceId"), custSpaceId);
+}
+
+std::string PublishFlowRequest::getFlowId() const {
+  return flowId_;
+}
+
+void PublishFlowRequest::setFlowId(const std::string &flowId) {
+  flowId_ = flowId;
+  setBodyParameter(std::string("FlowId"), flowId);
+}
+

+ 58 - 0
cams/src/model/PublishFlowResult.cc

@@ -0,0 +1,58 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * 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.
+ */
+
+#include <alibabacloud/cams/model/PublishFlowResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Cams;
+using namespace AlibabaCloud::Cams::Model;
+
+PublishFlowResult::PublishFlowResult() :
+	ServiceResult()
+{}
+
+PublishFlowResult::PublishFlowResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+PublishFlowResult::~PublishFlowResult()
+{}
+
+void PublishFlowResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+	setRequestId(value["RequestId"].asString());
+	if(!value["Code"].isNull())
+		code_ = value["Code"].asString();
+	if(!value["Message"].isNull())
+		message_ = value["Message"].asString();
+
+}
+
+std::string PublishFlowResult::getMessage()const
+{
+	return message_;
+}
+
+std::string PublishFlowResult::getCode()const
+{
+	return code_;
+}
+

+ 9 - 0
cams/src/model/QueryChatappPhoneNumbersRequest.cc

@@ -61,3 +61,12 @@ void QueryChatappPhoneNumbersRequest::setCustSpaceId(const std::string &custSpac
   setParameter(std::string("CustSpaceId"), custSpaceId);
 }
 
+std::string QueryChatappPhoneNumbersRequest::getStatus() const {
+  return status_;
+}
+
+void QueryChatappPhoneNumbersRequest::setStatus(const std::string &status) {
+  status_ = status;
+  setParameter(std::string("Status"), status);
+}
+

+ 2 - 0
cams/src/model/QueryPhoneBusinessProfileResult.cc

@@ -50,6 +50,8 @@ void QueryPhoneBusinessProfileResult::parse(const std::string &payload)
 		data_.email = dataNode["Email"].asString();
 	if(!dataNode["ProfilePictureUrl"].isNull())
 		data_.profilePictureUrl = dataNode["ProfilePictureUrl"].asString();
+	if(!dataNode["About"].isNull())
+		data_.about = dataNode["About"].asString();
 		auto allWebsites = dataNode["Websites"]["网站"];
 		for (auto value : allWebsites)
 			data_.websites.push_back(value.asString());

+ 13 - 0
cams/src/model/SendChatappMassMessageRequest.cc

@@ -73,6 +73,10 @@ void SendChatappMassMessageRequest::setSenderList(const std::vector<SendChatappM
         setBodyParameter(std::string("SenderList") + "." + std::to_string(dep1 + 1) + ".ProductAction.Sections." + std::to_string(dep2 + 1) + ".ProductItems." + std::to_string(dep3 + 1) + ".ProductRetailerId", senderList[dep1].productAction.sections[dep2].productItems[dep3].productRetailerId);
       }
     }
+    setBodyParameter(std::string("SenderList") + "." + std::to_string(dep1 + 1) + ".FlowAction.FlowToken", senderList[dep1].flowAction.flowToken);
+    for(auto const &iter2 : senderList[dep1].flowAction.flowActionData) {
+      setBodyParameter(std::string("SenderList") + "." + std::to_string(dep1 + 1) + ".FlowAction.FlowActionData." + iter2.first, iter2.second);
+    }
   }
 }
 
@@ -103,6 +107,15 @@ void SendChatappMassMessageRequest::setFrom(const std::string &from) {
   setBodyParameter(std::string("From"), from);
 }
 
+std::string SendChatappMassMessageRequest::getTemplateName() const {
+  return templateName_;
+}
+
+void SendChatappMassMessageRequest::setTemplateName(const std::string &templateName) {
+  templateName_ = templateName;
+  setBodyParameter(std::string("TemplateName"), templateName);
+}
+
 std::string SendChatappMassMessageRequest::getTag() const {
   return tag_;
 }

+ 115 - 94
cams/src/model/SendChatappMessageRequest.cc

@@ -25,30 +25,6 @@ SendChatappMessageRequest::SendChatappMessageRequest()
 
 SendChatappMessageRequest::~SendChatappMessageRequest() {}
 
-SendChatappMessageRequest::ProductAction SendChatappMessageRequest::getProductAction() const {
-  return productAction_;
-}
-
-void SendChatappMessageRequest::setProductAction(const SendChatappMessageRequest::ProductAction &productAction) {
-  productAction_ = productAction;
-  setBodyParameter(std::string("ProductAction") + ".ThumbnailProductRetailerId", productAction.thumbnailProductRetailerId);
-  for(int dep1 = 0; dep1 != productAction.sections.size(); dep1++) {
-    setBodyParameter(std::string("ProductAction") + ".Sections." + std::to_string(dep1 + 1) + ".Title", productAction.sections[dep1].title);
-    for(int dep2 = 0; dep2 != productAction.sections[dep1].productItems.size(); dep2++) {
-      setBodyParameter(std::string("ProductAction") + ".Sections." + std::to_string(dep1 + 1) + ".ProductItems." + std::to_string(dep2 + 1) + ".ProductRetailerId", productAction.sections[dep1].productItems[dep2].productRetailerId);
-    }
-  }
-}
-
-std::string SendChatappMessageRequest::getMessageType() const {
-  return messageType_;
-}
-
-void SendChatappMessageRequest::setMessageType(const std::string &messageType) {
-  messageType_ = messageType;
-  setBodyParameter(std::string("MessageType"), messageType);
-}
-
 std::string SendChatappMessageRequest::getLanguage() const {
   return language_;
 }
@@ -58,15 +34,6 @@ void SendChatappMessageRequest::setLanguage(const std::string &language) {
   setBodyParameter(std::string("Language"), language);
 }
 
-std::string SendChatappMessageRequest::getCustWabaId() const {
-  return custWabaId_;
-}
-
-void SendChatappMessageRequest::setCustWabaId(const std::string &custWabaId) {
-  custWabaId_ = custWabaId;
-  setBodyParameter(std::string("CustWabaId"), custWabaId);
-}
-
 std::string SendChatappMessageRequest::getType() const {
   return type_;
 }
@@ -85,26 +52,6 @@ void SendChatappMessageRequest::setFallBackContent(const std::string &fallBackCo
   setBodyParameter(std::string("FallBackContent"), fallBackContent);
 }
 
-std::string SendChatappMessageRequest::getContent() const {
-  return content_;
-}
-
-void SendChatappMessageRequest::setContent(const std::string &content) {
-  content_ = content;
-  setParameter(std::string("Content"), content);
-}
-
-std::map<std::string, std::string> SendChatappMessageRequest::getTemplateParams() const {
-  return templateParams_;
-}
-
-void SendChatappMessageRequest::setTemplateParams(const std::map<std::string, std::string> &templateParams) {
-  templateParams_ = templateParams;
-  for(auto const &iter1 : templateParams) {
-    setBodyParameter(std::string("TemplateParams") + "." + iter1.first, iter1.second);
-  }
-}
-
 std::vector<SendChatappMessageRequest::std::string> SendChatappMessageRequest::getPayload() const {
   return payload_;
 }
@@ -116,24 +63,6 @@ void SendChatappMessageRequest::setPayload(const std::vector<SendChatappMessageR
   }
 }
 
-std::string SendChatappMessageRequest::getApiCode() const {
-  return apiCode_;
-}
-
-void SendChatappMessageRequest::setApiCode(const std::string &apiCode) {
-  apiCode_ = apiCode;
-  setParameter(std::string("ApiCode"), apiCode);
-}
-
-std::string SendChatappMessageRequest::getChannelType() const {
-  return channelType_;
-}
-
-void SendChatappMessageRequest::setChannelType(const std::string &channelType) {
-  channelType_ = channelType;
-  setBodyParameter(std::string("ChannelType"), channelType);
-}
-
 std::string SendChatappMessageRequest::getFrom() const {
   return from_;
 }
@@ -161,13 +90,16 @@ void SendChatappMessageRequest::setFallBackRule(const std::string &fallBackRule)
   setBodyParameter(std::string("FallBackRule"), fallBackRule);
 }
 
-std::string SendChatappMessageRequest::getTrackingData() const {
-  return trackingData_;
+SendChatappMessageRequest::FlowAction SendChatappMessageRequest::getFlowAction() const {
+  return flowAction_;
 }
 
-void SendChatappMessageRequest::setTrackingData(const std::string &trackingData) {
-  trackingData_ = trackingData;
-  setBodyParameter(std::string("TrackingData"), trackingData);
+void SendChatappMessageRequest::setFlowAction(const SendChatappMessageRequest::FlowAction &flowAction) {
+  flowAction_ = flowAction;
+  setBodyParameter(std::string("FlowAction") + ".FlowToken", flowAction.flowToken);
+  for(auto const &iter1 : flowAction.flowActionData) {
+    setBodyParameter(std::string("FlowAction") + ".FlowActionData." + iter1.first, iter1.second);
+  }
 }
 
 std::string SendChatappMessageRequest::getTaskId() const {
@@ -188,6 +120,113 @@ void SendChatappMessageRequest::setIsvCode(const std::string &isvCode) {
   setBodyParameter(std::string("IsvCode"), isvCode);
 }
 
+std::string SendChatappMessageRequest::getCustSpaceId() const {
+  return custSpaceId_;
+}
+
+void SendChatappMessageRequest::setCustSpaceId(const std::string &custSpaceId) {
+  custSpaceId_ = custSpaceId;
+  setBodyParameter(std::string("CustSpaceId"), custSpaceId);
+}
+
+std::string SendChatappMessageRequest::getTemplateCode() const {
+  return templateCode_;
+}
+
+void SendChatappMessageRequest::setTemplateCode(const std::string &templateCode) {
+  templateCode_ = templateCode;
+  setBodyParameter(std::string("TemplateCode"), templateCode);
+}
+
+SendChatappMessageRequest::ProductAction SendChatappMessageRequest::getProductAction() const {
+  return productAction_;
+}
+
+void SendChatappMessageRequest::setProductAction(const SendChatappMessageRequest::ProductAction &productAction) {
+  productAction_ = productAction;
+  setBodyParameter(std::string("ProductAction") + ".ThumbnailProductRetailerId", productAction.thumbnailProductRetailerId);
+  for(int dep1 = 0; dep1 != productAction.sections.size(); dep1++) {
+    setBodyParameter(std::string("ProductAction") + ".Sections." + std::to_string(dep1 + 1) + ".Title", productAction.sections[dep1].title);
+    for(int dep2 = 0; dep2 != productAction.sections[dep1].productItems.size(); dep2++) {
+      setBodyParameter(std::string("ProductAction") + ".Sections." + std::to_string(dep1 + 1) + ".ProductItems." + std::to_string(dep2 + 1) + ".ProductRetailerId", productAction.sections[dep1].productItems[dep2].productRetailerId);
+    }
+  }
+}
+
+std::string SendChatappMessageRequest::getMessageType() const {
+  return messageType_;
+}
+
+void SendChatappMessageRequest::setMessageType(const std::string &messageType) {
+  messageType_ = messageType;
+  setBodyParameter(std::string("MessageType"), messageType);
+}
+
+std::string SendChatappMessageRequest::getCustWabaId() const {
+  return custWabaId_;
+}
+
+void SendChatappMessageRequest::setCustWabaId(const std::string &custWabaId) {
+  custWabaId_ = custWabaId;
+  setBodyParameter(std::string("CustWabaId"), custWabaId);
+}
+
+std::string SendChatappMessageRequest::getContent() const {
+  return content_;
+}
+
+void SendChatappMessageRequest::setContent(const std::string &content) {
+  content_ = content;
+  setParameter(std::string("Content"), content);
+}
+
+std::map<std::string, std::string> SendChatappMessageRequest::getTemplateParams() const {
+  return templateParams_;
+}
+
+void SendChatappMessageRequest::setTemplateParams(const std::map<std::string, std::string> &templateParams) {
+  templateParams_ = templateParams;
+  for(auto const &iter1 : templateParams) {
+    setBodyParameter(std::string("TemplateParams") + "." + iter1.first, iter1.second);
+  }
+}
+
+std::string SendChatappMessageRequest::getApiCode() const {
+  return apiCode_;
+}
+
+void SendChatappMessageRequest::setApiCode(const std::string &apiCode) {
+  apiCode_ = apiCode;
+  setParameter(std::string("ApiCode"), apiCode);
+}
+
+std::string SendChatappMessageRequest::getChannelType() const {
+  return channelType_;
+}
+
+void SendChatappMessageRequest::setChannelType(const std::string &channelType) {
+  channelType_ = channelType;
+  setBodyParameter(std::string("ChannelType"), channelType);
+}
+
+std::string SendChatappMessageRequest::getTemplateName() const {
+  return templateName_;
+}
+
+void SendChatappMessageRequest::setTemplateName(const std::string &templateName) {
+  templateName_ = templateName;
+  setBodyParameter(std::string("TemplateName"), templateName);
+}
+
+std::string SendChatappMessageRequest::getTrackingData() const {
+  return trackingData_;
+}
+
+void SendChatappMessageRequest::setTrackingData(const std::string &trackingData) {
+  trackingData_ = trackingData;
+  setBodyParameter(std::string("TrackingData"), trackingData);
+}
+
 std::string SendChatappMessageRequest::getContextMessageId() const {
   return contextMessageId_;
 }
@@ -242,15 +281,6 @@ void SendChatappMessageRequest::setFallBackDuration(int fallBackDuration) {
   setBodyParameter(std::string("FallBackDuration"), std::to_string(fallBackDuration));
 }
 
-std::string SendChatappMessageRequest::getCustSpaceId() const {
-  return custSpaceId_;
-}
-
-void SendChatappMessageRequest::setCustSpaceId(const std::string &custSpaceId) {
-  custSpaceId_ = custSpaceId;
-  setBodyParameter(std::string("CustSpaceId"), custSpaceId);
-}
-
 std::string SendChatappMessageRequest::getTo() const {
   return to_;
 }
@@ -260,12 +290,3 @@ void SendChatappMessageRequest::setTo(const std::string &to) {
   setBodyParameter(std::string("To"), to);
 }
 
-std::string SendChatappMessageRequest::getTemplateCode() const {
-  return templateCode_;
-}
-
-void SendChatappMessageRequest::setTemplateCode(const std::string &templateCode) {
-  templateCode_ = templateCode;
-  setBodyParameter(std::string("TemplateCode"), templateCode);
-}
-

+ 72 - 0
cams/src/model/UpdateFlowJSONAssetRequest.cc

@@ -0,0 +1,72 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ *
+ * 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.
+ */
+
+#include <alibabacloud/cams/model/UpdateFlowJSONAssetRequest.h>
+
+using AlibabaCloud::Cams::Model::UpdateFlowJSONAssetRequest;
+
+UpdateFlowJSONAssetRequest::UpdateFlowJSONAssetRequest()
+    : RpcServiceRequest("cams", "2020-06-06", "UpdateFlowJSONAsset") {
+  setMethod(HttpRequest::Method::Post);
+}
+
+UpdateFlowJSONAssetRequest::~UpdateFlowJSONAssetRequest() {}
+
+std::string UpdateFlowJSONAssetRequest::getFilePath() const {
+  return filePath_;
+}
+
+void UpdateFlowJSONAssetRequest::setFilePath(const std::string &filePath) {
+  filePath_ = filePath;
+  setBodyParameter(std::string("FilePath"), filePath);
+}
+
+std::string UpdateFlowJSONAssetRequest::getApiCode() const {
+  return apiCode_;
+}
+
+void UpdateFlowJSONAssetRequest::setApiCode(const std::string &apiCode) {
+  apiCode_ = apiCode;
+  setParameter(std::string("ApiCode"), apiCode);
+}
+
+std::string UpdateFlowJSONAssetRequest::getProdCode() const {
+  return prodCode_;
+}
+
+void UpdateFlowJSONAssetRequest::setProdCode(const std::string &prodCode) {
+  prodCode_ = prodCode;
+  setParameter(std::string("ProdCode"), prodCode);
+}
+
+std::string UpdateFlowJSONAssetRequest::getCustSpaceId() const {
+  return custSpaceId_;
+}
+
+void UpdateFlowJSONAssetRequest::setCustSpaceId(const std::string &custSpaceId) {
+  custSpaceId_ = custSpaceId;
+  setBodyParameter(std::string("CustSpaceId"), custSpaceId);
+}
+
+std::string UpdateFlowJSONAssetRequest::getFlowId() const {
+  return flowId_;
+}
+
+void UpdateFlowJSONAssetRequest::setFlowId(const std::string &flowId) {
+  flowId_ = flowId;
+  setBodyParameter(std::string("FlowId"), flowId);
+}
+

+ 66 - 0
cams/src/model/UpdateFlowJSONAssetResult.cc

@@ -0,0 +1,66 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * 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.
+ */
+
+#include <alibabacloud/cams/model/UpdateFlowJSONAssetResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Cams;
+using namespace AlibabaCloud::Cams::Model;
+
+UpdateFlowJSONAssetResult::UpdateFlowJSONAssetResult() :
+	ServiceResult()
+{}
+
+UpdateFlowJSONAssetResult::UpdateFlowJSONAssetResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+UpdateFlowJSONAssetResult::~UpdateFlowJSONAssetResult()
+{}
+
+void UpdateFlowJSONAssetResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+	setRequestId(value["RequestId"].asString());
+	auto dataNode = value["Data"];
+	if(!dataNode["FlowId"].isNull())
+		data_.flowId = dataNode["FlowId"].asString();
+	if(!value["Code"].isNull())
+		code_ = value["Code"].asString();
+	if(!value["Message"].isNull())
+		message_ = value["Message"].asString();
+
+}
+
+std::string UpdateFlowJSONAssetResult::getMessage()const
+{
+	return message_;
+}
+
+UpdateFlowJSONAssetResult::Data UpdateFlowJSONAssetResult::getData()const
+{
+	return data_;
+}
+
+std::string UpdateFlowJSONAssetResult::getCode()const
+{
+	return code_;
+}
+

+ 72 - 0
cams/src/model/UpdatePhoneEncryptionPublicKeyRequest.cc

@@ -0,0 +1,72 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ *
+ * 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.
+ */
+
+#include <alibabacloud/cams/model/UpdatePhoneEncryptionPublicKeyRequest.h>
+
+using AlibabaCloud::Cams::Model::UpdatePhoneEncryptionPublicKeyRequest;
+
+UpdatePhoneEncryptionPublicKeyRequest::UpdatePhoneEncryptionPublicKeyRequest()
+    : RpcServiceRequest("cams", "2020-06-06", "UpdatePhoneEncryptionPublicKey") {
+  setMethod(HttpRequest::Method::Post);
+}
+
+UpdatePhoneEncryptionPublicKeyRequest::~UpdatePhoneEncryptionPublicKeyRequest() {}
+
+std::string UpdatePhoneEncryptionPublicKeyRequest::getPhoneNumber() const {
+  return phoneNumber_;
+}
+
+void UpdatePhoneEncryptionPublicKeyRequest::setPhoneNumber(const std::string &phoneNumber) {
+  phoneNumber_ = phoneNumber;
+  setBodyParameter(std::string("PhoneNumber"), phoneNumber);
+}
+
+std::string UpdatePhoneEncryptionPublicKeyRequest::getEncryptionPublicKey() const {
+  return encryptionPublicKey_;
+}
+
+void UpdatePhoneEncryptionPublicKeyRequest::setEncryptionPublicKey(const std::string &encryptionPublicKey) {
+  encryptionPublicKey_ = encryptionPublicKey;
+  setBodyParameter(std::string("EncryptionPublicKey"), encryptionPublicKey);
+}
+
+std::string UpdatePhoneEncryptionPublicKeyRequest::getApiCode() const {
+  return apiCode_;
+}
+
+void UpdatePhoneEncryptionPublicKeyRequest::setApiCode(const std::string &apiCode) {
+  apiCode_ = apiCode;
+  setParameter(std::string("ApiCode"), apiCode);
+}
+
+std::string UpdatePhoneEncryptionPublicKeyRequest::getProdCode() const {
+  return prodCode_;
+}
+
+void UpdatePhoneEncryptionPublicKeyRequest::setProdCode(const std::string &prodCode) {
+  prodCode_ = prodCode;
+  setParameter(std::string("ProdCode"), prodCode);
+}
+
+std::string UpdatePhoneEncryptionPublicKeyRequest::getCustSpaceId() const {
+  return custSpaceId_;
+}
+
+void UpdatePhoneEncryptionPublicKeyRequest::setCustSpaceId(const std::string &custSpaceId) {
+  custSpaceId_ = custSpaceId;
+  setBodyParameter(std::string("CustSpaceId"), custSpaceId);
+}
+

+ 58 - 0
cams/src/model/UpdatePhoneEncryptionPublicKeyResult.cc

@@ -0,0 +1,58 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * 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.
+ */
+
+#include <alibabacloud/cams/model/UpdatePhoneEncryptionPublicKeyResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Cams;
+using namespace AlibabaCloud::Cams::Model;
+
+UpdatePhoneEncryptionPublicKeyResult::UpdatePhoneEncryptionPublicKeyResult() :
+	ServiceResult()
+{}
+
+UpdatePhoneEncryptionPublicKeyResult::UpdatePhoneEncryptionPublicKeyResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+UpdatePhoneEncryptionPublicKeyResult::~UpdatePhoneEncryptionPublicKeyResult()
+{}
+
+void UpdatePhoneEncryptionPublicKeyResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+	setRequestId(value["RequestId"].asString());
+	if(!value["Code"].isNull())
+		code_ = value["Code"].asString();
+	if(!value["Message"].isNull())
+		message_ = value["Message"].asString();
+
+}
+
+std::string UpdatePhoneEncryptionPublicKeyResult::getMessage()const
+{
+	return message_;
+}
+
+std::string UpdatePhoneEncryptionPublicKeyResult::getCode()const
+{
+	return code_;
+}
+

+ 90 - 0
cams/src/model/UpdatePhoneMessageQrdlRequest.cc

@@ -0,0 +1,90 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ *
+ * 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.
+ */
+
+#include <alibabacloud/cams/model/UpdatePhoneMessageQrdlRequest.h>
+
+using AlibabaCloud::Cams::Model::UpdatePhoneMessageQrdlRequest;
+
+UpdatePhoneMessageQrdlRequest::UpdatePhoneMessageQrdlRequest()
+    : RpcServiceRequest("cams", "2020-06-06", "UpdatePhoneMessageQrdl") {
+  setMethod(HttpRequest::Method::Post);
+}
+
+UpdatePhoneMessageQrdlRequest::~UpdatePhoneMessageQrdlRequest() {}
+
+std::string UpdatePhoneMessageQrdlRequest::getPhoneNumber() const {
+  return phoneNumber_;
+}
+
+void UpdatePhoneMessageQrdlRequest::setPhoneNumber(const std::string &phoneNumber) {
+  phoneNumber_ = phoneNumber;
+  setBodyParameter(std::string("PhoneNumber"), phoneNumber);
+}
+
+std::string UpdatePhoneMessageQrdlRequest::getPrefilledMessage() const {
+  return prefilledMessage_;
+}
+
+void UpdatePhoneMessageQrdlRequest::setPrefilledMessage(const std::string &prefilledMessage) {
+  prefilledMessage_ = prefilledMessage;
+  setBodyParameter(std::string("PrefilledMessage"), prefilledMessage);
+}
+
+std::string UpdatePhoneMessageQrdlRequest::getApiCode() const {
+  return apiCode_;
+}
+
+void UpdatePhoneMessageQrdlRequest::setApiCode(const std::string &apiCode) {
+  apiCode_ = apiCode;
+  setParameter(std::string("ApiCode"), apiCode);
+}
+
+std::string UpdatePhoneMessageQrdlRequest::getGenerateQrImage() const {
+  return generateQrImage_;
+}
+
+void UpdatePhoneMessageQrdlRequest::setGenerateQrImage(const std::string &generateQrImage) {
+  generateQrImage_ = generateQrImage;
+  setBodyParameter(std::string("GenerateQrImage"), generateQrImage);
+}
+
+std::string UpdatePhoneMessageQrdlRequest::getQrdlCode() const {
+  return qrdlCode_;
+}
+
+void UpdatePhoneMessageQrdlRequest::setQrdlCode(const std::string &qrdlCode) {
+  qrdlCode_ = qrdlCode;
+  setBodyParameter(std::string("QrdlCode"), qrdlCode);
+}
+
+std::string UpdatePhoneMessageQrdlRequest::getProdCode() const {
+  return prodCode_;
+}
+
+void UpdatePhoneMessageQrdlRequest::setProdCode(const std::string &prodCode) {
+  prodCode_ = prodCode;
+  setParameter(std::string("ProdCode"), prodCode);
+}
+
+std::string UpdatePhoneMessageQrdlRequest::getCustSpaceId() const {
+  return custSpaceId_;
+}
+
+void UpdatePhoneMessageQrdlRequest::setCustSpaceId(const std::string &custSpaceId) {
+  custSpaceId_ = custSpaceId;
+  setBodyParameter(std::string("CustSpaceId"), custSpaceId);
+}
+

+ 76 - 0
cams/src/model/UpdatePhoneMessageQrdlResult.cc

@@ -0,0 +1,76 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * 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.
+ */
+
+#include <alibabacloud/cams/model/UpdatePhoneMessageQrdlResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Cams;
+using namespace AlibabaCloud::Cams::Model;
+
+UpdatePhoneMessageQrdlResult::UpdatePhoneMessageQrdlResult() :
+	ServiceResult()
+{}
+
+UpdatePhoneMessageQrdlResult::UpdatePhoneMessageQrdlResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+UpdatePhoneMessageQrdlResult::~UpdatePhoneMessageQrdlResult()
+{}
+
+void UpdatePhoneMessageQrdlResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+	setRequestId(value["RequestId"].asString());
+	auto dataNode = value["Data"];
+	if(!dataNode["PhoneNumber"].isNull())
+		data_.phoneNumber = dataNode["PhoneNumber"].asString();
+	if(!dataNode["QrdlCode"].isNull())
+		data_.qrdlCode = dataNode["QrdlCode"].asString();
+	if(!dataNode["GenerateQrImage"].isNull())
+		data_.generateQrImage = dataNode["GenerateQrImage"].asString();
+	if(!dataNode["PrefilledMessage"].isNull())
+		data_.prefilledMessage = dataNode["PrefilledMessage"].asString();
+	if(!dataNode["DeepLinkUrl"].isNull())
+		data_.deepLinkUrl = dataNode["DeepLinkUrl"].asString();
+	if(!dataNode["QrImageUrl"].isNull())
+		data_.qrImageUrl = dataNode["QrImageUrl"].asString();
+	if(!value["Code"].isNull())
+		code_ = value["Code"].asString();
+	if(!value["Message"].isNull())
+		message_ = value["Message"].asString();
+
+}
+
+std::string UpdatePhoneMessageQrdlResult::getMessage()const
+{
+	return message_;
+}
+
+UpdatePhoneMessageQrdlResult::Data UpdatePhoneMessageQrdlResult::getData()const
+{
+	return data_;
+}
+
+std::string UpdatePhoneMessageQrdlResult::getCode()const
+{
+	return code_;
+}
+