Take a request nobody holds
curl --request POST \
--url https://staging.housera.ro/api/v1/leads/{lead}/take \
--header 'Authorization: Bearer <token>'<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://staging.housera.ro/api/v1/leads/{lead}/take",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}const options = {method: 'POST', headers: {Authorization: 'Bearer <token>'}};
fetch('https://staging.housera.ro/api/v1/leads/{lead}/take', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://staging.housera.ro/api/v1/leads/{lead}/take"
headers = {"Authorization": "Bearer <token>"}
response = requests.post(url, headers=headers)
print(response.text){
"data": {
"id": 123,
"source": "phone",
"status": "new",
"listing": {
"code": "<string>",
"external_ref": "<string>"
},
"complex": {
"code": "<string>",
"title": "<string>",
"url": "<string>"
},
"contact": {
"name": "<string>",
"phone": "<string>",
"email": "<string>"
},
"message": "<string>",
"erased": true,
"note": "<string>",
"price": 123,
"agent": {
"name": "<string>",
"email": "<string>",
"display_name": "<string>"
},
"requests": {
"callback_at": "<string>",
"viewing_at": "<string>"
},
"office": {
"id": 123,
"name": "<string>"
},
"inbox": {
"reason": "no_listing",
"since": "<string>"
},
"created_at": "<string>",
"updated_at": "<string>"
}
}{
"type": "<string>",
"title": "<string>",
"status": 123,
"code": "<string>",
"detail": "<string>",
"existing": {
"code": "<string>",
"external_ref": "<string>"
}
}{
"type": "<string>",
"title": "<string>",
"status": 123,
"code": "<string>",
"detail": "<string>",
"existing": {
"code": "<string>",
"external_ref": "<string>"
}
}{
"type": "<string>",
"title": "<string>",
"status": 123,
"code": "<string>",
"detail": "<string>",
"existing": {
"code": "<string>",
"external_ref": "<string>"
}
}{
"type": "<string>",
"title": "<string>",
"status": 123,
"code": "<string>",
"detail": "<string>",
"existing": {
"code": "<string>",
"external_ref": "<string>"
}
}{
"type": "<string>",
"title": "<string>",
"status": 123,
"code": "<string>",
"detail": "<string>",
"existing": {
"code": "<string>",
"external_ref": "<string>"
}
}{
"type": "<string>",
"title": "<string>",
"status": 123,
"code": "<string>",
"detail": "<string>",
"existing": {
"code": "<string>",
"external_ref": "<string>"
}
}Client requests
Take a request nobody holds
The key’s account takes a request from “To take”, like the “I’ll take it” button in the portal, and becomes responsible for it. You find the waiting requests with GET /leads?inbox=true. If someone took it first, you get 409 (lead_already_taken). If you already have a contact without a listing with the same client, the request joins it and you get your contact, with meta.merged_from. Requires the leads:read and leads:write abilities.
POST
/
leads
/
{lead}
/
take
Take a request nobody holds
curl --request POST \
--url https://staging.housera.ro/api/v1/leads/{lead}/take \
--header 'Authorization: Bearer <token>'<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://staging.housera.ro/api/v1/leads/{lead}/take",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}const options = {method: 'POST', headers: {Authorization: 'Bearer <token>'}};
fetch('https://staging.housera.ro/api/v1/leads/{lead}/take', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://staging.housera.ro/api/v1/leads/{lead}/take"
headers = {"Authorization": "Bearer <token>"}
response = requests.post(url, headers=headers)
print(response.text){
"data": {
"id": 123,
"source": "phone",
"status": "new",
"listing": {
"code": "<string>",
"external_ref": "<string>"
},
"complex": {
"code": "<string>",
"title": "<string>",
"url": "<string>"
},
"contact": {
"name": "<string>",
"phone": "<string>",
"email": "<string>"
},
"message": "<string>",
"erased": true,
"note": "<string>",
"price": 123,
"agent": {
"name": "<string>",
"email": "<string>",
"display_name": "<string>"
},
"requests": {
"callback_at": "<string>",
"viewing_at": "<string>"
},
"office": {
"id": 123,
"name": "<string>"
},
"inbox": {
"reason": "no_listing",
"since": "<string>"
},
"created_at": "<string>",
"updated_at": "<string>"
}
}{
"type": "<string>",
"title": "<string>",
"status": 123,
"code": "<string>",
"detail": "<string>",
"existing": {
"code": "<string>",
"external_ref": "<string>"
}
}{
"type": "<string>",
"title": "<string>",
"status": 123,
"code": "<string>",
"detail": "<string>",
"existing": {
"code": "<string>",
"external_ref": "<string>"
}
}{
"type": "<string>",
"title": "<string>",
"status": 123,
"code": "<string>",
"detail": "<string>",
"existing": {
"code": "<string>",
"external_ref": "<string>"
}
}{
"type": "<string>",
"title": "<string>",
"status": 123,
"code": "<string>",
"detail": "<string>",
"existing": {
"code": "<string>",
"external_ref": "<string>"
}
}{
"type": "<string>",
"title": "<string>",
"status": 123,
"code": "<string>",
"detail": "<string>",
"existing": {
"code": "<string>",
"external_ref": "<string>"
}
}{
"type": "<string>",
"title": "<string>",
"status": 123,
"code": "<string>",
"detail": "<string>",
"existing": {
"code": "<string>",
"external_ref": "<string>"
}
}Path Parameters
Query Parameters
The response language, ro or en. It changes error messages (title, detail), labels and, when the listing has an approved translation in that language, its title and description. Codes are the same in every language. It takes precedence over Accept-Language and over the account's language.
Available options:
ro, en