user_id;first_name;last_name;phone_number;activation_code 0;;;74951234567;101102
require(Modules.CallList); // CallList require(Modules.AI); var call, first_name, last_name, phone_number, activation_code, playbackCounter = 0; // VoxEngine.addEventListener(AppEvents.Started, function (e) { var data = VoxEngine.customData(); // <-- CSV JSON- data = JSON.parse(data); user_id = data.user_id; first_name = data.first_name; last_name = data.last_name; phone_number = data.phone_number; activation_code = data.activation_code; Logger.write(" " + first_name + " " + last_name + " " + phone_number); // call = VoxEngine.callPSTN(phone_number, "+1234567890"); // <-- callerid, CallerIDs Voximplant // call.addEventListener(CallEvents.AudioStarted, function(){AI.detectVoicemail(call)}); // call.addEventListener(CallEvents.Connected, handleCallConnected); call.addEventListener(CallEvents.Failed, handleCallFailed); call.addEventListener(CallEvents.Disconnected, handleCallDisconnected); call.addEventListener(AI.Events.VoicemailDetected, voicemailDetected); }); function voicemailDetected(e) { // ? if (e.confidence >= 75) { VoxEngine.CallList.reportError("Voicemail", VoxEngine.terminate); return; } } // function handleCallConnected(e) { connected = true; setTimeout(function () { e.call.say(", " + first_name + "! : " + activation_code, Language.RU_RUSSIAN_FEMALE); }, 500); e.call.addEventListener(CallEvents.PlaybackFinished, handlePlaybackFinished); } // function handlePlaybackFinished(e) { e.call.removeEventListener(CallEvents.PlaybackFinished, handlePlaybackFinished); playbackCounter++; // if (playbackCounter == 4) { e.call.hangup(); } else { // setTimeout(function () { e.call.say(" : " + activation_code, Language.RU_RUSSIAN_FEMALE); e.call.addEventListener(CallEvents.PlaybackFinished, handlePlaybackFinished); }, 2000); } } function handleCallFailed(e) { // , // // , , result_data // CSV- result, msg, code JSON- CallList.reportError({ result: false, msg: "Failed", code: e.code }, VoxEngine.terminate); } function handleCallDisconnected(e) { // , , // result duration result_data // CSV- JSON- CallList.reportResult({ result: true, duration: e.duration }, VoxEngine.terminate); }
<?php define("API_URL", "https://api.voximplant.com/platform_api/"); define("API_KEY", " api key"); define("ACCOUNT_NAME", " account name"); define("RULE_ID", id-); function httpRequest($url,$params) { $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE); if (isset($params["post"])) curl_setopt($ch, CURLOPT_POST, 1); if (isset($params["post_data"])) curl_setopt($ch, CURLOPT_POSTFIELDS, $params["post_data"]); curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: text/csv')); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); $server_output = curl_exec ($ch); curl_close ($ch); return $server_output; } function createCallList($file) { $url = API_URL . "CreateCallList/?" . "account_name=" . ACCOUNT_NAME . "&api_key=" . API_KEY . "&rule_id=" . RULE_ID . "&max_simultaneous=10" . "&num_attempts=2" . "&interval_seconds=60" . "&priority=1" . "&name=CallList"; $data = file_get_contents($file); $params = array('post' => true, 'post_data' => $data); $result = httpRequest($url, $params); echo $result; } function getCallListDetails($list_id, $output = "json") { $url = API_URL . "GetCallListDetails/?" . "account_name=" . ACCOUNT_NAME . "&api_key=" . API_KEY . "&list_id=" . $list_id . "&output=" . $output; $params = array(); $result = httpRequest($url, $params); echo $result; } createCallList(URL-CSV-); //getCallListDetails($list_id, "csv"); ?>
"activation_code";"user_id";"last_name";"phone_number";"first_name";"__end_execution_time";"__start_execution_time";"result_data";"last_attempt";"attmepts_left";"status_id";status 101102;0;;74951234567;;;;"{""result"":true,""duration"":27}";"2014-11-24 19:21:39";1;2;Processed
function handleCallConnected(e) { connected = true; e.call.handleTones(true); // <-- setTimeout(function () { e.call.say(", " + first_name + "! , "+ ", .", Language.RU_RUSSIAN_FEMALE); }, 500); e.call.addEventListener(CallEvents.PlaybackFinished, handlePlaybackFinished); e.call.addEventListener(CallEvents.ToneReceived, handleToneReceived); } var rating; function handleToneReceived(e) { e.call.removeEventListener(CallEvents.PlaybackFinished, handlePlaybackFinished); e.call.stopPlayback(); rating = e.tone; e.call.say(" !", Language.RU_RUSSIAN_FEMALE); e.call.addEventListener(CallEvents.PlaybackFinished, function(e) { e.call.hangup(); }); } function handleCallDisconnected(e) { CallList.reportResult({ result: true, duration: e.duration, rating: rating, }, VoxEngine.terminate); } // function handlePlaybackFinished(e) { e.call.removeEventListener(CallEvents.PlaybackFinished, handlePlaybackFinished); playbackCounter++; // if (playbackCounter == 4) { e.call.hangup(); } else { // setTimeout(function () { e.call.say(", .", Language.RU_RUSSIAN_FEMALE); e.call.addEventListener(CallEvents.PlaybackFinished, handlePlaybackFinished); }, 2000); } }
"user_id";"last_name";"phone_number";"first_name";"__end_execution_time";"__start_execution_time";"result_data";"last_attempt";"attmepts_left";"status_id";status 0;;74951234567;;;;"{""result"":true,""duration"":27,""rating"":""3""}";"2014-11-24 20:17:13";1;2;Processed
Source: https://habr.com/ru/post/243809/
All Articles