NAV Navbar
Logo
Shell HTTP JavaScript Node.JS Python Ruby Java

Jambo API v1.0.0

Learn about Jambo or join the IRC channel #jambo on irc.freenode.net.

TODO: Add sample credentials here to test the jambo api with

Base URL = https://api.jambo.io/v1

Terms of service

Access

Operations about access

Find out more about our store

token_get

Code samples

# You can also use wget
curl -X get https://api.jambo.io/v1/oauth/token
GET https://api.jambo.io/v1/oauth/token HTTP/1.1
Host: api.jambo.io
Content-Type: application/json
Accept: application/json
<script>
  $.ajax({
    url: 'https://api.jambo.io/v1/oauth/token',
    method: 'get',
    success: function(data) {
      console.log(JSON.stringify(data));
    }
  })
</script>
const request = require('node-fetch');
fetch('https://api.jambo.io/v1/oauth/token', { method: 'GET'})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});
require 'rest-client'
require 'json'

result = RestClient.get 'https://api.jambo.io/v1/oauth/token', params:
  {
    # TODO
  }

p JSON.parse(result)
import requests

r = requests.get('https://api.jambo.io/v1/oauth/token', params={
  # TODO
})

print r.json()
URL obj = new URL("https://api.jambo.io/v1/oauth/token");
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 /oauth/token

Get an authentication token

Get an authentication token

Parameters

Parameter In Type Required Description
token_request body TokenRequest true No description

Body parameter

{
  "grant_type": "client_credentials",
  "client_id": "3642356242FA33625345532345",
  "client_secret": "SuPErSecRetClientSecret"
}

Responses

Status Meaning Description
200 OK Gets an auth token

Example responses

{
  "access_token": "d257f75098702f2b8fb9bb89159e89f35eeb40ba06d17ecfedb32fb7e98b9d6e",
  "refresh_token": "b010ebf6565c684d0f06184d4508b31ca9dac28f465edb6123d5db6c8d2b6d53",
  "expires_in": 3600,
  "token_type": "Bearer"
}

Methods

RPC Calls for the Jambo API

webhooks_list

Code samples

# You can also use wget
curl -X post https://api.jambo.io/v1/rpc/webhooks_list
POST https://api.jambo.io/v1/rpc/webhooks_list HTTP/1.1
Host: api.jambo.io
Content-Type: application/json
Accept: application/json
<script>
  $.ajax({
    url: 'https://api.jambo.io/v1/rpc/webhooks_list',
    method: 'post',
    success: function(data) {
      console.log(JSON.stringify(data));
    }
  })
</script>
const request = require('node-fetch');
fetch('https://api.jambo.io/v1/rpc/webhooks_list', { method: 'POST'})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});
require 'rest-client'
require 'json'

result = RestClient.post 'https://api.jambo.io/v1/rpc/webhooks_list', params:
  {
    # TODO
  }

p JSON.parse(result)
import requests

r = requests.post('https://api.jambo.io/v1/rpc/webhooks_list', params={
  # TODO
})

print r.json()
URL obj = new URL("https://api.jambo.io/v1/rpc/webhooks_list");
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 /rpc/webhooks_list

Get a list of all your webhooks

Webhooks let you integrate Jambo with your existing systems. You can react to events generated by your visitors to provide an amazing personal experience.

Parameters

Parameter In Type Required Description
parameters body webhooks.list true Webhook list request

Body parameter

{
  "event": "entered",
  "filter": "tag=vip"
}

Responses

Status Meaning Description
200 OK command executed

Example responses

{
  "status": "ok",
  "webhook": [
    {
      "_id": "23423k4252349234",
      "event": "entered",
      "filter": "tag=vip",
      "url": "https://yourwebsite.com/callback"
    }
  ]
}

webhooks_subscribe

Code samples

# You can also use wget
curl -X post https://api.jambo.io/v1/rpc/webhooks_subscribe
POST https://api.jambo.io/v1/rpc/webhooks_subscribe HTTP/1.1
Host: api.jambo.io
Content-Type: application/json
Accept: application/json
<script>
  $.ajax({
    url: 'https://api.jambo.io/v1/rpc/webhooks_subscribe',
    method: 'post',
    success: function(data) {
      console.log(JSON.stringify(data));
    }
  })
</script>
const request = require('node-fetch');
fetch('https://api.jambo.io/v1/rpc/webhooks_subscribe', { method: 'POST'})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});
require 'rest-client'
require 'json'

result = RestClient.post 'https://api.jambo.io/v1/rpc/webhooks_subscribe', params:
  {
    # TODO
  }

p JSON.parse(result)
import requests

r = requests.post('https://api.jambo.io/v1/rpc/webhooks_subscribe', params={
  # TODO
})

print r.json()
URL obj = new URL("https://api.jambo.io/v1/rpc/webhooks_subscribe");
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 /rpc/webhooks_subscribe

Subscribe to webhook

Parameters

Parameter In Type Required Description
parameters body webhooks.subscribe true Webhook subscription request

Body parameter

{
  "event": "entered",
  "filter": "tag=vip",
  "url": "https://yourwebsite.com/callback"
}

Responses

Status Meaning Description
200 OK command executed

Example responses

{
  "status": "ok",
  "webhook": {
    "_id": "23423k4252349234",
    "event": "entered",
    "filter": "tag=vip",
    "url": "https://yourwebsite.com/callback"
  }
}

webhooks_unsubscribe

Code samples

# You can also use wget
curl -X post https://api.jambo.io/v1/rpc/webhooks_unsubscribe
POST https://api.jambo.io/v1/rpc/webhooks_unsubscribe HTTP/1.1
Host: api.jambo.io
Content-Type: application/json
Accept: application/json
<script>
  $.ajax({
    url: 'https://api.jambo.io/v1/rpc/webhooks_unsubscribe',
    method: 'post',
    success: function(data) {
      console.log(JSON.stringify(data));
    }
  })
</script>
const request = require('node-fetch');
fetch('https://api.jambo.io/v1/rpc/webhooks_unsubscribe', { method: 'POST'})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});
require 'rest-client'
require 'json'

result = RestClient.post 'https://api.jambo.io/v1/rpc/webhooks_unsubscribe', params:
  {
    # TODO
  }

p JSON.parse(result)
import requests

r = requests.post('https://api.jambo.io/v1/rpc/webhooks_unsubscribe', params={
  # TODO
})

print r.json()
URL obj = new URL("https://api.jambo.io/v1/rpc/webhooks_unsubscribe");
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 /rpc/webhooks_unsubscribe

Unsubscribe from webhook

Parameters

Parameter In Type Required Description
parameters body webhooks.unsubscribe true Webhook unsubscribe request

Body parameter

{
  "webhookId": "2342k3423523425"
}

Responses

Status Meaning Description
200 OK command executed

Example responses

{
  "status": "ok"
}

messages_send

Code samples

# You can also use wget
curl -X post https://api.jambo.io/v1/rpc/messages_send
POST https://api.jambo.io/v1/rpc/messages_send HTTP/1.1
Host: api.jambo.io
Content-Type: application/json
Accept: application/json
<script>
  $.ajax({
    url: 'https://api.jambo.io/v1/rpc/messages_send',
    method: 'post',
    success: function(data) {
      console.log(JSON.stringify(data));
    }
  })
</script>
const request = require('node-fetch');
fetch('https://api.jambo.io/v1/rpc/messages_send', { method: 'POST'})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});
require 'rest-client'
require 'json'

result = RestClient.post 'https://api.jambo.io/v1/rpc/messages_send', params:
  {
    # TODO
  }

p JSON.parse(result)
import requests

r = requests.post('https://api.jambo.io/v1/rpc/messages_send', params={
  # TODO
})

print r.json()
URL obj = new URL("https://api.jambo.io/v1/rpc/messages_send");
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 /rpc/messages_send

Create a new message

Parameters

Parameter In Type Required Description
parameters body messages.send true Message object that needs to be created

Body parameter

{
  "body": "This is an important message!",
  "filter": "tag=vip&locationId=234k3423524"
}

Responses

Status Meaning Description
200 OK command executed

Example responses

{
  "status": "ok",
  "message": {
    "_id": "1225124l214l",
    "body": "This is an important message!",
    "filter": "tag=vip&locationId=234k3423524",
    "created": "2017-01-17T07:09:48Z"
  }
}

events_create

Code samples

# You can also use wget
curl -X post https://api.jambo.io/v1/rpc/events_create
POST https://api.jambo.io/v1/rpc/events_create HTTP/1.1
Host: api.jambo.io
Content-Type: application/json
Accept: application/json
<script>
  $.ajax({
    url: 'https://api.jambo.io/v1/rpc/events_create',
    method: 'post',
    success: function(data) {
      console.log(JSON.stringify(data));
    }
  })
</script>
const request = require('node-fetch');
fetch('https://api.jambo.io/v1/rpc/events_create', { method: 'POST'})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});
require 'rest-client'
require 'json'

result = RestClient.post 'https://api.jambo.io/v1/rpc/events_create', params:
  {
    # TODO
  }

p JSON.parse(result)
import requests

r = requests.post('https://api.jambo.io/v1/rpc/events_create', params={
  # TODO
})

print r.json()
URL obj = new URL("https://api.jambo.io/v1/rpc/events_create");
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 /rpc/events_create

Create a new event

Parameters

Parameter In Type Required Description
parameters body events.create true Event object that needs to be created

Body parameter

{
  "event": "enter",
  "metadata": {
    "customerId": 324235
  },
  "visitor": "2341234k24213h5124"
}

Responses

Status Meaning Description
200 OK command executed

Example responses

{
  "status": "ok",
  "event": {
    "_id": "1225124l214l",
    "event": "purchase",
    "visitor": {
      "_id": "aklj234klj23",
      "person": {
        "id": "string",
        "name": "string"
      },
      "company": {
        "_id": 23412351243,
        "name": "ACME Corp",
        "plan": "free",
        "expires": "2017-01-17T07:09:48Z"
      },
      "email": "2304808234724@jambo.io",
      "lastVisit": "2017-01-17T07:09:48Z",
      "numVisits": 0,
      "created": "2017-01-17T07:09:48Z",
      "tags": [
        {
          "_id": 23412351234,
          "name": "vip"
        }
      ]
    },
    "metadata": {
      "customerId": 324235
    },
    "created": "2017-01-17T07:09:48Z"
  }
}

notes_create

Code samples

# You can also use wget
curl -X post https://api.jambo.io/v1/rpc/notes_create
POST https://api.jambo.io/v1/rpc/notes_create HTTP/1.1
Host: api.jambo.io
Content-Type: application/json
Accept: application/json
<script>
  $.ajax({
    url: 'https://api.jambo.io/v1/rpc/notes_create',
    method: 'post',
    success: function(data) {
      console.log(JSON.stringify(data));
    }
  })
</script>
const request = require('node-fetch');
fetch('https://api.jambo.io/v1/rpc/notes_create', { method: 'POST'})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});
require 'rest-client'
require 'json'

result = RestClient.post 'https://api.jambo.io/v1/rpc/notes_create', params:
  {
    # TODO
  }

p JSON.parse(result)
import requests

r = requests.post('https://api.jambo.io/v1/rpc/notes_create', params={
  # TODO
})

print r.json()
URL obj = new URL("https://api.jambo.io/v1/rpc/notes_create");
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 /rpc/notes_create

Create a new note

Parameters

Parameter In Type Required Description
parameters body notes.create true Note object that needs to be created

Body parameter

{
  "text": "This is a note for the visitor",
  "visitor": "23415234k2k34"
}

Responses

Status Meaning Description
200 OK command executed

Example responses

{
  "status": "ok",
  "note": {
    "visitor": "2324lkj242k5324",
    "text": "This is a note for the visitor"
  }
}