Développez avec l’API Perbene
API REST pour gérer les contacts, les demandes de service, les techniciens, la planification, les appels, les messages, les prospects et votre base de connaissances, depuis des agents externes, des intégrations ou vos propres automatisations.
01 / Authentication
Démarrez en 3 étapes
Obtenir une clé API- 01
Émettez une clé API
Allez dans Paramètres du profil → Clés API et cliquez sur Générer une clé. Copiez-la immédiatement. Elle n’est affichée qu’à la création.
- 02
Définissez la variable d’environnement
export PERBENE_API_KEY=pbn_live_… - 03
Appelez l’API
Envoyez
X-API-Keyà chaque requête vershttps://api.perbene.ai. Votre clé est liée à votre organisation.
02 / First request
curl
Listez les contacts de votre espace.
curl https://api.perbene.ai/api/contacts \
-H "X-API-Key: pbn_live_xxxxxxxxxxxx"Python
Un client prêt à l’emploi utilisant httpx.
import os
import httpx
PERBENE_API_KEY = os.environ["PERBENE_API_KEY"]
BASE_URL = "https://api.perbene.ai"
client = httpx.Client(
base_url=BASE_URL,
headers={"X-API-Key": PERBENE_API_KEY, "User-Agent": "perbene/1.0"},
timeout=30.0,
)
# List your contacts
contacts = client.get("/api/contacts").json()
# Create a service request
client.post("/api/service-requests", json={
"address": "123 Main St",
"category": "plumbing",
"description": "Leaking sink",
"priority": "MEDIUM",
})
# Make an outbound call to a known contact
client.post("/api/campaigns/entity-call", json={
"contact_id": contacts["items"][0]["id"],
"agent_prompt": "Hi, calling to confirm tomorrow's 2pm appointment.",
})03 / Surface area
Points de terminaison
Les points de terminaison les plus utiles pour les agents et les intégrations. Pour les schémas complets de requête/réponse, consultez la spécification OpenAPI en direct.
Contacts
- GET
/api/contactsLister avec recherche et pagination - GET
/api/contacts/searchRecherche légère - POST
/api/contactsCréer un contact - PUT
/api/contacts/{id}Mettre à jour
Prospects
- GET
/api/leadsLister les prospects qualifiés - POST
/api/leadsCréer un prospect - PUT
/api/leads/{id}Mettre à jour
Demandes de service
- GET
/api/service-requestsLister les travaux / bons de commande - POST
/api/service-requestsEn créer une - PUT
/api/service-requests/{id}Mettre à jour le statut, les notes - POST
/api/service-requests/{id}/quoteJoindre un devis - POST
/api/service-requests/{id}/emergencyEscalader en urgent - GET
/api/quotes/pendingListe des devis en attente - GET
/api/emergencies/activeDemandes urgentes actives
Offres de service & prestataires
- GET
/api/service-listingsCatalogue des services proposés - POST
/api/service-listingsAjouter une offre - GET
/api/service-providersPrestataires externes - POST
/api/service-providersAjouter un prestataire
Techniciens & répartition
- GET
/api/techniciansLister les techniciens - POST
/api/techniciansAjouter un technicien - GET
/api/technicians/on-call/currentQui est de garde maintenant - GET
/api/technicians/on-call/scheduleRotation des gardes - POST
/api/technicians/dispatchAffecter un technicien à un travail - GET
/api/technicians/dispatch/activeAffectations actives - PUT
/api/technicians/dispatch/{id}Mettre à jour le statut / l’heure d’arrivée
Planification (rendez-vous)
- GET
/api/scheduling/typesLister les types de rendez-vous - POST
/api/scheduling/check-availabilityTrouver des créneaux disponibles - POST
/api/scheduling/bookRéserver un créneau pour un contact - POST
/api/scheduling/manageReprogrammer ou annuler - GET
/api/scheduling/appointmentsLister les réservations
Campagnes sortantes
- POST
/api/campaigns/quick-callAppel ponctuel vers un numéro de téléphone - POST
/api/campaigns/entity-callAppel ponctuel vers un contact / prospect connu - POST
/api/campaignsCréer une campagne multi-contacts - POST
/api/campaigns/{id}/contacts/uploadImport CSV - POST
/api/campaigns/{id}/startLancer / reprendre - POST
/api/campaigns/{id}/pauseMettre en pause - GET
/api/campaigns/{id}/contactsStatut & dispositions par contact
Appels, messages, conversations
- GET
/api/callsLister les enregistrements d’appels - GET
/api/calls/{id}Détail avec transcription - GET
/api/calls/{id}/recordingURL de l’enregistrement - GET
/api/messagesMessages SMS - GET
/api/conversationsFils multicanaux - POST
/api/conversations/{id}/messagesAjouter un message
Base de connaissances & RAG
- GET
/api/knowledge-base/sourcesLister les sources - POST
/api/knowledge-base/sourcesAjouter une source (URL ou texte) - POST
/api/knowledge-base/sources/uploadTéléverser un fichier - POST
/api/knowledge-base/searchRecherche RAG utilisée par l’agent
Alertes urgentes, dispositions, DNC
- GET
/api/urgent-alertsLister les alertes urgentes - POST
/api/urgent-alertsEn créer une - GET
/api/dispositionsCatégories de résultats d’appel - GET
/api/dncListe de numéros à ne pas appeler - GET
/api/dnc/check/{phone}Vérifier un numéro - POST
/api/dnc/bulkImport en masse
Statistiques & activité
- GET
/api/statistics/dashboardCompteurs principaux - GET
/api/statistics/metrics/time-seriesMétriques dans le temps - GET
/api/statistics/service-requests/by-statusHistogramme des statuts - GET
/api/activitiesActivité récente de l’agent
04 / Resilience
Erreurs & modèles
401Clé manquante, révoquée ou expirée. Réémettez-la depuis le tableau de bord.
403Le point de terminaison requiert un rôle supérieur. Vous ne devriez pas voir cela avec une clé API normale.
404La ressource n’existe pas ou appartient à un autre espace.
422Échec de la validation. Le corps contient la raison au niveau du champ.
429Débit limité. Patientez et réessayez.
5xxTransitoire. Réessayez avec un délai exponentiel.
Pagination. Les points de terminaison de liste acceptent ?page=1&page_size=50 et renvoient { items: [...], total: N }.
Recherche. Là où c’est pris en charge, ?search=… effectue une correspondance insensible à la casse.
Identifiants. Les ressources utilisent des UUID. Traitez-les comme des chaînes opaques.
Isolation des espaces. Votre clé est liée à une seule organisation ; l’en-tête X-Organization-Id est ignoré.
Prêt à développer ?
Émettez une clé depuis votre tableau de bord et commencez à envoyer des requêtes en quelques minutes.
Obtenir une clé API