Skip to main content

Leads Integration

You can connect and push enquries from your landing pages directly into the Sembark.

Create Integration

Visit your Organization's settings page from the top right dropdown. Then visit Integrations tab to view all your integrations.

From here, click on New Integration. Provide a name and description to your integration and hit submit. On the next screen, copy the access token to a safe place.

Integrate

Using the access token from previous step, you can access the Trip Plan Requests API. If you are already collecting leads from your landing pages, then you just need to forward these calls to Sembark APIs.

caution

You should NEVER put the Sembark API Access Tokens in the source code of your public sites (e.g. landing pages, marketing site, product site etc). If someone gets your token, they can use it to abuse your API usage.

Following the Trip Plan Requests API docs, here are sample code references to put on your servers.

var axios = require("axios");
// assuming you already have guest_name, phone_number variables
// you can set trip_source to your likings e.g. 'Website'
var config = {
method: "post",
url: `<BASE_URL>/trip-plan-requests?name=${guest_name}&phone_number=${phone_number}&trip_source=${trip_source}`,
headers: {
Accept: "application/json",
Authorization: "Bearer <TOKEN_HERE>",
},
};
axios(config)
.then(function (response) {
// show the response.data.message
console.log(JSON.stringify(response.data));
})
.catch(function (error) {
// handle the errors for 401/422/405/500 etc
console.log(error);
});

New Sites

If you aren't already collecting leads from your landing pages or you are just starting with your landing, you should first start collecting leads on your server.

Client Side

This part covers the steps needs on your landing pages.

Create Form

To collect the leads, we will add a form on our landing page(s).

<form action="<SERVER_ENDPOINT_FOR_QUERIES_COLLECTION>" method="POST">
<input
name="guest_name"
required
type="text"
placeholder="Your Name e.g. Rahul Mehta"
/>
<input
name="phone_number"
required
type="tel"
placeholder="Your Contact Number e.g. +919999999999"
/>
<hr />
<button type="submit">Submit your Query</button>
</form>

Server Side

Collection Endpoint

You will need a server to collect the leads. If your site is already hosted on a server that you own (e.g. wordpress site), you are good to go. If your site is statically distributed on a third-party hosting provider, the you will need to setup a server.

After you create a server, here are sample code for your reference to collect the leads.

server.js
const express = require("express");
const bodyParser = require("body-parser");
const axios = require("axios");

const app = express();
// Configuring body parser middleware
app.use(bodyParser.urlencoded({ extended: false }));
app.use(bodyParser.json());

// this will create an `/queries` endpoint (post) on our server
app.post("/queries", (req, res) => {
const data = req.body;
// we will send this `data` to the Sembark APIs
const config = {
method: "post",
url: `<BASE_URL>/trip-plan-requests?name=${data.guest_name}&phone_number=${data.phone_number}&trip_source=Website`,
headers: {
Accept: "application/json",
Authorization: "Bearer <TOKEN_HERE>",
},
};
return axios(config).then((resp) => {
res.send(
"Query submitted. Our sales executive will be in touch with you shortly."
);
});
});

app.listen(80, () => console.log(`Hello world app listening on port 80!`));