API

Aus Mmdial Wiki
Wechseln zu:Navigation, Suche

mmDial bietet ein umfangreiches API zur Anbindung externer Software.

Viele Schnittstellen sind bislang undokumentiert. Sollten Sie eine weitere Schnittstelle benötigen, wenden Sie sich bitte an unseren Support! Die API befindet sich nocht im Alpha-Stadium. Die Dokumentation kann fehlerhaft sein, und Schnittstellen können sich jederzeit ändern!

Sie können auf einfache Weise auch externe CRM-Systeme direkt in das Agenteninterface einbinden. Verwenden Sie hierzu die "Kampagnen Module" zu finden unter Kampagnen -> Kampagne auswählen -> Kampagnen Module. Eine kleine Erklärung und ein Beispielscript finden Sie unter Eigenes Auftrasformular


Allgemeines

* Die mmDial API ist über http://login.mmdial.de/api/ zu erreichen.
* Die API benutzt die Standard HTTP Authentication.
* Als Benutzername wird ein Benutzer mit Adminrechten verwendet
* Es werden je nach Funktion HTTP GET und HTTP POST Argumente übergeben
* Rückmeldungen erfolgen in der Regel als json Objekt


Funktionen

searchvoicebyleadid

Sucht eine Voice-Aufnahme über die Lead-ID des Kunden.

Parameter

* leadid (GET) - die zu suchende Lead-ID

Rückgabe

json Objekt:

* status: ok|error
* msg: (nur bei error)
* voices: json Objekt:
 * recid: Aufnahme-ID
 * agentid: Agenten-ID
 * timestamp: Der Zeitstempel der Aufnahme
 * available: yes|no yes, wenn die Datei schon/noch abrufbar ist.
 * voiceid: Dateiinterne ID
 * url: Url um die Datei herunterzuladen.
 * length: Abspiellänge der Aufzeichnung
 * size: Größe der Aufzeichnung

searchvoicebyphonenumber

Sucht eine Voice-Aufnahme über die Telefonnummer des Kunden.

Parameter

* phone(GET) - die zu suchende Telefonnummer
* date (GET, optional) - Datum im Format YYYY-MM-DD
* timestamp (GET, optional) - Timestamp im Format YYYMMDDHHIISS

Rückgabe

json Objekt:

* status: ok|error
* msg: (nur bei error)
* voices: json Objekt:
 * recid: Aufnahme-ID
 * agentid: Agenten-ID
 * timestamp: Der Zeitstempel der Aufnahme
 * available: yes|no yes, wenn die Datei schon/noch abrufbar ist.
 * voiceid: Dateiinterne ID
 * url: Url um die Datei herunterzuladen.
 * length: Abspiellänge der Aufzeichnung
 * size: Größe der Aufzeichnung


searchvoicebyagent

Sucht eine Voice-Aufnahme über die Agenten-ID.

Parameter

* agentid(GET) - die zu Agenten-ID
* date (GET, optional) - Datum im Format YYYY-MM-DD
* timestamp (GET, optional) - Timestamp im Format YYYMMDDHHIISS

Rückgabe

json Objekt:

* status: ok|error
* msg: (nur bei error)
* voices: json Objekt:
 * recid: Aufnahme-ID
 * agentid: Agenten-ID
 * timestamp: Der Zeitstempel der Aufnahme
 * available: yes|no yes, wenn die Datei schon/noch abrufbar ist.
 * voiceid: Dateiinterne ID
 * url: Url um die Datei herunterzuladen.
 * length: Abspiellänge der Aufzeichnung
 * size: Größe der Aufzeichnung


getfieldsbycampaign

Gibt alle Auftragsformularfelder einer Kampagne zurück.

Parameter

* campaign_id (GET) - die Kampagnen-ID


Rückgabe

json Objekt:

* fields - json Objektliste:
 * name: Feldname

exportbystatus

Erstellt eine Exportdatei aus verschiedenen Kriterien als CSV.

Parameter

* campaign_id (GET) - die Kampagnen-ID
* status (GET Array, optional) - die zu Exportierenden Status
* datetype: (GET, optional) last_phone|last_edit|imported_date (GET Array, optional)
* fromdate: (GET, optional) Datum beginn: d.m.Y
* fromtime: (GET, optional) Uhrzeit beginn: H:i:s
* todate: (GET, optional) Datum ende: d.m.Y
* totime: (GET, optional) Uhrzeit ende: H:i:s
* selectedfields: (GET/POST) Feldauswahlliste getrennt durch , (Kommata) Prefix für Normale Felder: customerfield_, Prefix für Auftragsformularfelder: webformfield_
* encoding: (GET/POST, optional) Datei-Encoding (Standard: iso-8859-1) ISO-8859-1,Windows-1252,UTF-8


Rückgabe

json Objekt:

* status: ok|error
* file_id: Datei-ID
* size: Datei-Größe
* url: Datei-URL


dncadd

Fügt eine oder mehrere Nummern der Sperrliste hinzu

Parameter

* number (GET (Optional: mehrere durch , getrennt))


Rückgabe

json Objekt:

* status: ok|error|doublet
* message

dncdel

Löscht eine, oder mehrere Nummern aus der Sperrliste.

Parameter

* number (GET (Optional: mehrere durch , getrennt))


Rückgabe

json Objekt:

* status: ok|error
* message


dncget

Gibt die Sperrliste als CSV Datei zurück

Parameter keine


Rückgabe

CSV-Datei mit allen gesperrten Rufnummern


dnccheck

Sucht eine Nummer in der DNC-Liste

Parameter

* number (GET)
* fuzzy: yes|no (GET, optional) Sucht auch nach Teilnummern.


Rückgabe

json Objekt:

* status: exists|notfound (bei fuzzy = no)
* results: Liste mit passenden Telefonnummern (bei fuzzy = yes)


getleadbyid

Suche einen Lead über die LeadID und gibt die Lead-Details sowie das letzte Auftragsformular zurück.

Parameter

* leadid(GET)

Rückgabe

json Objekt:

* status: found|notfound
* lead_data: json Objekt mit Lead-Daten
* formdata: json Objekt mit Auftragsformular-Daten

getleadbyphonenumber

Suche einen Lead über die Telefonnummer und gibt die Lead-Details sowie das letzte Auftragsformular zurück.

Parameter

* number(GET)

Rückgabe

json Objekt:

* status: found|notfound
* lead_data: json Objekt Array mit Lead-Daten
* formdata: json Objekt Array mit Auftragsformular-Daten


getleadbypexternalid

Suche einen Lead über die externe Lead-ID und gibt die Lead-Details sowie das letzte Auftragsformular zurück.

Parameter

* leadid(GET)

Rückgabe

json Objekt:

* status: found|notfound
* lead_data: json Objekt Array mit Lead-Daten
* formdata: json Objekt Array mit Auftragsformular-Daten


addlist

Füge eine Liste hinzu.

Parameter

* campaignID (POST)
* description (POST)

Rückgabe

json Objekt:

* status: ok|error
* listid: ID der erstellten Liste (nur bei ok)
* reason: Fehlergrund (nur bei error)

addlead

Füge einen Lead hinzu.

Parameter

* campaign_id (POST)
* invalidcheck (POST) yes|no
* doubletcheck_global (POST) yes|no
* doubletcheck_campaign (POST) yes|no
* list_id (POST)
* country_phone_code (POST)
* leaddata (POST, Array)
 * title
 * phone
 * alt_phone
 * first_name
 * last_name
 * birthdate
 * country
 * street
 * streetnr
 * addradd
 * plz
 * ort
 * notices
 * leadid_external
 * company_name
* formfields (POST, Array)
 * (Auftragsformularfelder, frei)

Rückgabe

json Objekt:

* lead_stats: json Objekt
 * success
 * error
 * sqlerror
 * formaterror
 * doubleterror
 * invaliderror
 * formaterror_types: json Objekt
  * (diverse)

editlead

Füge einen Lead hinzu.

Parameter

* campaign_id (GET)
* leadid(GET)
* leaddata (POST, Array)
 * title
 * phone
 * alt_phone
 * first_name
 * last_name
 * birthdate
 * country
 * street
 * streetnr
 * addradd
 * plz
 * ort
 * notices
 * leadid_external
 * company_name
 * rotation
 * status
* formfields (POST, Array)
 * (Auftragsformularfelder, frei)

getagentbyid

Suche einen Agenten über seine ID und liefere seine Daten zurück.

Parameter

* agentid(GET)

Rückgabe

json Objekt:

* status: found|notfound
* agent_info: json Objekt Array mit Agent-Daten

Rückgabe

json Objekt:

* status ok|error
* reason (Bei Fehlern) Fehlergrund