curl --request GET \
--url https://app.flextell.ai/api/v1/conversations \
--header 'Authorization: Bearer <token>' \
--header 'X-Tenant: <x-tenant>'import requests
url = "https://app.flextell.ai/api/v1/conversations"
headers = {
"X-Tenant": "<x-tenant>",
"Authorization": "Bearer <token>"
}
response = requests.get(url, headers=headers)
print(response.text)const options = {
method: 'GET',
headers: {'X-Tenant': '<x-tenant>', Authorization: 'Bearer <token>'}
};
fetch('https://app.flextell.ai/api/v1/conversations', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://app.flextell.ai/api/v1/conversations",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"X-Tenant: <x-tenant>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://app.flextell.ai/api/v1/conversations"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("X-Tenant", "<x-tenant>")
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://app.flextell.ai/api/v1/conversations")
.header("X-Tenant", "<x-tenant>")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://app.flextell.ai/api/v1/conversations")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["X-Tenant"] = '<x-tenant>'
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"data": [
{
"id": 123,
"record_state": {
"is_read_only": true,
"reason_code": "<string>"
},
"display_name": "<string>",
"address": "<string>",
"hidden_number": true,
"visitor_id": "<string>",
"source": "<string>",
"last_message_id": 123,
"last_message": "<string>",
"last_message_at": "2023-11-07T05:31:56Z",
"last_message_type": "<string>",
"last_message_media_type": "<string>",
"last_message_is_customer": true,
"last_message_is_deleted": true,
"last_customer_message": {
"id": 123,
"message": "<string>",
"message_type": "<string>",
"media_type": "<string>",
"created_at": "2023-11-07T05:31:56Z",
"is_customer": true,
"is_deleted": true
},
"unread_count": "<string>",
"agent_disabled": true,
"agent_expires_at": "2023-11-07T05:31:56Z",
"agent_disabled_by_user_name": "<string>",
"is_archived": true,
"archived_at": "2023-11-07T05:31:56Z",
"archived_by_user_name": "<string>",
"customer": {
"id": 123,
"first_name": "<string>",
"last_name": "<string>",
"phone_number": "<string>",
"avatar_url": "<string>",
"is_masked": "<string>",
"is_lead_stage": true,
"lead_id": 123,
"lead_stage": {
"id": 123,
"name": "<string>",
"next_stage_id": 123
},
"erased_at": "2023-11-07T05:31:56Z",
"open_tasks_count": 123,
"notes_count": 123
},
"channel": {
"id": 123,
"name": "<string>",
"type": "<string>",
"provider": "<string>",
"address": "<string>"
},
"lines": [
"<string>"
],
"tags": [
{
"id": 123,
"tenant_id": 123,
"name": "<string>",
"color": "<string>",
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z",
"deleted_at": "2023-11-07T05:31:56Z"
}
],
"blacklist": {
"id": 123,
"tenant_id": 123,
"reason": "<string>",
"reason_label": "Hız Limiti",
"note": "<string>",
"blocked_at": "2023-11-07T05:31:56Z",
"expires_at": "2023-11-07T05:31:56Z",
"is_active": true,
"is_permanent": true,
"is_expired": true,
"remaining_time": "<string>",
"metadata": [
"<unknown>"
],
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z",
"deleted_at": "2023-11-07T05:31:56Z",
"channel": {
"id": 123,
"name": "<string>",
"type": "whatsapp",
"address": "<string>"
},
"customer": {
"id": 123,
"record_state": {
"is_read_only": true,
"reason_code": "<string>"
},
"first_name": "<string>",
"last_name": "<string>",
"phone_number": "<string>",
"email": "<string>",
"is_masked": true,
"is_lead_stage": true,
"lead_id": 123
}
}
}
]
}{
"message": "<string>"
}{
"message": "<string>"
}{
"message": "<string>",
"errors": {}
}{
"success": false,
"error_code": "SETUP_REQUIRED",
"message": "Complete the required setup steps to continue.",
"data": {
"next_step": "clinic_info"
}
}Get all conversations
curl --request GET \
--url https://app.flextell.ai/api/v1/conversations \
--header 'Authorization: Bearer <token>' \
--header 'X-Tenant: <x-tenant>'import requests
url = "https://app.flextell.ai/api/v1/conversations"
headers = {
"X-Tenant": "<x-tenant>",
"Authorization": "Bearer <token>"
}
response = requests.get(url, headers=headers)
print(response.text)const options = {
method: 'GET',
headers: {'X-Tenant': '<x-tenant>', Authorization: 'Bearer <token>'}
};
fetch('https://app.flextell.ai/api/v1/conversations', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://app.flextell.ai/api/v1/conversations",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"X-Tenant: <x-tenant>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://app.flextell.ai/api/v1/conversations"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("X-Tenant", "<x-tenant>")
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://app.flextell.ai/api/v1/conversations")
.header("X-Tenant", "<x-tenant>")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://app.flextell.ai/api/v1/conversations")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["X-Tenant"] = '<x-tenant>'
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"data": [
{
"id": 123,
"record_state": {
"is_read_only": true,
"reason_code": "<string>"
},
"display_name": "<string>",
"address": "<string>",
"hidden_number": true,
"visitor_id": "<string>",
"source": "<string>",
"last_message_id": 123,
"last_message": "<string>",
"last_message_at": "2023-11-07T05:31:56Z",
"last_message_type": "<string>",
"last_message_media_type": "<string>",
"last_message_is_customer": true,
"last_message_is_deleted": true,
"last_customer_message": {
"id": 123,
"message": "<string>",
"message_type": "<string>",
"media_type": "<string>",
"created_at": "2023-11-07T05:31:56Z",
"is_customer": true,
"is_deleted": true
},
"unread_count": "<string>",
"agent_disabled": true,
"agent_expires_at": "2023-11-07T05:31:56Z",
"agent_disabled_by_user_name": "<string>",
"is_archived": true,
"archived_at": "2023-11-07T05:31:56Z",
"archived_by_user_name": "<string>",
"customer": {
"id": 123,
"first_name": "<string>",
"last_name": "<string>",
"phone_number": "<string>",
"avatar_url": "<string>",
"is_masked": "<string>",
"is_lead_stage": true,
"lead_id": 123,
"lead_stage": {
"id": 123,
"name": "<string>",
"next_stage_id": 123
},
"erased_at": "2023-11-07T05:31:56Z",
"open_tasks_count": 123,
"notes_count": 123
},
"channel": {
"id": 123,
"name": "<string>",
"type": "<string>",
"provider": "<string>",
"address": "<string>"
},
"lines": [
"<string>"
],
"tags": [
{
"id": 123,
"tenant_id": 123,
"name": "<string>",
"color": "<string>",
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z",
"deleted_at": "2023-11-07T05:31:56Z"
}
],
"blacklist": {
"id": 123,
"tenant_id": 123,
"reason": "<string>",
"reason_label": "Hız Limiti",
"note": "<string>",
"blocked_at": "2023-11-07T05:31:56Z",
"expires_at": "2023-11-07T05:31:56Z",
"is_active": true,
"is_permanent": true,
"is_expired": true,
"remaining_time": "<string>",
"metadata": [
"<unknown>"
],
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z",
"deleted_at": "2023-11-07T05:31:56Z",
"channel": {
"id": 123,
"name": "<string>",
"type": "whatsapp",
"address": "<string>"
},
"customer": {
"id": 123,
"record_state": {
"is_read_only": true,
"reason_code": "<string>"
},
"first_name": "<string>",
"last_name": "<string>",
"phone_number": "<string>",
"email": "<string>",
"is_masked": true,
"is_lead_stage": true,
"lead_id": 123
}
}
}
]
}{
"message": "<string>"
}{
"message": "<string>"
}{
"message": "<string>",
"errors": {}
}{
"success": false,
"error_code": "SETUP_REQUIRED",
"message": "Complete the required setup steps to continue.",
"data": {
"next_step": "clinic_info"
}
}Yetkilendirmeler
The access token received from the authorization server in the OAuth 2.0 flow.
Başlıklar
Tenant identifier. Send the Tenant ID in the X-Tenant header to scope API requests to a specific tenant.
Sorgu Parametreleri
The number of items per page.
1 <= x <= 100Which conversations to list: assigned for the ones whose lead is assigned to you, all (the default) for every conversation you may see. Without permission to view all conversations the list is always assigned.
The search query.
255Filter by channel type (whatsapp, instagram, etc.).
whatsapp, instagram, website, telegram, null A channel ID to filter by.
Filter by archive state. Pass true for archived conversations only, false for active ones. Defaults to active conversations when omitted.
An archive state: "active" or "archived".
A lead reference source ID to filter by.
A user ID to filter by.
A tag ID to filter by.
Only include conversations archived at or after this date.
Only include conversations archived at or before this date.
Filter by customer stage. Pass "lead" for conversations whose customer is still a lead, or "patient" for converted customers. Omit for all.
lead, patient, null Filter by open tasks of the customer, including the tasks added on its lead. Pass true for conversations with at least one open task, false for conversations without any.
List a contact the clinic talks to on several WhatsApp lines once, as its most recently active line's conversation; lines on each row lists all of them. Ignored when channel_ids narrows the list to given lines.
Yanıt
Array of ConversationResource
Show child attributes
Show child attributes