- Added comprehensive AI Assistant system (aiassist/ directory): * Vector search and embedding capabilities * Typebot proxy integration * Elastic search functionality * Message classification and chat history * MCP proxy for external integrations - Implemented Court Status API (GetCourtStatus.php): * Real-time court document status checking * Integration with external court systems * Comprehensive error handling and logging - Enhanced S3 integration: * Improved file backup system with metadata * Batch processing capabilities * Enhanced error logging and recovery * Copy operations with URL fixing - Added Telegram contact creation API - Improved error logging across all modules - Enhanced callback system for AI responses - Extensive backup file storage with timestamps - Updated documentation and README files - File storage improvements: * Thousands of backup files with proper metadata * Fix operations for broken file references * Project-specific backup and recovery systems * Comprehensive file integrity checking Total: 26,461+ files added/modified including AWS SDK, vendor dependencies, and extensive backup system.
47 lines
1.6 KiB
PHP
47 lines
1.6 KiB
PHP
<?php
|
|
namespace SPVoipIntegration\apiManagers;
|
|
|
|
use SPVoipIntegration\integration\AbstractCallApiManager;
|
|
use SPVoipIntegration\api\ZadarmaClient;
|
|
|
|
class ZadarmaApiManager extends AbstractCallApiManager {
|
|
|
|
private $callUrl = '/v1/request/callback/';
|
|
private $recordUrl = '/v1/pbx/record/request/';
|
|
public function doOutgoingCall($number) {
|
|
|
|
$currentUser = \Users_Record_Model::getCurrentUserModel();
|
|
$params = array(
|
|
'from' => $currentUser->get('sp_zadarma_extension'),
|
|
'to' => $number,
|
|
'sip' => $currentUser->get('sp_zadarma_extension')
|
|
);
|
|
$zd = new ZadarmaClient(
|
|
\Settings_SPVoipIntegration_Record_Model::getZadarmaKey(),
|
|
\Settings_SPVoipIntegration_Record_Model::getZadarmaSecret()
|
|
);
|
|
$answer = $zd->call($this->callUrl, $params);
|
|
$answerObject = json_decode($answer);
|
|
if ($answerObject->status != 'success') {
|
|
throw new \Exception($answerObject->message);
|
|
}
|
|
}
|
|
|
|
public function getRecordLink($callId) {
|
|
$params = array(
|
|
'call_id' => $callId
|
|
);
|
|
$zd = new ZadarmaClient(
|
|
\Settings_SPVoipIntegration_Record_Model::getZadarmaKey(),
|
|
\Settings_SPVoipIntegration_Record_Model::getZadarmaSecret()
|
|
);
|
|
$answer = $zd->call($this->recordUrl, $params);
|
|
|
|
$answerObject = json_decode($answer);
|
|
if ($answerObject->status != 'success') {
|
|
throw new \Exception($answerObject->message);
|
|
}
|
|
return $answerObject->link;
|
|
}
|
|
|
|
} |