NAV Navbar
Shell HTTP JavaScript Node.JS Ruby Python Java
  • botsplash api v0.0.1
  • Authentication
  • Channels
  • Campaigns
  • Visitors
  • Messages
  • Agents
  • DeliveryStatus
  • Healthcheck
  • Schemas
  • botsplash api v0.0.1

    Scroll down for code samples, example requests and responses. Select a language for code samples from the tabs above or the mobile navigation menu.

    Welcome to the botsplash.com API!

    You can use this API to access botsplash.com API endpoints, which will allow to submit Inbound API requests and access.

    We have language bindings in Shell, Python and Javascript! You can view code examples in the dark area to the right, and you can switch the programming language of the examples with the tabs in the top right.

    If you need examples in different programming language or help assisting with integrations, write to us at [email protected]

    Base URLs:

    Authentication

    Currently, the API is available for selected customers. If you need the access to the API, email to us at [email protected].

    Channels

    Engagement channels

    Channel List

    Code samples

    # You can also use wget
    curl -X GET https://api.botsplash.com/open/v1/{appId}/channel \
      -H 'Accept: application/json'
    
    
    
    GET https://api.botsplash.com/open/v1/{appId}/channel HTTP/1.1
    Host: null
    
    
    Accept: application/json
    
    
    
    var headers = {
      'Accept':'application/json'
    
    
    };
    
    
    $.ajax({
      url: 'https://api.botsplash.com/open/v1/{appId}/channel',
      method: 'get',
    
    
      headers: headers,
      success: function(data) {
        console.log(JSON.stringify(data));
      }
    })
    
    
    
    const request = require('node-fetch');
    
    
    const headers = {
      'Accept':'application/json'
    
    
    };
    
    
    fetch('https://api.botsplash.com/open/v1/{appId}/channel',
    {
      method: 'GET',
    
    
      headers: headers
    })
    .then(function(res) {
        return res.json();
    }).then(function(body) {
        console.log(body);
    });
    
    
    
    require 'rest-client'
    require 'json'
    
    
    headers = {
      'Accept' => 'application/json'
    }
    
    
    result = RestClient.get 'https://api.botsplash.com/open/v1/{appId}/channel',
      params: {
      }, headers: headers
    
    
    p JSON.parse(result)
    
    
    
    import requests
    headers = {
      'Accept': 'application/json'
    }
    
    
    r = requests.get('https://api.botsplash.com/open/v1/{appId}/channel', params={
    
    
    }, headers = headers)
    
    
    print r.json()
    
    
    
    URL obj = new URL("https://api.botsplash.com/open/v1/{appId}/channel");
    HttpURLConnection con = (HttpURLConnection) obj.openConnection();
    con.setRequestMethod("GET");
    int responseCode = con.getResponseCode();
    BufferedReader in = new BufferedReader(
        new InputStreamReader(con.getInputStream()));
    String inputLine;
    StringBuffer response = new StringBuffer();
    while ((inputLine = in.readLine()) != null) {
        response.append(inputLine);
    }
    in.close();
    System.out.println(response.toString());
    
    
    

    GET /{appId}/channel

    List of Channels

    Parameters

    Parameter In Type Required Description
    appId path string(uuid) true botsplash specific account id. This call be see in "main navigation", "settings", "App Info" tab

    Example responses

    {
      "count": 0,
      "items": [
        {
          "id": "string",
          "name": "string",
          "channelTypeId": "string",
          "createdAt": "2018-07-02T04:23:44Z",
          "updatedAt": "2018-07-02T04:23:44Z"
        }
      ]
    }
    
    {
      "message": "string"
    }
    

    Responses

    Status Meaning Description Schema
    200 OK Success ChannelListResponse
    default Default Error ErrorResponse

    Campaigns

    Initiate inbound campaigns

    Campaign List

    Code samples

    # You can also use wget
    curl -X GET https://api.botsplash.com/open/v1/{appId}/campaign \
      -H 'Accept: application/json'
    
    
    
    GET https://api.botsplash.com/open/v1/{appId}/campaign HTTP/1.1
    Host: null
    
    
    Accept: application/json
    
    
    
    var headers = {
      'Accept':'application/json'
    
    
    };
    
    
    $.ajax({
      url: 'https://api.botsplash.com/open/v1/{appId}/campaign',
      method: 'get',
    
    
      headers: headers,
      success: function(data) {
        console.log(JSON.stringify(data));
      }
    })
    
    
    
    const request = require('node-fetch');
    
    
    const headers = {
      'Accept':'application/json'
    
    
    };
    
    
    fetch('https://api.botsplash.com/open/v1/{appId}/campaign',
    {
      method: 'GET',
    
    
      headers: headers
    })
    .then(function(res) {
        return res.json();
    }).then(function(body) {
        console.log(body);
    });
    
    
    
    require 'rest-client'
    require 'json'
    
    
    headers = {
      'Accept' => 'application/json'
    }
    
    
    result = RestClient.get 'https://api.botsplash.com/open/v1/{appId}/campaign',
      params: {
      }, headers: headers
    
    
    p JSON.parse(result)
    
    
    
    import requests
    headers = {
      'Accept': 'application/json'
    }
    
    
    r = requests.get('https://api.botsplash.com/open/v1/{appId}/campaign', params={
    
    
    }, headers = headers)
    
    
    print r.json()
    
    
    
    URL obj = new URL("https://api.botsplash.com/open/v1/{appId}/campaign");
    HttpURLConnection con = (HttpURLConnection) obj.openConnection();
    con.setRequestMethod("GET");
    int responseCode = con.getResponseCode();
    BufferedReader in = new BufferedReader(
        new InputStreamReader(con.getInputStream()));
    String inputLine;
    StringBuffer response = new StringBuffer();
    while ((inputLine = in.readLine()) != null) {
        response.append(inputLine);
    }
    in.close();
    System.out.println(response.toString());
    
    
    

    GET /{appId}/campaign

    Returns active 'Campaign's to the caller

    Parameters

    Parameter In Type Required Description
    appId path string(uuid) true botsplash specific account id. This call be see in "main navigation", "settings", "App Info" tab

    Example responses

    {
      "count": 0,
      "items": [
        {
          "id": "string",
          "name": "string",
          "title": "string",
          "channelId": "string",
          "channelName": "string",
          "channelTypeId": "string",
          "createdAt": "2018-07-02T04:23:44Z",
          "updatedAt": "2018-07-02T04:23:44Z"
        }
      ]
    }
    
    {
      "message": "string"
    }
    

    Responses

    Status Meaning Description Schema
    200 OK Success CampaignListResponse
    default Default Error ErrorResponse

    Visitor Campaign Request

    Code samples

    # You can also use wget
    curl -X POST https://api.botsplash.com/open/v1/{appId}/campaign/{id}/request \
      -H 'Content-Type: application/json' \
      -H 'Accept: application/json'
    
    
    
    POST https://api.botsplash.com/open/v1/{appId}/campaign/{id}/request HTTP/1.1
    Host: null
    Content-Type: application/json
    Accept: application/json
    
    
    
    var headers = {
      'Content-Type':'application/json',
      'Accept':'application/json'
    
    
    };
    
    
    $.ajax({
      url: 'https://api.botsplash.com/open/v1/{appId}/campaign/{id}/request',
      method: 'post',
    
    
      headers: headers,
      success: function(data) {
        console.log(JSON.stringify(data));
      }
    })
    
    
    
    const request = require('node-fetch');
    const inputBody = '{
      "visitor": {
        "id": "string",
        "clientVisitorId": "string",
        "agentId": "string",
        "agentClientUserId": "string",
        "teamId": "string",
        "teamCode": "string",
        "firstName": "string",
        "lastName": "string",
        "email": "string",
        "phoneNumber": "string",
        "state": "string",
        "deliveryStatus": 0
      },
      "args": {}
    }';
    const headers = {
      'Content-Type':'application/json',
      'Accept':'application/json'
    
    
    };
    
    
    fetch('https://api.botsplash.com/open/v1/{appId}/campaign/{id}/request',
    {
      method: 'POST',
      body: inputBody,
      headers: headers
    })
    .then(function(res) {
        return res.json();
    }).then(function(body) {
        console.log(body);
    });
    
    
    
    require 'rest-client'
    require 'json'
    
    
    headers = {
      'Content-Type' => 'application/json',
      'Accept' => 'application/json'
    }
    
    
    result = RestClient.post 'https://api.botsplash.com/open/v1/{appId}/campaign/{id}/request',
      params: {
      }, headers: headers
    
    
    p JSON.parse(result)
    
    
    
    import requests
    headers = {
      'Content-Type': 'application/json',
      'Accept': 'application/json'
    }
    
    
    r = requests.post('https://api.botsplash.com/open/v1/{appId}/campaign/{id}/request', params={
    
    
    }, headers = headers)
    
    
    print r.json()
    
    
    
    URL obj = new URL("https://api.botsplash.com/open/v1/{appId}/campaign/{id}/request");
    HttpURLConnection con = (HttpURLConnection) obj.openConnection();
    con.setRequestMethod("POST");
    int responseCode = con.getResponseCode();
    BufferedReader in = new BufferedReader(
        new InputStreamReader(con.getInputStream()));
    String inputLine;
    StringBuffer response = new StringBuffer();
    while ((inputLine = in.readLine()) != null) {
        response.append(inputLine);
    }
    in.close();
    System.out.println(response.toString());
    
    
    

    POST /{appId}/campaign/{id}/request

    Start visitor campaign request using internal flow

    Body parameter

    {
      "visitor": {
        "id": "string",
        "clientVisitorId": "string",
        "agentId": "string",
        "agentClientUserId": "string",
        "teamId": "string",
        "teamCode": "string",
        "firstName": "string",
        "lastName": "string",
        "email": "string",
        "phoneNumber": "string",
        "state": "string",
        "deliveryStatus": 0
      },
      "args": {}
    }
    

    Parameters

    Parameter In Type Required Description
    body body object true Campaign request body
    appId path string(uuid) true botsplash specific account id. This call be see in "main navigation", "settings", "App Info" tab
    id path string true No description

    Example responses

    {
      "success": true,
      "requestId": "string"
    }
    
    {
      "message": "string"
    }
    

    Responses

    Status Meaning Description Schema
    200 OK Success CampaignRequestResponse
    default Default Error ErrorResponse

    Visitors

    Visitors listing and updates to agent assignment

    Visitors List

    Code samples

    # You can also use wget
    curl -X GET https://api.botsplash.com/open/v1/{appId}/visitor \
      -H 'Accept: application/json'
    
    
    
    GET https://api.botsplash.com/open/v1/{appId}/visitor HTTP/1.1
    Host: null
    
    
    Accept: application/json
    
    
    
    var headers = {
      'Accept':'application/json'
    
    
    };
    
    
    $.ajax({
      url: 'https://api.botsplash.com/open/v1/{appId}/visitor',
      method: 'get',
    
    
      headers: headers,
      success: function(data) {
        console.log(JSON.stringify(data));
      }
    })
    
    
    
    const request = require('node-fetch');
    
    
    const headers = {
      'Accept':'application/json'
    
    
    };
    
    
    fetch('https://api.botsplash.com/open/v1/{appId}/visitor',
    {
      method: 'GET',
    
    
      headers: headers
    })
    .then(function(res) {
        return res.json();
    }).then(function(body) {
        console.log(body);
    });
    
    
    
    require 'rest-client'
    require 'json'
    
    
    headers = {
      'Accept' => 'application/json'
    }
    
    
    result = RestClient.get 'https://api.botsplash.com/open/v1/{appId}/visitor',
      params: {
      }, headers: headers
    
    
    p JSON.parse(result)
    
    
    
    import requests
    headers = {
      'Accept': 'application/json'
    }
    
    
    r = requests.get('https://api.botsplash.com/open/v1/{appId}/visitor', params={
    
    
    }, headers = headers)
    
    
    print r.json()
    
    
    
    URL obj = new URL("https://api.botsplash.com/open/v1/{appId}/visitor");
    HttpURLConnection con = (HttpURLConnection) obj.openConnection();
    con.setRequestMethod("GET");
    int responseCode = con.getResponseCode();
    BufferedReader in = new BufferedReader(
        new InputStreamReader(con.getInputStream()));
    String inputLine;
    StringBuffer response = new StringBuffer();
    while ((inputLine = in.readLine()) != null) {
        response.append(inputLine);
    }
    in.close();
    System.out.println(response.toString());
    
    
    

    GET /{appId}/visitor

    Returns paged visitors list of 'Visitors' to the caller

    Parameters

    Parameter In Type Required Description
    limit query integer false Number of records to fetch in the API call. Default and upper limit is 1000 records.
    skip query integer false Number of records to skip. This is useful to fetch next set of records, when the actual records are more than 1000 records. Default value is 0 to not skip any records.
    appId path string(uuid) true botsplash specific account id. This call be see in "main navigation", "settings", "App Info" tab

    Example responses

    {
      "count": 0,
      "items": [
        {
          "id": "string",
          "clientVisitorId": "string",
          "handle": "string",
          "agentId": "string",
          "agentClientUserId": "string",
          "teamId": "string",
          "teamCode": "string",
          "firstName": "string",
          "lastName": "string",
          "email": "string",
          "phoneNumber": "string",
          "pictureUrl": "string",
          "city": "string",
          "state": "string",
          "archived": true,
          "bookmarked": true,
          "deliveryStatus": 0
        }
      ]
    }
    
    {
      "message": "string"
    }
    

    Responses

    Status Meaning Description Schema
    200 OK Success VisitorListResponse
    default Default Error ErrorResponse

    Get Visitor

    Code samples

    # You can also use wget
    curl -X GET https://api.botsplash.com/open/v1/{appId}/visitor/{visitorId} \
      -H 'Accept: application/json'
    
    
    
    GET https://api.botsplash.com/open/v1/{appId}/visitor/{visitorId} HTTP/1.1
    Host: null
    
    
    Accept: application/json
    
    
    
    var headers = {
      'Accept':'application/json'
    
    
    };
    
    
    $.ajax({
      url: 'https://api.botsplash.com/open/v1/{appId}/visitor/{visitorId}',
      method: 'get',
    
    
      headers: headers,
      success: function(data) {
        console.log(JSON.stringify(data));
      }
    })
    
    
    
    const request = require('node-fetch');
    
    
    const headers = {
      'Accept':'application/json'
    
    
    };
    
    
    fetch('https://api.botsplash.com/open/v1/{appId}/visitor/{visitorId}',
    {
      method: 'GET',
    
    
      headers: headers
    })
    .then(function(res) {
        return res.json();
    }).then(function(body) {
        console.log(body);
    });
    
    
    
    require 'rest-client'
    require 'json'
    
    
    headers = {
      'Accept' => 'application/json'
    }
    
    
    result = RestClient.get 'https://api.botsplash.com/open/v1/{appId}/visitor/{visitorId}',
      params: {
      }, headers: headers
    
    
    p JSON.parse(result)
    
    
    
    import requests
    headers = {
      'Accept': 'application/json'
    }
    
    
    r = requests.get('https://api.botsplash.com/open/v1/{appId}/visitor/{visitorId}', params={
    
    
    }, headers = headers)
    
    
    print r.json()
    
    
    
    URL obj = new URL("https://api.botsplash.com/open/v1/{appId}/visitor/{visitorId}");
    HttpURLConnection con = (HttpURLConnection) obj.openConnection();
    con.setRequestMethod("GET");
    int responseCode = con.getResponseCode();
    BufferedReader in = new BufferedReader(
        new InputStreamReader(con.getInputStream()));
    String inputLine;
    StringBuffer response = new StringBuffer();
    while ((inputLine = in.readLine()) != null) {
        response.append(inputLine);
    }
    in.close();
    System.out.println(response.toString());
    
    
    

    GET /{appId}/visitor/{visitorId}

    Returns 'Visitor' to the caller

    Parameters

    Parameter In Type Required Description
    appId path string(uuid) true botsplash specific account id. This call be see in "main navigation", "settings", "App Info" tab
    visitorId path number true botsplash specific visitor id.

    Example responses

    {
      "id": "string",
      "clientVisitorId": "string",
      "handle": "string",
      "agentId": "string",
      "agentClientUserId": "string",
      "teamId": "string",
      "teamCode": "string",
      "firstName": "string",
      "lastName": "string",
      "email": "string",
      "phoneNumber": "string",
      "pictureUrl": "string",
      "city": "string",
      "state": "string",
      "archived": true,
      "bookmarked": true,
      "deliveryStatus": 0
    }
    
    {
      "message": "string"
    }
    

    Responses

    Status Meaning Description Schema
    200 OK Success Visitor
    default Default Error ErrorResponse

    Update Visitor

    Code samples

    # You can also use wget
    curl -X PUT https://api.botsplash.com/open/v1/{appId}/visitor/{visitorId} \
      -H 'Content-Type: application/json' \
      -H 'Accept: application/json'
    
    
    
    PUT https://api.botsplash.com/open/v1/{appId}/visitor/{visitorId} HTTP/1.1
    Host: null
    Content-Type: application/json
    Accept: application/json
    
    
    
    var headers = {
      'Content-Type':'application/json',
      'Accept':'application/json'
    
    
    };
    
    
    $.ajax({
      url: 'https://api.botsplash.com/open/v1/{appId}/visitor/{visitorId}',
      method: 'put',
    
    
      headers: headers,
      success: function(data) {
        console.log(JSON.stringify(data));
      }
    })
    
    
    
    const request = require('node-fetch');
    const inputBody = '{
      "id": "string",
      "clientVisitorId": "string",
      "agentId": "string",
      "agentClientUserId": "string",
      "teamId": "string",
      "teamCode": "string",
      "firstName": "string",
      "lastName": "string",
      "email": "string",
      "phoneNumber": "string",
      "state": "string",
      "deliveryStatus": 0
    }';
    const headers = {
      'Content-Type':'application/json',
      'Accept':'application/json'
    
    
    };
    
    
    fetch('https://api.botsplash.com/open/v1/{appId}/visitor/{visitorId}',
    {
      method: 'PUT',
      body: inputBody,
      headers: headers
    })
    .then(function(res) {
        return res.json();
    }).then(function(body) {
        console.log(body);
    });
    
    
    
    require 'rest-client'
    require 'json'
    
    
    headers = {
      'Content-Type' => 'application/json',
      'Accept' => 'application/json'
    }
    
    
    result = RestClient.put 'https://api.botsplash.com/open/v1/{appId}/visitor/{visitorId}',
      params: {
      }, headers: headers
    
    
    p JSON.parse(result)
    
    
    
    import requests
    headers = {
      'Content-Type': 'application/json',
      'Accept': 'application/json'
    }
    
    
    r = requests.put('https://api.botsplash.com/open/v1/{appId}/visitor/{visitorId}', params={
    
    
    }, headers = headers)
    
    
    print r.json()
    
    
    
    URL obj = new URL("https://api.botsplash.com/open/v1/{appId}/visitor/{visitorId}");
    HttpURLConnection con = (HttpURLConnection) obj.openConnection();
    con.setRequestMethod("PUT");
    int responseCode = con.getResponseCode();
    BufferedReader in = new BufferedReader(
        new InputStreamReader(con.getInputStream()));
    String inputLine;
    StringBuffer response = new StringBuffer();
    while ((inputLine = in.readLine()) != null) {
        response.append(inputLine);
    }
    in.close();
    System.out.println(response.toString());
    
    
    

    PUT /{appId}/visitor/{visitorId}

    Update Visitor information including Agent Assignment

    Body parameter

    {
      "id": "string",
      "clientVisitorId": "string",
      "agentId": "string",
      "agentClientUserId": "string",
      "teamId": "string",
      "teamCode": "string",
      "firstName": "string",
      "lastName": "string",
      "email": "string",
      "phoneNumber": "string",
      "state": "string",
      "deliveryStatus": 0
    }
    

    Parameters

    Parameter In Type Required Description
    body body VisitorSubmit true Visitor submit body
    appId path string(uuid) true botsplash specific account id. This call be see in "main navigation", "settings", "App Info" tab
    visitorId path number true botsplash specific visitor id.

    Example responses

    {
      "id": "string",
      "clientVisitorId": "string",
      "handle": "string",
      "agentId": "string",
      "agentClientUserId": "string",
      "teamId": "string",
      "teamCode": "string",
      "firstName": "string",
      "lastName": "string",
      "email": "string",
      "phoneNumber": "string",
      "pictureUrl": "string",
      "city": "string",
      "state": "string",
      "archived": true,
      "bookmarked": true,
      "deliveryStatus": 0
    }
    
    {
      "message": "string"
    }
    

    Responses

    Status Meaning Description Schema
    200 OK Success Visitor
    default Default Error ErrorResponse

    Get Visitor By Client User ID

    Code samples

    # You can also use wget
    curl -X GET https://api.botsplash.com/open/v1/{appId}/visitor/clientVisitorId/{clientVisitorId} \
      -H 'Accept: application/json'
    
    
    
    GET https://api.botsplash.com/open/v1/{appId}/visitor/clientVisitorId/{clientVisitorId} HTTP/1.1
    Host: null
    
    
    Accept: application/json
    
    
    
    var headers = {
      'Accept':'application/json'
    
    
    };
    
    
    $.ajax({
      url: 'https://api.botsplash.com/open/v1/{appId}/visitor/clientVisitorId/{clientVisitorId}',
      method: 'get',
    
    
      headers: headers,
      success: function(data) {
        console.log(JSON.stringify(data));
      }
    })
    
    
    
    const request = require('node-fetch');
    
    
    const headers = {
      'Accept':'application/json'
    
    
    };
    
    
    fetch('https://api.botsplash.com/open/v1/{appId}/visitor/clientVisitorId/{clientVisitorId}',
    {
      method: 'GET',
    
    
      headers: headers
    })
    .then(function(res) {
        return res.json();
    }).then(function(body) {
        console.log(body);
    });
    
    
    
    require 'rest-client'
    require 'json'
    
    
    headers = {
      'Accept' => 'application/json'
    }
    
    
    result = RestClient.get 'https://api.botsplash.com/open/v1/{appId}/visitor/clientVisitorId/{clientVisitorId}',
      params: {
      }, headers: headers
    
    
    p JSON.parse(result)
    
    
    
    import requests
    headers = {
      'Accept': 'application/json'
    }
    
    
    r = requests.get('https://api.botsplash.com/open/v1/{appId}/visitor/clientVisitorId/{clientVisitorId}', params={
    
    
    }, headers = headers)
    
    
    print r.json()
    
    
    
    URL obj = new URL("https://api.botsplash.com/open/v1/{appId}/visitor/clientVisitorId/{clientVisitorId}");
    HttpURLConnection con = (HttpURLConnection) obj.openConnection();
    con.setRequestMethod("GET");
    int responseCode = con.getResponseCode();
    BufferedReader in = new BufferedReader(
        new InputStreamReader(con.getInputStream()));
    String inputLine;
    StringBuffer response = new StringBuffer();
    while ((inputLine = in.readLine()) != null) {
        response.append(inputLine);
    }
    in.close();
    System.out.println(response.toString());
    
    
    

    GET /{appId}/visitor/clientVisitorId/{clientVisitorId}

    Returns 'Visitor' to the caller

    Parameters

    Parameter In Type Required Description
    appId path string(uuid) true botsplash specific account id. This call be see in "main navigation", "settings", "App Info" tab
    clientVisitorId path string true Client specific visitor or customer id.

    Example responses

    {
      "id": "string",
      "clientVisitorId": "string",
      "handle": "string",
      "agentId": "string",
      "agentClientUserId": "string",
      "teamId": "string",
      "teamCode": "string",
      "firstName": "string",
      "lastName": "string",
      "email": "string",
      "phoneNumber": "string",
      "pictureUrl": "string",
      "city": "string",
      "state": "string",
      "archived": true,
      "bookmarked": true,
      "deliveryStatus": 0
    }
    
    {
      "message": "string"
    }
    

    Responses

    Status Meaning Description Schema
    200 OK Success Visitor
    default Default Error ErrorResponse

    Update Visitor By Client User ID

    Code samples

    # You can also use wget
    curl -X PUT https://api.botsplash.com/open/v1/{appId}/visitor/clientVisitorId/{clientVisitorId} \
      -H 'Content-Type: application/json' \
      -H 'Accept: application/json'
    
    
    
    PUT https://api.botsplash.com/open/v1/{appId}/visitor/clientVisitorId/{clientVisitorId} HTTP/1.1
    Host: null
    Content-Type: application/json
    Accept: application/json
    
    
    
    var headers = {
      'Content-Type':'application/json',
      'Accept':'application/json'
    
    
    };
    
    
    $.ajax({
      url: 'https://api.botsplash.com/open/v1/{appId}/visitor/clientVisitorId/{clientVisitorId}',
      method: 'put',
    
    
      headers: headers,
      success: function(data) {
        console.log(JSON.stringify(data));
      }
    })
    
    
    
    const request = require('node-fetch');
    const inputBody = '{
      "id": "string",
      "clientVisitorId": "string",
      "agentId": "string",
      "agentClientUserId": "string",
      "teamId": "string",
      "teamCode": "string",
      "firstName": "string",
      "lastName": "string",
      "email": "string",
      "phoneNumber": "string",
      "state": "string",
      "deliveryStatus": 0
    }';
    const headers = {
      'Content-Type':'application/json',
      'Accept':'application/json'
    
    
    };
    
    
    fetch('https://api.botsplash.com/open/v1/{appId}/visitor/clientVisitorId/{clientVisitorId}',
    {
      method: 'PUT',
      body: inputBody,
      headers: headers
    })
    .then(function(res) {
        return res.json();
    }).then(function(body) {
        console.log(body);
    });
    
    
    
    require 'rest-client'
    require 'json'
    
    
    headers = {
      'Content-Type' => 'application/json',
      'Accept' => 'application/json'
    }
    
    
    result = RestClient.put 'https://api.botsplash.com/open/v1/{appId}/visitor/clientVisitorId/{clientVisitorId}',
      params: {
      }, headers: headers
    
    
    p JSON.parse(result)
    
    
    
    import requests
    headers = {
      'Content-Type': 'application/json',
      'Accept': 'application/json'
    }
    
    
    r = requests.put('https://api.botsplash.com/open/v1/{appId}/visitor/clientVisitorId/{clientVisitorId}', params={
    
    
    }, headers = headers)
    
    
    print r.json()
    
    
    
    URL obj = new URL("https://api.botsplash.com/open/v1/{appId}/visitor/clientVisitorId/{clientVisitorId}");
    HttpURLConnection con = (HttpURLConnection) obj.openConnection();
    con.setRequestMethod("PUT");
    int responseCode = con.getResponseCode();
    BufferedReader in = new BufferedReader(
        new InputStreamReader(con.getInputStream()));
    String inputLine;
    StringBuffer response = new StringBuffer();
    while ((inputLine = in.readLine()) != null) {
        response.append(inputLine);
    }
    in.close();
    System.out.println(response.toString());
    
    
    

    PUT /{appId}/visitor/clientVisitorId/{clientVisitorId}

    Update Visitor information including Agent Assignment using Client User ID

    Body parameter

    {
      "id": "string",
      "clientVisitorId": "string",
      "agentId": "string",
      "agentClientUserId": "string",
      "teamId": "string",
      "teamCode": "string",
      "firstName": "string",
      "lastName": "string",
      "email": "string",
      "phoneNumber": "string",
      "state": "string",
      "deliveryStatus": 0
    }
    

    Parameters

    Parameter In Type Required Description
    body body VisitorSubmit true Visitor submit body
    appId path string(uuid) true botsplash specific account id. This call be see in "main navigation", "settings", "App Info" tab
    clientVisitorId path string true Client specific visitor or customer id.

    Example responses

    {
      "id": "string",
      "clientVisitorId": "string",
      "handle": "string",
      "agentId": "string",
      "agentClientUserId": "string",
      "teamId": "string",
      "teamCode": "string",
      "firstName": "string",
      "lastName": "string",
      "email": "string",
      "phoneNumber": "string",
      "pictureUrl": "string",
      "city": "string",
      "state": "string",
      "archived": true,
      "bookmarked": true,
      "deliveryStatus": 0
    }
    
    {
      "message": "string"
    }
    

    Responses

    Status Meaning Description Schema
    200 OK Success Visitor
    default Default Error ErrorResponse

    Messages

    Visitor Chat Messages

    Get Messages

    Code samples

    # You can also use wget
    curl -X GET https://api.botsplash.com/open/v1/{appId}/message \
      -H 'Accept: application/json'
    
    
    
    GET https://api.botsplash.com/open/v1/{appId}/message HTTP/1.1
    Host: null
    
    
    Accept: application/json
    
    
    
    var headers = {
      'Accept':'application/json'
    
    
    };
    
    
    $.ajax({
      url: 'https://api.botsplash.com/open/v1/{appId}/message',
      method: 'get',
    
    
      headers: headers,
      success: function(data) {
        console.log(JSON.stringify(data));
      }
    })
    
    
    
    const request = require('node-fetch');
    
    
    const headers = {
      'Accept':'application/json'
    
    
    };
    
    
    fetch('https://api.botsplash.com/open/v1/{appId}/message',
    {
      method: 'GET',
    
    
      headers: headers
    })
    .then(function(res) {
        return res.json();
    }).then(function(body) {
        console.log(body);
    });
    
    
    
    require 'rest-client'
    require 'json'
    
    
    headers = {
      'Accept' => 'application/json'
    }
    
    
    result = RestClient.get 'https://api.botsplash.com/open/v1/{appId}/message',
      params: {
      }, headers: headers
    
    
    p JSON.parse(result)
    
    
    
    import requests
    headers = {
      'Accept': 'application/json'
    }
    
    
    r = requests.get('https://api.botsplash.com/open/v1/{appId}/message', params={
    
    
    }, headers = headers)
    
    
    print r.json()
    
    
    
    URL obj = new URL("https://api.botsplash.com/open/v1/{appId}/message");
    HttpURLConnection con = (HttpURLConnection) obj.openConnection();
    con.setRequestMethod("GET");
    int responseCode = con.getResponseCode();
    BufferedReader in = new BufferedReader(
        new InputStreamReader(con.getInputStream()));
    String inputLine;
    StringBuffer response = new StringBuffer();
    while ((inputLine = in.readLine()) != null) {
        response.append(inputLine);
    }
    in.close();
    System.out.println(response.toString());
    
    
    

    GET /{appId}/message

    Get messages stream.

    Parameters

    Parameter In Type Required Description
    startDate query string(date-time) false Start date time window in ISO date format
    endDate query string(date-time) false End date time window in ISO date format
    limit query integer false Number of records to fetch in the API call. Default and upper limit is 1000 records.
    skip query integer false Number of records to skip. This is useful to fetch next set of records, when the actual records are more than 1000 records. Default value is 0 to not skip any records.
    appId path string(uuid) true botsplash specific account id. This call be see in "main navigation", "settings", "App Info" tab

    Example responses

    {
      "count": 0,
      "items": [
        {
          "id": "string",
          "visitorId": "string",
          "visitorHandle": "string",
          "clientVisitorId": "string",
          "channelId": "string",
          "channelName": "string",
          "channelTypeId": "string",
          "messageType": 0,
          "messageTypeDesc": "string",
          "messageText": "string",
          "agentClientUserId": "string",
          "userTypeId": 0,
          "userId": 0,
          "createdAt": "2018-07-02T04:23:44Z"
        }
      ]
    }
    

    Responses

    Status Meaning Description Schema
    200 OK Success MessageResponse

    Send Message

    Code samples

    # You can also use wget
    curl -X POST https://api.botsplash.com/open/v1/{appId}/message \
      -H 'Content-Type: application/json' \
      -H 'Accept: application/json'
    
    
    
    POST https://api.botsplash.com/open/v1/{appId}/message HTTP/1.1
    Host: null
    Content-Type: application/json
    Accept: application/json
    
    
    
    var headers = {
      'Content-Type':'application/json',
      'Accept':'application/json'
    
    
    };
    
    
    $.ajax({
      url: 'https://api.botsplash.com/open/v1/{appId}/message',
      method: 'post',
    
    
      headers: headers,
      success: function(data) {
        console.log(JSON.stringify(data));
      }
    })
    
    
    
    const request = require('node-fetch');
    const inputBody = '{
      "text": "string",
      "visitor": {
        "id": "string",
        "clientVisitorId": "string",
        "agentId": "string",
        "agentClientUserId": "string",
        "teamId": "string",
        "teamCode": "string",
        "firstName": "string",
        "lastName": "string",
        "email": "string",
        "phoneNumber": "string",
        "state": "string",
        "deliveryStatus": 0
      }
    }';
    const headers = {
      'Content-Type':'application/json',
      'Accept':'application/json'
    
    
    };
    
    
    fetch('https://api.botsplash.com/open/v1/{appId}/message',
    {
      method: 'POST',
      body: inputBody,
      headers: headers
    })
    .then(function(res) {
        return res.json();
    }).then(function(body) {
        console.log(body);
    });
    
    
    
    require 'rest-client'
    require 'json'
    
    
    headers = {
      'Content-Type' => 'application/json',
      'Accept' => 'application/json'
    }
    
    
    result = RestClient.post 'https://api.botsplash.com/open/v1/{appId}/message',
      params: {
      }, headers: headers
    
    
    p JSON.parse(result)
    
    
    
    import requests
    headers = {
      'Content-Type': 'application/json',
      'Accept': 'application/json'
    }
    
    
    r = requests.post('https://api.botsplash.com/open/v1/{appId}/message', params={
    
    
    }, headers = headers)
    
    
    print r.json()
    
    
    
    URL obj = new URL("https://api.botsplash.com/open/v1/{appId}/message");
    HttpURLConnection con = (HttpURLConnection) obj.openConnection();
    con.setRequestMethod("POST");
    int responseCode = con.getResponseCode();
    BufferedReader in = new BufferedReader(
        new InputStreamReader(con.getInputStream()));
    String inputLine;
    StringBuffer response = new StringBuffer();
    while ((inputLine = in.readLine()) != null) {
        response.append(inputLine);
    }
    in.close();
    System.out.println(response.toString());
    
    
    

    POST /{appId}/message

    Send direct message to user using visitor's phone number or facebook Id.

    Body parameter

    {
      "text": "string",
      "visitor": {
        "id": "string",
        "clientVisitorId": "string",
        "agentId": "string",
        "agentClientUserId": "string",
        "teamId": "string",
        "teamCode": "string",
        "firstName": "string",
        "lastName": "string",
        "email": "string",
        "phoneNumber": "string",
        "state": "string",
        "deliveryStatus": 0
      }
    }
    

    Parameters

    Parameter In Type Required Description
    body body object true Campaign request body
    appId path string(uuid) true botsplash specific account id. This call be see in "main navigation", "settings", "App Info" tab

    Example responses

    {
      "id": "string",
      "clientVisitorId": "string",
      "handle": "string",
      "agentId": "string",
      "agentClientUserId": "string",
      "teamId": "string",
      "teamCode": "string",
      "firstName": "string",
      "lastName": "string",
      "email": "string",
      "phoneNumber": "string",
      "pictureUrl": "string",
      "city": "string",
      "state": "string",
      "archived": true,
      "bookmarked": true,
      "deliveryStatus": 0
    }
    

    Responses

    Status Meaning Description Schema
    200 OK Success Visitor

    Get Visitor Messages

    Code samples

    # You can also use wget
    curl -X GET https://api.botsplash.com/open/v1/{appId}/visitor/{visitorId}/message \
      -H 'Accept: application/json'
    
    
    
    GET https://api.botsplash.com/open/v1/{appId}/visitor/{visitorId}/message HTTP/1.1
    Host: null
    
    
    Accept: application/json
    
    
    
    var headers = {
      'Accept':'application/json'
    
    
    };
    
    
    $.ajax({
      url: 'https://api.botsplash.com/open/v1/{appId}/visitor/{visitorId}/message',
      method: 'get',
    
    
      headers: headers,
      success: function(data) {
        console.log(JSON.stringify(data));
      }
    })
    
    
    
    const request = require('node-fetch');
    
    
    const headers = {
      'Accept':'application/json'
    
    
    };
    
    
    fetch('https://api.botsplash.com/open/v1/{appId}/visitor/{visitorId}/message',
    {
      method: 'GET',
    
    
      headers: headers
    })
    .then(function(res) {
        return res.json();
    }).then(function(body) {
        console.log(body);
    });
    
    
    
    require 'rest-client'
    require 'json'
    
    
    headers = {
      'Accept' => 'application/json'
    }
    
    
    result = RestClient.get 'https://api.botsplash.com/open/v1/{appId}/visitor/{visitorId}/message',
      params: {
      }, headers: headers
    
    
    p JSON.parse(result)
    
    
    
    import requests
    headers = {
      'Accept': 'application/json'
    }
    
    
    r = requests.get('https://api.botsplash.com/open/v1/{appId}/visitor/{visitorId}/message', params={
    
    
    }, headers = headers)
    
    
    print r.json()
    
    
    
    URL obj = new URL("https://api.botsplash.com/open/v1/{appId}/visitor/{visitorId}/message");
    HttpURLConnection con = (HttpURLConnection) obj.openConnection();
    con.setRequestMethod("GET");
    int responseCode = con.getResponseCode();
    BufferedReader in = new BufferedReader(
        new InputStreamReader(con.getInputStream()));
    String inputLine;
    StringBuffer response = new StringBuffer();
    while ((inputLine = in.readLine()) != null) {
        response.append(inputLine);
    }
    in.close();
    System.out.println(response.toString());
    
    
    

    GET /{appId}/visitor/{visitorId}/message

    Returns 'Visitor' to the caller

    Parameters

    Parameter In Type Required Description
    limit query integer false Number of records to fetch in the API call. Default and upper limit is 1000 records.
    skip query integer false Number of records to skip. This is useful to fetch next set of records, when the actual records are more than 1000 records. Default value is 0 to not skip any records.
    appId path string(uuid) true botsplash specific account id. This call be see in "main navigation", "settings", "App Info" tab
    visitorId path number true botsplash specific visitor id.

    Example responses

    {
      "success": true,
      "requestId": "string"
    }
    
    {
      "message": "string"
    }
    

    Responses

    Status Meaning Description Schema
    200 OK Success CampaignRequestResponse
    default Default Error ErrorResponse

    Get Visitor Messages By Client User Id

    Code samples

    # You can also use wget
    curl -X GET https://api.botsplash.com/open/v1/{appId}/visitor/clientVisitorId/{clientVisitorId}/message \
      -H 'Accept: application/json'
    
    
    
    GET https://api.botsplash.com/open/v1/{appId}/visitor/clientVisitorId/{clientVisitorId}/message HTTP/1.1
    Host: null
    
    
    Accept: application/json
    
    
    
    var headers = {
      'Accept':'application/json'
    
    
    };
    
    
    $.ajax({
      url: 'https://api.botsplash.com/open/v1/{appId}/visitor/clientVisitorId/{clientVisitorId}/message',
      method: 'get',
    
    
      headers: headers,
      success: function(data) {
        console.log(JSON.stringify(data));
      }
    })
    
    
    
    const request = require('node-fetch');
    
    
    const headers = {
      'Accept':'application/json'
    
    
    };
    
    
    fetch('https://api.botsplash.com/open/v1/{appId}/visitor/clientVisitorId/{clientVisitorId}/message',
    {
      method: 'GET',
    
    
      headers: headers
    })
    .then(function(res) {
        return res.json();
    }).then(function(body) {
        console.log(body);
    });
    
    
    
    require 'rest-client'
    require 'json'
    
    
    headers = {
      'Accept' => 'application/json'
    }
    
    
    result = RestClient.get 'https://api.botsplash.com/open/v1/{appId}/visitor/clientVisitorId/{clientVisitorId}/message',
      params: {
      }, headers: headers
    
    
    p JSON.parse(result)
    
    
    
    import requests
    headers = {
      'Accept': 'application/json'
    }
    
    
    r = requests.get('https://api.botsplash.com/open/v1/{appId}/visitor/clientVisitorId/{clientVisitorId}/message', params={
    
    
    }, headers = headers)
    
    
    print r.json()
    
    
    
    URL obj = new URL("https://api.botsplash.com/open/v1/{appId}/visitor/clientVisitorId/{clientVisitorId}/message");
    HttpURLConnection con = (HttpURLConnection) obj.openConnection();
    con.setRequestMethod("GET");
    int responseCode = con.getResponseCode();
    BufferedReader in = new BufferedReader(
        new InputStreamReader(con.getInputStream()));
    String inputLine;
    StringBuffer response = new StringBuffer();
    while ((inputLine = in.readLine()) != null) {
        response.append(inputLine);
    }
    in.close();
    System.out.println(response.toString());
    
    
    

    GET /{appId}/visitor/clientVisitorId/{clientVisitorId}/message

    Returns Visitor Chat Messages from the dashboard

    Parameters

    Parameter In Type Required Description
    limit query integer false Number of records to fetch in the API call. Default and upper limit is 1000 records.
    skip query integer false Number of records to skip. This is useful to fetch next set of records, when the actual records are more than 1000 records. Default value is 0 to not skip any records.
    appId path string(uuid) true botsplash specific account id. This call be see in "main navigation", "settings", "App Info" tab
    clientVisitorId path string true Client specific visitor or customer id.

    Example responses

    {
      "success": true,
      "requestId": "string"
    }
    
    {
      "message": "string"
    }
    

    Responses

    Status Meaning Description Schema
    200 OK Success CampaignRequestResponse
    default Default Error ErrorResponse

    Agents

    Agents listing and managing access status

    Update Agent Status

    Code samples

    # You can also use wget
    curl -X PUT https://api.botsplash.com/open/v1/{appId}/agent/{id} \
      -H 'Content-Type: application/json' \
      -H 'Accept: application/json'
    
    
    
    PUT https://api.botsplash.com/open/v1/{appId}/agent/{id} HTTP/1.1
    Host: null
    Content-Type: application/json
    Accept: application/json
    
    
    
    var headers = {
      'Content-Type':'application/json',
      'Accept':'application/json'
    
    
    };
    
    
    $.ajax({
      url: 'https://api.botsplash.com/open/v1/{appId}/agent/{id}',
      method: 'put',
    
    
      headers: headers,
      success: function(data) {
        console.log(JSON.stringify(data));
      }
    })
    
    
    
    const request = require('node-fetch');
    const inputBody = '{
      "status": 0
    }';
    const headers = {
      'Content-Type':'application/json',
      'Accept':'application/json'
    
    
    };
    
    
    fetch('https://api.botsplash.com/open/v1/{appId}/agent/{id}',
    {
      method: 'PUT',
      body: inputBody,
      headers: headers
    })
    .then(function(res) {
        return res.json();
    }).then(function(body) {
        console.log(body);
    });
    
    
    
    require 'rest-client'
    require 'json'
    
    
    headers = {
      'Content-Type' => 'application/json',
      'Accept' => 'application/json'
    }
    
    
    result = RestClient.put 'https://api.botsplash.com/open/v1/{appId}/agent/{id}',
      params: {
      }, headers: headers
    
    
    p JSON.parse(result)
    
    
    
    import requests
    headers = {
      'Content-Type': 'application/json',
      'Accept': 'application/json'
    }
    
    
    r = requests.put('https://api.botsplash.com/open/v1/{appId}/agent/{id}', params={
    
    
    }, headers = headers)
    
    
    print r.json()
    
    
    
    URL obj = new URL("https://api.botsplash.com/open/v1/{appId}/agent/{id}");
    HttpURLConnection con = (HttpURLConnection) obj.openConnection();
    con.setRequestMethod("PUT");
    int responseCode = con.getResponseCode();
    BufferedReader in = new BufferedReader(
        new InputStreamReader(con.getInputStream()));
    String inputLine;
    StringBuffer response = new StringBuffer();
    while ((inputLine = in.readLine()) != null) {
        response.append(inputLine);
    }
    in.close();
    System.out.println(response.toString());
    
    
    

    PUT /{appId}/agent/{id}

    Update Agent detail

    Body parameter

    {
      "status": 0
    }
    

    Parameters

    Parameter In Type Required Description
    body body AgentEdit true No description
    appId path string(uuid) true botsplash specific account id. This call be see in "main navigation", "settings", "App Info" tab
    id path string true No description

    Example responses

    {
      "id": 0,
      "clientVisitorId": 0,
      "status": 0,
      "firstName": "string",
      "lastName": 0,
      "email": 0,
      "primaryPhone": 0
    }
    

    Responses

    Status Meaning Description Schema
    200 OK successful edit AgentRead

    Update Agent by Client User Id

    Code samples

    # You can also use wget
    curl -X PUT https://api.botsplash.com/open/v1/{appId}/agent/clientUserId/{agentClientUserId} \
      -H 'Content-Type: application/json' \
      -H 'Accept: application/json'
    
    
    
    PUT https://api.botsplash.com/open/v1/{appId}/agent/clientUserId/{agentClientUserId} HTTP/1.1
    Host: null
    Content-Type: application/json
    Accept: application/json
    
    
    
    var headers = {
      'Content-Type':'application/json',
      'Accept':'application/json'
    
    
    };
    
    
    $.ajax({
      url: 'https://api.botsplash.com/open/v1/{appId}/agent/clientUserId/{agentClientUserId}',
      method: 'put',
    
    
      headers: headers,
      success: function(data) {
        console.log(JSON.stringify(data));
      }
    })
    
    
    
    const request = require('node-fetch');
    const inputBody = '{
      "status": 0
    }';
    const headers = {
      'Content-Type':'application/json',
      'Accept':'application/json'
    
    
    };
    
    
    fetch('https://api.botsplash.com/open/v1/{appId}/agent/clientUserId/{agentClientUserId}',
    {
      method: 'PUT',
      body: inputBody,
      headers: headers
    })
    .then(function(res) {
        return res.json();
    }).then(function(body) {
        console.log(body);
    });
    
    
    
    require 'rest-client'
    require 'json'
    
    
    headers = {
      'Content-Type' => 'application/json',
      'Accept' => 'application/json'
    }
    
    
    result = RestClient.put 'https://api.botsplash.com/open/v1/{appId}/agent/clientUserId/{agentClientUserId}',
      params: {
      }, headers: headers
    
    
    p JSON.parse(result)
    
    
    
    import requests
    headers = {
      'Content-Type': 'application/json',
      'Accept': 'application/json'
    }
    
    
    r = requests.put('https://api.botsplash.com/open/v1/{appId}/agent/clientUserId/{agentClientUserId}', params={
    
    
    }, headers = headers)
    
    
    print r.json()
    
    
    
    URL obj = new URL("https://api.botsplash.com/open/v1/{appId}/agent/clientUserId/{agentClientUserId}");
    HttpURLConnection con = (HttpURLConnection) obj.openConnection();
    con.setRequestMethod("PUT");
    int responseCode = con.getResponseCode();
    BufferedReader in = new BufferedReader(
        new InputStreamReader(con.getInputStream()));
    String inputLine;
    StringBuffer response = new StringBuffer();
    while ((inputLine = in.readLine()) != null) {
        response.append(inputLine);
    }
    in.close();
    System.out.println(response.toString());
    
    
    

    PUT /{appId}/agent/clientUserId/{agentClientUserId}

    Update Agent details using Client User Id

    Body parameter

    {
      "status": 0
    }
    

    Parameters

    Parameter In Type Required Description
    body body AgentEdit true No description
    appId path string(uuid) true botsplash specific account id. This call be see in "main navigation", "settings", "App Info" tab
    agentClientUserId path string true Client specific agent or employee id or windows login username.

    Example responses

    {
      "id": 0,
      "clientVisitorId": 0,
      "status": 0,
      "firstName": "string",
      "lastName": 0,
      "email": 0,
      "primaryPhone": 0
    }
    

    Responses

    Status Meaning Description Schema
    200 OK successful edit AgentRead

    DeliveryStatus

    Delivery status change notifications

    Delivery Status Stream

    Code samples

    # You can also use wget
    curl -X GET https://api.botsplash.com/open/v1/{appId}/deliveryStatus \
      -H 'Accept: application/json'
    
    
    
    GET https://api.botsplash.com/open/v1/{appId}/deliveryStatus HTTP/1.1
    Host: null
    
    
    Accept: application/json
    
    
    
    var headers = {
      'Accept':'application/json'
    
    
    };
    
    
    $.ajax({
      url: 'https://api.botsplash.com/open/v1/{appId}/deliveryStatus',
      method: 'get',
    
    
      headers: headers,
      success: function(data) {
        console.log(JSON.stringify(data));
      }
    })
    
    
    
    const request = require('node-fetch');
    
    
    const headers = {
      'Accept':'application/json'
    
    
    };
    
    
    fetch('https://api.botsplash.com/open/v1/{appId}/deliveryStatus',
    {
      method: 'GET',
    
    
      headers: headers
    })
    .then(function(res) {
        return res.json();
    }).then(function(body) {
        console.log(body);
    });
    
    
    
    require 'rest-client'
    require 'json'
    
    
    headers = {
      'Accept' => 'application/json'
    }
    
    
    result = RestClient.get 'https://api.botsplash.com/open/v1/{appId}/deliveryStatus',
      params: {
      }, headers: headers
    
    
    p JSON.parse(result)
    
    
    
    import requests
    headers = {
      'Accept': 'application/json'
    }
    
    
    r = requests.get('https://api.botsplash.com/open/v1/{appId}/deliveryStatus', params={
    
    
    }, headers = headers)
    
    
    print r.json()
    
    
    
    URL obj = new URL("https://api.botsplash.com/open/v1/{appId}/deliveryStatus");
    HttpURLConnection con = (HttpURLConnection) obj.openConnection();
    con.setRequestMethod("GET");
    int responseCode = con.getResponseCode();
    BufferedReader in = new BufferedReader(
        new InputStreamReader(con.getInputStream()));
    String inputLine;
    StringBuffer response = new StringBuffer();
    while ((inputLine = in.readLine()) != null) {
        response.append(inputLine);
    }
    in.close();
    System.out.println(response.toString());
    
    
    

    GET /{appId}/deliveryStatus

    Returns active Visitor delivery status change notifications for given date time ranges

    Parameters

    Parameter In Type Required Description
    startDate query string(date-time) false Start date time window in ISO date format
    endDate query string(date-time) false End date time window in ISO date format
    limit query integer false Number of records to fetch in the API call. Default and upper limit is 1000 records.
    skip query integer false Number of records to skip. This is useful to fetch next set of records, when the actual records are more than 1000 records. Default value is 0 to not skip any records.
    appId path string(uuid) true botsplash specific account id. This call be see in "main navigation", "settings", "App Info" tab

    Example responses

    {
      "count": 0,
      "items": [
        {
          "id": "string",
          "visitorId": "string",
          "visitorHandle": "string",
          "clientVisitorId": "string",
          "campaignRequestId": "string",
          "deviceId": "string",
          "deliveryStatus": 0,
          "deliveryStatusDesc": "string",
          "notes": "string",
          "userTypeId": 0,
          "userId": 0,
          "createdAt": "2018-07-02T04:23:44Z"
        }
      ]
    }
    
    {
      "message": "string"
    }
    

    Responses

    Status Meaning Description Schema
    200 OK Success DeliveryStatusResponse
    default Default Error ErrorResponse

    Delivery Status Consolidated

    Code samples

    # You can also use wget
    curl -X GET https://api.botsplash.com/open/v1/{appId}/deliveryStatus/consolidated \
      -H 'Accept: application/json'
    
    
    
    GET https://api.botsplash.com/open/v1/{appId}/deliveryStatus/consolidated HTTP/1.1
    Host: null
    
    
    Accept: application/json
    
    
    
    var headers = {
      'Accept':'application/json'
    
    
    };
    
    
    $.ajax({
      url: 'https://api.botsplash.com/open/v1/{appId}/deliveryStatus/consolidated',
      method: 'get',
    
    
      headers: headers,
      success: function(data) {
        console.log(JSON.stringify(data));
      }
    })
    
    
    
    const request = require('node-fetch');
    
    
    const headers = {
      'Accept':'application/json'
    
    
    };
    
    
    fetch('https://api.botsplash.com/open/v1/{appId}/deliveryStatus/consolidated',
    {
      method: 'GET',
    
    
      headers: headers
    })
    .then(function(res) {
        return res.json();
    }).then(function(body) {
        console.log(body);
    });
    
    
    
    require 'rest-client'
    require 'json'
    
    
    headers = {
      'Accept' => 'application/json'
    }
    
    
    result = RestClient.get 'https://api.botsplash.com/open/v1/{appId}/deliveryStatus/consolidated',
      params: {
      }, headers: headers
    
    
    p JSON.parse(result)
    
    
    
    import requests
    headers = {
      'Accept': 'application/json'
    }
    
    
    r = requests.get('https://api.botsplash.com/open/v1/{appId}/deliveryStatus/consolidated', params={
    
    
    }, headers = headers)
    
    
    print r.json()
    
    
    
    URL obj = new URL("https://api.botsplash.com/open/v1/{appId}/deliveryStatus/consolidated");
    HttpURLConnection con = (HttpURLConnection) obj.openConnection();
    con.setRequestMethod("GET");
    int responseCode = con.getResponseCode();
    BufferedReader in = new BufferedReader(
        new InputStreamReader(con.getInputStream()));
    String inputLine;
    StringBuffer response = new StringBuffer();
    while ((inputLine = in.readLine()) != null) {
        response.append(inputLine);
    }
    in.close();
    System.out.println(response.toString());
    
    
    

    GET /{appId}/deliveryStatus/consolidated

    Returns consolidated Visitor delivery status change notifications for given date time ranges

    Parameters

    Parameter In Type Required Description
    startDate query string(date-time) false Start date time window in ISO date format
    endDate query string(date-time) false End date time window in ISO date format
    limit query integer false Number of records to fetch in the API call. Default and upper limit is 1000 records.
    skip query integer false Number of records to skip. This is useful to fetch next set of records, when the actual records are more than 1000 records. Default value is 0 to not skip any records.
    appId path string(uuid) true botsplash specific account id. This call be see in "main navigation", "settings", "App Info" tab

    Example responses

    {
      "count": 0,
      "items": [
        {
          "id": "string",
          "visitorId": "string",
          "visitorHandle": "string",
          "clientVisitorId": "string",
          "campaignRequestId": "string",
          "deviceId": "string",
          "deliveryStatus": 0,
          "deliveryStatusDesc": "string",
          "notes": "string",
          "userTypeId": 0,
          "userId": 0,
          "createdAt": "2018-07-02T04:23:44Z"
        }
      ]
    }
    
    {
      "message": "string"
    }
    

    Responses

    Status Meaning Description Schema
    200 OK Success DeliveryStatusResponse
    default Default Error ErrorResponse

    Healthcheck

    Health check for API

    Ping

    Code samples

    # You can also use wget
    curl -X GET https://api.botsplash.com/open/v1/{appId}/ping \
      -H 'Accept: application/json'
    
    
    
    GET https://api.botsplash.com/open/v1/{appId}/ping HTTP/1.1
    Host: null
    
    
    Accept: application/json
    
    
    
    var headers = {
      'Accept':'application/json'
    
    
    };
    
    
    $.ajax({
      url: 'https://api.botsplash.com/open/v1/{appId}/ping',
      method: 'get',
    
    
      headers: headers,
      success: function(data) {
        console.log(JSON.stringify(data));
      }
    })
    
    
    
    const request = require('node-fetch');
    
    
    const headers = {
      'Accept':'application/json'
    
    
    };
    
    
    fetch('https://api.botsplash.com/open/v1/{appId}/ping',
    {
      method: 'GET',
    
    
      headers: headers
    })
    .then(function(res) {
        return res.json();
    }).then(function(body) {
        console.log(body);
    });
    
    
    
    require 'rest-client'
    require 'json'
    
    
    headers = {
      'Accept' => 'application/json'
    }
    
    
    result = RestClient.get 'https://api.botsplash.com/open/v1/{appId}/ping',
      params: {
      }, headers: headers
    
    
    p JSON.parse(result)
    
    
    
    import requests
    headers = {
      'Accept': 'application/json'
    }
    
    
    r = requests.get('https://api.botsplash.com/open/v1/{appId}/ping', params={
    
    
    }, headers = headers)
    
    
    print r.json()
    
    
    
    URL obj = new URL("https://api.botsplash.com/open/v1/{appId}/ping");
    HttpURLConnection con = (HttpURLConnection) obj.openConnection();
    con.setRequestMethod("GET");
    int responseCode = con.getResponseCode();
    BufferedReader in = new BufferedReader(
        new InputStreamReader(con.getInputStream()));
    String inputLine;
    StringBuffer response = new StringBuffer();
    while ((inputLine = in.readLine()) != null) {
        response.append(inputLine);
    }
    in.close();
    System.out.println(response.toString());
    
    
    

    GET /{appId}/ping

    Returns 'pong' message. This message is to ensure that the API service is up and running.

    Parameters

    Parameter In Type Required Description
    appId path string(uuid) true botsplash specific account id. This call be see in "main navigation", "settings", "App Info" tab

    Example responses

    "string"
    
    {
      "message": "string"
    }
    

    Responses

    Status Meaning Description Schema
    200 OK Success string
    default Default Error ErrorResponse

    Healthcheck

    Code samples

    # You can also use wget
    curl -X GET https://api.botsplash.com/open/v1/healthcheck \
      -H 'Accept: application/json'
    
    
    
    GET https://api.botsplash.com/open/v1/healthcheck HTTP/1.1
    Host: null
    
    
    Accept: application/json
    
    
    
    var headers = {
      'Accept':'application/json'
    
    
    };
    
    
    $.ajax({
      url: 'https://api.botsplash.com/open/v1/healthcheck',
      method: 'get',
    
    
      headers: headers,
      success: function(data) {
        console.log(JSON.stringify(data));
      }
    })
    
    
    
    const request = require('node-fetch');
    
    
    const headers = {
      'Accept':'application/json'
    
    
    };
    
    
    fetch('https://api.botsplash.com/open/v1/healthcheck',
    {
      method: 'GET',
    
    
      headers: headers
    })
    .then(function(res) {
        return res.json();
    }).then(function(body) {
        console.log(body);
    });
    
    
    
    require 'rest-client'
    require 'json'
    
    
    headers = {
      'Accept' => 'application/json'
    }
    
    
    result = RestClient.get 'https://api.botsplash.com/open/v1/healthcheck',
      params: {
      }, headers: headers
    
    
    p JSON.parse(result)
    
    
    
    import requests
    headers = {
      'Accept': 'application/json'
    }
    
    
    r = requests.get('https://api.botsplash.com/open/v1/healthcheck', params={
    
    
    }, headers = headers)
    
    
    print r.json()
    
    
    
    URL obj = new URL("https://api.botsplash.com/open/v1/healthcheck");
    HttpURLConnection con = (HttpURLConnection) obj.openConnection();
    con.setRequestMethod("GET");
    int responseCode = con.getResponseCode();
    BufferedReader in = new BufferedReader(
        new InputStreamReader(con.getInputStream()));
    String inputLine;
    StringBuffer response = new StringBuffer();
    while ((inputLine = in.readLine()) != null) {
        response.append(inputLine);
    }
    in.close();
    System.out.println(response.toString());
    
    
    

    GET /healthcheck

    Example responses

    {
      "success": true
    }
    

    Responses

    Status Meaning Description Schema
    200 OK successful response HealthSuccess

    Schemas

    channelTypeId

    "string"
    

    Properties

    Name Type Required Description
    anonymous string false Engagement Channel Type (1 - Facebook, 5 - Web Chat, 6 - SMS, 7 - Voice, 8 - Email)

    clientVisitorId

    "string"
    

    Properties

    Name Type Required Description
    anonymous string false Client visitor id provided during dedupe

    agentClientUserId

    "string"
    

    Properties

    Name Type Required Description
    anonymous string false Client specific agent or employee id or windows login username.

    MessageType

    0
    

    Properties

    Name Type Required Description
    anonymous number false Visitor and Agent Message type. MessageRecv = 302, AgentNoteRecv = 214

    UserType

    0
    

    Properties

    Name Type Required Description
    anonymous number false Visitor or Agent user type. Visitor = 1, Agent = 2

    DeliveryStatus

    0
    

    Properties

    Name Type Required Description
    anonymous number false Enumeration of delivery status codes

    Code Type Description Can Run Campaign?
    0 to 100 Initial status Not yet processed Yes
    101 to 200 In progress Message is in progress including system account statuses Yes, but limited attempts since visitor is not responding
    201 to 300 Delivered Successfully delivery to devices Yes
    301 to 400 Blocked Agent or internal triggers have blocked the channel Yes, when consent is available - send campaigns with deliveryStatus = 202 flag. Otherise, No.
    401 to 500 Unsubscribed Visitor has unsubcribed or blocked the channel No
    501 to 600 Error Undelivered errors from carrier No

    Channel

    {
      "id": "string",
      "name": "string",
      "channelTypeId": "string",
      "createdAt": "2018-07-02T04:23:44Z",
      "updatedAt": "2018-07-02T04:23:44Z"
    }
    

    Properties

    Name Type Required Description
    id string true Channel Ids
    name string true Name of the channel
    channelTypeId channelTypeId true No description
    createdAt string(date-time) false Channel created date time
    updatedAt string(date-time) false Channel updated date time

    ChannelList

    [
      {
        "id": "string",
        "name": "string",
        "channelTypeId": "string",
        "createdAt": "2018-07-02T04:23:44Z",
        "updatedAt": "2018-07-02T04:23:44Z"
      }
    ]
    

    Properties

    Name Type Required Description
    anonymous [Channel] false No description

    ChannelListResponse

    {
      "count": 0,
      "items": [
        {
          "id": "string",
          "name": "string",
          "channelTypeId": "string",
          "createdAt": "2018-07-02T04:23:44Z",
          "updatedAt": "2018-07-02T04:23:44Z"
        }
      ]
    }
    

    Properties

    Name Type Required Description
    count number true No description
    items ChannelList true No description

    Campaign

    {
      "id": "string",
      "name": "string",
      "title": "string",
      "channelId": "string",
      "channelName": "string",
      "channelTypeId": "string",
      "createdAt": "2018-07-02T04:23:44Z",
      "updatedAt": "2018-07-02T04:23:44Z"
    }
    

    Properties

    Name Type Required Description
    id string true CampaignID
    name string true Name of the campaign
    title string false Name of the campaign (deprecated)
    channelId string(uuid) true Channel to execute campaign
    channelName string false Name of Channel to execute campaign
    channelTypeId channelTypeId true No description
    createdAt string(date-time) false Campaign created date time
    updatedAt string(date-time) false Campaign updated date time

    CampaignList

    [
      {
        "id": "string",
        "name": "string",
        "title": "string",
        "channelId": "string",
        "channelName": "string",
        "channelTypeId": "string",
        "createdAt": "2018-07-02T04:23:44Z",
        "updatedAt": "2018-07-02T04:23:44Z"
      }
    ]
    

    Properties

    Name Type Required Description
    anonymous [Campaign] false No description

    CampaignListResponse

    {
      "count": 0,
      "items": [
        {
          "id": "string",
          "name": "string",
          "title": "string",
          "channelId": "string",
          "channelName": "string",
          "channelTypeId": "string",
          "createdAt": "2018-07-02T04:23:44Z",
          "updatedAt": "2018-07-02T04:23:44Z"
        }
      ]
    }
    

    Properties

    Name Type Required Description
    count number true No description
    items CampaignList true No description

    CampaignRequestResponse

    {
      "success": true,
      "requestId": "string"
    }
    

    Properties

    Name Type Required Description
    success boolean true No description
    requestId string(uuid) true request message id

    Visitor

    {
      "id": "string",
      "clientVisitorId": "string",
      "handle": "string",
      "agentId": "string",
      "agentClientUserId": "string",
      "teamId": "string",
      "teamCode": "string",
      "firstName": "string",
      "lastName": "string",
      "email": "string",
      "phoneNumber": "string",
      "pictureUrl": "string",
      "city": "string",
      "state": "string",
      "archived": true,
      "bookmarked": true,
      "deliveryStatus": 0
    }
    

    Properties

    Name Type Required Description
    id string(number) true No description
    clientVisitorId string false No description
    handle string false No description
    agentId string(number) false No description
    agentClientUserId string false No description
    teamId string(uuid) false No description
    teamCode string false No description
    firstName string false No description
    lastName string false No description
    email string false No description
    phoneNumber string false No description
    pictureUrl string false No description
    city string false No description
    state string false No description
    archived boolean false No description
    bookmarked boolean false No description
    deliveryStatus DeliveryStatus false No description

    VisitorSubmitCampaign

    {
      "id": "string",
      "clientVisitorId": "string",
      "agentId": "string",
      "agentClientUserId": "string",
      "teamId": "string",
      "teamCode": "string",
      "firstName": "string",
      "lastName": "string",
      "email": "string",
      "phoneNumber": "string",
      "state": "string",
      "deliveryStatus": 0
    }
    

    Properties

    Name Type Required Description
    id string(number) false No description
    clientVisitorId string false No description
    agentId string(number) false No description
    agentClientUserId string false No description
    teamId string(uuid) false No description
    teamCode string false No description
    firstName string false No description
    lastName string false No description
    email string false No description
    phoneNumber string true No description
    state string false No description
    deliveryStatus DeliveryStatus false No description

    VisitorSubmit

    {
      "id": "string",
      "clientVisitorId": "string",
      "agentId": "string",
      "agentClientUserId": "string",
      "teamId": "string",
      "teamCode": "string",
      "firstName": "string",
      "lastName": "string",
      "email": "string",
      "phoneNumber": "string",
      "state": "string",
      "deliveryStatus": 0
    }
    

    Properties

    Name Type Required Description
    id string(number) false No description
    clientVisitorId string false No description
    agentId string(number) false No description
    agentClientUserId string false No description
    teamId string(uuid) false No description
    teamCode string false No description
    firstName string false No description
    lastName string false No description
    email string false No description
    phoneNumber string false No description
    state string false No description
    deliveryStatus DeliveryStatus false No description

    VisitorList

    [
      {
        "id": "string",
        "clientVisitorId": "string",
        "handle": "string",
        "agentId": "string",
        "agentClientUserId": "string",
        "teamId": "string",
        "teamCode": "string",
        "firstName": "string",
        "lastName": "string",
        "email": "string",
        "phoneNumber": "string",
        "pictureUrl": "string",
        "city": "string",
        "state": "string",
        "archived": true,
        "bookmarked": true,
        "deliveryStatus": 0
      }
    ]
    

    Properties

    Name Type Required Description
    anonymous [Visitor] false No description

    VisitorListResponse

    {
      "count": 0,
      "items": [
        {
          "id": "string",
          "clientVisitorId": "string",
          "handle": "string",
          "agentId": "string",
          "agentClientUserId": "string",
          "teamId": "string",
          "teamCode": "string",
          "firstName": "string",
          "lastName": "string",
          "email": "string",
          "phoneNumber": "string",
          "pictureUrl": "string",
          "city": "string",
          "state": "string",
          "archived": true,
          "bookmarked": true,
          "deliveryStatus": 0
        }
      ]
    }
    

    Properties

    Name Type Required Description
    count number true No description
    items VisitorList true No description

    MessageItem

    {
      "id": "string",
      "visitorId": "string",
      "visitorHandle": "string",
      "clientVisitorId": "string",
      "channelId": "string",
      "channelName": "string",
      "channelTypeId": "string",
      "messageType": 0,
      "messageTypeDesc": "string",
      "messageText": "string",
      "agentClientUserId": "string",
      "userTypeId": 0,
      "userId": 0,
      "createdAt": "2018-07-02T04:23:44Z"
    }
    

    Properties

    Name Type Required Description
    id string true Delivery status item id of type bigint
    visitorId string true Visitor id of type bigint
    visitorHandle string false Visitor unqiue handle
    clientVisitorId string false Client visitor id provided during dedupe
    channelId string false Channel identifier
    channelName string false Channel Name
    channelTypeId channelTypeId false No description
    messageType MessageType true No description
    messageTypeDesc string false Delivery status string description
    messageText string false Visitor or Agent Message text
    agentClientUserId agentClientUserId false No description
    userTypeId UserType true No description
    userId number true User that made delivery status change
    createdAt string(date-time) true Delivery status change datetime stamp

    MessageResponse

    {
      "count": 0,
      "items": [
        {
          "id": "string",
          "visitorId": "string",
          "visitorHandle": "string",
          "clientVisitorId": "string",
          "channelId": "string",
          "channelName": "string",
          "channelTypeId": "string",
          "messageType": 0,
          "messageTypeDesc": "string",
          "messageText": "string",
          "agentClientUserId": "string",
          "userTypeId": 0,
          "userId": 0,
          "createdAt": "2018-07-02T04:23:44Z"
        }
      ]
    }
    

    Properties

    Name Type Required Description
    count number true No description
    items [MessageItem] true No description

    AgentRead

    {
      "id": 0,
      "clientVisitorId": 0,
      "status": 0,
      "firstName": "string",
      "lastName": 0,
      "email": 0,
      "primaryPhone": 0
    }
    

    Properties

    Name Type Required Description
    id number false No description
    clientVisitorId number false No description
    status number false No description
    firstName string false No description
    lastName number false No description
    email number false No description
    primaryPhone number false No description

    AgentEdit

    {
      "status": 0
    }
    

    Properties

    Name Type Required Description
    status number false No description

    DeliveryStatusItem

    {
      "id": "string",
      "visitorId": "string",
      "visitorHandle": "string",
      "clientVisitorId": "string",
      "campaignRequestId": "string",
      "deviceId": "string",
      "deliveryStatus": 0,
      "deliveryStatusDesc": "string",
      "notes": "string",
      "userTypeId": 0,
      "userId": 0,
      "createdAt": "2018-07-02T04:23:44Z"
    }
    

    Properties

    Name Type Required Description
    id string true Delivery status item id of type bigint
    visitorId string true Visitor id of type bigint
    visitorHandle string false Visitor unqiue handle
    clientVisitorId clientVisitorId false No description
    campaignRequestId string false Associated campaign request id
    deviceId string true Visitor phone number or channel session specific identifier
    deliveryStatus DeliveryStatus true No description
    deliveryStatusDesc string false Delivery status string description
    notes string false Description notes or delivery status
    userTypeId UserType true No description
    userId number true User that made delivery status change
    createdAt string(date-time) true Delivery status change datetime stamp

    DeliveryStatusResponse

    {
      "count": 0,
      "items": [
        {
          "id": "string",
          "visitorId": "string",
          "visitorHandle": "string",
          "clientVisitorId": "string",
          "campaignRequestId": "string",
          "deviceId": "string",
          "deliveryStatus": 0,
          "deliveryStatusDesc": "string",
          "notes": "string",
          "userTypeId": 0,
          "userId": 0,
          "createdAt": "2018-07-02T04:23:44Z"
        }
      ]
    }
    

    Properties

    Name Type Required Description
    count number true No description
    items [DeliveryStatusItem] true No description

    ErrorResponse

    {
      "message": "string"
    }
    

    Properties

    Name Type Required Description
    message string true No description

    HealthSuccess

    {
      "success": true
    }
    

    Properties

    Name Type Required Description
    success boolean true No description