API: Unterschied zwischen den Versionen

Aus Mmdial Wiki
Wechseln zu:Navigation, Suche
(exportbystatus)
 
(17 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 95: Zeile 95:
  
  
 +
 +
=== getfieldsbyguid===
 +
 +
Gibt alle Auftragsformularfelder eines Auftragsformulars zurück.
 +
 +
'''Parameter'''
 +
* GUID (GET) - die Formular-ID
 +
 +
 +
'''Rückgabe'''
 +
 +
json Objekt:
 +
* fields - json Objektliste:
 +
  * name: Feldname
  
 
=== getfieldsbycampaign===
 
=== getfieldsbycampaign===
Zeile 122: Zeile 136:
 
  * todate: (GET, optional) Datum ende: d.m.Y
 
  * todate: (GET, optional) Datum ende: d.m.Y
 
  * totime: (GET, optional) Uhrzeit ende: H:i:s
 
  * 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_
+
  * selectedfields: (GET/POST) Feldauswahlliste getrennt durch , (Kommata) Prefix für Normale Felder: customerfield_, Prefix für Auftragsformularfelder: webformfield_ Auftragsformularfelder können auch die ID des Auftragsformulars enthalten (GUID): webformfield_GUID_
 
  * encoding: (GET/POST, optional) Datei-Encoding (Standard: iso-8859-1) ISO-8859-1,Windows-1252,UTF-8
 
  * encoding: (GET/POST, optional) Datei-Encoding (Standard: iso-8859-1) ISO-8859-1,Windows-1252,UTF-8
  
Zeile 133: Zeile 147:
 
  * size: Datei-Größe
 
  * size: Datei-Größe
 
  * url: Datei-URL
 
  * url: Datei-URL
 
+
* broken_data_count: Anzahl Datensätze die nicht in encoding convertiert werden konnten
  
 
=== dncadd ===
 
=== dncadd ===
Zeile 141: Zeile 155:
 
'''Parameter'''
 
'''Parameter'''
 
  * number (GET (Optional: mehrere durch , getrennt))
 
  * number (GET (Optional: mehrere durch , getrennt))
 +
* reason (GET, Optional) Optionaler Grund
  
  
Zeile 155: Zeile 170:
 
'''Parameter'''
 
'''Parameter'''
 
  * number (GET (Optional: mehrere durch , getrennt))
 
  * number (GET (Optional: mehrere durch , getrennt))
 +
* reason (GET, Optional) Optionaler Grund
  
  
Zeile 184: Zeile 200:
 
  * number (GET)
 
  * number (GET)
 
  * fuzzy: yes|no (GET, optional) Sucht auch nach Teilnummern.
 
  * 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)
 +
 +
=== camp_dncadd ===
 +
 +
Fügt eine oder mehrere Nummern der Kampagnen-Sperrliste hinzu
 +
 +
'''Parameter'''
 +
* number (GET (Optional: mehrere durch , getrennt))
 +
* campaignID (GET)
 +
* reason (GET, Optional) Optionaler Grund
 +
 +
 +
'''Rückgabe'''
 +
 +
json Objekt:
 +
* status: ok|error|doublet
 +
* message
 +
 +
=== camp_dncdel ===
 +
 +
Löscht eine, oder mehrere Nummern aus der Kampagnen-Sperrliste.
 +
 +
'''Parameter'''
 +
* number (GET (Optional: mehrere durch , getrennt))
 +
* campaignID (GET)
 +
* reason (GET, Optional) Optionaler Grund
 +
 +
 +
'''Rückgabe'''
 +
 +
json Objekt:
 +
* status: ok|error
 +
* message
 +
 +
 +
=== camp_dncget ===
 +
 +
Gibt die Kampagnen-Sperrliste als CSV Datei zurück
 +
 +
'''Parameter'''
 +
* campaignID (GET)
 +
 +
 +
'''Rückgabe'''
 +
 +
CSV-Datei mit allen gesperrten Rufnummern dieser Kampagne
 +
 +
 +
=== camp_dnccheck ===
 +
 +
Sucht eine Nummer in der Kampagnen DNC-Liste
 +
 +
'''Parameter'''
 +
* number (GET)
 +
* fuzzy: yes|no (GET, optional) Sucht auch nach Teilnummern.
 +
* campaignID (GET)
  
  
Zeile 205: Zeile 283:
 
  * status: found|notfound
 
  * status: found|notfound
 
  * lead_data: json Objekt mit Lead-Daten
 
  * lead_data: json Objekt mit Lead-Daten
  * formdata: json Objekt mit Auftragsformular-Daten
+
  * formdata: json Objekt mit Auftragsformular-Daten (Liste von Objekten - eins pro Formular-ID (GUID))
  
 
=== getleadbyphonenumber ===
 
=== getleadbyphonenumber ===
Zeile 219: Zeile 297:
 
  * status: found|notfound
 
  * status: found|notfound
 
  * lead_data: json Objekt Array mit Lead-Daten
 
  * lead_data: json Objekt Array mit Lead-Daten
  * formdata: json Objekt Array mit Auftragsformular-Daten
+
  * formdata: json Objekt mit Auftragsformular-Daten (Liste von Objekten - eins pro Formular-ID (GUID))
  
  
=== getleadbypexternalid ===
+
=== getleadbyexternalid ===
  
 
Suche einen Lead über die externe Lead-ID und gibt die Lead-Details sowie das letzte Auftragsformular zurück.
 
Suche einen Lead über die externe Lead-ID und gibt die Lead-Details sowie das letzte Auftragsformular zurück.
Zeile 234: Zeile 312:
 
  * status: found|notfound
 
  * status: found|notfound
 
  * lead_data: json Objekt Array mit Lead-Daten
 
  * lead_data: json Objekt Array mit Lead-Daten
  * formdata: json Objekt Array mit Auftragsformular-Daten
+
  * formdata: json Objekt mit Auftragsformular-Daten (Liste von Objekten - eins pro Formular-ID (GUID))
 +
 
 +
=== getleadbyextrafield ===
 +
 
 +
Suche einen Lead über ein Extrafeld.
 +
 
 +
'''Parameter'''
 +
* fieldname(GET) - der Name des Extra-Feldes
 +
* fieldvalue(GET) - der zu suchende Wert
 +
 
 +
'''Rückgabe'''
 +
 
 +
json Objekt:
 +
* status: found|notfound
 +
* lead_data: json Objekt Array mit Lead-Daten
 +
* formdata: json Objekt mit Auftragsformular-Daten (Liste von Objekten - eins pro Formular-ID (GUID))
 +
 
 +
=== getleadbycustomdata ===
 +
 
 +
Sucht einen Lead über diverse kombinierbare Optionen und gibt die Lead-Details sowie das letzte Auftragsformular zurück.
 +
Werden Mehrere Optionen Kombiniert müssen alle Optionen zutreffen.
 +
 
 +
'''Parameter'''
 +
* extleadid(GET,string) Sucht über die externe Lead-ID
 +
* extra_fieldname(GET,string|Array) Sucht über Extrafelder
 +
* number(GET) Sucht über die Telefonnummer
 +
* listid(GET,string|Array) Sucht über Listennummern
 +
* campaignID(GET,string) Sucht über die Kampagne
  
 +
'''Rückgabe'''
 +
 +
json Objekt:
 +
* status: found|notfound
 +
* lead_data: json Objekt mit Lead-Daten
 +
* formdata: json Objekt mit Auftragsformular-Daten (Liste von Objekten - eins pro Formular-ID (GUID))
  
 
=== addlist ===
 
=== addlist ===
Zeile 242: Zeile 353:
  
 
'''Parameter'''
 
'''Parameter'''
  * campaignID (POST)
+
  * campaignID (GET)
  * description (POST)
+
  * description (GET)
  
 
'''Rückgabe'''
 
'''Rückgabe'''
Zeile 251: Zeile 362:
 
  * listid: ID der erstellten Liste (nur bei ok)
 
  * listid: ID der erstellten Liste (nur bei ok)
 
  * reason: Fehlergrund (nur bei error)
 
  * reason: Fehlergrund (nur bei error)
 +
 +
=== getlists ===
 +
 +
Listet alle Listen auf.
 +
 +
'''Parameter'''
 +
* campaignID (GET,optional)
 +
 +
'''Rückgabe'''
 +
 +
json Objekt:
 +
* lists: Array aller Listen
  
 
=== addlead ===
 
=== addlead ===
Zeile 281: Zeile 404:
 
  * formfields (POST, Array)
 
  * formfields (POST, Array)
 
   * (Auftragsformularfelder, frei)
 
   * (Auftragsformularfelder, frei)
 +
  * Format: GUID_Feldname als Key (GUID ist Formular-ID)
 
   
 
   
  
Zeile 298: Zeile 422:
 
=== editlead ===
 
=== editlead ===
  
Füge einen Lead hinzu.
+
Bearbeite einen Lead.
  
 
'''Parameter'''
 
'''Parameter'''
Zeile 321: Zeile 445:
 
   * rotation
 
   * rotation
 
   * status
 
   * status
 +
* GUID (GET)
 
  * formfields (POST, Array)
 
  * formfields (POST, Array)
 
   * (Auftragsformularfelder, frei)
 
   * (Auftragsformularfelder, frei)
   
+
 
 +
Im leaddata Array können auch Alle Extrafelder über das Unterarray "extrafields" referenziert und Bearbeitet werden.
 +
Die Array-Keys sind hierbei die Feldnamen.
 +
 
 +
'''Rückgabe'''
 +
 
 +
json Objekt:
 +
  * status ok|error
 +
* reason (Bei Fehlern) Fehlergrund
 +
 
 
=== getagentbyid ===
 
=== getagentbyid ===
  
Zeile 329: Zeile 463:
  
 
'''Parameter'''
 
'''Parameter'''
  * agentid(GET)
+
  * agentid (GET)
  
 
'''Rückgabe'''
 
'''Rückgabe'''
Zeile 336: Zeile 470:
 
  * status: found|notfound
 
  * status: found|notfound
 
  * agent_info: json Objekt Array mit Agent-Daten
 
  * agent_info: json Objekt Array mit Agent-Daten
 +
 +
 +
=== getlistbyid ===
 +
 +
Suche eine Liste über ihre ID und liefere die Daten zurück.
 +
 +
'''Parameter'''
 +
* listid (GET)
 +
 +
'''Rückgabe'''
 +
 +
json Objekt:
 +
* status: found|notfound
 +
* list_info: json Objekt Array mit Listen-Daten
 +
 +
=== getcallbacksbyleadid ===
 +
 +
Suche Callbacks (Wiedervorlagen) für einen bestimmten Lead
 +
 +
'''Parameter'''
 +
* leadid (GET)
  
 
'''Rückgabe'''
 
'''Rückgabe'''
  
 
json Objekt:
 
json Objekt:
  * status ok|error
+
  * callbacks: json Objekt Array mit Callback-Daten
* reason (Bei Fehlern) Fehlergrund
 

Aktuelle Version vom 12. Juli 2016, 11:51 Uhr

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


getfieldsbyguid

Gibt alle Auftragsformularfelder eines Auftragsformulars zurück.

Parameter

* GUID (GET) - die Formular-ID


Rückgabe

json Objekt:

* fields - json Objektliste:
 * name: Feldname

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_ Auftragsformularfelder können auch die ID des Auftragsformulars enthalten (GUID): webformfield_GUID_
* 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
* broken_data_count: Anzahl Datensätze die nicht in encoding convertiert werden konnten

dncadd

Fügt eine oder mehrere Nummern der Sperrliste hinzu

Parameter

* number (GET (Optional: mehrere durch , getrennt))
* reason (GET, Optional) Optionaler Grund


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))
* reason (GET, Optional) Optionaler Grund


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)

camp_dncadd

Fügt eine oder mehrere Nummern der Kampagnen-Sperrliste hinzu

Parameter

* number (GET (Optional: mehrere durch , getrennt))
* campaignID (GET)
* reason (GET, Optional) Optionaler Grund


Rückgabe

json Objekt:

* status: ok|error|doublet
* message

camp_dncdel

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

Parameter

* number (GET (Optional: mehrere durch , getrennt))
* campaignID (GET)
* reason (GET, Optional) Optionaler Grund


Rückgabe

json Objekt:

* status: ok|error
* message


camp_dncget

Gibt die Kampagnen-Sperrliste als CSV Datei zurück

Parameter

* campaignID (GET)


Rückgabe

CSV-Datei mit allen gesperrten Rufnummern dieser Kampagne


camp_dnccheck

Sucht eine Nummer in der Kampagnen DNC-Liste

Parameter

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


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 (Liste von Objekten - eins pro Formular-ID (GUID))

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 mit Auftragsformular-Daten (Liste von Objekten - eins pro Formular-ID (GUID))


getleadbyexternalid

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 mit Auftragsformular-Daten (Liste von Objekten - eins pro Formular-ID (GUID))

getleadbyextrafield

Suche einen Lead über ein Extrafeld.

Parameter

* fieldname(GET) - der Name des Extra-Feldes
* fieldvalue(GET) - der zu suchende Wert

Rückgabe

json Objekt:

* status: found|notfound
* lead_data: json Objekt Array mit Lead-Daten
* formdata: json Objekt mit Auftragsformular-Daten (Liste von Objekten - eins pro Formular-ID (GUID))

getleadbycustomdata

Sucht einen Lead über diverse kombinierbare Optionen und gibt die Lead-Details sowie das letzte Auftragsformular zurück. Werden Mehrere Optionen Kombiniert müssen alle Optionen zutreffen.

Parameter

* extleadid(GET,string) Sucht über die externe Lead-ID
* extra_fieldname(GET,string|Array) Sucht über Extrafelder
* number(GET) Sucht über die Telefonnummer
* listid(GET,string|Array) Sucht über Listennummern
* campaignID(GET,string) Sucht über die Kampagne

Rückgabe

json Objekt:

* status: found|notfound
* lead_data: json Objekt mit Lead-Daten
* formdata: json Objekt mit Auftragsformular-Daten (Liste von Objekten - eins pro Formular-ID (GUID))

addlist

Füge eine Liste hinzu.

Parameter

* campaignID (GET)
* description (GET)

Rückgabe

json Objekt:

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

getlists

Listet alle Listen auf.

Parameter

* campaignID (GET,optional)

Rückgabe

json Objekt:

* lists: Array aller Listen

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)
 * Format: GUID_Feldname als Key (GUID ist Formular-ID)

Rückgabe

json Objekt:

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

editlead

Bearbeite einen Lead.

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
* GUID (GET)
* formfields (POST, Array)
 * (Auftragsformularfelder, frei)

Im leaddata Array können auch Alle Extrafelder über das Unterarray "extrafields" referenziert und Bearbeitet werden. Die Array-Keys sind hierbei die Feldnamen.

Rückgabe

json Objekt:

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

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


getlistbyid

Suche eine Liste über ihre ID und liefere die Daten zurück.

Parameter

* listid (GET)

Rückgabe

json Objekt:

* status: found|notfound
* list_info: json Objekt Array mit Listen-Daten

getcallbacksbyleadid

Suche Callbacks (Wiedervorlagen) für einen bestimmten Lead

Parameter

* leadid (GET)

Rückgabe

json Objekt:

* callbacks: json Objekt Array mit Callback-Daten