CTI Funktion (REST API) mit Beispiel

Über die CTI Funktion der Deals & Projects API kann jede andere Telefonanlage integriert werden. Eine Integration mit sipgate ist bereits standardmäßig vorhanden.

Mehr Informationen und wie Sie die sipgate-Integration einrichten finden Sie unter Wie aktiviere ich die sipgate Telefonie-Integration

Die Aufrufe für die API lauten wie folgt: 

  • NewCall > Ruft in der API die Erkennung der Nummer in der Datenbank auf
  • CallAnswered > Signalisiert der API, dass der Anruf angenommen wurde. Damit wird auch das Historienfenster unten rechts getriggert.
  • CallHangup > Setzt den Zeitstempel für die Zeiterfassung.

Beispiel: api.julitec.com/v1/CTI/NewCall

 

Beispiel PHP-Aufruf

private string _callId;

public class NewCallDTO
{
public string CallId { get; set; }
public string Number { get; set; }
public string UserId { get; set; }
public string UserName { get; set; }
}

private RestClient ConnectToCRM()
{
if (string.IsNullOrEmpty(Properties.Settings.Default.UserName))
return null;
var client = new RestClient(textBoxUrl.Text);
client.Authenticator = new HttpBasicAuthenticator(Properties.Settings.Default.UserName, Properties.Settings.Default.APIKey);
return client;
}

private void buttonNewCall_Click(object sender, EventArgs e)
{
var number = "+491791141900";
var client = ConnectToCRM();
if (client == null)
return;
_callId = Guid.NewGuid().ToString();
var data = new NewCallDTO
{
CallId = _callId,
Number = number
};
var request = new RestRequest("v1/CTI/NewCall", Method.POST);
request.RequestFormat = DataFormat.Json;
request.AddBody(data);
var response = client.Execute(request);
Text = response.Content;
}

private void buttonAnswer_Click_1(object sender, EventArgs e)
{
var number = "+491791141900";
var client = ConnectToCRM();
if (client == null)
return;
var data = new NewCallDTO
{
CallId = _callId,
Number = number
};
var request = new RestRequest("v1/CTI/CallAnswered", Method.POST);
request.RequestFormat = DataFormat.Json;
request.AddBody(data);
var response = client.Execute(request);
Text = "Answered " + response.Content;
}

private void buttonHangup_Click(object sender, EventArgs e)
{
var number = "+491791141900";
var client = ConnectToCRM();
if (client == null)
return;
var data = new NewCallDTO
{
CallId = _callId,
Number = number
};
var request = new RestRequest("v1/CTI/CallHangup", Method.POST);
request.RequestFormat = DataFormat.Json;
request.AddBody(data);
var response = client.Execute(request);
Text = "Hangup " + response.Content;
}