A dependency for creating complete WhatsApp chatbots with ease using a template-driven approach.
- Template-Driven Design: By default, you can use YAML | JSON templates for conversational flows. But you can implement your own TemplateStorageManager
- Hooks for Business Logic: Attach Java classes / spring beans / RESTful endpoints to process messages or actions.
- Abstracts the API for WhatsApp Cloud: focus on your core chatbot functions.
- Supports all official WhatsApp message types including Flows
- Supports dynamic messages with placeholders.
- Auto configs via properties file
- Event driven architecture with Spring Events
For a quick start - Fork the repository and attempt to run the chatbot in the example folder
Developed with Java 17+ using maven
- Clone repository
git clone git@github.com:DonnC/jawce.git- Install all project maven dependencies
- Install main engine dependencies in
jenginefolder - Install dependencies for the examples in the
example/folder
- Navigate to the example chatbot >
example/ehailing/src/main/resources/application.ymlproperties file and replace configs with your WhatsApp account configs
Checkout the complete local WhatsApp Chatbot Emulator tool!
Refer to the Example ChatBot for a quick getting started template
To include the jengine in your own project.
In your pom.xml dependencies add the following
<!-- your other dependencies -->
<dependency>
<groupId>zw.co.dcl.jawce</groupId>
<artifactId>jengine</artifactId>
<version>LATEST-VERSION</version>
<scope>compile</scope>
</dependency>Make sure you create a rest controller which handles 2 of the important logic
- webhook verification
- webhook payload
Checkout the example project for a starting point
Visit the official documentation for a detailed guide.
We welcome contributions! Please check out the Contributing Guide for details.
This project is licensed under the MIT License. See the LICENSE file for details.