AI Integration into Cloud PBX (Mango Office, Zadarma, Sipuni) Russian cloud PBXs (Mango Office, Zadarma, UIS, Sipuni) provide APIs for retrieving call recordings and managing routing. AI integration adds auto-transcription, sentiment analysis, and smart routing. ### Integration Architectures Post-call analysis is the simplest option:
Завершённый звонок → Webhook → Скачиваем запись → STT → NLP → CRM
```**Real-time via SIP trunk** – for advanced scenarios:```
Звонок → АТС SIP-транк → Media Gateway → AI Server
```### Mango Office API Integration```python
import requests
import hashlib
import json
MANGO_API_KEY = "your_api_key"
MANGO_API_SALT = "your_salt"
def sign_request(json_string: str) -> str:
return hashlib.sha256(
f"{MANGO_API_KEY}{json_string}{MANGO_API_SALT}".encode()
).hexdigest()
def get_call_recording(call_id: str) -> bytes:
"""Получаем запись завершённого звонка"""
payload = json.dumps({
"recording_id": call_id,
"action": "download"
})
response = requests.post(
"https://app.mango-office.ru/vpbx/queries/recording/post_load",
data={
"vpbx_api_key": MANGO_API_KEY,
"sign": sign_request(payload),
"json": payload
}
)
return response.content
async def process_completed_call(call_data: dict):
"""Webhook обработчик завершённого звонка"""
call_id = call_data["recording"]["id"]
recording = get_call_recording(call_id)
# STT
transcript = await transcribe_audio(recording)
# Анализ
analysis = await analyze_call(transcript)
# Обновляем CRM
await crm.update_call(
call_id=call_data["entry_id"],
transcript=transcript,
sentiment=analysis["sentiment"],
topics=analysis["topics"],
summary=analysis["summary"]
)
```### Zadarma API```python
import hmac
import hashlib
def get_zadarma_recording(call_id: str) -> str:
"""Получаем ссылку на запись"""
params = {"call_id": call_id}
sign_string = "&".join(f"{k}={v}" for k, v in sorted(params.items()))
signature = hmac.new(
ZADARMA_SECRET.encode(), sign_string.encode(), hashlib.sha1
).hexdigest()
response = requests.get(
"https://api.zadarma.com/v1/pbx/record/download/",
params={**params, "format": "mp3"},
headers={"Authorization": f"{ZADARMA_KEY}:{signature}"}
)
return response.json().get("link")
```### Smart routing via API```python
# Sipuni: изменяем правило маршрутизации на основе AI-предикции
def set_routing_rule(caller_phone: str, target_queue: str):
requests.post(
f"https://sipuni.com/api/routing/set",
json={"phone": caller_phone, "target": target_queue},
auth=(SIPUNI_USER, SIPUNI_SECRET)
)
```Timeframe: Post-call analysis – 1–2 weeks. Real-time integration via SIP – 1.5–2 months.







