Lister les appels
curl --request GET \
--url https://app.famulor.de/api/user/callsimport requests
url = "https://app.famulor.de/api/user/calls"
response = requests.get(url)
print(response.text)const options = {method: 'GET'};
fetch('https://app.famulor.de/api/user/calls', 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.famulor.de/api/user/calls",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
]);
$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.famulor.de/api/user/calls"
req, _ := http.NewRequest("GET", url, nil)
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.famulor.de/api/user/calls")
.asString();require 'uri'
require 'net/http'
url = URI("https://app.famulor.de/api/user/calls")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
response = http.request(request)
puts response.read_body{
"data": [
{
"id": 123456,
"assistant_name": "Sales Assistant",
"campaign_name": "Neukundenakquise Q1 2024",
"type": "outbound",
"duration": 180,
"assistant_phone_number": "+4912345678",
"client_phone_number": "+4915123456789",
"status": "completed",
"transcript": [
{
"text": "Hallo, mein Name ist Maximilian, ich melde mich im Auftrag eines IT-Unternehmens.",
"type": "transcript",
"sender": "bot",
"timestamp": 1754055268.525861
},
{
"text": "Hallo?",
"type": "transcript",
"sender": "human",
"timestamp": 1754055272.069057
}
],
"variables": {
"customer_name": "John"
},
"evaluation": [
{
"name": "status",
"type": "bool",
"value": true,
"description": "Whether the call objective was achieved or not."
},
{
"name": "summary",
"type": "string",
"value": "Connected to the customer, obtained name of the person responsible for IT.",
"description": "Call summary in a few words."
}
],
"webhook_response": {
"crm_updated": true,
"lead_score": 75
},
"carrier_cost": "0.08000000",
"total_cost": "0.12000000",
"answered_by": "human",
"recording_url": "https://recordings.famulor.de/call-123456.mp3",
"created_at": "2024-01-15T10:30:00Z",
"updated_at": "2024-01-15T10:33:00Z"
},
{
"id": 123457,
"assistant_name": "Support Assistant",
"campaign_name": null,
"type": "inbound",
"duration": 120,
"assistant_phone_number": "+4912345678",
"client_phone_number": "+4917123456789",
"status": "ended_by_customer",
"transcript": [
{
"text": "Kunde: Hallo, ich habe eine Frage zu meinem Konto.",
"type": "transcript",
"sender": "human",
"timestamp": 1754055300.123456
},
{
"text": "Gerne helfe ich Ihnen dabei. Was kann ich für Sie tun?",
"type": "transcript",
"sender": "bot",
"timestamp": 1754055302.789012
}
],
"variables": {
"issue_resolved": true,
"satisfaction_rating": 9
},
"evaluation": [
{
"name": "issue_resolved",
"type": "bool",
"value": true,
"description": "Whether the customer's issue was resolved."
},
{
"name": "satisfaction_rating",
"type": "integer",
"value": 9,
"description": "Customer satisfaction rating from 1-10."
}
],
"webhook_response": null,
"carrier_cost": "0.05000000",
"total_cost": "0.08000000",
"answered_by": "human",
"recording_url": null,
"created_at": "2024-01-15T14:20:00Z",
"updated_at": "2024-01-15T14:22:00Z"
}
],
"current_page": 1,
"first_page_url": "https://app.famulor.de/api/user/calls?page=1",
"from": 1,
"last_page": 4,
"last_page_url": "https://app.famulor.de/api/user/calls?page=4",
"links": [
{
"url": null,
"label": "« Previous",
"active": false
},
{
"url": "https://app.famulor.de/api/user/calls?page=1",
"label": "1",
"active": true
}
],
"next_page_url": "https://app.famulor.de/api/user/calls?page=2",
"path": "https://app.famulor.de/api/user/calls",
"per_page": 15,
"prev_page_url": null,
"to": 15,
"total": 52
}
Appels
Lister les appels
Liste tous les appels de l’utilisateur authentifié, avec des options de filtrage
GET
/
api
/
user
/
calls
Lister les appels
curl --request GET \
--url https://app.famulor.de/api/user/callsimport requests
url = "https://app.famulor.de/api/user/calls"
response = requests.get(url)
print(response.text)const options = {method: 'GET'};
fetch('https://app.famulor.de/api/user/calls', 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.famulor.de/api/user/calls",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
]);
$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.famulor.de/api/user/calls"
req, _ := http.NewRequest("GET", url, nil)
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.famulor.de/api/user/calls")
.asString();require 'uri'
require 'net/http'
url = URI("https://app.famulor.de/api/user/calls")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
response = http.request(request)
puts response.read_body{
"data": [
{
"id": 123456,
"assistant_name": "Sales Assistant",
"campaign_name": "Neukundenakquise Q1 2024",
"type": "outbound",
"duration": 180,
"assistant_phone_number": "+4912345678",
"client_phone_number": "+4915123456789",
"status": "completed",
"transcript": [
{
"text": "Hallo, mein Name ist Maximilian, ich melde mich im Auftrag eines IT-Unternehmens.",
"type": "transcript",
"sender": "bot",
"timestamp": 1754055268.525861
},
{
"text": "Hallo?",
"type": "transcript",
"sender": "human",
"timestamp": 1754055272.069057
}
],
"variables": {
"customer_name": "John"
},
"evaluation": [
{
"name": "status",
"type": "bool",
"value": true,
"description": "Whether the call objective was achieved or not."
},
{
"name": "summary",
"type": "string",
"value": "Connected to the customer, obtained name of the person responsible for IT.",
"description": "Call summary in a few words."
}
],
"webhook_response": {
"crm_updated": true,
"lead_score": 75
},
"carrier_cost": "0.08000000",
"total_cost": "0.12000000",
"answered_by": "human",
"recording_url": "https://recordings.famulor.de/call-123456.mp3",
"created_at": "2024-01-15T10:30:00Z",
"updated_at": "2024-01-15T10:33:00Z"
},
{
"id": 123457,
"assistant_name": "Support Assistant",
"campaign_name": null,
"type": "inbound",
"duration": 120,
"assistant_phone_number": "+4912345678",
"client_phone_number": "+4917123456789",
"status": "ended_by_customer",
"transcript": [
{
"text": "Kunde: Hallo, ich habe eine Frage zu meinem Konto.",
"type": "transcript",
"sender": "human",
"timestamp": 1754055300.123456
},
{
"text": "Gerne helfe ich Ihnen dabei. Was kann ich für Sie tun?",
"type": "transcript",
"sender": "bot",
"timestamp": 1754055302.789012
}
],
"variables": {
"issue_resolved": true,
"satisfaction_rating": 9
},
"evaluation": [
{
"name": "issue_resolved",
"type": "bool",
"value": true,
"description": "Whether the customer's issue was resolved."
},
{
"name": "satisfaction_rating",
"type": "integer",
"value": 9,
"description": "Customer satisfaction rating from 1-10."
}
],
"webhook_response": null,
"carrier_cost": "0.05000000",
"total_cost": "0.08000000",
"answered_by": "human",
"recording_url": null,
"created_at": "2024-01-15T14:20:00Z",
"updated_at": "2024-01-15T14:22:00Z"
}
],
"current_page": 1,
"first_page_url": "https://app.famulor.de/api/user/calls?page=1",
"from": 1,
"last_page": 4,
"last_page_url": "https://app.famulor.de/api/user/calls?page=4",
"links": [
{
"url": null,
"label": "« Previous",
"active": false
},
{
"url": "https://app.famulor.de/api/user/calls?page=1",
"label": "1",
"active": true
}
],
"next_page_url": "https://app.famulor.de/api/user/calls?page=2",
"path": "https://app.famulor.de/api/user/calls",
"per_page": 15,
"prev_page_url": null,
"to": 15,
"total": 52
}
API Famulor 1.0 (héritée). Cette page concerne uniquement Famulor 1.0 (
app.famulor.de) et est conservée pour la compatibilité. Pour la plateforme actuelle, consultez la référence API Famulor 2.0.Paramètres de requête
string
Filtre les appels par statut. Valeurs possibles :
initiated, ringing, busy, in-progress, ended, completed, ended_by_customer, ended_by_assistant, no-answer, failedstring
Filtre les appels par type. Valeurs possibles :
inbound, outbound, webstring
Filtre les appels par numéro de téléphone du client
integer
Filtre les appels par ID d’assistant
integer
Filtre les appels par ID de campagne
string
Filtre les appels à partir de cette date (format YYYY-MM-DD)
string
Filtre les appels jusqu’à cette date (format YYYY-MM-DD)
integer
Nombre d’appels par page (1 à 100, 15 par défaut)
integer
Numéro de page (1 par défaut)
Champs de réponse
array
Tableau des appels
Afficher Propriétés de l'appel
Afficher Propriétés de l'appel
integer
L’identifiant unique de l’appel
string
Le nom de l’assistant qui a traité l’appel
string
Le nom de la campagne à laquelle appartient cet appel (le cas échéant)
string
Le type de l’appel (inbound, outbound ou web)
integer
La durée de l’appel en secondes
string
Le numéro de téléphone utilisé par l’assistant
string
Le numéro de téléphone du client
string
Le statut actuel de l’appel
array
La transcription de la conversation, sous forme de tableau d’objets contenant text, type, sender et timestamp
object
Les variables collectées pendant l’appel
array
Les données d’évaluation de la performance de l’appel, sous forme de tableau d’objets avec name, type, value et description
object
La réponse des webhooks configurés
string
Le coût facturé par l’opérateur pour cet appel
string
Le coût total de l’appel, tous frais inclus
string
Qui a répondu à l’appel (human, machine ou unknown)
string
URL de l’enregistrement de l’appel (si disponible et activé)
string
Date et heure de création de l’appel
string
Date et heure de la dernière mise à jour de l’appel
integer
Le numéro de la page actuelle
integer
Nombre d’éléments par page
integer
Nombre total d’appels correspondant aux critères
integer
Le numéro de la dernière page
string
URL de la première page
string
URL de la dernière page
string
URL de la page suivante, ou
nullstring
URL de la page précédente, ou
nullstring
Chemin de base pour la pagination
{
"data": [
{
"id": 123456,
"assistant_name": "Sales Assistant",
"campaign_name": "Neukundenakquise Q1 2024",
"type": "outbound",
"duration": 180,
"assistant_phone_number": "+4912345678",
"client_phone_number": "+4915123456789",
"status": "completed",
"transcript": [
{
"text": "Hallo, mein Name ist Maximilian, ich melde mich im Auftrag eines IT-Unternehmens.",
"type": "transcript",
"sender": "bot",
"timestamp": 1754055268.525861
},
{
"text": "Hallo?",
"type": "transcript",
"sender": "human",
"timestamp": 1754055272.069057
}
],
"variables": {
"customer_name": "John"
},
"evaluation": [
{
"name": "status",
"type": "bool",
"value": true,
"description": "Whether the call objective was achieved or not."
},
{
"name": "summary",
"type": "string",
"value": "Connected to the customer, obtained name of the person responsible for IT.",
"description": "Call summary in a few words."
}
],
"webhook_response": {
"crm_updated": true,
"lead_score": 75
},
"carrier_cost": "0.08000000",
"total_cost": "0.12000000",
"answered_by": "human",
"recording_url": "https://recordings.famulor.de/call-123456.mp3",
"created_at": "2024-01-15T10:30:00Z",
"updated_at": "2024-01-15T10:33:00Z"
},
{
"id": 123457,
"assistant_name": "Support Assistant",
"campaign_name": null,
"type": "inbound",
"duration": 120,
"assistant_phone_number": "+4912345678",
"client_phone_number": "+4917123456789",
"status": "ended_by_customer",
"transcript": [
{
"text": "Kunde: Hallo, ich habe eine Frage zu meinem Konto.",
"type": "transcript",
"sender": "human",
"timestamp": 1754055300.123456
},
{
"text": "Gerne helfe ich Ihnen dabei. Was kann ich für Sie tun?",
"type": "transcript",
"sender": "bot",
"timestamp": 1754055302.789012
}
],
"variables": {
"issue_resolved": true,
"satisfaction_rating": 9
},
"evaluation": [
{
"name": "issue_resolved",
"type": "bool",
"value": true,
"description": "Whether the customer's issue was resolved."
},
{
"name": "satisfaction_rating",
"type": "integer",
"value": 9,
"description": "Customer satisfaction rating from 1-10."
}
],
"webhook_response": null,
"carrier_cost": "0.05000000",
"total_cost": "0.08000000",
"answered_by": "human",
"recording_url": null,
"created_at": "2024-01-15T14:20:00Z",
"updated_at": "2024-01-15T14:22:00Z"
}
],
"current_page": 1,
"first_page_url": "https://app.famulor.de/api/user/calls?page=1",
"from": 1,
"last_page": 4,
"last_page_url": "https://app.famulor.de/api/user/calls?page=4",
"links": [
{
"url": null,
"label": "« Previous",
"active": false
},
{
"url": "https://app.famulor.de/api/user/calls?page=1",
"label": "1",
"active": true
}
],
"next_page_url": "https://app.famulor.de/api/user/calls?page=2",
"path": "https://app.famulor.de/api/user/calls",
"per_page": 15,
"prev_page_url": null,
"to": 15,
"total": 52
}
Pages associées : Introduction, Guide d’authentification et Exemples d’intégration API.