JONI

personal webHook

What is Personal WebHook ?

Personal WebHook will provide you the ability to integrate your systems with JONI to send WhatsApp messages.

Since we are highly protective on privacy issues we decided to base JONI webhook on Google firebase realtime db.

Google firebase realtime db has a great free usage limit and the best part is that it's all yours and no message you sent is going through our servers.

How does it work ?

After quick setup you can make a POST call from any of your systems to your firebase and JONI will do the rest for you.

The POST request body can be a simple JSON – { "to" : "123456789" , "text" : "I'm using JONI" }

But it can be a more complex one if you want to send file or link preview

For that you can use the Message Builder that will make your life easier and build the JSON for you. 

How to set it all up?

1. First we need to create a firebase project and get our firebase realtime db url. Click here for a quick guide.

2. In the webhook settings enter your firebase realtime url, and select your store name (default is joni). 

Additional settings are:

  • Callback Url – Optional url for callback to receive a POST request with the send result
  • Clear messages before start – Clear all messages in firebase if any (default checked)
  • Auto Start – If webhook was active when you left previous WhatsApp Web session and this option is checked, than the webhook will automatically start when WhatsApp Web is loaded again (default not checked)
  • Message Interval – Since the webhook is very fast you can configure an interval between messages (default 4 seconds)

3. Start your webhook. If everything went ok you will see this screen.

JONI webhook url would be: https://<firebase realtime url>/<firebase store>/send.json

Press the copy button to copy  JONI webhook url, this is the url to send your POST requests to.

 

4. Open the Message Builder and compose your message. It can have text, emojis, files and link previews. The Message Builder will give you the JSON for your composed message, all you need to do is set to "to" field with desired mobile or group id. The Message Builder also supports fields display to ease configuration on various systems.

JONI webhook also have a beta make app available at:

https://www.make.com/en/hq/app-invitation/3fb14c225c50467083fd1ce529c0c62e

5. Enjoy 🙂

If you use Personal WebHook make sure your machine avoid Sleep Mode and keep your browser open.

Examples
Send Message
HTTP POST, JSON

{
    "to":"123456789",
    "text":"I'm using JONI"
}
RESPONSE

{
    "name":"NJ6MuFgt55"
}
Callback
HTTP POST/OPTIONS, JSON

{
    "id":"NJ6MuFgt55",
    "sent":true,
    "time":"08:00, 12.12.2022"
}
HTTP POST/OPTIONS, JSON

{
    "id":"NJ6MuFgt55",
    "sent":false,
    "time":"08:00, 12.12.2022"
    "reason":"null chat"
}

Your callback script must support CORS with POST and OPTIONS request (preflight):

header('Access-Control-Allow-Origin: *');

header('Access-Control-Allow-Methods: POST, OPTIONS');

header('Access-Control-Allow-Headers: Content-Type');