Passer un appel
curl --request POST \
--url https://app.famulor.de/api/user/make_call \
--header 'Content-Type: application/json' \
--data '
{
"phone_number": "<string>",
"assistant_id": 123,
"variables": {
"customer_name": "<string>",
"email": "<string>"
}
}
'import requests
url = "https://app.famulor.de/api/user/make_call"
payload = {
"phone_number": "<string>",
"assistant_id": 123,
"variables": {
"customer_name": "<string>",
"email": "<string>"
}
}
headers = {"Content-Type": "application/json"}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({
phone_number: '<string>',
assistant_id: 123,
variables: {customer_name: '<string>', email: '<string>'}
})
};
fetch('https://app.famulor.de/api/user/make_call', 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/make_call",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'phone_number' => '<string>',
'assistant_id' => 123,
'variables' => [
'customer_name' => '<string>',
'email' => '<string>'
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://app.famulor.de/api/user/make_call"
payload := strings.NewReader("{\n \"phone_number\": \"<string>\",\n \"assistant_id\": 123,\n \"variables\": {\n \"customer_name\": \"<string>\",\n \"email\": \"<string>\"\n }\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://app.famulor.de/api/user/make_call")
.header("Content-Type", "application/json")
.body("{\n \"phone_number\": \"<string>\",\n \"assistant_id\": 123,\n \"variables\": {\n \"customer_name\": \"<string>\",\n \"email\": \"<string>\"\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://app.famulor.de/api/user/make_call")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Content-Type"] = 'application/json'
request.body = "{\n \"phone_number\": \"<string>\",\n \"assistant_id\": 123,\n \"variables\": {\n \"customer_name\": \"<string>\",\n \"email\": \"<string>\"\n }\n}"
response = http.request(request)
puts response.read_body{
"message": "Call initiated successfully",
"call_id": 480337,
"status": "initiated"
}
{
"message": "Invalid phone number format. Please use E.164 format (e.g. +1234567890)"
}
{
"message": "Assistant not found or does not belong to the authenticated user"
}
{
"message": "Insufficient balance to make call. Please top up your account."
}
Appels
Passer un appel
Lance un appel téléphonique sortant avec un assistant IA Famulor spécifique via l’API. Transmettez les données du lead et déclenchez des conversations vocales automatisées de façon programmatique.
POST
/
api
/
user
/
make_call
Passer un appel
curl --request POST \
--url https://app.famulor.de/api/user/make_call \
--header 'Content-Type: application/json' \
--data '
{
"phone_number": "<string>",
"assistant_id": 123,
"variables": {
"customer_name": "<string>",
"email": "<string>"
}
}
'import requests
url = "https://app.famulor.de/api/user/make_call"
payload = {
"phone_number": "<string>",
"assistant_id": 123,
"variables": {
"customer_name": "<string>",
"email": "<string>"
}
}
headers = {"Content-Type": "application/json"}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({
phone_number: '<string>',
assistant_id: 123,
variables: {customer_name: '<string>', email: '<string>'}
})
};
fetch('https://app.famulor.de/api/user/make_call', 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/make_call",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'phone_number' => '<string>',
'assistant_id' => 123,
'variables' => [
'customer_name' => '<string>',
'email' => '<string>'
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://app.famulor.de/api/user/make_call"
payload := strings.NewReader("{\n \"phone_number\": \"<string>\",\n \"assistant_id\": 123,\n \"variables\": {\n \"customer_name\": \"<string>\",\n \"email\": \"<string>\"\n }\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://app.famulor.de/api/user/make_call")
.header("Content-Type", "application/json")
.body("{\n \"phone_number\": \"<string>\",\n \"assistant_id\": 123,\n \"variables\": {\n \"customer_name\": \"<string>\",\n \"email\": \"<string>\"\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://app.famulor.de/api/user/make_call")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Content-Type"] = 'application/json'
request.body = "{\n \"phone_number\": \"<string>\",\n \"assistant_id\": 123,\n \"variables\": {\n \"customer_name\": \"<string>\",\n \"email\": \"<string>\"\n }\n}"
response = http.request(request)
puts response.read_body{
"message": "Call initiated successfully",
"call_id": 480337,
"status": "initiated"
}
{
"message": "Invalid phone number format. Please use E.164 format (e.g. +1234567890)"
}
{
"message": "Assistant not found or does not belong to the authenticated user"
}
{
"message": "Insufficient balance to make call. Please top up your account."
}
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.Corps de la requête
string
requis
Le numéro de téléphone du client au format E.164 (par ex. +1234567890)
integer
requis
L’ID de l’assistant avec lequel passer l’appel
object
Réponse
string
Message de confirmation indiquant que l’appel a bien été lancé
integer
L’ID unique de l’appel créé
string
Le statut initial de l’appel (par ex. “initiated”)
{
"message": "Call initiated successfully",
"call_id": 480337,
"status": "initiated"
}
{
"message": "Invalid phone number format. Please use E.164 format (e.g. +1234567890)"
}
{
"message": "Assistant not found or does not belong to the authenticated user"
}
{
"message": "Insufficient balance to make call. Please top up your account."
}
Pages associées : Introduction, Guide d’authentification et Exemples d’intégration API.