API CTI – TecArt-CRM Developer-Wiki

API CTI

Aus TecArt-CRM Developer-Wiki

Wechseln zu: Navigation, Suche

Inhaltsverzeichnis

Hinweis

Diese API Klasse und deren Funktionen können mit dem CRM-System ab Version 3.4 genutzt werden.

Methoden

addCall

Syntax:

 int addCall( array $call ) 

Beschreibung:

Fügt einen Anruf hinzu und erzeugt ein Event zum automatischen Öffnen eines Anruf-Fensters.

Voraussetzung zum Öffnen des Anruf-Fensters ist ein aktivierter CTI-Service unter Administration->Telefon/CTI->CTI Service

Gibt eine call_id zurück und wirft eine CRMException im Fehlerfall.

$call ist ein assoziatives Array

Eigenschaften von $call:

Type(Length)            Eigenschaft                  Beschreibung
---------------------------------------------------------------------------------------------
string(255)             $cid                      Contact-Id (Format: Contact-Id:Person-Id;Contact-Id2:Person-Id2;...) 
string(255)             $name                     Contact-Name 
int                     $time                     Anruf-Zeit (Unix-Timestamp)
string(255)             $subject                  Betreff des Anrufs
binary                  $body                     Nachricht des Anrufs
string(255)             $userid                   Userids (Format: User-Id1:User-Id2), -1 for NO userid
int                     $pid                      Projekt-Id 
int                     $duration                 Anrufdauer in Sekunden
int                     $done                     0 für "Anruf erledigt", 1 für "Anruf nicht erledigt"  
int                     $io                       0 für eingehenden Anruf, 1 für ausgehenden Anruf 
string(128)             $lnumber                  Lokale Telefonnummer (Angerufener)
string(128)             $rnumber                  Entfernte Telefonnummer (Anrufer)
string(128)             $city                     Ort des Anrufers
double                  $costs                    Anrufkosten in der gegebenen Währung( $currency )
string(3)               $currency                 Währung der Anrufkosten
string(255)             $category                 Kategorien, Format: Category1; Category2; ... 
double                  $obligingness             Die Kulanz für den Anruf
int                     $rem                      Wiedervorlage (1: wenn an den Anruf erinnert werden soll, 0 wenn nicht)
int                     $remtime                  Unix-Timestamp für die Wiedervorlage
int                     $private                  Privater Anruf (1: wenn der Anruf privat sein soll, 0: wenn öffentlich) 

array                   $call_contacts            Array mit contact values

Eigenschaften von $call_contacts:

Type(Length)            Eigenschaft                  Beschreibung
---------------------------------------------------------------------------------------------
string(255)             $cid                      Contact Id ( Format: Cid:Pid )
string(128)             $firstname                Vorname 
string(128)             $lastname                 Nachname
string(128)             $displayname              Name, der in Listen erscheint 
string(128)             $nickname                 Spitzname
string(255)             $emailadr1                Erste E-Mail-Addresse
string(255)             $emailadr2                Zweite E-Mail-Addresse 
int                     $email_format             Bevorzugtes E-Mail-Format 
                                                  0 = Text
                                                  1 = HTML
string(128)             $screen_name              Screen Name, z.B. Messenger-Account 
string(128)             $phone_work               Telefonnummer Arbeit 
string(128)             $phone_home               Telefonnummer Privat 
string(128)             $phone_fax                Faxnummer Arbeit
string(128)             $phone_pager              Pager Nummer 
string(128)             $phone_mobil              Mobilnummer
string(128)             $home_address1            Adresszeile privat 1 
string(128)             $home_address2            Adresszeile privat 2 
string(128)             $home_city                Stadt
string(128)             $home_region              Region 
string(128)             $home_postcode            Postleitzahl 
string(128)             $home_country             Land 
string(128)             $home_website             Persönliche Website 
string(128)             $work_title               Titel auf Arbeit, z.B. CEO 
string(128)             $work_department          Abteilung
string(128)             $work_organisation        Organisations- oder Firmenname  
string(128)             $work_address1            Adresszeile Arbeit 1 
string(128)             $work_address2            Adresszeile Arbeit 2 
string(128)             $work_city                Stadt
string(128)             $work_region              Region 
string(128)             $work_postcode            Postleitzahl 
string(128)             $work_country             Land 
string(255)             $work_website             Offizielle Firmen-Website 
string(255)             $custom1                  Benutzerdefiniertes Feld 1 
string(255)             $custom2                  Benutzerdefiniertes Feld 2 
string(255)             $custom3                  Benutzerdefiniertes Feld 3 
string(255)             $custom4                  Benutzerdefiniertes Feld 4 
string(65535)           $notes                    Notizen

Beispiel

<?php
 
try {
    $call = array(  'cid'           => 0,
                    'time'          => time(),
                    'name'          => "",
                    'subject'       => "Ausgehender Anruf",
                    'body'          => "Test body",
                    'pid'           => "",
                    'lnumber'       => "036155656",
                    'rnumber'       => "766333134",
                    'city'          => "Erfurt",
                    'costs'         => 12.77,
                    'currency'      => "Euro",
                    'category'      => "",
                    'io'            => 1,
                    'call_contacts' => array( array('firstname' => 'Thomas',
                                                    'lastname'  => 'Fischer')));
 
    $call_id    = crmapi::cti()->addCall($call);
}
catch (CRMException $e) {
    echo $e->getMessage();
}
 
echo $call_id;
 
?>

endCall

Syntax:

 int endCall( int $call_id ) 

Beschreibung:

Beendet einen Anruf und setzt die Anrufdauer.

Gibt die übergebene call_id zurück und wirft eine CRMException im Fehlerfall.

Beispiel

<?php
try {
    $call_id = crmapi::cti()->endCall($call_id);
}
catch (CRMException $e) {
    echo $e->getMessage();
}
 
echo $call_id;
 
?>

getPhoneList

Syntax:

 array getPhoneList() 

Beschreibung:

Gibt eine Liste aller eingerichteten Telefone mit Zugangsdaten und Nebenstellen zurück.

Eigenschaften des zurückgegebenen Arrays:

Type(Length)            Eigenschaft                  Beschreibung
---------------------------------------------------------------------------------------------
int                     userid                    Id des CRM-Benutzers
string(255)             user                      Benutzername des Nutzers an der Telefonanlage
string(255)             pass                      Passwort des Nutzers an der Telefonanlage
string(255)             phone                     Telefon-ID
string(255)             extension                 Nebenstelle(n) kommagetrennt
string(255)             scheme                    URL-Schema (http oder https)
string(255)             shost                     URL-Host                
string(255)             path                      URL-Path                    
string(255)             host                      URL der Telefonanlage

Beispiel

<?php
try {
    $phones = crmapi::cti()->getPhoneList();
}
catch (CRMException $e) {
    echo $e->getMessage();
}
 
foreach ($phones as $phone) {
    echo $phone['userid'].' -> '.$phone['phone'].'<br/>';
}
 
?>