API

We're adding API as a channel, so users can use the chatbot logic built on WotNot but utilize their own custom-made chat widget / launcher.

Why is this helpful?

  • You have a better chat widget UI

  • You want to manage chatbots on multiple domains

Following are the steps to use API as a channel:

Step 1: Build your chatbot flow

  1. Goto Bot builder > Choose "API" as channel

  2. Build your conversation flow

  3. Hit "Deploy" to publish your version

Step 2: Configure WotNot's APIs

You would need to invoke 2 APIs to facilitate the chat between the chatbot built on WotNot and your system.

  1. Start conversation - To initiate the conversation and create a thread.

  2. Send visitor message - To send the visitor's reply to a message for WotNot to process and goto the next step in the chat flow.

With this your system will be able to smoothly interact with the chatbot built on WotNot.

Start conversation

POST https://app.wotnot.io/api/v1/conversations

Initiates a chat session with a visitor. Make sure you use this API for unique visitors.

Headers

Name
Value

Content-Type

application/json

Authorization

Bearer <token>

Body

{
  "channel": "API",
  "message": {
    "data": {
      "body": "Hello" // user message
    },
    "type": "text"
  },
  "variables": { // variables are optional to send
    "system": { 
      "timezone": "Asia/Calcutta",
      "referrerUrl": "https://wotnot.io",
      "browserLanguage": "en-GB"
    },
    "contact": {
      "name": "User Name",
      "email": "example@domain.com",
      "phone": "1234567890"
    },
    "conversation": {
      "variable": "value"
    }
  },
  "bot_key": "<bot_key>", // found on the trigger block
  "from": {
    "user_external_id": "<visitor_id>", // mandatory to define a unique visitor id
    "type": "VISITOR"
  }
}

Response

{
    "ok": true,
    "conversation": {
        "id": "<conversation_id>",
        "created_at": "2025-02-10 20:21:03.913000",
        "assignee": {
            "id": "<bot_user_id>",
            "to": "<bot_user_email>"
        }
    },
    "contact": {
        "name": "User Name",
        "email": "example@domain.com",
        "phone": "9999999999",
        "visitor_key": "<visitor_id>_<account_id>"
    }
}

Send visitor response

POST https://app.wotnot.io/api/v1/conversation/<conversation_id>/messages

Send all visitor responses received at your systems to WotNot using this API.

After receiving it, WotNot will process the visitor message as per the chatbot flow and provide the chatbot response.

Headers

Name
Value

Content-Type

application/json

Authorization

Bearer <token>

Body

{
  "message": {
    "data": {
      "body": "Hello" // visitor's message
    },
    "type": "text" 
  },
  "user": {
    "type": "VISITOR"
  }
}

Response

{
  "ok": true,
  "message_id": "6HRBshHEcV8P103039226478taGDJQxC"
}

Last updated

Was this helpful?