Class WeChatTemplateMessageBot
java.lang.Object
com.flowable.engage.external.system.wechat.WeChatTemplateMessageBot
- All Implemented Interfaces:
BotService
An action bot handling the action definition to send a WeChat template message based on a template handled by the template engine.
- Author:
- Micha Kiener
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected final ConversationPermissionServiceprotected final ConversationServiceprotected final JmsMessageOperationsprotected final MessageServiceprotected final PlatformIdentityServiceprotected final TemplateServiceprotected final UserAccountServicestatic final Stringstatic final Stringprotected final WeChatProperties -
Constructor Summary
ConstructorsConstructorDescriptionWeChatTemplateMessageBot(TemplateService templateService, ConversationService conversationService, ConversationPermissionService conversationPermissionService, MessageService messageService, PlatformIdentityService platformIdentityService, JmsMessageOperations jmsMessageOperations, WeChatProperties weChatProperties, UserAccountService userAccountService) -
Method Summary
Modifier and TypeMethodDescriptionprotected voidcheckTemplateParametersSize(Map<String, String> templateParameters) Check if the total size of all the template parameters do not exceed the maximum allowed size which is given by WeChat.extractTemplateParameters(List<TemplateParameter> templateParameters, Map<String, Object> payload) Extract all the template parameters from the payload.Returns the optional description of this bot, describing its capabilities or prerequisites.getKey()Returns the key of this bot which is used to linkActionDefinitions to this bot.getName()Returns the name of this bot, typically used as the label for it.invokeBot(HistoricActionInstance actionInstance, ActionDefinition actionDefinition, Map<String, Object> payload) Whenever an action definition is triggered, an action instance is created and this method is invoked in order to execute the action.protected voidsendExternalTemplateMessage(Conversation conversation, Message internalMessage, Map<String, String> templateParameters, String weChatTemplateId) Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface com.flowable.action.api.bot.BotService
invokeBot
-
Field Details
-
WECHAT_TEMPLATE_KEY
- See Also:
-
WECHAT_TEMPLATE_ACTION_DEFINITION_KEY
- See Also:
-
templateService
-
conversationService
-
conversationPermissionService
-
messageService
-
platformIdentityService
-
jmsMessagingOperations
-
weChatProperties
-
userAccountService
-
-
Constructor Details
-
WeChatTemplateMessageBot
public WeChatTemplateMessageBot(TemplateService templateService, ConversationService conversationService, ConversationPermissionService conversationPermissionService, MessageService messageService, PlatformIdentityService platformIdentityService, JmsMessageOperations jmsMessageOperations, WeChatProperties weChatProperties, UserAccountService userAccountService)
-
-
Method Details
-
getKey
Description copied from interface:BotServiceReturns the key of this bot which is used to linkActionDefinitions to this bot.- Specified by:
getKeyin interfaceBotService- Returns:
- the key of this bot, which needs to be unique amongst other bots
-
getName
Description copied from interface:BotServiceReturns the name of this bot, typically used as the label for it.- Specified by:
getNamein interfaceBotService- Returns:
- the name of this bot
-
getDescription
Description copied from interface:BotServiceReturns the optional description of this bot, describing its capabilities or prerequisites.- Specified by:
getDescriptionin interfaceBotService- Returns:
- the optional description of this bot
-
invokeBot
public BotActionResult invokeBot(HistoricActionInstance actionInstance, ActionDefinition actionDefinition, Map<String, Object> payload) Description copied from interface:BotServiceWhenever an action definition is triggered, an action instance is created and this method is invoked in order to execute the action. You need to provide an action result according the execution and follow up needed.API NOTE: Prefer overriding
BotService.invokeBot(BotInvocationContext)instead and leave this empty. Alternatively useContextAwareBotServiceinstead, to avoid overriding an empty method.- Specified by:
invokeBotin interfaceBotService- Parameters:
actionInstance- the action instance to runactionDefinition- the action definition where the action instance is based onpayload- the optional payload containing the necessary information to run the action
-
sendExternalTemplateMessage
-
extractTemplateParameters
protected Map<String,String> extractTemplateParameters(List<TemplateParameter> templateParameters, Map<String, Object> payload) Extract all the template parameters from the payload.- Parameters:
templateParameters-payload-- Returns:
- a map of the extracted parameters
-
checkTemplateParametersSize
Check if the total size of all the template parameters do not exceed the maximum allowed size which is given by WeChat.- Parameters:
templateParameters-
-