Інтеграція AI у хмарну АТС (Mango Office, Zadarma, Sipuni) Російські хмарні АТС (Mango Office, Zadarma, UIS, Sipuni) надають API для отримання аудіозаписів дзвінків та управління маршрутизацією. AI-інтеграція додає автотранскрипцію, аналіз тональності та розумну маршрутизацію. ### Архітектури інтеграції Post-call аналіз — найпростіший варіант:```
Завершённый звонок → Webhook → Скачиваем запись → STT → NLP → CRM
**Real-time через SIP-транк** — для просунутих сценаріїв:
Звонок → АТС SIP-транк → Media Gateway → AI Server
### Mango Office API інтеграція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 APIpython
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")
### Розумна маршрутизація через APIpython
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) )







