Ü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 du die sipgate-Integration einrichtest findest du 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;
}