Build your first LeadApp in 5 min
Welcome to our “Build your first LeadApp in 5 min”.
In this article, we will show you an example on how to build a LeadApp that prints out the total number of users through our REST API.
The sample code is in PHP and Python.
Requirements and Preparations
If you’re using PHP, here is the environment we used in the sample code:
PHP >= 7.0
guzzle >= 6.0
If you’re using Python, here is the environment we used in the sample code:
Python >= 3.4
requests >= 2.1
Import libraries and define the base url.
If you’re using PHP, here is the environment we used in the sample code:
1. PHP >= 7.0
2. guzzle >= 6.0
If you’re using Python, here is the environment we used in the sample code:
1. Python >= 3.4
2. requests >= 2.1
How to get access token
LeadDesk REST API uses OAuth 2 authentication. In this example, we use ‘leaddesk_client_id’ as ‘grant_type’ to get the Bearer Token.
$resToken = $client->request(
"POST",
$baseUrl. "/oauth/access-token",
["json" =>
[
"grant_type" => "leaddesk_client_id",
"client_id" => "", //<your-client-id>
"client_secret" => "", //<your-client-secret>
"leaddesk_client_id" => 0, // <your-leadDesk-client-id>
]
]
);
$resTokenJson = json_decode($resToken->getBody(), true);
$accessToken = $resTokenJson["access_token"];
res_token = requests.post(
"{}{}".format(BASE_URL, "/oauth/access-token"),
json={
"grant_type":"leaddesk_client_id",
"client_id": "", # <your-client-id>
"client_secret": "", # <your-client-secret>
"leaddesk_client_id": 0 # <your-leadDesk-client-id>
}
)
res_token.raise_for_status()
access_token = res_token.json()["access_token"]
How to request to LeadDesk API
In this step, we will use the method “GET” to the “/users” endpoint to fetch users data. As our API supports pagination, we are fetching the first page of the user list, 5 users per page.
LeadDesk REST API has various endpoints and supports methods GET, POST, PATCH and DELETE. See more from our documentation.
$response = $client->request(
"GET",
$baseUrl. "/users",
[
"http_errors" => false,
"headers" => [
"Authorization" => "Bearer ". $accessToken,
],
"query" => [
"per_page" => 5,
"page" => 1,
]
]
);
$result = [
"code" => $response->getStatusCode(),
"data" => json_decode($response->getBody(), true)
];
response = requests.request(
"GET",
"{}{}".format(BASE_URL, "/users"),
headers={
"Authorization": "Bearer {}".format(access_token)
},
params={
"per_page": 5,
"page": 1
}
)
result = {
"code": response.status_code,
"data": response.json()
}
Output
After fetching the data, we simply print out the total user number of the client. If everything works fine, you should see the output:
"Hello world, we have {x} users in LeadDesk."
if ($result["code"] >= 200 && $result["code"] <= 299) {
echo "Hello world, we have {$result["data"]["_meta"]["count"]} users in LeadDesk.\n";
} else {
echo "Fail to get users data.\n";
var_dump($result);
}
if result.get("code") >= 200 and result.get("code") <= 299:
print("Hello world, we have {} users in LeadDesk.\n".format(result["data"]["_meta"]["count"]))
else:
print("Fail to get users data.\n")
print(result)