Famulor SDKPour les backends TypeScript et JavaScript

Famulor dans votre code.
Typé, champ par champ.

Listez les assistants, lancez des appels et lisez les résultats en quelques lignes de TypeScript. Chaque opération d’API est une méthode, avec autocomplétion.

npm install famulor-sdk
  • Types issus de l’OpenAPI
  • ESM et CommonJS
  • Zéro dépendance
server.ts
$ npm install famulor-sdk
added 1 package in 1s

// server.ts
import { Famulor } from 'famulor-sdk'

const client = new Famulor({
  apiKey: process.env.FAMULOR_API_KEY,
})

const { data: call } = await client.calls.create({
  assistant_id: '3e8b1f6a-9c2d-4a7e-b1f5-6d7c8e9a0b55',
  to_number: '+4930123456',
})

console.log(call.id, call.status)

$ node server.ts
c7d21e4a-5b3f-4e8a-a1c9-2f6e0b7d9a13 queued
Méthodes

Des méthodes courtes au quotidien. client.api pour tout le reste.

Sept groupes couvrent les tâches courantes. Chaque opération publique de l’API est aussi une méthode typée.

client.calls
Méthodeslist()create()get()recording()iterate()
const { data: call } = await client.calls.create({
assistant_id: assistant.id,
to_number: '+4930123456',
})
​
const { data: result } = await client.calls.get(call.id)
console.log(result.status, result.summary)
Pagination

Tout votre historique d’appels. Une seule boucle.

L’itérateur charge la page suivante seulement quand vous en avez besoin. Un break arrête le chargement.

sync-calls.ts
for await (const call of client.calls.iterate({
status: 'completed',
limit: 50,
})) {
await saveToCrm(call)
if (isDone(call)) break
}
Relances sûres

Les lectures sont relancées. Les appels, jamais deux fois.

Sur 429, 502, 503 ou 504, le SDK relance les lectures. Les écritures, comme lancer un appel, ne sont jamais répétées automatiquement.

Lecture

  1. GET /calls
  2. 503
  3. Retry-Afterrelancée
  4. 200 OK

Écriture

  1. POST /calls
  2. timeout
  3. retrypas de second essai
  4. mayHaveExecutedVérifiez l’état avant de renvoyer.

Erreurs typées

  • FamulorApiError

    Réponse de l’API avec status, code et requestId.

  • FamulorTimeoutError

    Délai dépassé. mayHaveExecuted indique si elle a pu s’exécuter.

  • FamulorNetworkError

    Aucune réponse reçue, aussi avec mayHaveExecuted.

  • FamulorAbortError

    Votre AbortSignal a annulé la requête.

Conçu pour la production

Prévisible dans tout environnement.

Des identifiants explicites, un délai fixe par requête et aucun état global.

Vous passez la clé

Le SDK ne charge aucun fichier .env et ne choisit aucun espace pour vous. Chaque client connaît sa seule clé.

Un client par espace

Une clé API appartient à un espace de travail. Pour plusieurs espaces, créez plusieurs clients.

Aussi sur votre domaine

Les partenaires white-label pointent baseUrl vers leur domaine HTTPS avec /api/v1.

OAuth pour les apps

À la place d’une clé, passez un jeton OAuth ou une fonction qui renvoie le jeton actuel.

Un délai par requête

timeoutMs couvre le jeton, les relances et la réponse. Annulez à tout moment avec un AbortSignal.

Fichiers et audio

Les envois partent en FormData. Enregistrements et aperçus de voix reviennent en ArrayBuffer.

client.ts
const client = new Famulor({
apiKey: process.env.FAMULOR_API_KEY,
baseUrl: 'https://app.famulor.io/api/v1',
timeoutMs: 90_000,
maxRetries: 2,
})
​
const controller = new AbortController()
​
await client.calls.list(
{ status: 'completed', limit: 10 },
{ signal: controller.signal, timeoutMs: 10_000 },
)
SDK, CLI, MCP ou API

Quatre accès à Famulor. Choisissez le bon.

Les quatre travaillent sur le même espace de travail et les mêmes données.

Une opération, partout la même

SDKclient.calls.create()
RESTPOST /api/v1/calls
CLIfamulor create-call
Cette page

Famulor SDK

Pour TypeScript et JavaScript dans votre backend.

  • Chaque opération en méthode
  • Types issus de l’OpenAPI
  • ESM et CommonJS
Lire la doc

Famulor CLI

Pour le terminal, les scripts, la CI et les agents de code.

  • Une commande par opération
  • JSON, tableau ou JSONL
  • Clé dans le trousseau système
Voir Famulor CLI

MCP Connector

Pour Claude, ChatGPT et d’autres outils d’IA dans le chat.

  • Une URL de serveur, connexion OAuth
  • Les outils Famulor dans le chat
  • Rien à installer en local
Voir MCP Connector

REST API

Pour les intégrations HTTP dans tout langage.

  • Spécification OpenAPI
  • Webhooks en temps réel
  • Tout langage, tout framework
Référence API
En un coup d’œil

Petit paquet. API complète.

Couverture de l’API

100%

Chaque opération publique via client.api.

Dépendances

0

Utilise le fetch de votre runtime Node.js.

Formats de module

2

ESM et CommonJS, typés tous les deux.

Groupes de ressources

7

Assistants, appels, campagnes et plus.

Pour commencer

Votre premier appel en trois étapes.

Installer, créer une clé, c’est parti.

  1. 01

    Installer

    npm install famulor-sdk. Fonctionne avec Node.js 22 ou plus, en ESM ou CommonJS.

  2. 02

    Créer une clé

    Créez une clé dans Settings → API & MCP et stockez-la dans l’environnement ou le coffre de secrets de votre serveur.

  3. 03

    C’est parti

    new Famulor({ apiKey }), puis client.assistants.list(). Votre éditeur affiche chaque champ.

FAQ

Questions avant le go-live

Qu’est-ce que le Famulor SDK ?

Le Famulor SDK est le client officiel TypeScript et JavaScript de l’API publique Famulor. Il apporte des méthodes courtes pour les assistants, appels, campagnes, contacts, voix, bases de connaissances et votre compte. client.api donne accès à toute autre opération, avec les types de la spécification OpenAPI.

De quoi ai-je besoin pour utiliser le SDK ?

Node.js 22 ou plus et un espace de travail avec API Access via votre offre ou un add-on. L’installation se fait avec npm install famulor-sdk. Créez la clé API dans le tableau de bord sous Settings → API & MCP.

Puis-je utiliser le SDK dans un navigateur ou une app ?

Le SDK s’exécute sur votre serveur pour que votre clé API reste secrète. Pour des conversations sur votre site, utilisez le widget web.

Un appel peut-il partir deux fois si la connexion tombe ?

Pas via le SDK. Il ne relance jamais une écriture automatiquement, même après une limite de débit. Après un timeout, mayHaveExecuted indique si la requête a pu arriver. Vérifiez l’état avant de la renvoyer.

Est-ce compatible avec JavaScript sans TypeScript ?

Oui. Le paquet fournit ESM et CommonJS : utilisez import ou require('famulor-sdk'). Les projets TypeScript reçoivent les types automatiquement.

Est-ce compatible avec plusieurs espaces et le white-label ?

Oui. Une clé API appartient à un seul espace de travail : créez un client par espace. Sur votre propre domaine, définissez baseUrl, par exemple https://app.example.com/api/v1.

Le SDK prend-il en charge OAuth ?

Oui. À la place d’apiKey, passez accessToken : un jeton ou une fonction qui renvoie le jeton actuel. Votre app gère le consentement et le renouvellement.

Quand utiliser le SDK, la CLI ou le MCP Connector ?

Le SDK s’intègre à votre backend. La CLI sert au terminal, aux scripts, à la CI et aux agents de code. Le MCP Connector amène Famulor dans des outils de chat comme Claude ou ChatGPT. Les trois utilisent la même API et le même espace.

Commencer

Votre premier appel, à quelques lignes.

Obtenez une clé API, installez famulor-sdk et commencez par client.assistants.list().

Le Famulor SDK est gratuit et sous licence MIT. Il nécessite Node.js 22 ou plus et une offre avec API Access.