<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
	<id>https://wiki.mmdial.de/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Rath</id>
	<title>Mmdial Wiki - Benutzerbeiträge [de]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.mmdial.de/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Rath"/>
	<link rel="alternate" type="text/html" href="https://wiki.mmdial.de/index.php/Spezial:Beitr%C3%A4ge/Rath"/>
	<updated>2026-04-24T15:27:35Z</updated>
	<subtitle>Benutzerbeiträge</subtitle>
	<generator>MediaWiki 1.31.16</generator>
	<entry>
		<id>https://wiki.mmdial.de/index.php?title=API&amp;diff=286</id>
		<title>API</title>
		<link rel="alternate" type="text/html" href="https://wiki.mmdial.de/index.php?title=API&amp;diff=286"/>
		<updated>2016-07-12T10:51:39Z</updated>

		<summary type="html">&lt;p&gt;Rath: /* exportbystatus */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;mmDial bietet ein umfangreiches API zur Anbindung externer Software.&lt;br /&gt;
&lt;br /&gt;
Viele Schnittstellen sind bislang undokumentiert. Sollten Sie eine weitere Schnittstelle benötigen,&lt;br /&gt;
wenden Sie sich bitte an unseren Support!&lt;br /&gt;
Die API befindet sich nocht im Alpha-Stadium. Die Dokumentation kann fehlerhaft sein, und Schnittstellen können&lt;br /&gt;
sich jederzeit ändern!&lt;br /&gt;
&lt;br /&gt;
Sie können auf einfache Weise auch externe CRM-Systeme direkt in das Agenteninterface einbinden.&lt;br /&gt;
Verwenden Sie hierzu die &amp;quot;Kampagnen Module&amp;quot; zu finden unter Kampagnen -&amp;gt; Kampagne auswählen -&amp;gt; Kampagnen Module.&lt;br /&gt;
Eine kleine Erklärung und ein Beispielscript finden Sie unter [[Kampagnenverwaltung#Eigenes_Auftragsformular|Eigenes Auftrasformular]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Allgemeines ==&lt;br /&gt;
&lt;br /&gt;
 * Die mmDial API ist über http://login.mmdial.de/api/ zu erreichen.&lt;br /&gt;
 * Die API benutzt die Standard HTTP Authentication.&lt;br /&gt;
 * Als Benutzername wird ein Benutzer mit Adminrechten verwendet&lt;br /&gt;
 * Es werden je nach Funktion HTTP GET und HTTP POST Argumente übergeben&lt;br /&gt;
 * Rückmeldungen erfolgen in der Regel als json Objekt&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Funktionen ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== searchvoicebyleadid ===&lt;br /&gt;
&lt;br /&gt;
Sucht eine Voice-Aufnahme über die Lead-ID des Kunden.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * leadid (GET) - die zu suchende Lead-ID&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: ok|error&lt;br /&gt;
 * msg: (nur bei error)&lt;br /&gt;
 * voices: json Objekt:&lt;br /&gt;
  * recid: Aufnahme-ID&lt;br /&gt;
  * agentid: Agenten-ID&lt;br /&gt;
  * timestamp: Der Zeitstempel der Aufnahme&lt;br /&gt;
  * available: yes|no yes, wenn die Datei schon/noch abrufbar ist.&lt;br /&gt;
  * voiceid: Dateiinterne ID&lt;br /&gt;
  * url: Url um die Datei herunterzuladen.&lt;br /&gt;
  * length: Abspiellänge der Aufzeichnung&lt;br /&gt;
  * size: Größe der Aufzeichnung&lt;br /&gt;
&lt;br /&gt;
=== searchvoicebyphonenumber ===&lt;br /&gt;
&lt;br /&gt;
Sucht eine Voice-Aufnahme über die Telefonnummer des Kunden.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * phone(GET) - die zu suchende Telefonnummer&lt;br /&gt;
 * date (GET, optional) - Datum im Format YYYY-MM-DD&lt;br /&gt;
 * timestamp (GET, optional) - Timestamp im Format YYYMMDDHHIISS&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: ok|error&lt;br /&gt;
 * msg: (nur bei error)&lt;br /&gt;
 * voices: json Objekt:&lt;br /&gt;
  * recid: Aufnahme-ID&lt;br /&gt;
  * agentid: Agenten-ID&lt;br /&gt;
  * timestamp: Der Zeitstempel der Aufnahme&lt;br /&gt;
  * available: yes|no yes, wenn die Datei schon/noch abrufbar ist.&lt;br /&gt;
  * voiceid: Dateiinterne ID&lt;br /&gt;
  * url: Url um die Datei herunterzuladen.&lt;br /&gt;
  * length: Abspiellänge der Aufzeichnung&lt;br /&gt;
  * size: Größe der Aufzeichnung&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== searchvoicebyagent ===&lt;br /&gt;
&lt;br /&gt;
Sucht eine Voice-Aufnahme über die Agenten-ID.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * agentid(GET) - die zu Agenten-ID&lt;br /&gt;
 * date (GET, optional) - Datum im Format YYYY-MM-DD&lt;br /&gt;
 * timestamp (GET, optional) - Timestamp im Format YYYMMDDHHIISS&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: ok|error&lt;br /&gt;
 * msg: (nur bei error)&lt;br /&gt;
 * voices: json Objekt:&lt;br /&gt;
  * recid: Aufnahme-ID&lt;br /&gt;
  * agentid: Agenten-ID&lt;br /&gt;
  * timestamp: Der Zeitstempel der Aufnahme&lt;br /&gt;
  * available: yes|no yes, wenn die Datei schon/noch abrufbar ist.&lt;br /&gt;
  * voiceid: Dateiinterne ID&lt;br /&gt;
  * url: Url um die Datei herunterzuladen.&lt;br /&gt;
  * length: Abspiellänge der Aufzeichnung&lt;br /&gt;
  * size: Größe der Aufzeichnung&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== getfieldsbyguid===&lt;br /&gt;
&lt;br /&gt;
Gibt alle Auftragsformularfelder eines Auftragsformulars zurück.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * GUID (GET) - die Formular-ID&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * fields - json Objektliste:&lt;br /&gt;
  * name: Feldname&lt;br /&gt;
&lt;br /&gt;
=== getfieldsbycampaign===&lt;br /&gt;
&lt;br /&gt;
Gibt alle Auftragsformularfelder einer Kampagne zurück.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * campaign_id (GET) - die Kampagnen-ID&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * fields - json Objektliste:&lt;br /&gt;
  * name: Feldname&lt;br /&gt;
&lt;br /&gt;
=== exportbystatus ===&lt;br /&gt;
&lt;br /&gt;
Erstellt eine Exportdatei aus verschiedenen Kriterien als CSV.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * campaign_id (GET) - die Kampagnen-ID&lt;br /&gt;
 * status (GET Array, optional) - die zu Exportierenden Status&lt;br /&gt;
 * datetype: (GET, optional) last_phone|last_edit|imported_date (GET Array, optional)&lt;br /&gt;
 * fromdate: (GET, optional) Datum beginn: d.m.Y&lt;br /&gt;
 * fromtime: (GET, optional) Uhrzeit beginn: H:i:s&lt;br /&gt;
 * todate: (GET, optional) Datum ende: d.m.Y&lt;br /&gt;
 * totime: (GET, optional) Uhrzeit ende: H:i:s&lt;br /&gt;
 * 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_&lt;br /&gt;
 * encoding: (GET/POST, optional) Datei-Encoding (Standard: iso-8859-1) ISO-8859-1,Windows-1252,UTF-8&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: ok|error&lt;br /&gt;
 * file_id: Datei-ID&lt;br /&gt;
 * size: Datei-Größe&lt;br /&gt;
 * url: Datei-URL&lt;br /&gt;
 * broken_data_count: Anzahl Datensätze die nicht in encoding convertiert werden konnten&lt;br /&gt;
&lt;br /&gt;
=== dncadd ===&lt;br /&gt;
&lt;br /&gt;
Fügt eine oder mehrere Nummern der Sperrliste hinzu&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * number (GET (Optional: mehrere durch , getrennt))&lt;br /&gt;
 * reason (GET, Optional) Optionaler Grund&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: ok|error|doublet&lt;br /&gt;
 * message&lt;br /&gt;
&lt;br /&gt;
=== dncdel ===&lt;br /&gt;
&lt;br /&gt;
Löscht eine, oder mehrere Nummern aus der Sperrliste.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * number (GET (Optional: mehrere durch , getrennt))&lt;br /&gt;
 * reason (GET, Optional) Optionaler Grund&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: ok|error&lt;br /&gt;
 * message&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== dncget ===&lt;br /&gt;
&lt;br /&gt;
Gibt die Sperrliste als CSV Datei zurück&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
''keine''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
CSV-Datei mit allen gesperrten Rufnummern&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== dnccheck ===&lt;br /&gt;
&lt;br /&gt;
Sucht eine Nummer in der DNC-Liste&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * number (GET)&lt;br /&gt;
 * fuzzy: yes|no (GET, optional) Sucht auch nach Teilnummern.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: exists|notfound (bei fuzzy = no)&lt;br /&gt;
 * results: Liste mit passenden Telefonnummern (bei fuzzy = yes)&lt;br /&gt;
&lt;br /&gt;
=== camp_dncadd ===&lt;br /&gt;
&lt;br /&gt;
Fügt eine oder mehrere Nummern der Kampagnen-Sperrliste hinzu&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * number (GET (Optional: mehrere durch , getrennt))&lt;br /&gt;
 * campaignID (GET)&lt;br /&gt;
 * reason (GET, Optional) Optionaler Grund&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: ok|error|doublet&lt;br /&gt;
 * message&lt;br /&gt;
&lt;br /&gt;
=== camp_dncdel ===&lt;br /&gt;
&lt;br /&gt;
Löscht eine, oder mehrere Nummern aus der Kampagnen-Sperrliste.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * number (GET (Optional: mehrere durch , getrennt))&lt;br /&gt;
 * campaignID (GET)&lt;br /&gt;
 * reason (GET, Optional) Optionaler Grund&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: ok|error&lt;br /&gt;
 * message&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== camp_dncget ===&lt;br /&gt;
&lt;br /&gt;
Gibt die Kampagnen-Sperrliste als CSV Datei zurück&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * campaignID (GET)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
CSV-Datei mit allen gesperrten Rufnummern dieser Kampagne&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== camp_dnccheck ===&lt;br /&gt;
&lt;br /&gt;
Sucht eine Nummer in der Kampagnen DNC-Liste&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * number (GET)&lt;br /&gt;
 * fuzzy: yes|no (GET, optional) Sucht auch nach Teilnummern.&lt;br /&gt;
 * campaignID (GET)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: exists|notfound (bei fuzzy = no)&lt;br /&gt;
 * results: Liste mit passenden Telefonnummern (bei fuzzy = yes)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== getleadbyid ===&lt;br /&gt;
&lt;br /&gt;
Suche einen Lead über die LeadID und gibt die Lead-Details sowie das letzte Auftragsformular zurück.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * leadid(GET)&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: found|notfound&lt;br /&gt;
 * lead_data: json Objekt mit Lead-Daten&lt;br /&gt;
 * formdata: json Objekt mit Auftragsformular-Daten (Liste von Objekten - eins pro Formular-ID (GUID))&lt;br /&gt;
&lt;br /&gt;
=== getleadbyphonenumber ===&lt;br /&gt;
&lt;br /&gt;
Suche einen Lead über die Telefonnummer und gibt die Lead-Details sowie das letzte Auftragsformular zurück.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * number(GET)&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: found|notfound&lt;br /&gt;
 * lead_data: json Objekt Array mit Lead-Daten&lt;br /&gt;
 * formdata: json Objekt mit Auftragsformular-Daten (Liste von Objekten - eins pro Formular-ID (GUID))&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== getleadbyexternalid ===&lt;br /&gt;
&lt;br /&gt;
Suche einen Lead über die externe Lead-ID und gibt die Lead-Details sowie das letzte Auftragsformular zurück.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * leadid(GET)&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: found|notfound&lt;br /&gt;
 * lead_data: json Objekt Array mit Lead-Daten&lt;br /&gt;
 * formdata: json Objekt mit Auftragsformular-Daten (Liste von Objekten - eins pro Formular-ID (GUID))&lt;br /&gt;
&lt;br /&gt;
=== getleadbyextrafield ===&lt;br /&gt;
&lt;br /&gt;
Suche einen Lead über ein Extrafeld.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * fieldname(GET) - der Name des Extra-Feldes&lt;br /&gt;
 * fieldvalue(GET) - der zu suchende Wert&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: found|notfound&lt;br /&gt;
 * lead_data: json Objekt Array mit Lead-Daten&lt;br /&gt;
 * formdata: json Objekt mit Auftragsformular-Daten (Liste von Objekten - eins pro Formular-ID (GUID))&lt;br /&gt;
&lt;br /&gt;
=== getleadbycustomdata ===&lt;br /&gt;
&lt;br /&gt;
Sucht einen Lead über diverse kombinierbare Optionen und gibt die Lead-Details sowie das letzte Auftragsformular zurück.&lt;br /&gt;
Werden Mehrere Optionen Kombiniert müssen alle Optionen zutreffen.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * extleadid(GET,string) Sucht über die externe Lead-ID&lt;br /&gt;
 * extra_fieldname(GET,string|Array) Sucht über Extrafelder&lt;br /&gt;
 * number(GET) Sucht über die Telefonnummer&lt;br /&gt;
 * listid(GET,string|Array) Sucht über Listennummern&lt;br /&gt;
 * campaignID(GET,string) Sucht über die Kampagne&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: found|notfound&lt;br /&gt;
 * lead_data: json Objekt mit Lead-Daten&lt;br /&gt;
 * formdata: json Objekt mit Auftragsformular-Daten (Liste von Objekten - eins pro Formular-ID (GUID))&lt;br /&gt;
&lt;br /&gt;
=== addlist ===&lt;br /&gt;
&lt;br /&gt;
Füge eine Liste hinzu.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * campaignID (GET)&lt;br /&gt;
 * description (GET)&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: ok|error&lt;br /&gt;
 * listid: ID der erstellten Liste (nur bei ok)&lt;br /&gt;
 * reason: Fehlergrund (nur bei error)&lt;br /&gt;
&lt;br /&gt;
=== getlists ===&lt;br /&gt;
&lt;br /&gt;
Listet alle Listen auf.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * campaignID (GET,optional)&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * lists: Array aller Listen&lt;br /&gt;
&lt;br /&gt;
=== addlead ===&lt;br /&gt;
&lt;br /&gt;
Füge einen Lead hinzu.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * campaign_id (POST)&lt;br /&gt;
 * invalidcheck (POST) yes|no&lt;br /&gt;
 * doubletcheck_global (POST) yes|no&lt;br /&gt;
 * doubletcheck_campaign (POST) yes|no&lt;br /&gt;
 * list_id (POST)&lt;br /&gt;
 * country_phone_code (POST)&lt;br /&gt;
 * leaddata (POST, Array)&lt;br /&gt;
  * title&lt;br /&gt;
  * phone&lt;br /&gt;
  * alt_phone&lt;br /&gt;
  * first_name&lt;br /&gt;
  * last_name&lt;br /&gt;
  * birthdate&lt;br /&gt;
  * country&lt;br /&gt;
  * street&lt;br /&gt;
  * streetnr&lt;br /&gt;
  * addradd&lt;br /&gt;
  * plz&lt;br /&gt;
  * ort&lt;br /&gt;
  * notices&lt;br /&gt;
  * leadid_external&lt;br /&gt;
  * company_name&lt;br /&gt;
 * formfields (POST, Array)&lt;br /&gt;
  * (Auftragsformularfelder, frei)&lt;br /&gt;
  * Format: GUID_Feldname als Key (GUID ist Formular-ID)&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * lead_stats: json Objekt&lt;br /&gt;
  * success&lt;br /&gt;
  * error&lt;br /&gt;
  * sqlerror&lt;br /&gt;
  * formaterror&lt;br /&gt;
  * doubleterror&lt;br /&gt;
  * invaliderror&lt;br /&gt;
  * formaterror_types: json Objekt&lt;br /&gt;
   * (diverse)&lt;br /&gt;
&lt;br /&gt;
=== editlead ===&lt;br /&gt;
&lt;br /&gt;
Bearbeite einen Lead.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * campaign_id (GET)&lt;br /&gt;
 * leadid(GET)&lt;br /&gt;
 * leaddata (POST, Array)&lt;br /&gt;
  * title&lt;br /&gt;
  * phone&lt;br /&gt;
  * alt_phone&lt;br /&gt;
  * first_name&lt;br /&gt;
  * last_name&lt;br /&gt;
  * birthdate&lt;br /&gt;
  * country&lt;br /&gt;
  * street&lt;br /&gt;
  * streetnr&lt;br /&gt;
  * addradd&lt;br /&gt;
  * plz&lt;br /&gt;
  * ort&lt;br /&gt;
  * notices&lt;br /&gt;
  * leadid_external&lt;br /&gt;
  * company_name&lt;br /&gt;
  * rotation&lt;br /&gt;
  * status&lt;br /&gt;
 * GUID (GET)&lt;br /&gt;
 * formfields (POST, Array)&lt;br /&gt;
  * (Auftragsformularfelder, frei)&lt;br /&gt;
&lt;br /&gt;
Im leaddata Array können auch Alle Extrafelder über das Unterarray &amp;quot;extrafields&amp;quot; referenziert und Bearbeitet werden.&lt;br /&gt;
Die Array-Keys sind hierbei die Feldnamen.&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status ok|error&lt;br /&gt;
 * reason (Bei Fehlern) Fehlergrund&lt;br /&gt;
&lt;br /&gt;
=== getagentbyid ===&lt;br /&gt;
&lt;br /&gt;
Suche einen Agenten über seine ID und liefere seine Daten zurück.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * agentid (GET)&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: found|notfound&lt;br /&gt;
 * agent_info: json Objekt Array mit Agent-Daten&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== getlistbyid ===&lt;br /&gt;
&lt;br /&gt;
Suche eine Liste über ihre ID und liefere die Daten zurück.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * listid (GET)&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: found|notfound&lt;br /&gt;
 * list_info: json Objekt Array mit Listen-Daten&lt;br /&gt;
&lt;br /&gt;
=== getcallbacksbyleadid ===&lt;br /&gt;
&lt;br /&gt;
Suche Callbacks (Wiedervorlagen) für einen bestimmten Lead&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * leadid (GET)&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * callbacks: json Objekt Array mit Callback-Daten&lt;/div&gt;</summary>
		<author><name>Rath</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.mmdial.de/index.php?title=Kampagnenverwaltung&amp;diff=285</id>
		<title>Kampagnenverwaltung</title>
		<link rel="alternate" type="text/html" href="https://wiki.mmdial.de/index.php?title=Kampagnenverwaltung&amp;diff=285"/>
		<updated>2016-06-09T11:42:25Z</updated>

		<summary type="html">&lt;p&gt;Rath: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;In der Kampagnenverwaltung können Sie alle Einstellungen rund um eine Kampagne machen. Weiter können Sie hier auch Kampagnen erstellen, löschen und deaktivieren. Hier haben Sie weiter auch die Möglichkeit Kampagneneigene Status oder autom. Leadübertragung in QM-Kampagnen zu erstellen. &lt;br /&gt;
&lt;br /&gt;
== Kampagnen erstellen  ==&lt;br /&gt;
&lt;br /&gt;
Bei mmDial haben Sie neben der klassischen Outboundtelefonie auch die Möglichkeit Inboundtelefonie zu betreiben. Dies bietet Ihnen z.B. die Möglichkeit Rückrufer direkt wieder an einen Agenten zuverbinden. Bitte beachten Sie, dass die Inboundfunktion eine Zusatzleistung ist die extra bestellt werden muss. &lt;br /&gt;
&lt;br /&gt;
=== Outboundkampagne erstellen  ===&lt;br /&gt;
&lt;br /&gt;
Zum Erstellen einer Outbound-Kampagne gehen Sie bitte in der Dialerverwaltung auf die Kampagnen Seite. Hier finden Sie im linken Context-Menü den Punkt „Neue Kampagne“. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Hier müssen Sie nun, zum Erstellen einer Kampagne, alle Grundinformationen für die Kampagne eintragen. Folgendes müssen Sie angeben: &amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Kampagnenname (Aussagekräftiger Name der Kampagne)&amp;lt;br&amp;gt;[[CLIP-Rufnummer]] (Hier müssen Sie die Rufnummer eintragen, die dem Angerufenen angezeigt werden soll) &amp;lt;br&amp;gt;Aktiv (Auswählen ob Kampagne vom Erstellen an aktiv sein soll) &amp;lt;br&amp;gt;Auftragsformular (Auswählen, ob ein [[Auftragsformular]] für diese Kampagne verwendet werden soll) &amp;lt;br&amp;gt;Maximaler Adressverbrauch pro Minute &amp;lt;br&amp;gt;Neuen Anruf zu Agent (Wählen Sie aus, nach welcher Reihenfolge wartenden Agenten neue Gespräche zugeteilt werden sollen.) &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Bitte beachten Sie, dass eine Kampagne wesentlich mehr Einstellmöglichkeiten hat als nur die aufgeführten. Diese Daten, die Sie beim Erstellen eingeben müssen, sind Einstellungen, die von Ihnen gesetzt werden müssen. Alle anderen Einstellungen wurden von unserem System mit Standardwerten gesetzt, um den Erstellvorgang zu beschleunigen. Sie können später alle weiteren Einstellungen unter dem Punkt „Kampagnen / Kampagnenliste / Kampagne bearbeiten“ (Icon mit dem Schreibblock und dem Stift) einstellen.&lt;br /&gt;
&lt;br /&gt;
=== Inboundkampagne erstellen  ===&lt;br /&gt;
&lt;br /&gt;
Inbound-Kampagnen sind in der Standardversion von mmDial nicht verfügbar. Diese können Sie optional hinzubuchen. Wenden Sie sich dazu an unseren Vertrieb.&lt;br /&gt;
&lt;br /&gt;
== Kampagnen löschen  ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
WICHTIG:&lt;br /&gt;
&lt;br /&gt;
Beim Löschen von Kampagnen gehen alle in der Kampagne vorhandenen Daten verloren. Diese können nicht wieder hergestellt werden. Wenn Sie eine Kampagne löschen vergewissern Sie sich, dass Sie alle benötigten Daten exportiert haben.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Zum Löschen klicken Sie unter &amp;quot;Kampagnen&amp;quot; auf die &amp;quot;Kampagnenliste&amp;quot; und vor der zu löschenden Kampagne auf das rote X. Sie werden daraufhin nocheinmal gefragt, ob die Kampagne wirklich gelöscht werden soll. Dies können Sie mit einem &amp;quot;JA&amp;quot; bestätigen.&lt;br /&gt;
&lt;br /&gt;
== Kampagnen de/aktivieren  ==&lt;br /&gt;
Um eine Kampagne zu de- oder aktivieren gehen Sie in der Verwaltungsoberfläche in den Bereich Kampagnen. Dort wählen Sie in den Unterpunkt &amp;quot;Kampagnenliste&amp;quot; aus.&lt;br /&gt;
Hier finden Sie alle von Ihnen angelegten Kampagnen. Aktive Kampagnen haben ein blaues Männchen. Inaktive ein graues.&lt;br /&gt;
&lt;br /&gt;
Um den Status der Kampagne zu ändern klicken Sie auf das Männchen. Der Status der Kampagne ändert sich dann direkt.&lt;br /&gt;
&lt;br /&gt;
== Statusübertrag in Kampagnen  ==&lt;br /&gt;
&lt;br /&gt;
Bei mmDial haben Sie die Möglichkeit Kunden/Leads, die erfolgreich sind, direkt in eine anderen QM-Kampagne zu übertragen.&lt;br /&gt;
&lt;br /&gt;
Gehen Sie dazu in Kampagen und wählen Sie eine Kampagne aus.&amp;lt;br&amp;gt;Gehen Sie dann in der linken Navigation auf Statusübertrag.&amp;lt;br&amp;gt;Dort sehen Sie 3 Auswahlfelder zum Erstellen des Übertrags.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
*Wählen Sie den gewünschten Status der Leads die Sie übertragen möchten. Zum Beispiel &amp;quot;Sale&amp;quot; oder &amp;quot;Anrufbeantworter&amp;quot;.&amp;lt;br&amp;gt;&lt;br /&gt;
*Legen Sie fest, in welche Kampagne Sie diese Leads übertragen möchten.&amp;lt;br&amp;gt;&lt;br /&gt;
**Nach Auswahl der Kampagne öffnen sich weitere Einstellungsmöglichkeiten:&amp;lt;br&amp;gt;&lt;br /&gt;
**Sie können auswählen ob eine neue Liste erstellt werden soll, oder die Leads in eine vorhandene Liste geschrieben werden sollen&amp;lt;br&amp;gt;&lt;br /&gt;
**Alle Leads verlieren beim Verschieben Ihren aktuellen (alten) Status. Im folgenden Drop-Down Menü wählen Sie den neuen Status nach dem Übertrag aus (z.B. &amp;quot;NEW&amp;quot;).&lt;br /&gt;
*In der letzten Auswahl &amp;quot;Kopiermodus&amp;quot; können Sie zwischen &amp;quot;Lead verschieben&amp;quot; und &amp;quot;Lead kopieren&amp;quot; auswählen. Wählen Sie verschieben aus, so werden die Leads aus der aktuellen Kampagne gelöscht - damit gehen auch alle Informationen zu diesem Lead verloren (z.B. der Status).&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
'Unsere Empfehlung:'&lt;br /&gt;
Kopieren Sie die Leads statt Sie zu verschieben. Damit bleiben in der ursprünglichen Kampagne (aus der Sie den Übertrag machen) die Lead-Informationen wie letzte Anrufe, Status usw. erhalten. In der neuen Kampagne bzw. Liste, in die Ihre Leads verschoben wurden, wird alles zurück gesetzt. Wie oben beschrieben können Sie festlegen welchen Anfangsstatus diese Leads erhalten sollen.&lt;br /&gt;
&lt;br /&gt;
== Kampagnenstatus ==&lt;br /&gt;
=== Erstellen  ===&lt;br /&gt;
&lt;br /&gt;
mmDial bietet Ihnen die Möglichkeit eigene Status für einen Kampagne zu erstellen.&amp;lt;br&amp;gt;Dies dient einer genaueren Feststellung am Ende eines Gesprächs. Sie können beliebig viele Status erstellen. Zum Erstellen wählen Sie eine Kampagne aus und klicken im Contextmenü auf den Punkt „Kampagnen Status“. &lt;br /&gt;
&lt;br /&gt;
Hier müssen Sie nun ein Kürzel und den vollständigen Titel des Status eintragen. &lt;br /&gt;
&lt;br /&gt;
Nachdem Sie auf &amp;quot;anlegen&amp;quot; geklickt haben ist der Status erstellt. Er wird nun Ihren Agenten am Ende des Gesprächs in dieser Kampagne angezeigt und Sie haben auf die Möglichkeit gezielt nach diesem Status zu exportieren.&lt;br /&gt;
&lt;br /&gt;
=== Alle Status ansehen/löschen ===&lt;br /&gt;
&lt;br /&gt;
Um alle erstellten Status einzusehen klicken Sie auf die Schaltfläche „Vorhandene Status“. An dieser Stelle können Sie auch einen bestehenden Status wieder löschen.&lt;br /&gt;
&lt;br /&gt;
== Auftragsformular / Kampagnen Module ==&lt;br /&gt;
=== Eigenes Auftragsformular ===&lt;br /&gt;
&lt;br /&gt;
Die folgenden Felder können an ein externes eigenes Auftragsformular bzw. an ein Kampagnen-Modul übergeben werden:&lt;br /&gt;
&lt;br /&gt;
 * lead_id&lt;br /&gt;
 * title&lt;br /&gt;
 * phone&lt;br /&gt;
 * alt_phone&lt;br /&gt;
 * first_name&lt;br /&gt;
 * last_name&lt;br /&gt;
 * street&lt;br /&gt;
 * streetnr&lt;br /&gt;
 * plz&lt;br /&gt;
 * ort&lt;br /&gt;
 * notices&lt;br /&gt;
 * agentid&lt;br /&gt;
 * birthday&lt;br /&gt;
 * leadid_external&lt;br /&gt;
 * vorwahl&lt;br /&gt;
 * company_name&lt;br /&gt;
 * agent_name&lt;br /&gt;
 * agent_id&lt;br /&gt;
 * campaign&lt;br /&gt;
 * agent_extrafield1, agent_extrafield2, agent_extrafield3, agent_extrafield4&lt;br /&gt;
 * xtra_* (Für Extrafelder)&lt;br /&gt;
&lt;br /&gt;
Bei Inbound-Kampagnen:&lt;br /&gt;
&lt;br /&gt;
 * target_number&lt;br /&gt;
&lt;br /&gt;
Auftragsformularfelder:&lt;br /&gt;
&lt;br /&gt;
 * __F_feldname__ - feldname ist Platzhalter für Formularfeldnamen&lt;br /&gt;
 * __FID_GUID_feldname__ - feldname ist Platzhalter für Formularfeldnamen, GUID ist Platzhalter für Formular ID&lt;br /&gt;
 * __FormSaveID__ - Speicherid des (letzten) Formulars&lt;br /&gt;
 * __FormSaveID_GUID__ - Speicherid des Formulars mit der ID GUID&lt;br /&gt;
 * __FormCreated__ - Speicherzeitpunkt des (letzten) Formulars&lt;br /&gt;
 * __FormCreated_GUID__ - Speicherzeitpunkt des (letzten) Formulars&lt;br /&gt;
&lt;br /&gt;
Spezialfelder:&lt;br /&gt;
&lt;br /&gt;
 * z.B. __STRTODATE_+1 week__ entspricht PHP's strtodate() Funktion - anzeige im Deutschen Format&lt;br /&gt;
&lt;br /&gt;
Im Dokumentensystem ist zusätzlich das Spezialfeld &amp;quot;__FaxSpecialField__&amp;quot; verfügbar. Dieses Feld kann angelegt werden um die Faxnummer im üblichen Format ausfüllen zu können.&lt;br /&gt;
Dieses Feld ist nicht zusätzlich für den Agenten ausfüllbar und muss &amp;quot;Sichtbar&amp;quot; sein.&lt;br /&gt;
&lt;br /&gt;
In der aufzurufenden URL werden die Felder entsprechend durch ihre Werte ersetzt, sobald die Platzhalter durch &amp;quot;__&amp;quot; eingeschlossen sind. Beispiel: __lead_id__&lt;br /&gt;
&lt;br /&gt;
Bei einigen Modulen, wie zum Beispiel den Dokumenten, muss der Platzhalter im Format &amp;quot;__DB_feldname__&amp;quot; eingegeben werden. Beispiel: __DB_lead_id__&lt;br /&gt;
&lt;br /&gt;
Bei Dokumenten die als E-Mail versendet werden sollen, können mehrere (Auswählbare) Empfänger mittels &amp;quot;#&amp;quot; getrennt werden. (z.B. a@b.de#b@c.de) Hierbei kann der Agent einzelne Adressen entfernen.&lt;br /&gt;
&lt;br /&gt;
Kommt in der URL der Wert &amp;quot;DOPOSTURL&amp;quot; vor, werden die Werte per HTTP POST übergeben, und der Wert &amp;quot;DOPOSTURL&amp;quot; entfernt.&lt;br /&gt;
&lt;br /&gt;
Der Wert &amp;quot;URLSTR&amp;quot; wird durch die Felder die oben beschrieben sind wie folgt ersetzt: feld1=wert1;feld2=wert2;...&lt;br /&gt;
&lt;br /&gt;
Es ist auch ein [[Beispielscript Leitfaden]] in php verfügbar.&lt;br /&gt;
&lt;br /&gt;
=== Links im Auftragsformular ===&lt;br /&gt;
&lt;br /&gt;
Im Auftragsformular können auch Links zu externen Webseiten eingefügt werden. Hierzu einfach im Fenster &amp;quot;Konfigurieren&amp;quot; auf das &amp;quot;+&amp;quot; klicken und einen neuen Text einfügen. Das Format ist immer &amp;quot;Linkname|http://www.domain.de&amp;quot;. Der Link öffnet automatisch im neuen Fenster/Tab.&lt;br /&gt;
&lt;br /&gt;
 * z.B.: Zur Google Suche|http://www.google.com&lt;/div&gt;</summary>
		<author><name>Rath</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.mmdial.de/index.php?title=API&amp;diff=284</id>
		<title>API</title>
		<link rel="alternate" type="text/html" href="https://wiki.mmdial.de/index.php?title=API&amp;diff=284"/>
		<updated>2015-08-06T21:50:41Z</updated>

		<summary type="html">&lt;p&gt;Rath: /* editlead */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;mmDial bietet ein umfangreiches API zur Anbindung externer Software.&lt;br /&gt;
&lt;br /&gt;
Viele Schnittstellen sind bislang undokumentiert. Sollten Sie eine weitere Schnittstelle benötigen,&lt;br /&gt;
wenden Sie sich bitte an unseren Support!&lt;br /&gt;
Die API befindet sich nocht im Alpha-Stadium. Die Dokumentation kann fehlerhaft sein, und Schnittstellen können&lt;br /&gt;
sich jederzeit ändern!&lt;br /&gt;
&lt;br /&gt;
Sie können auf einfache Weise auch externe CRM-Systeme direkt in das Agenteninterface einbinden.&lt;br /&gt;
Verwenden Sie hierzu die &amp;quot;Kampagnen Module&amp;quot; zu finden unter Kampagnen -&amp;gt; Kampagne auswählen -&amp;gt; Kampagnen Module.&lt;br /&gt;
Eine kleine Erklärung und ein Beispielscript finden Sie unter [[Kampagnenverwaltung#Eigenes_Auftragsformular|Eigenes Auftrasformular]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Allgemeines ==&lt;br /&gt;
&lt;br /&gt;
 * Die mmDial API ist über http://login.mmdial.de/api/ zu erreichen.&lt;br /&gt;
 * Die API benutzt die Standard HTTP Authentication.&lt;br /&gt;
 * Als Benutzername wird ein Benutzer mit Adminrechten verwendet&lt;br /&gt;
 * Es werden je nach Funktion HTTP GET und HTTP POST Argumente übergeben&lt;br /&gt;
 * Rückmeldungen erfolgen in der Regel als json Objekt&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Funktionen ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== searchvoicebyleadid ===&lt;br /&gt;
&lt;br /&gt;
Sucht eine Voice-Aufnahme über die Lead-ID des Kunden.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * leadid (GET) - die zu suchende Lead-ID&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: ok|error&lt;br /&gt;
 * msg: (nur bei error)&lt;br /&gt;
 * voices: json Objekt:&lt;br /&gt;
  * recid: Aufnahme-ID&lt;br /&gt;
  * agentid: Agenten-ID&lt;br /&gt;
  * timestamp: Der Zeitstempel der Aufnahme&lt;br /&gt;
  * available: yes|no yes, wenn die Datei schon/noch abrufbar ist.&lt;br /&gt;
  * voiceid: Dateiinterne ID&lt;br /&gt;
  * url: Url um die Datei herunterzuladen.&lt;br /&gt;
  * length: Abspiellänge der Aufzeichnung&lt;br /&gt;
  * size: Größe der Aufzeichnung&lt;br /&gt;
&lt;br /&gt;
=== searchvoicebyphonenumber ===&lt;br /&gt;
&lt;br /&gt;
Sucht eine Voice-Aufnahme über die Telefonnummer des Kunden.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * phone(GET) - die zu suchende Telefonnummer&lt;br /&gt;
 * date (GET, optional) - Datum im Format YYYY-MM-DD&lt;br /&gt;
 * timestamp (GET, optional) - Timestamp im Format YYYMMDDHHIISS&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: ok|error&lt;br /&gt;
 * msg: (nur bei error)&lt;br /&gt;
 * voices: json Objekt:&lt;br /&gt;
  * recid: Aufnahme-ID&lt;br /&gt;
  * agentid: Agenten-ID&lt;br /&gt;
  * timestamp: Der Zeitstempel der Aufnahme&lt;br /&gt;
  * available: yes|no yes, wenn die Datei schon/noch abrufbar ist.&lt;br /&gt;
  * voiceid: Dateiinterne ID&lt;br /&gt;
  * url: Url um die Datei herunterzuladen.&lt;br /&gt;
  * length: Abspiellänge der Aufzeichnung&lt;br /&gt;
  * size: Größe der Aufzeichnung&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== searchvoicebyagent ===&lt;br /&gt;
&lt;br /&gt;
Sucht eine Voice-Aufnahme über die Agenten-ID.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * agentid(GET) - die zu Agenten-ID&lt;br /&gt;
 * date (GET, optional) - Datum im Format YYYY-MM-DD&lt;br /&gt;
 * timestamp (GET, optional) - Timestamp im Format YYYMMDDHHIISS&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: ok|error&lt;br /&gt;
 * msg: (nur bei error)&lt;br /&gt;
 * voices: json Objekt:&lt;br /&gt;
  * recid: Aufnahme-ID&lt;br /&gt;
  * agentid: Agenten-ID&lt;br /&gt;
  * timestamp: Der Zeitstempel der Aufnahme&lt;br /&gt;
  * available: yes|no yes, wenn die Datei schon/noch abrufbar ist.&lt;br /&gt;
  * voiceid: Dateiinterne ID&lt;br /&gt;
  * url: Url um die Datei herunterzuladen.&lt;br /&gt;
  * length: Abspiellänge der Aufzeichnung&lt;br /&gt;
  * size: Größe der Aufzeichnung&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== getfieldsbyguid===&lt;br /&gt;
&lt;br /&gt;
Gibt alle Auftragsformularfelder eines Auftragsformulars zurück.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * GUID (GET) - die Formular-ID&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * fields - json Objektliste:&lt;br /&gt;
  * name: Feldname&lt;br /&gt;
&lt;br /&gt;
=== getfieldsbycampaign===&lt;br /&gt;
&lt;br /&gt;
Gibt alle Auftragsformularfelder einer Kampagne zurück.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * campaign_id (GET) - die Kampagnen-ID&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * fields - json Objektliste:&lt;br /&gt;
  * name: Feldname&lt;br /&gt;
&lt;br /&gt;
=== exportbystatus ===&lt;br /&gt;
&lt;br /&gt;
Erstellt eine Exportdatei aus verschiedenen Kriterien als CSV.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * campaign_id (GET) - die Kampagnen-ID&lt;br /&gt;
 * status (GET Array, optional) - die zu Exportierenden Status&lt;br /&gt;
 * datetype: (GET, optional) last_phone|last_edit|imported_date (GET Array, optional)&lt;br /&gt;
 * fromdate: (GET, optional) Datum beginn: d.m.Y&lt;br /&gt;
 * fromtime: (GET, optional) Uhrzeit beginn: H:i:s&lt;br /&gt;
 * todate: (GET, optional) Datum ende: d.m.Y&lt;br /&gt;
 * totime: (GET, optional) Uhrzeit ende: H:i:s&lt;br /&gt;
 * 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_&lt;br /&gt;
 * encoding: (GET/POST, optional) Datei-Encoding (Standard: iso-8859-1) ISO-8859-1,Windows-1252,UTF-8&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: ok|error&lt;br /&gt;
 * file_id: Datei-ID&lt;br /&gt;
 * size: Datei-Größe&lt;br /&gt;
 * url: Datei-URL&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== dncadd ===&lt;br /&gt;
&lt;br /&gt;
Fügt eine oder mehrere Nummern der Sperrliste hinzu&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * number (GET (Optional: mehrere durch , getrennt))&lt;br /&gt;
 * reason (GET, Optional) Optionaler Grund&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: ok|error|doublet&lt;br /&gt;
 * message&lt;br /&gt;
&lt;br /&gt;
=== dncdel ===&lt;br /&gt;
&lt;br /&gt;
Löscht eine, oder mehrere Nummern aus der Sperrliste.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * number (GET (Optional: mehrere durch , getrennt))&lt;br /&gt;
 * reason (GET, Optional) Optionaler Grund&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: ok|error&lt;br /&gt;
 * message&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== dncget ===&lt;br /&gt;
&lt;br /&gt;
Gibt die Sperrliste als CSV Datei zurück&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
''keine''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
CSV-Datei mit allen gesperrten Rufnummern&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== dnccheck ===&lt;br /&gt;
&lt;br /&gt;
Sucht eine Nummer in der DNC-Liste&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * number (GET)&lt;br /&gt;
 * fuzzy: yes|no (GET, optional) Sucht auch nach Teilnummern.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: exists|notfound (bei fuzzy = no)&lt;br /&gt;
 * results: Liste mit passenden Telefonnummern (bei fuzzy = yes)&lt;br /&gt;
&lt;br /&gt;
=== camp_dncadd ===&lt;br /&gt;
&lt;br /&gt;
Fügt eine oder mehrere Nummern der Kampagnen-Sperrliste hinzu&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * number (GET (Optional: mehrere durch , getrennt))&lt;br /&gt;
 * campaignID (GET)&lt;br /&gt;
 * reason (GET, Optional) Optionaler Grund&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: ok|error|doublet&lt;br /&gt;
 * message&lt;br /&gt;
&lt;br /&gt;
=== camp_dncdel ===&lt;br /&gt;
&lt;br /&gt;
Löscht eine, oder mehrere Nummern aus der Kampagnen-Sperrliste.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * number (GET (Optional: mehrere durch , getrennt))&lt;br /&gt;
 * campaignID (GET)&lt;br /&gt;
 * reason (GET, Optional) Optionaler Grund&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: ok|error&lt;br /&gt;
 * message&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== camp_dncget ===&lt;br /&gt;
&lt;br /&gt;
Gibt die Kampagnen-Sperrliste als CSV Datei zurück&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * campaignID (GET)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
CSV-Datei mit allen gesperrten Rufnummern dieser Kampagne&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== camp_dnccheck ===&lt;br /&gt;
&lt;br /&gt;
Sucht eine Nummer in der Kampagnen DNC-Liste&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * number (GET)&lt;br /&gt;
 * fuzzy: yes|no (GET, optional) Sucht auch nach Teilnummern.&lt;br /&gt;
 * campaignID (GET)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: exists|notfound (bei fuzzy = no)&lt;br /&gt;
 * results: Liste mit passenden Telefonnummern (bei fuzzy = yes)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== getleadbyid ===&lt;br /&gt;
&lt;br /&gt;
Suche einen Lead über die LeadID und gibt die Lead-Details sowie das letzte Auftragsformular zurück.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * leadid(GET)&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: found|notfound&lt;br /&gt;
 * lead_data: json Objekt mit Lead-Daten&lt;br /&gt;
 * formdata: json Objekt mit Auftragsformular-Daten (Liste von Objekten - eins pro Formular-ID (GUID))&lt;br /&gt;
&lt;br /&gt;
=== getleadbyphonenumber ===&lt;br /&gt;
&lt;br /&gt;
Suche einen Lead über die Telefonnummer und gibt die Lead-Details sowie das letzte Auftragsformular zurück.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * number(GET)&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: found|notfound&lt;br /&gt;
 * lead_data: json Objekt Array mit Lead-Daten&lt;br /&gt;
 * formdata: json Objekt mit Auftragsformular-Daten (Liste von Objekten - eins pro Formular-ID (GUID))&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== getleadbyexternalid ===&lt;br /&gt;
&lt;br /&gt;
Suche einen Lead über die externe Lead-ID und gibt die Lead-Details sowie das letzte Auftragsformular zurück.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * leadid(GET)&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: found|notfound&lt;br /&gt;
 * lead_data: json Objekt Array mit Lead-Daten&lt;br /&gt;
 * formdata: json Objekt mit Auftragsformular-Daten (Liste von Objekten - eins pro Formular-ID (GUID))&lt;br /&gt;
&lt;br /&gt;
=== getleadbyextrafield ===&lt;br /&gt;
&lt;br /&gt;
Suche einen Lead über ein Extrafeld.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * fieldname(GET) - der Name des Extra-Feldes&lt;br /&gt;
 * fieldvalue(GET) - der zu suchende Wert&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: found|notfound&lt;br /&gt;
 * lead_data: json Objekt Array mit Lead-Daten&lt;br /&gt;
 * formdata: json Objekt mit Auftragsformular-Daten (Liste von Objekten - eins pro Formular-ID (GUID))&lt;br /&gt;
&lt;br /&gt;
=== getleadbycustomdata ===&lt;br /&gt;
&lt;br /&gt;
Sucht einen Lead über diverse kombinierbare Optionen und gibt die Lead-Details sowie das letzte Auftragsformular zurück.&lt;br /&gt;
Werden Mehrere Optionen Kombiniert müssen alle Optionen zutreffen.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * extleadid(GET,string) Sucht über die externe Lead-ID&lt;br /&gt;
 * extra_fieldname(GET,string|Array) Sucht über Extrafelder&lt;br /&gt;
 * number(GET) Sucht über die Telefonnummer&lt;br /&gt;
 * listid(GET,string|Array) Sucht über Listennummern&lt;br /&gt;
 * campaignID(GET,string) Sucht über die Kampagne&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: found|notfound&lt;br /&gt;
 * lead_data: json Objekt mit Lead-Daten&lt;br /&gt;
 * formdata: json Objekt mit Auftragsformular-Daten (Liste von Objekten - eins pro Formular-ID (GUID))&lt;br /&gt;
&lt;br /&gt;
=== addlist ===&lt;br /&gt;
&lt;br /&gt;
Füge eine Liste hinzu.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * campaignID (GET)&lt;br /&gt;
 * description (GET)&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: ok|error&lt;br /&gt;
 * listid: ID der erstellten Liste (nur bei ok)&lt;br /&gt;
 * reason: Fehlergrund (nur bei error)&lt;br /&gt;
&lt;br /&gt;
=== getlists ===&lt;br /&gt;
&lt;br /&gt;
Listet alle Listen auf.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * campaignID (GET,optional)&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * lists: Array aller Listen&lt;br /&gt;
&lt;br /&gt;
=== addlead ===&lt;br /&gt;
&lt;br /&gt;
Füge einen Lead hinzu.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * campaign_id (POST)&lt;br /&gt;
 * invalidcheck (POST) yes|no&lt;br /&gt;
 * doubletcheck_global (POST) yes|no&lt;br /&gt;
 * doubletcheck_campaign (POST) yes|no&lt;br /&gt;
 * list_id (POST)&lt;br /&gt;
 * country_phone_code (POST)&lt;br /&gt;
 * leaddata (POST, Array)&lt;br /&gt;
  * title&lt;br /&gt;
  * phone&lt;br /&gt;
  * alt_phone&lt;br /&gt;
  * first_name&lt;br /&gt;
  * last_name&lt;br /&gt;
  * birthdate&lt;br /&gt;
  * country&lt;br /&gt;
  * street&lt;br /&gt;
  * streetnr&lt;br /&gt;
  * addradd&lt;br /&gt;
  * plz&lt;br /&gt;
  * ort&lt;br /&gt;
  * notices&lt;br /&gt;
  * leadid_external&lt;br /&gt;
  * company_name&lt;br /&gt;
 * formfields (POST, Array)&lt;br /&gt;
  * (Auftragsformularfelder, frei)&lt;br /&gt;
  * Format: GUID_Feldname als Key (GUID ist Formular-ID)&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * lead_stats: json Objekt&lt;br /&gt;
  * success&lt;br /&gt;
  * error&lt;br /&gt;
  * sqlerror&lt;br /&gt;
  * formaterror&lt;br /&gt;
  * doubleterror&lt;br /&gt;
  * invaliderror&lt;br /&gt;
  * formaterror_types: json Objekt&lt;br /&gt;
   * (diverse)&lt;br /&gt;
&lt;br /&gt;
=== editlead ===&lt;br /&gt;
&lt;br /&gt;
Bearbeite einen Lead.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * campaign_id (GET)&lt;br /&gt;
 * leadid(GET)&lt;br /&gt;
 * leaddata (POST, Array)&lt;br /&gt;
  * title&lt;br /&gt;
  * phone&lt;br /&gt;
  * alt_phone&lt;br /&gt;
  * first_name&lt;br /&gt;
  * last_name&lt;br /&gt;
  * birthdate&lt;br /&gt;
  * country&lt;br /&gt;
  * street&lt;br /&gt;
  * streetnr&lt;br /&gt;
  * addradd&lt;br /&gt;
  * plz&lt;br /&gt;
  * ort&lt;br /&gt;
  * notices&lt;br /&gt;
  * leadid_external&lt;br /&gt;
  * company_name&lt;br /&gt;
  * rotation&lt;br /&gt;
  * status&lt;br /&gt;
 * GUID (GET)&lt;br /&gt;
 * formfields (POST, Array)&lt;br /&gt;
  * (Auftragsformularfelder, frei)&lt;br /&gt;
&lt;br /&gt;
Im leaddata Array können auch Alle Extrafelder über das Unterarray &amp;quot;extrafields&amp;quot; referenziert und Bearbeitet werden.&lt;br /&gt;
Die Array-Keys sind hierbei die Feldnamen.&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status ok|error&lt;br /&gt;
 * reason (Bei Fehlern) Fehlergrund&lt;br /&gt;
&lt;br /&gt;
=== getagentbyid ===&lt;br /&gt;
&lt;br /&gt;
Suche einen Agenten über seine ID und liefere seine Daten zurück.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * agentid (GET)&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: found|notfound&lt;br /&gt;
 * agent_info: json Objekt Array mit Agent-Daten&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== getlistbyid ===&lt;br /&gt;
&lt;br /&gt;
Suche eine Liste über ihre ID und liefere die Daten zurück.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * listid (GET)&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: found|notfound&lt;br /&gt;
 * list_info: json Objekt Array mit Listen-Daten&lt;br /&gt;
&lt;br /&gt;
=== getcallbacksbyleadid ===&lt;br /&gt;
&lt;br /&gt;
Suche Callbacks (Wiedervorlagen) für einen bestimmten Lead&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * leadid (GET)&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * callbacks: json Objekt Array mit Callback-Daten&lt;/div&gt;</summary>
		<author><name>Rath</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.mmdial.de/index.php?title=API&amp;diff=283</id>
		<title>API</title>
		<link rel="alternate" type="text/html" href="https://wiki.mmdial.de/index.php?title=API&amp;diff=283"/>
		<updated>2015-08-05T07:25:47Z</updated>

		<summary type="html">&lt;p&gt;Rath: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;mmDial bietet ein umfangreiches API zur Anbindung externer Software.&lt;br /&gt;
&lt;br /&gt;
Viele Schnittstellen sind bislang undokumentiert. Sollten Sie eine weitere Schnittstelle benötigen,&lt;br /&gt;
wenden Sie sich bitte an unseren Support!&lt;br /&gt;
Die API befindet sich nocht im Alpha-Stadium. Die Dokumentation kann fehlerhaft sein, und Schnittstellen können&lt;br /&gt;
sich jederzeit ändern!&lt;br /&gt;
&lt;br /&gt;
Sie können auf einfache Weise auch externe CRM-Systeme direkt in das Agenteninterface einbinden.&lt;br /&gt;
Verwenden Sie hierzu die &amp;quot;Kampagnen Module&amp;quot; zu finden unter Kampagnen -&amp;gt; Kampagne auswählen -&amp;gt; Kampagnen Module.&lt;br /&gt;
Eine kleine Erklärung und ein Beispielscript finden Sie unter [[Kampagnenverwaltung#Eigenes_Auftragsformular|Eigenes Auftrasformular]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Allgemeines ==&lt;br /&gt;
&lt;br /&gt;
 * Die mmDial API ist über http://login.mmdial.de/api/ zu erreichen.&lt;br /&gt;
 * Die API benutzt die Standard HTTP Authentication.&lt;br /&gt;
 * Als Benutzername wird ein Benutzer mit Adminrechten verwendet&lt;br /&gt;
 * Es werden je nach Funktion HTTP GET und HTTP POST Argumente übergeben&lt;br /&gt;
 * Rückmeldungen erfolgen in der Regel als json Objekt&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Funktionen ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== searchvoicebyleadid ===&lt;br /&gt;
&lt;br /&gt;
Sucht eine Voice-Aufnahme über die Lead-ID des Kunden.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * leadid (GET) - die zu suchende Lead-ID&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: ok|error&lt;br /&gt;
 * msg: (nur bei error)&lt;br /&gt;
 * voices: json Objekt:&lt;br /&gt;
  * recid: Aufnahme-ID&lt;br /&gt;
  * agentid: Agenten-ID&lt;br /&gt;
  * timestamp: Der Zeitstempel der Aufnahme&lt;br /&gt;
  * available: yes|no yes, wenn die Datei schon/noch abrufbar ist.&lt;br /&gt;
  * voiceid: Dateiinterne ID&lt;br /&gt;
  * url: Url um die Datei herunterzuladen.&lt;br /&gt;
  * length: Abspiellänge der Aufzeichnung&lt;br /&gt;
  * size: Größe der Aufzeichnung&lt;br /&gt;
&lt;br /&gt;
=== searchvoicebyphonenumber ===&lt;br /&gt;
&lt;br /&gt;
Sucht eine Voice-Aufnahme über die Telefonnummer des Kunden.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * phone(GET) - die zu suchende Telefonnummer&lt;br /&gt;
 * date (GET, optional) - Datum im Format YYYY-MM-DD&lt;br /&gt;
 * timestamp (GET, optional) - Timestamp im Format YYYMMDDHHIISS&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: ok|error&lt;br /&gt;
 * msg: (nur bei error)&lt;br /&gt;
 * voices: json Objekt:&lt;br /&gt;
  * recid: Aufnahme-ID&lt;br /&gt;
  * agentid: Agenten-ID&lt;br /&gt;
  * timestamp: Der Zeitstempel der Aufnahme&lt;br /&gt;
  * available: yes|no yes, wenn die Datei schon/noch abrufbar ist.&lt;br /&gt;
  * voiceid: Dateiinterne ID&lt;br /&gt;
  * url: Url um die Datei herunterzuladen.&lt;br /&gt;
  * length: Abspiellänge der Aufzeichnung&lt;br /&gt;
  * size: Größe der Aufzeichnung&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== searchvoicebyagent ===&lt;br /&gt;
&lt;br /&gt;
Sucht eine Voice-Aufnahme über die Agenten-ID.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * agentid(GET) - die zu Agenten-ID&lt;br /&gt;
 * date (GET, optional) - Datum im Format YYYY-MM-DD&lt;br /&gt;
 * timestamp (GET, optional) - Timestamp im Format YYYMMDDHHIISS&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: ok|error&lt;br /&gt;
 * msg: (nur bei error)&lt;br /&gt;
 * voices: json Objekt:&lt;br /&gt;
  * recid: Aufnahme-ID&lt;br /&gt;
  * agentid: Agenten-ID&lt;br /&gt;
  * timestamp: Der Zeitstempel der Aufnahme&lt;br /&gt;
  * available: yes|no yes, wenn die Datei schon/noch abrufbar ist.&lt;br /&gt;
  * voiceid: Dateiinterne ID&lt;br /&gt;
  * url: Url um die Datei herunterzuladen.&lt;br /&gt;
  * length: Abspiellänge der Aufzeichnung&lt;br /&gt;
  * size: Größe der Aufzeichnung&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== getfieldsbyguid===&lt;br /&gt;
&lt;br /&gt;
Gibt alle Auftragsformularfelder eines Auftragsformulars zurück.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * GUID (GET) - die Formular-ID&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * fields - json Objektliste:&lt;br /&gt;
  * name: Feldname&lt;br /&gt;
&lt;br /&gt;
=== getfieldsbycampaign===&lt;br /&gt;
&lt;br /&gt;
Gibt alle Auftragsformularfelder einer Kampagne zurück.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * campaign_id (GET) - die Kampagnen-ID&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * fields - json Objektliste:&lt;br /&gt;
  * name: Feldname&lt;br /&gt;
&lt;br /&gt;
=== exportbystatus ===&lt;br /&gt;
&lt;br /&gt;
Erstellt eine Exportdatei aus verschiedenen Kriterien als CSV.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * campaign_id (GET) - die Kampagnen-ID&lt;br /&gt;
 * status (GET Array, optional) - die zu Exportierenden Status&lt;br /&gt;
 * datetype: (GET, optional) last_phone|last_edit|imported_date (GET Array, optional)&lt;br /&gt;
 * fromdate: (GET, optional) Datum beginn: d.m.Y&lt;br /&gt;
 * fromtime: (GET, optional) Uhrzeit beginn: H:i:s&lt;br /&gt;
 * todate: (GET, optional) Datum ende: d.m.Y&lt;br /&gt;
 * totime: (GET, optional) Uhrzeit ende: H:i:s&lt;br /&gt;
 * 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_&lt;br /&gt;
 * encoding: (GET/POST, optional) Datei-Encoding (Standard: iso-8859-1) ISO-8859-1,Windows-1252,UTF-8&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: ok|error&lt;br /&gt;
 * file_id: Datei-ID&lt;br /&gt;
 * size: Datei-Größe&lt;br /&gt;
 * url: Datei-URL&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== dncadd ===&lt;br /&gt;
&lt;br /&gt;
Fügt eine oder mehrere Nummern der Sperrliste hinzu&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * number (GET (Optional: mehrere durch , getrennt))&lt;br /&gt;
 * reason (GET, Optional) Optionaler Grund&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: ok|error|doublet&lt;br /&gt;
 * message&lt;br /&gt;
&lt;br /&gt;
=== dncdel ===&lt;br /&gt;
&lt;br /&gt;
Löscht eine, oder mehrere Nummern aus der Sperrliste.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * number (GET (Optional: mehrere durch , getrennt))&lt;br /&gt;
 * reason (GET, Optional) Optionaler Grund&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: ok|error&lt;br /&gt;
 * message&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== dncget ===&lt;br /&gt;
&lt;br /&gt;
Gibt die Sperrliste als CSV Datei zurück&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
''keine''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
CSV-Datei mit allen gesperrten Rufnummern&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== dnccheck ===&lt;br /&gt;
&lt;br /&gt;
Sucht eine Nummer in der DNC-Liste&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * number (GET)&lt;br /&gt;
 * fuzzy: yes|no (GET, optional) Sucht auch nach Teilnummern.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: exists|notfound (bei fuzzy = no)&lt;br /&gt;
 * results: Liste mit passenden Telefonnummern (bei fuzzy = yes)&lt;br /&gt;
&lt;br /&gt;
=== camp_dncadd ===&lt;br /&gt;
&lt;br /&gt;
Fügt eine oder mehrere Nummern der Kampagnen-Sperrliste hinzu&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * number (GET (Optional: mehrere durch , getrennt))&lt;br /&gt;
 * campaignID (GET)&lt;br /&gt;
 * reason (GET, Optional) Optionaler Grund&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: ok|error|doublet&lt;br /&gt;
 * message&lt;br /&gt;
&lt;br /&gt;
=== camp_dncdel ===&lt;br /&gt;
&lt;br /&gt;
Löscht eine, oder mehrere Nummern aus der Kampagnen-Sperrliste.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * number (GET (Optional: mehrere durch , getrennt))&lt;br /&gt;
 * campaignID (GET)&lt;br /&gt;
 * reason (GET, Optional) Optionaler Grund&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: ok|error&lt;br /&gt;
 * message&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== camp_dncget ===&lt;br /&gt;
&lt;br /&gt;
Gibt die Kampagnen-Sperrliste als CSV Datei zurück&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * campaignID (GET)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
CSV-Datei mit allen gesperrten Rufnummern dieser Kampagne&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== camp_dnccheck ===&lt;br /&gt;
&lt;br /&gt;
Sucht eine Nummer in der Kampagnen DNC-Liste&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * number (GET)&lt;br /&gt;
 * fuzzy: yes|no (GET, optional) Sucht auch nach Teilnummern.&lt;br /&gt;
 * campaignID (GET)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: exists|notfound (bei fuzzy = no)&lt;br /&gt;
 * results: Liste mit passenden Telefonnummern (bei fuzzy = yes)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== getleadbyid ===&lt;br /&gt;
&lt;br /&gt;
Suche einen Lead über die LeadID und gibt die Lead-Details sowie das letzte Auftragsformular zurück.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * leadid(GET)&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: found|notfound&lt;br /&gt;
 * lead_data: json Objekt mit Lead-Daten&lt;br /&gt;
 * formdata: json Objekt mit Auftragsformular-Daten (Liste von Objekten - eins pro Formular-ID (GUID))&lt;br /&gt;
&lt;br /&gt;
=== getleadbyphonenumber ===&lt;br /&gt;
&lt;br /&gt;
Suche einen Lead über die Telefonnummer und gibt die Lead-Details sowie das letzte Auftragsformular zurück.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * number(GET)&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: found|notfound&lt;br /&gt;
 * lead_data: json Objekt Array mit Lead-Daten&lt;br /&gt;
 * formdata: json Objekt mit Auftragsformular-Daten (Liste von Objekten - eins pro Formular-ID (GUID))&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== getleadbyexternalid ===&lt;br /&gt;
&lt;br /&gt;
Suche einen Lead über die externe Lead-ID und gibt die Lead-Details sowie das letzte Auftragsformular zurück.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * leadid(GET)&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: found|notfound&lt;br /&gt;
 * lead_data: json Objekt Array mit Lead-Daten&lt;br /&gt;
 * formdata: json Objekt mit Auftragsformular-Daten (Liste von Objekten - eins pro Formular-ID (GUID))&lt;br /&gt;
&lt;br /&gt;
=== getleadbyextrafield ===&lt;br /&gt;
&lt;br /&gt;
Suche einen Lead über ein Extrafeld.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * fieldname(GET) - der Name des Extra-Feldes&lt;br /&gt;
 * fieldvalue(GET) - der zu suchende Wert&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: found|notfound&lt;br /&gt;
 * lead_data: json Objekt Array mit Lead-Daten&lt;br /&gt;
 * formdata: json Objekt mit Auftragsformular-Daten (Liste von Objekten - eins pro Formular-ID (GUID))&lt;br /&gt;
&lt;br /&gt;
=== getleadbycustomdata ===&lt;br /&gt;
&lt;br /&gt;
Sucht einen Lead über diverse kombinierbare Optionen und gibt die Lead-Details sowie das letzte Auftragsformular zurück.&lt;br /&gt;
Werden Mehrere Optionen Kombiniert müssen alle Optionen zutreffen.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * extleadid(GET,string) Sucht über die externe Lead-ID&lt;br /&gt;
 * extra_fieldname(GET,string|Array) Sucht über Extrafelder&lt;br /&gt;
 * number(GET) Sucht über die Telefonnummer&lt;br /&gt;
 * listid(GET,string|Array) Sucht über Listennummern&lt;br /&gt;
 * campaignID(GET,string) Sucht über die Kampagne&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: found|notfound&lt;br /&gt;
 * lead_data: json Objekt mit Lead-Daten&lt;br /&gt;
 * formdata: json Objekt mit Auftragsformular-Daten (Liste von Objekten - eins pro Formular-ID (GUID))&lt;br /&gt;
&lt;br /&gt;
=== addlist ===&lt;br /&gt;
&lt;br /&gt;
Füge eine Liste hinzu.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * campaignID (GET)&lt;br /&gt;
 * description (GET)&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: ok|error&lt;br /&gt;
 * listid: ID der erstellten Liste (nur bei ok)&lt;br /&gt;
 * reason: Fehlergrund (nur bei error)&lt;br /&gt;
&lt;br /&gt;
=== getlists ===&lt;br /&gt;
&lt;br /&gt;
Listet alle Listen auf.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * campaignID (GET,optional)&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * lists: Array aller Listen&lt;br /&gt;
&lt;br /&gt;
=== addlead ===&lt;br /&gt;
&lt;br /&gt;
Füge einen Lead hinzu.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * campaign_id (POST)&lt;br /&gt;
 * invalidcheck (POST) yes|no&lt;br /&gt;
 * doubletcheck_global (POST) yes|no&lt;br /&gt;
 * doubletcheck_campaign (POST) yes|no&lt;br /&gt;
 * list_id (POST)&lt;br /&gt;
 * country_phone_code (POST)&lt;br /&gt;
 * leaddata (POST, Array)&lt;br /&gt;
  * title&lt;br /&gt;
  * phone&lt;br /&gt;
  * alt_phone&lt;br /&gt;
  * first_name&lt;br /&gt;
  * last_name&lt;br /&gt;
  * birthdate&lt;br /&gt;
  * country&lt;br /&gt;
  * street&lt;br /&gt;
  * streetnr&lt;br /&gt;
  * addradd&lt;br /&gt;
  * plz&lt;br /&gt;
  * ort&lt;br /&gt;
  * notices&lt;br /&gt;
  * leadid_external&lt;br /&gt;
  * company_name&lt;br /&gt;
 * formfields (POST, Array)&lt;br /&gt;
  * (Auftragsformularfelder, frei)&lt;br /&gt;
  * Format: GUID_Feldname als Key (GUID ist Formular-ID)&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * lead_stats: json Objekt&lt;br /&gt;
  * success&lt;br /&gt;
  * error&lt;br /&gt;
  * sqlerror&lt;br /&gt;
  * formaterror&lt;br /&gt;
  * doubleterror&lt;br /&gt;
  * invaliderror&lt;br /&gt;
  * formaterror_types: json Objekt&lt;br /&gt;
   * (diverse)&lt;br /&gt;
&lt;br /&gt;
=== editlead ===&lt;br /&gt;
&lt;br /&gt;
Bearbeite einen Lead.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * campaign_id (GET)&lt;br /&gt;
 * leadid(GET)&lt;br /&gt;
 * leaddata (POST, Array)&lt;br /&gt;
  * title&lt;br /&gt;
  * phone&lt;br /&gt;
  * alt_phone&lt;br /&gt;
  * first_name&lt;br /&gt;
  * last_name&lt;br /&gt;
  * birthdate&lt;br /&gt;
  * country&lt;br /&gt;
  * street&lt;br /&gt;
  * streetnr&lt;br /&gt;
  * addradd&lt;br /&gt;
  * plz&lt;br /&gt;
  * ort&lt;br /&gt;
  * notices&lt;br /&gt;
  * leadid_external&lt;br /&gt;
  * company_name&lt;br /&gt;
  * rotation&lt;br /&gt;
  * status&lt;br /&gt;
 * formfields (POST, Array)&lt;br /&gt;
  * (Auftragsformularfelder, frei)&lt;br /&gt;
&lt;br /&gt;
Im leaddata Array können auch Alle Extrafelder über das Unterarray &amp;quot;extrafields&amp;quot; referenziert und Bearbeitet werden.&lt;br /&gt;
Die Array-Keys sind hierbei die Feldnamen.&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status ok|error&lt;br /&gt;
 * reason (Bei Fehlern) Fehlergrund&lt;br /&gt;
 &lt;br /&gt;
=== getagentbyid ===&lt;br /&gt;
&lt;br /&gt;
Suche einen Agenten über seine ID und liefere seine Daten zurück.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * agentid (GET)&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: found|notfound&lt;br /&gt;
 * agent_info: json Objekt Array mit Agent-Daten&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== getlistbyid ===&lt;br /&gt;
&lt;br /&gt;
Suche eine Liste über ihre ID und liefere die Daten zurück.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * listid (GET)&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: found|notfound&lt;br /&gt;
 * list_info: json Objekt Array mit Listen-Daten&lt;br /&gt;
&lt;br /&gt;
=== getcallbacksbyleadid ===&lt;br /&gt;
&lt;br /&gt;
Suche Callbacks (Wiedervorlagen) für einen bestimmten Lead&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * leadid (GET)&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * callbacks: json Objekt Array mit Callback-Daten&lt;/div&gt;</summary>
		<author><name>Rath</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.mmdial.de/index.php?title=API&amp;diff=282</id>
		<title>API</title>
		<link rel="alternate" type="text/html" href="https://wiki.mmdial.de/index.php?title=API&amp;diff=282"/>
		<updated>2015-07-31T09:46:29Z</updated>

		<summary type="html">&lt;p&gt;Rath: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;mmDial bietet ein umfangreiches API zur Anbindung externer Software.&lt;br /&gt;
&lt;br /&gt;
Viele Schnittstellen sind bislang undokumentiert. Sollten Sie eine weitere Schnittstelle benötigen,&lt;br /&gt;
wenden Sie sich bitte an unseren Support!&lt;br /&gt;
Die API befindet sich nocht im Alpha-Stadium. Die Dokumentation kann fehlerhaft sein, und Schnittstellen können&lt;br /&gt;
sich jederzeit ändern!&lt;br /&gt;
&lt;br /&gt;
Sie können auf einfache Weise auch externe CRM-Systeme direkt in das Agenteninterface einbinden.&lt;br /&gt;
Verwenden Sie hierzu die &amp;quot;Kampagnen Module&amp;quot; zu finden unter Kampagnen -&amp;gt; Kampagne auswählen -&amp;gt; Kampagnen Module.&lt;br /&gt;
Eine kleine Erklärung und ein Beispielscript finden Sie unter [[Kampagnenverwaltung#Eigenes_Auftragsformular|Eigenes Auftrasformular]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Allgemeines ==&lt;br /&gt;
&lt;br /&gt;
 * Die mmDial API ist über http://login.mmdial.de/api/ zu erreichen.&lt;br /&gt;
 * Die API benutzt die Standard HTTP Authentication.&lt;br /&gt;
 * Als Benutzername wird ein Benutzer mit Adminrechten verwendet&lt;br /&gt;
 * Es werden je nach Funktion HTTP GET und HTTP POST Argumente übergeben&lt;br /&gt;
 * Rückmeldungen erfolgen in der Regel als json Objekt&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Funktionen ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== searchvoicebyleadid ===&lt;br /&gt;
&lt;br /&gt;
Sucht eine Voice-Aufnahme über die Lead-ID des Kunden.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * leadid (GET) - die zu suchende Lead-ID&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: ok|error&lt;br /&gt;
 * msg: (nur bei error)&lt;br /&gt;
 * voices: json Objekt:&lt;br /&gt;
  * recid: Aufnahme-ID&lt;br /&gt;
  * agentid: Agenten-ID&lt;br /&gt;
  * timestamp: Der Zeitstempel der Aufnahme&lt;br /&gt;
  * available: yes|no yes, wenn die Datei schon/noch abrufbar ist.&lt;br /&gt;
  * voiceid: Dateiinterne ID&lt;br /&gt;
  * url: Url um die Datei herunterzuladen.&lt;br /&gt;
  * length: Abspiellänge der Aufzeichnung&lt;br /&gt;
  * size: Größe der Aufzeichnung&lt;br /&gt;
&lt;br /&gt;
=== searchvoicebyphonenumber ===&lt;br /&gt;
&lt;br /&gt;
Sucht eine Voice-Aufnahme über die Telefonnummer des Kunden.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * phone(GET) - die zu suchende Telefonnummer&lt;br /&gt;
 * date (GET, optional) - Datum im Format YYYY-MM-DD&lt;br /&gt;
 * timestamp (GET, optional) - Timestamp im Format YYYMMDDHHIISS&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: ok|error&lt;br /&gt;
 * msg: (nur bei error)&lt;br /&gt;
 * voices: json Objekt:&lt;br /&gt;
  * recid: Aufnahme-ID&lt;br /&gt;
  * agentid: Agenten-ID&lt;br /&gt;
  * timestamp: Der Zeitstempel der Aufnahme&lt;br /&gt;
  * available: yes|no yes, wenn die Datei schon/noch abrufbar ist.&lt;br /&gt;
  * voiceid: Dateiinterne ID&lt;br /&gt;
  * url: Url um die Datei herunterzuladen.&lt;br /&gt;
  * length: Abspiellänge der Aufzeichnung&lt;br /&gt;
  * size: Größe der Aufzeichnung&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== searchvoicebyagent ===&lt;br /&gt;
&lt;br /&gt;
Sucht eine Voice-Aufnahme über die Agenten-ID.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * agentid(GET) - die zu Agenten-ID&lt;br /&gt;
 * date (GET, optional) - Datum im Format YYYY-MM-DD&lt;br /&gt;
 * timestamp (GET, optional) - Timestamp im Format YYYMMDDHHIISS&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: ok|error&lt;br /&gt;
 * msg: (nur bei error)&lt;br /&gt;
 * voices: json Objekt:&lt;br /&gt;
  * recid: Aufnahme-ID&lt;br /&gt;
  * agentid: Agenten-ID&lt;br /&gt;
  * timestamp: Der Zeitstempel der Aufnahme&lt;br /&gt;
  * available: yes|no yes, wenn die Datei schon/noch abrufbar ist.&lt;br /&gt;
  * voiceid: Dateiinterne ID&lt;br /&gt;
  * url: Url um die Datei herunterzuladen.&lt;br /&gt;
  * length: Abspiellänge der Aufzeichnung&lt;br /&gt;
  * size: Größe der Aufzeichnung&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== getfieldsbyguid===&lt;br /&gt;
&lt;br /&gt;
Gibt alle Auftragsformularfelder eines Auftragsformulars zurück.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * GUID (GET) - die Formular-ID&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * fields - json Objektliste:&lt;br /&gt;
  * name: Feldname&lt;br /&gt;
&lt;br /&gt;
=== getfieldsbycampaign===&lt;br /&gt;
&lt;br /&gt;
Gibt alle Auftragsformularfelder einer Kampagne zurück.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * campaign_id (GET) - die Kampagnen-ID&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * fields - json Objektliste:&lt;br /&gt;
  * name: Feldname&lt;br /&gt;
&lt;br /&gt;
=== exportbystatus ===&lt;br /&gt;
&lt;br /&gt;
Erstellt eine Exportdatei aus verschiedenen Kriterien als CSV.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * campaign_id (GET) - die Kampagnen-ID&lt;br /&gt;
 * status (GET Array, optional) - die zu Exportierenden Status&lt;br /&gt;
 * datetype: (GET, optional) last_phone|last_edit|imported_date (GET Array, optional)&lt;br /&gt;
 * fromdate: (GET, optional) Datum beginn: d.m.Y&lt;br /&gt;
 * fromtime: (GET, optional) Uhrzeit beginn: H:i:s&lt;br /&gt;
 * todate: (GET, optional) Datum ende: d.m.Y&lt;br /&gt;
 * totime: (GET, optional) Uhrzeit ende: H:i:s&lt;br /&gt;
 * 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_&lt;br /&gt;
 * encoding: (GET/POST, optional) Datei-Encoding (Standard: iso-8859-1) ISO-8859-1,Windows-1252,UTF-8&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: ok|error&lt;br /&gt;
 * file_id: Datei-ID&lt;br /&gt;
 * size: Datei-Größe&lt;br /&gt;
 * url: Datei-URL&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== dncadd ===&lt;br /&gt;
&lt;br /&gt;
Fügt eine oder mehrere Nummern der Sperrliste hinzu&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * number (GET (Optional: mehrere durch , getrennt))&lt;br /&gt;
 * reason (GET, Optional) Optionaler Grund&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: ok|error|doublet&lt;br /&gt;
 * message&lt;br /&gt;
&lt;br /&gt;
=== dncdel ===&lt;br /&gt;
&lt;br /&gt;
Löscht eine, oder mehrere Nummern aus der Sperrliste.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * number (GET (Optional: mehrere durch , getrennt))&lt;br /&gt;
 * reason (GET, Optional) Optionaler Grund&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: ok|error&lt;br /&gt;
 * message&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== dncget ===&lt;br /&gt;
&lt;br /&gt;
Gibt die Sperrliste als CSV Datei zurück&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
''keine''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
CSV-Datei mit allen gesperrten Rufnummern&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== dnccheck ===&lt;br /&gt;
&lt;br /&gt;
Sucht eine Nummer in der DNC-Liste&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * number (GET)&lt;br /&gt;
 * fuzzy: yes|no (GET, optional) Sucht auch nach Teilnummern.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: exists|notfound (bei fuzzy = no)&lt;br /&gt;
 * results: Liste mit passenden Telefonnummern (bei fuzzy = yes)&lt;br /&gt;
&lt;br /&gt;
=== camp_dncadd ===&lt;br /&gt;
&lt;br /&gt;
Fügt eine oder mehrere Nummern der Kampagnen-Sperrliste hinzu&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * number (GET (Optional: mehrere durch , getrennt))&lt;br /&gt;
 * campaignID (GET)&lt;br /&gt;
 * reason (GET, Optional) Optionaler Grund&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: ok|error|doublet&lt;br /&gt;
 * message&lt;br /&gt;
&lt;br /&gt;
=== camp_dncdel ===&lt;br /&gt;
&lt;br /&gt;
Löscht eine, oder mehrere Nummern aus der Kampagnen-Sperrliste.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * number (GET (Optional: mehrere durch , getrennt))&lt;br /&gt;
 * campaignID (GET)&lt;br /&gt;
 * reason (GET, Optional) Optionaler Grund&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: ok|error&lt;br /&gt;
 * message&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== camp_dncget ===&lt;br /&gt;
&lt;br /&gt;
Gibt die Kampagnen-Sperrliste als CSV Datei zurück&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * campaignID (GET)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
CSV-Datei mit allen gesperrten Rufnummern dieser Kampagne&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== camp_dnccheck ===&lt;br /&gt;
&lt;br /&gt;
Sucht eine Nummer in der Kampagnen DNC-Liste&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * number (GET)&lt;br /&gt;
 * fuzzy: yes|no (GET, optional) Sucht auch nach Teilnummern.&lt;br /&gt;
 * campaignID (GET)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: exists|notfound (bei fuzzy = no)&lt;br /&gt;
 * results: Liste mit passenden Telefonnummern (bei fuzzy = yes)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== getleadbyid ===&lt;br /&gt;
&lt;br /&gt;
Suche einen Lead über die LeadID und gibt die Lead-Details sowie das letzte Auftragsformular zurück.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * leadid(GET)&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: found|notfound&lt;br /&gt;
 * lead_data: json Objekt mit Lead-Daten&lt;br /&gt;
 * formdata: json Objekt mit Auftragsformular-Daten (Liste von Objekten - eins pro Formular-ID (GUID))&lt;br /&gt;
&lt;br /&gt;
=== getleadbyphonenumber ===&lt;br /&gt;
&lt;br /&gt;
Suche einen Lead über die Telefonnummer und gibt die Lead-Details sowie das letzte Auftragsformular zurück.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * number(GET)&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: found|notfound&lt;br /&gt;
 * lead_data: json Objekt Array mit Lead-Daten&lt;br /&gt;
 * formdata: json Objekt mit Auftragsformular-Daten (Liste von Objekten - eins pro Formular-ID (GUID))&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== getleadbyexternalid ===&lt;br /&gt;
&lt;br /&gt;
Suche einen Lead über die externe Lead-ID und gibt die Lead-Details sowie das letzte Auftragsformular zurück.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * leadid(GET)&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: found|notfound&lt;br /&gt;
 * lead_data: json Objekt Array mit Lead-Daten&lt;br /&gt;
 * formdata: json Objekt mit Auftragsformular-Daten (Liste von Objekten - eins pro Formular-ID (GUID))&lt;br /&gt;
&lt;br /&gt;
=== getleadbyextrafield ===&lt;br /&gt;
&lt;br /&gt;
Suche einen Lead über ein Extrafeld.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * fieldname(GET) - der Name des Extra-Feldes&lt;br /&gt;
 * fieldvalue(GET) - der zu suchende Wert&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: found|notfound&lt;br /&gt;
 * lead_data: json Objekt Array mit Lead-Daten&lt;br /&gt;
 * formdata: json Objekt mit Auftragsformular-Daten (Liste von Objekten - eins pro Formular-ID (GUID))&lt;br /&gt;
&lt;br /&gt;
=== getleadbycustomdata ===&lt;br /&gt;
&lt;br /&gt;
Sucht einen Lead über diverse kombinierbare Optionen und gibt die Lead-Details sowie das letzte Auftragsformular zurück.&lt;br /&gt;
Werden Mehrere Optionen Kombiniert müssen alle Optionen zutreffen.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * extleadid(GET,string) Sucht über die externe Lead-ID&lt;br /&gt;
 * extra_fieldname(GET,string|Array) Sucht über Extrafelder&lt;br /&gt;
 * number(GET) Sucht über die Telefonnummer&lt;br /&gt;
 * listid(GET,string|Array) Sucht über Listennummern&lt;br /&gt;
 * campaignID(GET,string) Sucht über die Kampagne&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: found|notfound&lt;br /&gt;
 * lead_data: json Objekt mit Lead-Daten&lt;br /&gt;
 * formdata: json Objekt mit Auftragsformular-Daten (Liste von Objekten - eins pro Formular-ID (GUID))&lt;br /&gt;
&lt;br /&gt;
=== addlist ===&lt;br /&gt;
&lt;br /&gt;
Füge eine Liste hinzu.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * campaignID (GET)&lt;br /&gt;
 * description (GET)&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: ok|error&lt;br /&gt;
 * listid: ID der erstellten Liste (nur bei ok)&lt;br /&gt;
 * reason: Fehlergrund (nur bei error)&lt;br /&gt;
&lt;br /&gt;
=== getlists ===&lt;br /&gt;
&lt;br /&gt;
Listet alle Listen auf.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * campaignID (GET,optional)&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * lists: Array aller Listen&lt;br /&gt;
&lt;br /&gt;
=== addlead ===&lt;br /&gt;
&lt;br /&gt;
Füge einen Lead hinzu.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * campaign_id (POST)&lt;br /&gt;
 * invalidcheck (POST) yes|no&lt;br /&gt;
 * doubletcheck_global (POST) yes|no&lt;br /&gt;
 * doubletcheck_campaign (POST) yes|no&lt;br /&gt;
 * list_id (POST)&lt;br /&gt;
 * country_phone_code (POST)&lt;br /&gt;
 * leaddata (POST, Array)&lt;br /&gt;
  * title&lt;br /&gt;
  * phone&lt;br /&gt;
  * alt_phone&lt;br /&gt;
  * first_name&lt;br /&gt;
  * last_name&lt;br /&gt;
  * birthdate&lt;br /&gt;
  * country&lt;br /&gt;
  * street&lt;br /&gt;
  * streetnr&lt;br /&gt;
  * addradd&lt;br /&gt;
  * plz&lt;br /&gt;
  * ort&lt;br /&gt;
  * notices&lt;br /&gt;
  * leadid_external&lt;br /&gt;
  * company_name&lt;br /&gt;
 * formfields (POST, Array)&lt;br /&gt;
  * (Auftragsformularfelder, frei)&lt;br /&gt;
  * Format: GUID_Feldname als Key (GUID ist Formular-ID)&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * lead_stats: json Objekt&lt;br /&gt;
  * success&lt;br /&gt;
  * error&lt;br /&gt;
  * sqlerror&lt;br /&gt;
  * formaterror&lt;br /&gt;
  * doubleterror&lt;br /&gt;
  * invaliderror&lt;br /&gt;
  * formaterror_types: json Objekt&lt;br /&gt;
   * (diverse)&lt;br /&gt;
&lt;br /&gt;
=== editlead ===&lt;br /&gt;
&lt;br /&gt;
Bearbeite einen Lead.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * campaign_id (GET)&lt;br /&gt;
 * leadid(GET)&lt;br /&gt;
 * leaddata (POST, Array)&lt;br /&gt;
  * title&lt;br /&gt;
  * phone&lt;br /&gt;
  * alt_phone&lt;br /&gt;
  * first_name&lt;br /&gt;
  * last_name&lt;br /&gt;
  * birthdate&lt;br /&gt;
  * country&lt;br /&gt;
  * street&lt;br /&gt;
  * streetnr&lt;br /&gt;
  * addradd&lt;br /&gt;
  * plz&lt;br /&gt;
  * ort&lt;br /&gt;
  * notices&lt;br /&gt;
  * leadid_external&lt;br /&gt;
  * company_name&lt;br /&gt;
  * rotation&lt;br /&gt;
  * status&lt;br /&gt;
 * formfields (POST, Array)&lt;br /&gt;
  * (Auftragsformularfelder, frei)&lt;br /&gt;
&lt;br /&gt;
Im leaddata Array können auch Alle Extrafelder über das Unterarray &amp;quot;extrafields&amp;quot; referenziert und Bearbeitet werden.&lt;br /&gt;
Die Array-Keys sind hierbei die Feldnamen.&lt;br /&gt;
 &lt;br /&gt;
=== getagentbyid ===&lt;br /&gt;
&lt;br /&gt;
Suche einen Agenten über seine ID und liefere seine Daten zurück.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * agentid (GET)&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: found|notfound&lt;br /&gt;
 * agent_info: json Objekt Array mit Agent-Daten&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status ok|error&lt;br /&gt;
 * reason (Bei Fehlern) Fehlergrund&lt;br /&gt;
&lt;br /&gt;
=== getlistbyid===&lt;br /&gt;
&lt;br /&gt;
Suche eine Liste über ihre ID und liefere die Daten zurück.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * listid (GET)&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: found|notfound&lt;br /&gt;
 * list_info: json Objekt Array mit Listen-Daten&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status ok|error&lt;br /&gt;
 * reason (Bei Fehlern) Fehlergrund&lt;/div&gt;</summary>
		<author><name>Rath</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.mmdial.de/index.php?title=API&amp;diff=281</id>
		<title>API</title>
		<link rel="alternate" type="text/html" href="https://wiki.mmdial.de/index.php?title=API&amp;diff=281"/>
		<updated>2015-07-31T08:30:09Z</updated>

		<summary type="html">&lt;p&gt;Rath: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;mmDial bietet ein umfangreiches API zur Anbindung externer Software.&lt;br /&gt;
&lt;br /&gt;
Viele Schnittstellen sind bislang undokumentiert. Sollten Sie eine weitere Schnittstelle benötigen,&lt;br /&gt;
wenden Sie sich bitte an unseren Support!&lt;br /&gt;
Die API befindet sich nocht im Alpha-Stadium. Die Dokumentation kann fehlerhaft sein, und Schnittstellen können&lt;br /&gt;
sich jederzeit ändern!&lt;br /&gt;
&lt;br /&gt;
Sie können auf einfache Weise auch externe CRM-Systeme direkt in das Agenteninterface einbinden.&lt;br /&gt;
Verwenden Sie hierzu die &amp;quot;Kampagnen Module&amp;quot; zu finden unter Kampagnen -&amp;gt; Kampagne auswählen -&amp;gt; Kampagnen Module.&lt;br /&gt;
Eine kleine Erklärung und ein Beispielscript finden Sie unter [[Kampagnenverwaltung#Eigenes_Auftragsformular|Eigenes Auftrasformular]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Allgemeines ==&lt;br /&gt;
&lt;br /&gt;
 * Die mmDial API ist über http://login.mmdial.de/api/ zu erreichen.&lt;br /&gt;
 * Die API benutzt die Standard HTTP Authentication.&lt;br /&gt;
 * Als Benutzername wird ein Benutzer mit Adminrechten verwendet&lt;br /&gt;
 * Es werden je nach Funktion HTTP GET und HTTP POST Argumente übergeben&lt;br /&gt;
 * Rückmeldungen erfolgen in der Regel als json Objekt&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Funktionen ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== searchvoicebyleadid ===&lt;br /&gt;
&lt;br /&gt;
Sucht eine Voice-Aufnahme über die Lead-ID des Kunden.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * leadid (GET) - die zu suchende Lead-ID&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: ok|error&lt;br /&gt;
 * msg: (nur bei error)&lt;br /&gt;
 * voices: json Objekt:&lt;br /&gt;
  * recid: Aufnahme-ID&lt;br /&gt;
  * agentid: Agenten-ID&lt;br /&gt;
  * timestamp: Der Zeitstempel der Aufnahme&lt;br /&gt;
  * available: yes|no yes, wenn die Datei schon/noch abrufbar ist.&lt;br /&gt;
  * voiceid: Dateiinterne ID&lt;br /&gt;
  * url: Url um die Datei herunterzuladen.&lt;br /&gt;
  * length: Abspiellänge der Aufzeichnung&lt;br /&gt;
  * size: Größe der Aufzeichnung&lt;br /&gt;
&lt;br /&gt;
=== searchvoicebyphonenumber ===&lt;br /&gt;
&lt;br /&gt;
Sucht eine Voice-Aufnahme über die Telefonnummer des Kunden.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * phone(GET) - die zu suchende Telefonnummer&lt;br /&gt;
 * date (GET, optional) - Datum im Format YYYY-MM-DD&lt;br /&gt;
 * timestamp (GET, optional) - Timestamp im Format YYYMMDDHHIISS&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: ok|error&lt;br /&gt;
 * msg: (nur bei error)&lt;br /&gt;
 * voices: json Objekt:&lt;br /&gt;
  * recid: Aufnahme-ID&lt;br /&gt;
  * agentid: Agenten-ID&lt;br /&gt;
  * timestamp: Der Zeitstempel der Aufnahme&lt;br /&gt;
  * available: yes|no yes, wenn die Datei schon/noch abrufbar ist.&lt;br /&gt;
  * voiceid: Dateiinterne ID&lt;br /&gt;
  * url: Url um die Datei herunterzuladen.&lt;br /&gt;
  * length: Abspiellänge der Aufzeichnung&lt;br /&gt;
  * size: Größe der Aufzeichnung&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== searchvoicebyagent ===&lt;br /&gt;
&lt;br /&gt;
Sucht eine Voice-Aufnahme über die Agenten-ID.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * agentid(GET) - die zu Agenten-ID&lt;br /&gt;
 * date (GET, optional) - Datum im Format YYYY-MM-DD&lt;br /&gt;
 * timestamp (GET, optional) - Timestamp im Format YYYMMDDHHIISS&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: ok|error&lt;br /&gt;
 * msg: (nur bei error)&lt;br /&gt;
 * voices: json Objekt:&lt;br /&gt;
  * recid: Aufnahme-ID&lt;br /&gt;
  * agentid: Agenten-ID&lt;br /&gt;
  * timestamp: Der Zeitstempel der Aufnahme&lt;br /&gt;
  * available: yes|no yes, wenn die Datei schon/noch abrufbar ist.&lt;br /&gt;
  * voiceid: Dateiinterne ID&lt;br /&gt;
  * url: Url um die Datei herunterzuladen.&lt;br /&gt;
  * length: Abspiellänge der Aufzeichnung&lt;br /&gt;
  * size: Größe der Aufzeichnung&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== getfieldsbyguid===&lt;br /&gt;
&lt;br /&gt;
Gibt alle Auftragsformularfelder eines Auftragsformulars zurück.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * GUID (GET) - die Formular-ID&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * fields - json Objektliste:&lt;br /&gt;
  * name: Feldname&lt;br /&gt;
&lt;br /&gt;
=== getfieldsbycampaign===&lt;br /&gt;
&lt;br /&gt;
Gibt alle Auftragsformularfelder einer Kampagne zurück.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * campaign_id (GET) - die Kampagnen-ID&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * fields - json Objektliste:&lt;br /&gt;
  * name: Feldname&lt;br /&gt;
&lt;br /&gt;
=== exportbystatus ===&lt;br /&gt;
&lt;br /&gt;
Erstellt eine Exportdatei aus verschiedenen Kriterien als CSV.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * campaign_id (GET) - die Kampagnen-ID&lt;br /&gt;
 * status (GET Array, optional) - die zu Exportierenden Status&lt;br /&gt;
 * datetype: (GET, optional) last_phone|last_edit|imported_date (GET Array, optional)&lt;br /&gt;
 * fromdate: (GET, optional) Datum beginn: d.m.Y&lt;br /&gt;
 * fromtime: (GET, optional) Uhrzeit beginn: H:i:s&lt;br /&gt;
 * todate: (GET, optional) Datum ende: d.m.Y&lt;br /&gt;
 * totime: (GET, optional) Uhrzeit ende: H:i:s&lt;br /&gt;
 * 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_&lt;br /&gt;
 * encoding: (GET/POST, optional) Datei-Encoding (Standard: iso-8859-1) ISO-8859-1,Windows-1252,UTF-8&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: ok|error&lt;br /&gt;
 * file_id: Datei-ID&lt;br /&gt;
 * size: Datei-Größe&lt;br /&gt;
 * url: Datei-URL&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== dncadd ===&lt;br /&gt;
&lt;br /&gt;
Fügt eine oder mehrere Nummern der Sperrliste hinzu&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * number (GET (Optional: mehrere durch , getrennt))&lt;br /&gt;
 * reason (GET, Optional) Optionaler Grund&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: ok|error|doublet&lt;br /&gt;
 * message&lt;br /&gt;
&lt;br /&gt;
=== dncdel ===&lt;br /&gt;
&lt;br /&gt;
Löscht eine, oder mehrere Nummern aus der Sperrliste.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * number (GET (Optional: mehrere durch , getrennt))&lt;br /&gt;
 * reason (GET, Optional) Optionaler Grund&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: ok|error&lt;br /&gt;
 * message&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== dncget ===&lt;br /&gt;
&lt;br /&gt;
Gibt die Sperrliste als CSV Datei zurück&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
''keine''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
CSV-Datei mit allen gesperrten Rufnummern&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== dnccheck ===&lt;br /&gt;
&lt;br /&gt;
Sucht eine Nummer in der DNC-Liste&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * number (GET)&lt;br /&gt;
 * fuzzy: yes|no (GET, optional) Sucht auch nach Teilnummern.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: exists|notfound (bei fuzzy = no)&lt;br /&gt;
 * results: Liste mit passenden Telefonnummern (bei fuzzy = yes)&lt;br /&gt;
&lt;br /&gt;
=== camp_dncadd ===&lt;br /&gt;
&lt;br /&gt;
Fügt eine oder mehrere Nummern der Kampagnen-Sperrliste hinzu&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * number (GET (Optional: mehrere durch , getrennt))&lt;br /&gt;
 * campaignID (GET)&lt;br /&gt;
 * reason (GET, Optional) Optionaler Grund&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: ok|error|doublet&lt;br /&gt;
 * message&lt;br /&gt;
&lt;br /&gt;
=== camp_dncdel ===&lt;br /&gt;
&lt;br /&gt;
Löscht eine, oder mehrere Nummern aus der Kampagnen-Sperrliste.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * number (GET (Optional: mehrere durch , getrennt))&lt;br /&gt;
 * campaignID (GET)&lt;br /&gt;
 * reason (GET, Optional) Optionaler Grund&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: ok|error&lt;br /&gt;
 * message&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== camp_dncget ===&lt;br /&gt;
&lt;br /&gt;
Gibt die Kampagnen-Sperrliste als CSV Datei zurück&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * campaignID (GET)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
CSV-Datei mit allen gesperrten Rufnummern dieser Kampagne&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== camp_dnccheck ===&lt;br /&gt;
&lt;br /&gt;
Sucht eine Nummer in der Kampagnen DNC-Liste&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * number (GET)&lt;br /&gt;
 * fuzzy: yes|no (GET, optional) Sucht auch nach Teilnummern.&lt;br /&gt;
 * campaignID (GET)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: exists|notfound (bei fuzzy = no)&lt;br /&gt;
 * results: Liste mit passenden Telefonnummern (bei fuzzy = yes)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== getleadbyid ===&lt;br /&gt;
&lt;br /&gt;
Suche einen Lead über die LeadID und gibt die Lead-Details sowie das letzte Auftragsformular zurück.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * leadid(GET)&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: found|notfound&lt;br /&gt;
 * lead_data: json Objekt mit Lead-Daten&lt;br /&gt;
 * formdata: json Objekt mit Auftragsformular-Daten (Liste von Objekten - eins pro Formular-ID (GUID))&lt;br /&gt;
&lt;br /&gt;
=== getleadbyphonenumber ===&lt;br /&gt;
&lt;br /&gt;
Suche einen Lead über die Telefonnummer und gibt die Lead-Details sowie das letzte Auftragsformular zurück.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * number(GET)&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: found|notfound&lt;br /&gt;
 * lead_data: json Objekt Array mit Lead-Daten&lt;br /&gt;
 * formdata: json Objekt mit Auftragsformular-Daten (Liste von Objekten - eins pro Formular-ID (GUID))&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== getleadbyexternalid ===&lt;br /&gt;
&lt;br /&gt;
Suche einen Lead über die externe Lead-ID und gibt die Lead-Details sowie das letzte Auftragsformular zurück.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * leadid(GET)&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: found|notfound&lt;br /&gt;
 * lead_data: json Objekt Array mit Lead-Daten&lt;br /&gt;
 * formdata: json Objekt mit Auftragsformular-Daten (Liste von Objekten - eins pro Formular-ID (GUID))&lt;br /&gt;
&lt;br /&gt;
=== getleadbyextrafield ===&lt;br /&gt;
&lt;br /&gt;
Suche einen Lead über ein Extrafeld.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * fieldname(GET) - der Name des Extra-Feldes&lt;br /&gt;
 * fieldvalue(GET) - der zu suchende Wert&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: found|notfound&lt;br /&gt;
 * lead_data: json Objekt Array mit Lead-Daten&lt;br /&gt;
 * formdata: json Objekt mit Auftragsformular-Daten (Liste von Objekten - eins pro Formular-ID (GUID))&lt;br /&gt;
&lt;br /&gt;
=== getleadbycustomdata ===&lt;br /&gt;
&lt;br /&gt;
Sucht einen Lead über diverse kombinierbare Optionen und gibt die Lead-Details sowie das letzte Auftragsformular zurück.&lt;br /&gt;
Werden Mehrere Optionen Kombiniert müssen alle Optionen zutreffen.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * extleadid(GET,string) Sucht über die externe Lead-ID&lt;br /&gt;
 * extra_fieldname(GET,string|Array) Sucht über Extrafelder&lt;br /&gt;
 * number(GET) Sucht über die Telefonnummer&lt;br /&gt;
 * listid(GET,string|Array) Sucht über Listennummern&lt;br /&gt;
 * campaignID(GET,string) Sucht über die Kampagne&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: found|notfound&lt;br /&gt;
 * lead_data: json Objekt mit Lead-Daten&lt;br /&gt;
 * formdata: json Objekt mit Auftragsformular-Daten (Liste von Objekten - eins pro Formular-ID (GUID))&lt;br /&gt;
&lt;br /&gt;
=== addlist ===&lt;br /&gt;
&lt;br /&gt;
Füge eine Liste hinzu.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * campaignID (GET)&lt;br /&gt;
 * description (GET)&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: ok|error&lt;br /&gt;
 * listid: ID der erstellten Liste (nur bei ok)&lt;br /&gt;
 * reason: Fehlergrund (nur bei error)&lt;br /&gt;
&lt;br /&gt;
=== getlists ===&lt;br /&gt;
&lt;br /&gt;
Listet alle Listen auf.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * campaignID (GET,optional)&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * lists: Array aller Listen&lt;br /&gt;
&lt;br /&gt;
=== addlead ===&lt;br /&gt;
&lt;br /&gt;
Füge einen Lead hinzu.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * campaign_id (POST)&lt;br /&gt;
 * invalidcheck (POST) yes|no&lt;br /&gt;
 * doubletcheck_global (POST) yes|no&lt;br /&gt;
 * doubletcheck_campaign (POST) yes|no&lt;br /&gt;
 * list_id (POST)&lt;br /&gt;
 * country_phone_code (POST)&lt;br /&gt;
 * leaddata (POST, Array)&lt;br /&gt;
  * title&lt;br /&gt;
  * phone&lt;br /&gt;
  * alt_phone&lt;br /&gt;
  * first_name&lt;br /&gt;
  * last_name&lt;br /&gt;
  * birthdate&lt;br /&gt;
  * country&lt;br /&gt;
  * street&lt;br /&gt;
  * streetnr&lt;br /&gt;
  * addradd&lt;br /&gt;
  * plz&lt;br /&gt;
  * ort&lt;br /&gt;
  * notices&lt;br /&gt;
  * leadid_external&lt;br /&gt;
  * company_name&lt;br /&gt;
 * formfields (POST, Array)&lt;br /&gt;
  * (Auftragsformularfelder, frei)&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * lead_stats: json Objekt&lt;br /&gt;
  * success&lt;br /&gt;
  * error&lt;br /&gt;
  * sqlerror&lt;br /&gt;
  * formaterror&lt;br /&gt;
  * doubleterror&lt;br /&gt;
  * invaliderror&lt;br /&gt;
  * formaterror_types: json Objekt&lt;br /&gt;
   * (diverse)&lt;br /&gt;
&lt;br /&gt;
=== editlead ===&lt;br /&gt;
&lt;br /&gt;
Bearbeite einen Lead.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * campaign_id (GET)&lt;br /&gt;
 * leadid(GET)&lt;br /&gt;
 * leaddata (POST, Array)&lt;br /&gt;
  * title&lt;br /&gt;
  * phone&lt;br /&gt;
  * alt_phone&lt;br /&gt;
  * first_name&lt;br /&gt;
  * last_name&lt;br /&gt;
  * birthdate&lt;br /&gt;
  * country&lt;br /&gt;
  * street&lt;br /&gt;
  * streetnr&lt;br /&gt;
  * addradd&lt;br /&gt;
  * plz&lt;br /&gt;
  * ort&lt;br /&gt;
  * notices&lt;br /&gt;
  * leadid_external&lt;br /&gt;
  * company_name&lt;br /&gt;
  * rotation&lt;br /&gt;
  * status&lt;br /&gt;
 * formfields (POST, Array)&lt;br /&gt;
  * (Auftragsformularfelder, frei)&lt;br /&gt;
&lt;br /&gt;
Im leaddata Array können auch Alle Extrafelder über das Unterarray &amp;quot;extrafields&amp;quot; referenziert und Bearbeitet werden.&lt;br /&gt;
Die Array-Keys sind hierbei die Feldnamen.&lt;br /&gt;
 &lt;br /&gt;
=== getagentbyid ===&lt;br /&gt;
&lt;br /&gt;
Suche einen Agenten über seine ID und liefere seine Daten zurück.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * agentid (GET)&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: found|notfound&lt;br /&gt;
 * agent_info: json Objekt Array mit Agent-Daten&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status ok|error&lt;br /&gt;
 * reason (Bei Fehlern) Fehlergrund&lt;br /&gt;
&lt;br /&gt;
=== getlistbyid===&lt;br /&gt;
&lt;br /&gt;
Suche eine Liste über ihre ID und liefere die Daten zurück.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * listid (GET)&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: found|notfound&lt;br /&gt;
 * list_info: json Objekt Array mit Listen-Daten&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status ok|error&lt;br /&gt;
 * reason (Bei Fehlern) Fehlergrund&lt;/div&gt;</summary>
		<author><name>Rath</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.mmdial.de/index.php?title=API&amp;diff=280</id>
		<title>API</title>
		<link rel="alternate" type="text/html" href="https://wiki.mmdial.de/index.php?title=API&amp;diff=280"/>
		<updated>2015-07-30T15:40:37Z</updated>

		<summary type="html">&lt;p&gt;Rath: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;mmDial bietet ein umfangreiches API zur Anbindung externer Software.&lt;br /&gt;
&lt;br /&gt;
Viele Schnittstellen sind bislang undokumentiert. Sollten Sie eine weitere Schnittstelle benötigen,&lt;br /&gt;
wenden Sie sich bitte an unseren Support!&lt;br /&gt;
Die API befindet sich nocht im Alpha-Stadium. Die Dokumentation kann fehlerhaft sein, und Schnittstellen können&lt;br /&gt;
sich jederzeit ändern!&lt;br /&gt;
&lt;br /&gt;
Sie können auf einfache Weise auch externe CRM-Systeme direkt in das Agenteninterface einbinden.&lt;br /&gt;
Verwenden Sie hierzu die &amp;quot;Kampagnen Module&amp;quot; zu finden unter Kampagnen -&amp;gt; Kampagne auswählen -&amp;gt; Kampagnen Module.&lt;br /&gt;
Eine kleine Erklärung und ein Beispielscript finden Sie unter [[Kampagnenverwaltung#Eigenes_Auftragsformular|Eigenes Auftrasformular]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Allgemeines ==&lt;br /&gt;
&lt;br /&gt;
 * Die mmDial API ist über http://login.mmdial.de/api/ zu erreichen.&lt;br /&gt;
 * Die API benutzt die Standard HTTP Authentication.&lt;br /&gt;
 * Als Benutzername wird ein Benutzer mit Adminrechten verwendet&lt;br /&gt;
 * Es werden je nach Funktion HTTP GET und HTTP POST Argumente übergeben&lt;br /&gt;
 * Rückmeldungen erfolgen in der Regel als json Objekt&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Funktionen ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== searchvoicebyleadid ===&lt;br /&gt;
&lt;br /&gt;
Sucht eine Voice-Aufnahme über die Lead-ID des Kunden.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * leadid (GET) - die zu suchende Lead-ID&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: ok|error&lt;br /&gt;
 * msg: (nur bei error)&lt;br /&gt;
 * voices: json Objekt:&lt;br /&gt;
  * recid: Aufnahme-ID&lt;br /&gt;
  * agentid: Agenten-ID&lt;br /&gt;
  * timestamp: Der Zeitstempel der Aufnahme&lt;br /&gt;
  * available: yes|no yes, wenn die Datei schon/noch abrufbar ist.&lt;br /&gt;
  * voiceid: Dateiinterne ID&lt;br /&gt;
  * url: Url um die Datei herunterzuladen.&lt;br /&gt;
  * length: Abspiellänge der Aufzeichnung&lt;br /&gt;
  * size: Größe der Aufzeichnung&lt;br /&gt;
&lt;br /&gt;
=== searchvoicebyphonenumber ===&lt;br /&gt;
&lt;br /&gt;
Sucht eine Voice-Aufnahme über die Telefonnummer des Kunden.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * phone(GET) - die zu suchende Telefonnummer&lt;br /&gt;
 * date (GET, optional) - Datum im Format YYYY-MM-DD&lt;br /&gt;
 * timestamp (GET, optional) - Timestamp im Format YYYMMDDHHIISS&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: ok|error&lt;br /&gt;
 * msg: (nur bei error)&lt;br /&gt;
 * voices: json Objekt:&lt;br /&gt;
  * recid: Aufnahme-ID&lt;br /&gt;
  * agentid: Agenten-ID&lt;br /&gt;
  * timestamp: Der Zeitstempel der Aufnahme&lt;br /&gt;
  * available: yes|no yes, wenn die Datei schon/noch abrufbar ist.&lt;br /&gt;
  * voiceid: Dateiinterne ID&lt;br /&gt;
  * url: Url um die Datei herunterzuladen.&lt;br /&gt;
  * length: Abspiellänge der Aufzeichnung&lt;br /&gt;
  * size: Größe der Aufzeichnung&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== searchvoicebyagent ===&lt;br /&gt;
&lt;br /&gt;
Sucht eine Voice-Aufnahme über die Agenten-ID.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * agentid(GET) - die zu Agenten-ID&lt;br /&gt;
 * date (GET, optional) - Datum im Format YYYY-MM-DD&lt;br /&gt;
 * timestamp (GET, optional) - Timestamp im Format YYYMMDDHHIISS&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: ok|error&lt;br /&gt;
 * msg: (nur bei error)&lt;br /&gt;
 * voices: json Objekt:&lt;br /&gt;
  * recid: Aufnahme-ID&lt;br /&gt;
  * agentid: Agenten-ID&lt;br /&gt;
  * timestamp: Der Zeitstempel der Aufnahme&lt;br /&gt;
  * available: yes|no yes, wenn die Datei schon/noch abrufbar ist.&lt;br /&gt;
  * voiceid: Dateiinterne ID&lt;br /&gt;
  * url: Url um die Datei herunterzuladen.&lt;br /&gt;
  * length: Abspiellänge der Aufzeichnung&lt;br /&gt;
  * size: Größe der Aufzeichnung&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== getfieldsbyguid===&lt;br /&gt;
&lt;br /&gt;
Gibt alle Auftragsformularfelder eines Auftragsformulars zurück.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * GUID (GET) - die Formular-ID&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * fields - json Objektliste:&lt;br /&gt;
  * name: Feldname&lt;br /&gt;
&lt;br /&gt;
=== getfieldsbycampaign===&lt;br /&gt;
&lt;br /&gt;
Gibt alle Auftragsformularfelder einer Kampagne zurück.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * campaign_id (GET) - die Kampagnen-ID&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * fields - json Objektliste:&lt;br /&gt;
  * name: Feldname&lt;br /&gt;
&lt;br /&gt;
=== exportbystatus ===&lt;br /&gt;
&lt;br /&gt;
Erstellt eine Exportdatei aus verschiedenen Kriterien als CSV.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * campaign_id (GET) - die Kampagnen-ID&lt;br /&gt;
 * status (GET Array, optional) - die zu Exportierenden Status&lt;br /&gt;
 * datetype: (GET, optional) last_phone|last_edit|imported_date (GET Array, optional)&lt;br /&gt;
 * fromdate: (GET, optional) Datum beginn: d.m.Y&lt;br /&gt;
 * fromtime: (GET, optional) Uhrzeit beginn: H:i:s&lt;br /&gt;
 * todate: (GET, optional) Datum ende: d.m.Y&lt;br /&gt;
 * totime: (GET, optional) Uhrzeit ende: H:i:s&lt;br /&gt;
 * 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_&lt;br /&gt;
 * encoding: (GET/POST, optional) Datei-Encoding (Standard: iso-8859-1) ISO-8859-1,Windows-1252,UTF-8&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: ok|error&lt;br /&gt;
 * file_id: Datei-ID&lt;br /&gt;
 * size: Datei-Größe&lt;br /&gt;
 * url: Datei-URL&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== dncadd ===&lt;br /&gt;
&lt;br /&gt;
Fügt eine oder mehrere Nummern der Sperrliste hinzu&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * number (GET (Optional: mehrere durch , getrennt))&lt;br /&gt;
 * reason (GET, Optional) Optionaler Grund&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: ok|error|doublet&lt;br /&gt;
 * message&lt;br /&gt;
&lt;br /&gt;
=== dncdel ===&lt;br /&gt;
&lt;br /&gt;
Löscht eine, oder mehrere Nummern aus der Sperrliste.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * number (GET (Optional: mehrere durch , getrennt))&lt;br /&gt;
 * reason (GET, Optional) Optionaler Grund&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: ok|error&lt;br /&gt;
 * message&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== dncget ===&lt;br /&gt;
&lt;br /&gt;
Gibt die Sperrliste als CSV Datei zurück&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
''keine''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
CSV-Datei mit allen gesperrten Rufnummern&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== dnccheck ===&lt;br /&gt;
&lt;br /&gt;
Sucht eine Nummer in der DNC-Liste&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * number (GET)&lt;br /&gt;
 * fuzzy: yes|no (GET, optional) Sucht auch nach Teilnummern.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: exists|notfound (bei fuzzy = no)&lt;br /&gt;
 * results: Liste mit passenden Telefonnummern (bei fuzzy = yes)&lt;br /&gt;
&lt;br /&gt;
=== camp_dncadd ===&lt;br /&gt;
&lt;br /&gt;
Fügt eine oder mehrere Nummern der Kampagnen-Sperrliste hinzu&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * number (GET (Optional: mehrere durch , getrennt))&lt;br /&gt;
 * campaignID (GET)&lt;br /&gt;
 * reason (GET, Optional) Optionaler Grund&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: ok|error|doublet&lt;br /&gt;
 * message&lt;br /&gt;
&lt;br /&gt;
=== camp_dncdel ===&lt;br /&gt;
&lt;br /&gt;
Löscht eine, oder mehrere Nummern aus der Kampagnen-Sperrliste.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * number (GET (Optional: mehrere durch , getrennt))&lt;br /&gt;
 * campaignID (GET)&lt;br /&gt;
 * reason (GET, Optional) Optionaler Grund&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: ok|error&lt;br /&gt;
 * message&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== camp_dncget ===&lt;br /&gt;
&lt;br /&gt;
Gibt die Kampagnen-Sperrliste als CSV Datei zurück&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * campaignID (GET)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
CSV-Datei mit allen gesperrten Rufnummern dieser Kampagne&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== camp_dnccheck ===&lt;br /&gt;
&lt;br /&gt;
Sucht eine Nummer in der Kampagnen DNC-Liste&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * number (GET)&lt;br /&gt;
 * fuzzy: yes|no (GET, optional) Sucht auch nach Teilnummern.&lt;br /&gt;
 * campaignID (GET)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: exists|notfound (bei fuzzy = no)&lt;br /&gt;
 * results: Liste mit passenden Telefonnummern (bei fuzzy = yes)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== getleadbyid ===&lt;br /&gt;
&lt;br /&gt;
Suche einen Lead über die LeadID und gibt die Lead-Details sowie das letzte Auftragsformular zurück.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * leadid(GET)&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: found|notfound&lt;br /&gt;
 * lead_data: json Objekt mit Lead-Daten&lt;br /&gt;
 * formdata: json Objekt mit Auftragsformular-Daten&lt;br /&gt;
&lt;br /&gt;
=== getleadbyphonenumber ===&lt;br /&gt;
&lt;br /&gt;
Suche einen Lead über die Telefonnummer und gibt die Lead-Details sowie das letzte Auftragsformular zurück.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * number(GET)&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: found|notfound&lt;br /&gt;
 * lead_data: json Objekt Array mit Lead-Daten&lt;br /&gt;
 * formdata: json Objekt Array mit Auftragsformular-Daten&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== getleadbyexternalid ===&lt;br /&gt;
&lt;br /&gt;
Suche einen Lead über die externe Lead-ID und gibt die Lead-Details sowie das letzte Auftragsformular zurück.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * leadid(GET)&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: found|notfound&lt;br /&gt;
 * lead_data: json Objekt Array mit Lead-Daten&lt;br /&gt;
 * formdata: json Objekt Array mit Auftragsformular-Daten&lt;br /&gt;
&lt;br /&gt;
=== getleadbyextrafield ===&lt;br /&gt;
&lt;br /&gt;
Suche einen Lead über ein Extrafeld.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * fieldname(GET) - der Name des Extra-Feldes&lt;br /&gt;
 * fieldvalue(GET) - der zu suchende Wert&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: found|notfound&lt;br /&gt;
 * lead_data: json Objekt Array mit Lead-Daten&lt;br /&gt;
 * formdata: json Objekt Array mit Auftragsformular-Daten&lt;br /&gt;
&lt;br /&gt;
=== getleadbycustomdata ===&lt;br /&gt;
&lt;br /&gt;
Sucht einen Lead über diverse kombinierbare Optionen und gibt die Lead-Details sowie das letzte Auftragsformular zurück.&lt;br /&gt;
Werden Mehrere Optionen Kombiniert müssen alle Optionen zutreffen.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * extleadid(GET,string) Sucht über die externe Lead-ID&lt;br /&gt;
 * extra_fieldname(GET,string|Array) Sucht über Extrafelder&lt;br /&gt;
 * number(GET) Sucht über die Telefonnummer&lt;br /&gt;
 * listid(GET,string|Array) Sucht über Listennummern&lt;br /&gt;
 * campaignID(GET,string) Sucht über die Kampagne&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: found|notfound&lt;br /&gt;
 * lead_data: json Objekt mit Lead-Daten&lt;br /&gt;
 * formdata: json Objekt mit Auftragsformular-Daten&lt;br /&gt;
&lt;br /&gt;
=== addlist ===&lt;br /&gt;
&lt;br /&gt;
Füge eine Liste hinzu.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * campaignID (GET)&lt;br /&gt;
 * description (GET)&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: ok|error&lt;br /&gt;
 * listid: ID der erstellten Liste (nur bei ok)&lt;br /&gt;
 * reason: Fehlergrund (nur bei error)&lt;br /&gt;
&lt;br /&gt;
=== getlists ===&lt;br /&gt;
&lt;br /&gt;
Listet alle Listen auf.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * campaignID (GET,optional)&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * lists: Array aller Listen&lt;br /&gt;
&lt;br /&gt;
=== addlead ===&lt;br /&gt;
&lt;br /&gt;
Füge einen Lead hinzu.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * campaign_id (POST)&lt;br /&gt;
 * invalidcheck (POST) yes|no&lt;br /&gt;
 * doubletcheck_global (POST) yes|no&lt;br /&gt;
 * doubletcheck_campaign (POST) yes|no&lt;br /&gt;
 * list_id (POST)&lt;br /&gt;
 * country_phone_code (POST)&lt;br /&gt;
 * leaddata (POST, Array)&lt;br /&gt;
  * title&lt;br /&gt;
  * phone&lt;br /&gt;
  * alt_phone&lt;br /&gt;
  * first_name&lt;br /&gt;
  * last_name&lt;br /&gt;
  * birthdate&lt;br /&gt;
  * country&lt;br /&gt;
  * street&lt;br /&gt;
  * streetnr&lt;br /&gt;
  * addradd&lt;br /&gt;
  * plz&lt;br /&gt;
  * ort&lt;br /&gt;
  * notices&lt;br /&gt;
  * leadid_external&lt;br /&gt;
  * company_name&lt;br /&gt;
 * formfields (POST, Array)&lt;br /&gt;
  * (Auftragsformularfelder, frei)&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * lead_stats: json Objekt&lt;br /&gt;
  * success&lt;br /&gt;
  * error&lt;br /&gt;
  * sqlerror&lt;br /&gt;
  * formaterror&lt;br /&gt;
  * doubleterror&lt;br /&gt;
  * invaliderror&lt;br /&gt;
  * formaterror_types: json Objekt&lt;br /&gt;
   * (diverse)&lt;br /&gt;
&lt;br /&gt;
=== editlead ===&lt;br /&gt;
&lt;br /&gt;
Bearbeite einen Lead.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * campaign_id (GET)&lt;br /&gt;
 * leadid(GET)&lt;br /&gt;
 * leaddata (POST, Array)&lt;br /&gt;
  * title&lt;br /&gt;
  * phone&lt;br /&gt;
  * alt_phone&lt;br /&gt;
  * first_name&lt;br /&gt;
  * last_name&lt;br /&gt;
  * birthdate&lt;br /&gt;
  * country&lt;br /&gt;
  * street&lt;br /&gt;
  * streetnr&lt;br /&gt;
  * addradd&lt;br /&gt;
  * plz&lt;br /&gt;
  * ort&lt;br /&gt;
  * notices&lt;br /&gt;
  * leadid_external&lt;br /&gt;
  * company_name&lt;br /&gt;
  * rotation&lt;br /&gt;
  * status&lt;br /&gt;
 * formfields (POST, Array)&lt;br /&gt;
  * (Auftragsformularfelder, frei)&lt;br /&gt;
&lt;br /&gt;
Im leaddata Array können auch Alle Extrafelder über das Unterarray &amp;quot;extrafields&amp;quot; referenziert und Bearbeitet werden.&lt;br /&gt;
Die Array-Keys sind hierbei die Feldnamen.&lt;br /&gt;
 &lt;br /&gt;
=== getagentbyid ===&lt;br /&gt;
&lt;br /&gt;
Suche einen Agenten über seine ID und liefere seine Daten zurück.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * agentid (GET)&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: found|notfound&lt;br /&gt;
 * agent_info: json Objekt Array mit Agent-Daten&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status ok|error&lt;br /&gt;
 * reason (Bei Fehlern) Fehlergrund&lt;br /&gt;
&lt;br /&gt;
=== getlistbyid===&lt;br /&gt;
&lt;br /&gt;
Suche eine Liste über ihre ID und liefere die Daten zurück.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * listid (GET)&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: found|notfound&lt;br /&gt;
 * list_info: json Objekt Array mit Listen-Daten&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status ok|error&lt;br /&gt;
 * reason (Bei Fehlern) Fehlergrund&lt;/div&gt;</summary>
		<author><name>Rath</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.mmdial.de/index.php?title=Kampagnenverwaltung&amp;diff=279</id>
		<title>Kampagnenverwaltung</title>
		<link rel="alternate" type="text/html" href="https://wiki.mmdial.de/index.php?title=Kampagnenverwaltung&amp;diff=279"/>
		<updated>2015-07-30T14:00:28Z</updated>

		<summary type="html">&lt;p&gt;Rath: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;In der Kampagnenverwaltung können Sie alle Einstellungen rund um eine Kampagne machen. Weiter können Sie hier auch Kampagnen erstellen, löschen und deaktivieren. Hier haben Sie weiter auch die Möglichkeit Kampagneneigene Status oder autom. Leadübertragung in QM-Kampagnen zu erstellen. &lt;br /&gt;
&lt;br /&gt;
== Kampagnen erstellen  ==&lt;br /&gt;
&lt;br /&gt;
Bei mmDial haben Sie neben der klassischen Outboundtelefonie auch die Möglichkeit Inboundtelefonie zu betreiben. Dies bietet Ihnen z.B. die Möglichkeit Rückrufer direkt wieder an einen Agenten zuverbinden. Bitte beachten Sie, dass die Inboundfunktion eine Zusatzleistung ist die extra bestellt werden muss. &lt;br /&gt;
&lt;br /&gt;
=== Outboundkampagne erstellen  ===&lt;br /&gt;
&lt;br /&gt;
Zum Erstellen einer Outbound-Kampagne gehen Sie bitte in der Dialerverwaltung auf die Kampagnen Seite. Hier finden Sie im linken Context-Menü den Punkt „Neue Kampagne“. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Hier müssen Sie nun, zum Erstellen einer Kampagne, alle Grundinformationen für die Kampagne eintragen. Folgendes müssen Sie angeben: &amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Kampagnenname (Aussagekräftiger Name der Kampagne)&amp;lt;br&amp;gt;[[CLIP-Rufnummer]] (Hier müssen Sie die Rufnummer eintragen, die dem Angerufenen angezeigt werden soll) &amp;lt;br&amp;gt;Aktiv (Auswählen ob Kampagne vom Erstellen an aktiv sein soll) &amp;lt;br&amp;gt;Auftragsformular (Auswählen, ob ein [[Auftragsformular]] für diese Kampagne verwendet werden soll) &amp;lt;br&amp;gt;Maximaler Adressverbrauch pro Minute &amp;lt;br&amp;gt;Neuen Anruf zu Agent (Wählen Sie aus, nach welcher Reihenfolge wartenden Agenten neue Gespräche zugeteilt werden sollen.) &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Bitte beachten Sie, dass eine Kampagne wesentlich mehr Einstellmöglichkeiten hat als nur die aufgeführten. Diese Daten, die Sie beim Erstellen eingeben müssen, sind Einstellungen, die von Ihnen gesetzt werden müssen. Alle anderen Einstellungen wurden von unserem System mit Standardwerten gesetzt, um den Erstellvorgang zu beschleunigen. Sie können später alle weiteren Einstellungen unter dem Punkt „Kampagnen / Kampagnenliste / Kampagne bearbeiten“ (Icon mit dem Schreibblock und dem Stift) einstellen.&lt;br /&gt;
&lt;br /&gt;
=== Inboundkampagne erstellen  ===&lt;br /&gt;
&lt;br /&gt;
Inbound-Kampagnen sind in der Standardversion von mmDial nicht verfügbar. Diese können Sie optional hinzubuchen. Wenden Sie sich dazu an unseren Vertrieb.&lt;br /&gt;
&lt;br /&gt;
== Kampagnen löschen  ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
WICHTIG:&lt;br /&gt;
&lt;br /&gt;
Beim Löschen von Kampagnen gehen alle in der Kampagne vorhandenen Daten verloren. Diese können nicht wieder hergestellt werden. Wenn Sie eine Kampagne löschen vergewissern Sie sich, dass Sie alle benötigten Daten exportiert haben.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Zum Löschen klicken Sie unter &amp;quot;Kampagnen&amp;quot; auf die &amp;quot;Kampagnenliste&amp;quot; und vor der zu löschenden Kampagne auf das rote X. Sie werden daraufhin nocheinmal gefragt, ob die Kampagne wirklich gelöscht werden soll. Dies können Sie mit einem &amp;quot;JA&amp;quot; bestätigen.&lt;br /&gt;
&lt;br /&gt;
== Kampagnen de/aktivieren  ==&lt;br /&gt;
Um eine Kampagne zu de- oder aktivieren gehen Sie in der Verwaltungsoberfläche in den Bereich Kampagnen. Dort wählen Sie in den Unterpunkt &amp;quot;Kampagnenliste&amp;quot; aus.&lt;br /&gt;
Hier finden Sie alle von Ihnen angelegten Kampagnen. Aktive Kampagnen haben ein blaues Männchen. Inaktive ein graues.&lt;br /&gt;
&lt;br /&gt;
Um den Status der Kampagne zu ändern klicken Sie auf das Männchen. Der Status der Kampagne ändert sich dann direkt.&lt;br /&gt;
&lt;br /&gt;
== Statusübertrag in Kampagnen  ==&lt;br /&gt;
&lt;br /&gt;
Bei mmDial haben Sie die Möglichkeit Kunden/Leads, die erfolgreich sind, direkt in eine anderen QM-Kampagne zu übertragen.&lt;br /&gt;
&lt;br /&gt;
Gehen Sie dazu in Kampagen und wählen Sie eine Kampagne aus.&amp;lt;br&amp;gt;Gehen Sie dann in der linken Navigation auf Statusübertrag.&amp;lt;br&amp;gt;Dort sehen Sie 3 Auswahlfelder zum Erstellen des Übertrags.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
*Wählen Sie den gewünschten Status der Leads die Sie übertragen möchten. Zum Beispiel &amp;quot;Sale&amp;quot; oder &amp;quot;Anrufbeantworter&amp;quot;.&amp;lt;br&amp;gt;&lt;br /&gt;
*Legen Sie fest, in welche Kampagne Sie diese Leads übertragen möchten.&amp;lt;br&amp;gt;&lt;br /&gt;
**Nach Auswahl der Kampagne öffnen sich weitere Einstellungsmöglichkeiten:&amp;lt;br&amp;gt;&lt;br /&gt;
**Sie können auswählen ob eine neue Liste erstellt werden soll, oder die Leads in eine vorhandene Liste geschrieben werden sollen&amp;lt;br&amp;gt;&lt;br /&gt;
**Alle Leads verlieren beim Verschieben Ihren aktuellen (alten) Status. Im folgenden Drop-Down Menü wählen Sie den neuen Status nach dem Übertrag aus (z.B. &amp;quot;NEW&amp;quot;).&lt;br /&gt;
*In der letzten Auswahl &amp;quot;Kopiermodus&amp;quot; können Sie zwischen &amp;quot;Lead verschieben&amp;quot; und &amp;quot;Lead kopieren&amp;quot; auswählen. Wählen Sie verschieben aus, so werden die Leads aus der aktuellen Kampagne gelöscht - damit gehen auch alle Informationen zu diesem Lead verloren (z.B. der Status).&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
'Unsere Empfehlung:'&lt;br /&gt;
Kopieren Sie die Leads statt Sie zu verschieben. Damit bleiben in der ursprünglichen Kampagne (aus der Sie den Übertrag machen) die Lead-Informationen wie letzte Anrufe, Status usw. erhalten. In der neuen Kampagne bzw. Liste, in die Ihre Leads verschoben wurden, wird alles zurück gesetzt. Wie oben beschrieben können Sie festlegen welchen Anfangsstatus diese Leads erhalten sollen.&lt;br /&gt;
&lt;br /&gt;
== Kampagnenstatus ==&lt;br /&gt;
=== Erstellen  ===&lt;br /&gt;
&lt;br /&gt;
mmDial bietet Ihnen die Möglichkeit eigene Status für einen Kampagne zu erstellen.&amp;lt;br&amp;gt;Dies dient einer genaueren Feststellung am Ende eines Gesprächs. Sie können beliebig viele Status erstellen. Zum Erstellen wählen Sie eine Kampagne aus und klicken im Contextmenü auf den Punkt „Kampagnen Status“. &lt;br /&gt;
&lt;br /&gt;
Hier müssen Sie nun ein Kürzel und den vollständigen Titel des Status eintragen. &lt;br /&gt;
&lt;br /&gt;
Nachdem Sie auf &amp;quot;anlegen&amp;quot; geklickt haben ist der Status erstellt. Er wird nun Ihren Agenten am Ende des Gesprächs in dieser Kampagne angezeigt und Sie haben auf die Möglichkeit gezielt nach diesem Status zu exportieren.&lt;br /&gt;
&lt;br /&gt;
=== Alle Status ansehen/löschen ===&lt;br /&gt;
&lt;br /&gt;
Um alle erstellten Status einzusehen klicken Sie auf die Schaltfläche „Vorhandene Status“. An dieser Stelle können Sie auch einen bestehenden Status wieder löschen.&lt;br /&gt;
&lt;br /&gt;
== Auftragsformular / Kampagnen Module ==&lt;br /&gt;
=== Eigenes Auftragsformular ===&lt;br /&gt;
&lt;br /&gt;
Die folgenden Felder können an ein externes eigenes Auftragsformular bzw. an ein Kampagnen-Modul übergeben werden:&lt;br /&gt;
&lt;br /&gt;
 * lead_id&lt;br /&gt;
 * title&lt;br /&gt;
 * phone&lt;br /&gt;
 * alt_phone&lt;br /&gt;
 * first_name&lt;br /&gt;
 * last_name&lt;br /&gt;
 * street&lt;br /&gt;
 * streetnr&lt;br /&gt;
 * plz&lt;br /&gt;
 * ort&lt;br /&gt;
 * notices&lt;br /&gt;
 * agentid&lt;br /&gt;
 * birthday&lt;br /&gt;
 * leadid_external&lt;br /&gt;
 * vorwahl&lt;br /&gt;
 * company_name&lt;br /&gt;
 * agent_name&lt;br /&gt;
 * campaign&lt;br /&gt;
 * agent_extrafield1, agent_extrafield2, agent_extrafield3, agent_extrafield4&lt;br /&gt;
 * xtra_* (Für Extrafelder)&lt;br /&gt;
&lt;br /&gt;
Bei Inbound-Kampagnen:&lt;br /&gt;
&lt;br /&gt;
 * target_number&lt;br /&gt;
&lt;br /&gt;
Auftragsformularfelder:&lt;br /&gt;
&lt;br /&gt;
 * __F_feldname__ - feldname ist Platzhalter für Formularfeldnamen&lt;br /&gt;
 * __FID_GUID_feldname__ - feldname ist Platzhalter für Formularfeldnamen, GUID ist Platzhalter für Formular ID&lt;br /&gt;
 * __FormSaveID__ - Speicherid des (letzten) Formulars&lt;br /&gt;
 * __FormSaveID_GUID__ - Speicherid des Formulars mit der ID GUID&lt;br /&gt;
 * __FormCreated__ - Speicherzeitpunkt des (letzten) Formulars&lt;br /&gt;
 * __FormCreated_GUID__ - Speicherzeitpunkt des (letzten) Formulars&lt;br /&gt;
&lt;br /&gt;
Spezialfelder:&lt;br /&gt;
&lt;br /&gt;
 * z.B. __STRTODATE_+1 week__ entspricht PHP's strtodate() Funktion - anzeige im Deutschen Format&lt;br /&gt;
&lt;br /&gt;
Im Dokumentensystem ist zusätzlich das Spezialfeld &amp;quot;__FaxSpecialField__&amp;quot; verfügbar. Dieses Feld kann angelegt werden um die Faxnummer im üblichen Format ausfüllen zu können.&lt;br /&gt;
Dieses Feld ist nicht zusätzlich für den Agenten ausfüllbar und muss &amp;quot;Sichtbar&amp;quot; sein.&lt;br /&gt;
&lt;br /&gt;
In der aufzurufenden URL werden die Felder entsprechend durch ihre Werte ersetzt, sobald die Platzhalter durch &amp;quot;__&amp;quot; eingeschlossen sind. Beispiel: __lead_id__&lt;br /&gt;
&lt;br /&gt;
Bei einigen Modulen, wie zum Beispiel den Dokumenten, muss der Platzhalter im Format &amp;quot;__DB_feldname__&amp;quot; eingegeben werden. Beispiel: __DB_lead_id__&lt;br /&gt;
&lt;br /&gt;
Bei Dokumenten die als E-Mail versendet werden sollen, können mehrere (Auswählbare) Empfänger mittels &amp;quot;#&amp;quot; getrennt werden. (z.B. a@b.de#b@c.de) Hierbei kann der Agent einzelne Adressen entfernen.&lt;br /&gt;
&lt;br /&gt;
Kommt in der URL der Wert &amp;quot;DOPOSTURL&amp;quot; vor, werden die Werte per HTTP POST übergeben, und der Wert &amp;quot;DOPOSTURL&amp;quot; entfernt.&lt;br /&gt;
&lt;br /&gt;
Der Wert &amp;quot;URLSTR&amp;quot; wird durch die Felder die oben beschrieben sind wie folgt ersetzt: feld1=wert1;feld2=wert2;...&lt;br /&gt;
&lt;br /&gt;
Es ist auch ein [[Beispielscript Leitfaden]] in php verfügbar.&lt;br /&gt;
&lt;br /&gt;
=== Links im Auftragsformular ===&lt;br /&gt;
&lt;br /&gt;
Im Auftragsformular können auch Links zu externen Webseiten eingefügt werden. Hierzu einfach im Fenster &amp;quot;Konfigurieren&amp;quot; auf das &amp;quot;+&amp;quot; klicken und einen neuen Text einfügen. Das Format ist immer &amp;quot;Linkname|http://www.domain.de&amp;quot;. Der Link öffnet automatisch im neuen Fenster/Tab.&lt;br /&gt;
&lt;br /&gt;
 * z.B.: Zur Google Suche|http://www.google.com&lt;/div&gt;</summary>
		<author><name>Rath</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.mmdial.de/index.php?title=API&amp;diff=278</id>
		<title>API</title>
		<link rel="alternate" type="text/html" href="https://wiki.mmdial.de/index.php?title=API&amp;diff=278"/>
		<updated>2015-07-30T11:58:20Z</updated>

		<summary type="html">&lt;p&gt;Rath: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;mmDial bietet ein umfangreiches API zur Anbindung externer Software.&lt;br /&gt;
&lt;br /&gt;
Viele Schnittstellen sind bislang undokumentiert. Sollten Sie eine weitere Schnittstelle benötigen,&lt;br /&gt;
wenden Sie sich bitte an unseren Support!&lt;br /&gt;
Die API befindet sich nocht im Alpha-Stadium. Die Dokumentation kann fehlerhaft sein, und Schnittstellen können&lt;br /&gt;
sich jederzeit ändern!&lt;br /&gt;
&lt;br /&gt;
Sie können auf einfache Weise auch externe CRM-Systeme direkt in das Agenteninterface einbinden.&lt;br /&gt;
Verwenden Sie hierzu die &amp;quot;Kampagnen Module&amp;quot; zu finden unter Kampagnen -&amp;gt; Kampagne auswählen -&amp;gt; Kampagnen Module.&lt;br /&gt;
Eine kleine Erklärung und ein Beispielscript finden Sie unter [[Kampagnenverwaltung#Eigenes_Auftragsformular|Eigenes Auftrasformular]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Allgemeines ==&lt;br /&gt;
&lt;br /&gt;
 * Die mmDial API ist über http://login.mmdial.de/api/ zu erreichen.&lt;br /&gt;
 * Die API benutzt die Standard HTTP Authentication.&lt;br /&gt;
 * Als Benutzername wird ein Benutzer mit Adminrechten verwendet&lt;br /&gt;
 * Es werden je nach Funktion HTTP GET und HTTP POST Argumente übergeben&lt;br /&gt;
 * Rückmeldungen erfolgen in der Regel als json Objekt&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Funktionen ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== searchvoicebyleadid ===&lt;br /&gt;
&lt;br /&gt;
Sucht eine Voice-Aufnahme über die Lead-ID des Kunden.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * leadid (GET) - die zu suchende Lead-ID&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: ok|error&lt;br /&gt;
 * msg: (nur bei error)&lt;br /&gt;
 * voices: json Objekt:&lt;br /&gt;
  * recid: Aufnahme-ID&lt;br /&gt;
  * agentid: Agenten-ID&lt;br /&gt;
  * timestamp: Der Zeitstempel der Aufnahme&lt;br /&gt;
  * available: yes|no yes, wenn die Datei schon/noch abrufbar ist.&lt;br /&gt;
  * voiceid: Dateiinterne ID&lt;br /&gt;
  * url: Url um die Datei herunterzuladen.&lt;br /&gt;
  * length: Abspiellänge der Aufzeichnung&lt;br /&gt;
  * size: Größe der Aufzeichnung&lt;br /&gt;
&lt;br /&gt;
=== searchvoicebyphonenumber ===&lt;br /&gt;
&lt;br /&gt;
Sucht eine Voice-Aufnahme über die Telefonnummer des Kunden.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * phone(GET) - die zu suchende Telefonnummer&lt;br /&gt;
 * date (GET, optional) - Datum im Format YYYY-MM-DD&lt;br /&gt;
 * timestamp (GET, optional) - Timestamp im Format YYYMMDDHHIISS&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: ok|error&lt;br /&gt;
 * msg: (nur bei error)&lt;br /&gt;
 * voices: json Objekt:&lt;br /&gt;
  * recid: Aufnahme-ID&lt;br /&gt;
  * agentid: Agenten-ID&lt;br /&gt;
  * timestamp: Der Zeitstempel der Aufnahme&lt;br /&gt;
  * available: yes|no yes, wenn die Datei schon/noch abrufbar ist.&lt;br /&gt;
  * voiceid: Dateiinterne ID&lt;br /&gt;
  * url: Url um die Datei herunterzuladen.&lt;br /&gt;
  * length: Abspiellänge der Aufzeichnung&lt;br /&gt;
  * size: Größe der Aufzeichnung&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== searchvoicebyagent ===&lt;br /&gt;
&lt;br /&gt;
Sucht eine Voice-Aufnahme über die Agenten-ID.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * agentid(GET) - die zu Agenten-ID&lt;br /&gt;
 * date (GET, optional) - Datum im Format YYYY-MM-DD&lt;br /&gt;
 * timestamp (GET, optional) - Timestamp im Format YYYMMDDHHIISS&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: ok|error&lt;br /&gt;
 * msg: (nur bei error)&lt;br /&gt;
 * voices: json Objekt:&lt;br /&gt;
  * recid: Aufnahme-ID&lt;br /&gt;
  * agentid: Agenten-ID&lt;br /&gt;
  * timestamp: Der Zeitstempel der Aufnahme&lt;br /&gt;
  * available: yes|no yes, wenn die Datei schon/noch abrufbar ist.&lt;br /&gt;
  * voiceid: Dateiinterne ID&lt;br /&gt;
  * url: Url um die Datei herunterzuladen.&lt;br /&gt;
  * length: Abspiellänge der Aufzeichnung&lt;br /&gt;
  * size: Größe der Aufzeichnung&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== getfieldsbyguid===&lt;br /&gt;
&lt;br /&gt;
Gibt alle Auftragsformularfelder eines Auftragsformulars zurück.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * GUID (GET) - die Formular-ID&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * fields - json Objektliste:&lt;br /&gt;
  * name: Feldname&lt;br /&gt;
&lt;br /&gt;
=== getfieldsbycampaign===&lt;br /&gt;
&lt;br /&gt;
Gibt alle Auftragsformularfelder einer Kampagne zurück.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * campaign_id (GET) - die Kampagnen-ID&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * fields - json Objektliste:&lt;br /&gt;
  * name: Feldname&lt;br /&gt;
&lt;br /&gt;
=== exportbystatus ===&lt;br /&gt;
&lt;br /&gt;
Erstellt eine Exportdatei aus verschiedenen Kriterien als CSV.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * campaign_id (GET) - die Kampagnen-ID&lt;br /&gt;
 * status (GET Array, optional) - die zu Exportierenden Status&lt;br /&gt;
 * datetype: (GET, optional) last_phone|last_edit|imported_date (GET Array, optional)&lt;br /&gt;
 * fromdate: (GET, optional) Datum beginn: d.m.Y&lt;br /&gt;
 * fromtime: (GET, optional) Uhrzeit beginn: H:i:s&lt;br /&gt;
 * todate: (GET, optional) Datum ende: d.m.Y&lt;br /&gt;
 * totime: (GET, optional) Uhrzeit ende: H:i:s&lt;br /&gt;
 * selectedfields: (GET/POST) Feldauswahlliste getrennt durch , (Kommata) Prefix für Normale Felder: customerfield_, Prefix für Auftragsformularfelder: webformfield_&lt;br /&gt;
 * encoding: (GET/POST, optional) Datei-Encoding (Standard: iso-8859-1) ISO-8859-1,Windows-1252,UTF-8&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: ok|error&lt;br /&gt;
 * file_id: Datei-ID&lt;br /&gt;
 * size: Datei-Größe&lt;br /&gt;
 * url: Datei-URL&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== dncadd ===&lt;br /&gt;
&lt;br /&gt;
Fügt eine oder mehrere Nummern der Sperrliste hinzu&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * number (GET (Optional: mehrere durch , getrennt))&lt;br /&gt;
 * reason (GET, Optional) Optionaler Grund&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: ok|error|doublet&lt;br /&gt;
 * message&lt;br /&gt;
&lt;br /&gt;
=== dncdel ===&lt;br /&gt;
&lt;br /&gt;
Löscht eine, oder mehrere Nummern aus der Sperrliste.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * number (GET (Optional: mehrere durch , getrennt))&lt;br /&gt;
 * reason (GET, Optional) Optionaler Grund&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: ok|error&lt;br /&gt;
 * message&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== dncget ===&lt;br /&gt;
&lt;br /&gt;
Gibt die Sperrliste als CSV Datei zurück&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
''keine''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
CSV-Datei mit allen gesperrten Rufnummern&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== dnccheck ===&lt;br /&gt;
&lt;br /&gt;
Sucht eine Nummer in der DNC-Liste&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * number (GET)&lt;br /&gt;
 * fuzzy: yes|no (GET, optional) Sucht auch nach Teilnummern.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: exists|notfound (bei fuzzy = no)&lt;br /&gt;
 * results: Liste mit passenden Telefonnummern (bei fuzzy = yes)&lt;br /&gt;
&lt;br /&gt;
=== camp_dncadd ===&lt;br /&gt;
&lt;br /&gt;
Fügt eine oder mehrere Nummern der Kampagnen-Sperrliste hinzu&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * number (GET (Optional: mehrere durch , getrennt))&lt;br /&gt;
 * campaignID (GET)&lt;br /&gt;
 * reason (GET, Optional) Optionaler Grund&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: ok|error|doublet&lt;br /&gt;
 * message&lt;br /&gt;
&lt;br /&gt;
=== camp_dncdel ===&lt;br /&gt;
&lt;br /&gt;
Löscht eine, oder mehrere Nummern aus der Kampagnen-Sperrliste.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * number (GET (Optional: mehrere durch , getrennt))&lt;br /&gt;
 * campaignID (GET)&lt;br /&gt;
 * reason (GET, Optional) Optionaler Grund&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: ok|error&lt;br /&gt;
 * message&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== camp_dncget ===&lt;br /&gt;
&lt;br /&gt;
Gibt die Kampagnen-Sperrliste als CSV Datei zurück&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * campaignID (GET)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
CSV-Datei mit allen gesperrten Rufnummern dieser Kampagne&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== camp_dnccheck ===&lt;br /&gt;
&lt;br /&gt;
Sucht eine Nummer in der Kampagnen DNC-Liste&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * number (GET)&lt;br /&gt;
 * fuzzy: yes|no (GET, optional) Sucht auch nach Teilnummern.&lt;br /&gt;
 * campaignID (GET)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: exists|notfound (bei fuzzy = no)&lt;br /&gt;
 * results: Liste mit passenden Telefonnummern (bei fuzzy = yes)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== getleadbyid ===&lt;br /&gt;
&lt;br /&gt;
Suche einen Lead über die LeadID und gibt die Lead-Details sowie das letzte Auftragsformular zurück.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * leadid(GET)&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: found|notfound&lt;br /&gt;
 * lead_data: json Objekt mit Lead-Daten&lt;br /&gt;
 * formdata: json Objekt mit Auftragsformular-Daten&lt;br /&gt;
&lt;br /&gt;
=== getleadbyphonenumber ===&lt;br /&gt;
&lt;br /&gt;
Suche einen Lead über die Telefonnummer und gibt die Lead-Details sowie das letzte Auftragsformular zurück.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * number(GET)&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: found|notfound&lt;br /&gt;
 * lead_data: json Objekt Array mit Lead-Daten&lt;br /&gt;
 * formdata: json Objekt Array mit Auftragsformular-Daten&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== getleadbyexternalid ===&lt;br /&gt;
&lt;br /&gt;
Suche einen Lead über die externe Lead-ID und gibt die Lead-Details sowie das letzte Auftragsformular zurück.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * leadid(GET)&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: found|notfound&lt;br /&gt;
 * lead_data: json Objekt Array mit Lead-Daten&lt;br /&gt;
 * formdata: json Objekt Array mit Auftragsformular-Daten&lt;br /&gt;
&lt;br /&gt;
=== getleadbyextrafield ===&lt;br /&gt;
&lt;br /&gt;
Suche einen Lead über ein Extrafeld.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * fieldname(GET) - der Name des Extra-Feldes&lt;br /&gt;
 * fieldvalue(GET) - der zu suchende Wert&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: found|notfound&lt;br /&gt;
 * lead_data: json Objekt Array mit Lead-Daten&lt;br /&gt;
 * formdata: json Objekt Array mit Auftragsformular-Daten&lt;br /&gt;
&lt;br /&gt;
=== getleadbycustomdata ===&lt;br /&gt;
&lt;br /&gt;
Sucht einen Lead über diverse kombinierbare Optionen und gibt die Lead-Details sowie das letzte Auftragsformular zurück.&lt;br /&gt;
Werden Mehrere Optionen Kombiniert müssen alle Optionen zutreffen.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * extleadid(GET,string) Sucht über die externe Lead-ID&lt;br /&gt;
 * extra_fieldname(GET,string|Array) Sucht über Extrafelder&lt;br /&gt;
 * number(GET) Sucht über die Telefonnummer&lt;br /&gt;
 * listid(GET,string|Array) Sucht über Listennummern&lt;br /&gt;
 * campaignID(GET,string) Sucht über die Kampagne&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: found|notfound&lt;br /&gt;
 * lead_data: json Objekt mit Lead-Daten&lt;br /&gt;
 * formdata: json Objekt mit Auftragsformular-Daten&lt;br /&gt;
&lt;br /&gt;
=== addlist ===&lt;br /&gt;
&lt;br /&gt;
Füge eine Liste hinzu.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * campaignID (GET)&lt;br /&gt;
 * description (GET)&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: ok|error&lt;br /&gt;
 * listid: ID der erstellten Liste (nur bei ok)&lt;br /&gt;
 * reason: Fehlergrund (nur bei error)&lt;br /&gt;
&lt;br /&gt;
=== getlists ===&lt;br /&gt;
&lt;br /&gt;
Listet alle Listen auf.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * campaignID (GET,optional)&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * lists: Array aller Listen&lt;br /&gt;
&lt;br /&gt;
=== addlead ===&lt;br /&gt;
&lt;br /&gt;
Füge einen Lead hinzu.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * campaign_id (POST)&lt;br /&gt;
 * invalidcheck (POST) yes|no&lt;br /&gt;
 * doubletcheck_global (POST) yes|no&lt;br /&gt;
 * doubletcheck_campaign (POST) yes|no&lt;br /&gt;
 * list_id (POST)&lt;br /&gt;
 * country_phone_code (POST)&lt;br /&gt;
 * leaddata (POST, Array)&lt;br /&gt;
  * title&lt;br /&gt;
  * phone&lt;br /&gt;
  * alt_phone&lt;br /&gt;
  * first_name&lt;br /&gt;
  * last_name&lt;br /&gt;
  * birthdate&lt;br /&gt;
  * country&lt;br /&gt;
  * street&lt;br /&gt;
  * streetnr&lt;br /&gt;
  * addradd&lt;br /&gt;
  * plz&lt;br /&gt;
  * ort&lt;br /&gt;
  * notices&lt;br /&gt;
  * leadid_external&lt;br /&gt;
  * company_name&lt;br /&gt;
 * formfields (POST, Array)&lt;br /&gt;
  * (Auftragsformularfelder, frei)&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * lead_stats: json Objekt&lt;br /&gt;
  * success&lt;br /&gt;
  * error&lt;br /&gt;
  * sqlerror&lt;br /&gt;
  * formaterror&lt;br /&gt;
  * doubleterror&lt;br /&gt;
  * invaliderror&lt;br /&gt;
  * formaterror_types: json Objekt&lt;br /&gt;
   * (diverse)&lt;br /&gt;
&lt;br /&gt;
=== editlead ===&lt;br /&gt;
&lt;br /&gt;
Bearbeite einen Lead.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * campaign_id (GET)&lt;br /&gt;
 * leadid(GET)&lt;br /&gt;
 * leaddata (POST, Array)&lt;br /&gt;
  * title&lt;br /&gt;
  * phone&lt;br /&gt;
  * alt_phone&lt;br /&gt;
  * first_name&lt;br /&gt;
  * last_name&lt;br /&gt;
  * birthdate&lt;br /&gt;
  * country&lt;br /&gt;
  * street&lt;br /&gt;
  * streetnr&lt;br /&gt;
  * addradd&lt;br /&gt;
  * plz&lt;br /&gt;
  * ort&lt;br /&gt;
  * notices&lt;br /&gt;
  * leadid_external&lt;br /&gt;
  * company_name&lt;br /&gt;
  * rotation&lt;br /&gt;
  * status&lt;br /&gt;
 * formfields (POST, Array)&lt;br /&gt;
  * (Auftragsformularfelder, frei)&lt;br /&gt;
&lt;br /&gt;
Im leaddata Array können auch Alle Extrafelder über das Unterarray &amp;quot;extrafields&amp;quot; referenziert und Bearbeitet werden.&lt;br /&gt;
Die Array-Keys sind hierbei die Feldnamen.&lt;br /&gt;
 &lt;br /&gt;
=== getagentbyid ===&lt;br /&gt;
&lt;br /&gt;
Suche einen Agenten über seine ID und liefere seine Daten zurück.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * agentid (GET)&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: found|notfound&lt;br /&gt;
 * agent_info: json Objekt Array mit Agent-Daten&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status ok|error&lt;br /&gt;
 * reason (Bei Fehlern) Fehlergrund&lt;br /&gt;
&lt;br /&gt;
=== getlistbyid===&lt;br /&gt;
&lt;br /&gt;
Suche eine Liste über ihre ID und liefere die Daten zurück.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * listid (GET)&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: found|notfound&lt;br /&gt;
 * list_info: json Objekt Array mit Listen-Daten&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status ok|error&lt;br /&gt;
 * reason (Bei Fehlern) Fehlergrund&lt;/div&gt;</summary>
		<author><name>Rath</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.mmdial.de/index.php?title=Agentenverwaltung&amp;diff=277</id>
		<title>Agentenverwaltung</title>
		<link rel="alternate" type="text/html" href="https://wiki.mmdial.de/index.php?title=Agentenverwaltung&amp;diff=277"/>
		<updated>2015-01-28T12:19:00Z</updated>

		<summary type="html">&lt;p&gt;Rath: /* IP/Hosts der Agenten beschränken */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Überblick  ==&lt;br /&gt;
&lt;br /&gt;
Die Agentenverwaltung besitzt folgende Funktionen:&lt;br /&gt;
&lt;br /&gt;
*Agenten erstellen&lt;br /&gt;
*Agenten löschen&lt;br /&gt;
*Agenten bearbeiten&lt;br /&gt;
*Agenten Historie&lt;br /&gt;
&lt;br /&gt;
== Erstellen  ==&lt;br /&gt;
&lt;br /&gt;
Gehen Sie nach &amp;quot;Agentenverwaltung /&amp;amp;nbsp;Agenten erstellen&amp;quot; &lt;br /&gt;
&lt;br /&gt;
Sie sehen nun ein Eingabeformular in dem Sie '''bitte alle Felder ausfüllen'''. &lt;br /&gt;
&lt;br /&gt;
Im ersten Feld haben Sie die Möglichkeit den Typ des Accounts auszuwählen.&amp;lt;br&amp;gt;Zu Auswahl stehen die Typen „Agent“ und „Administrator“.&amp;lt;br&amp;gt;Bitte beachten Sie, dass ein Administratoren-Account nicht nur den Dialer über die Verwaltungsoberfläche einstellen kann, sondern auch als Agent selber telefonieren kann.&amp;lt;br&amp;gt;(Nähere Informationen zu den Typen finden Sie im Bereich „[[Account-Typen und Rechte]]“) &lt;br /&gt;
&lt;br /&gt;
Im zweiten Feld sehen Sie die Login-ID.&amp;lt;br&amp;gt;Diese wird automatisch generiert und kann nicht geändert werden. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Im dritten Feld müssen Sie nun den Namen des Agenten eintragen.&amp;lt;br&amp;gt;'''''ACHTUNG'''''&amp;lt;i&amp;gt;: Bitte beachten Sie, dass dieses Feld eine Maximallänge vom 50 Zeichen hat.&amp;lt;/i&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''Zum Schluss geben Sie bitte noch das gewünschte Passwort ich doppelter Eingabe an.&amp;lt;br&amp;gt;'''''ACHTUNG''''': Dieses Feld hat einen Maximallänge von 10 Zeichen.&amp;lt;br&amp;gt;'' &lt;br /&gt;
&lt;br /&gt;
Wenn Sie daraufhin den „Anlegen“ Button klicken, wird der Account erstellt. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;''Beachten Sie, dass der Account standardmäßig deaktiviert ist.&amp;lt;br&amp;gt;Wie Sie Agenten aktivieren und deaktivieren finden Sie [[Agentenverwaltung#Aktivieren_.2F.C2.A0Deaktivieren|hier]].''&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Bearbeiten  ==&lt;br /&gt;
&lt;br /&gt;
=== Passwort ändern&amp;lt;br&amp;gt; ===&lt;br /&gt;
&lt;br /&gt;
Zum Ändern eines Passwortes gehen Sie zunächst bitte in die Agentenliste.&amp;lt;br&amp;gt;Klicken Sie bei dem gewünschten Agenten auf das 1. Icon (Agenten bearbeiten) ganz links in der Tabelle. Als Icon ist ein Schreibblock mit Schrift abgebildet.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Sie sehen nun eine ähnliche Maske wie beim Erstellen eines Agenten.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Zum Ändern tippen Sie nun bitte 2x das neue Passwort ein und drücken Sie auf speichern.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Typ ändern&amp;lt;br&amp;gt; ===&lt;br /&gt;
&lt;br /&gt;
Zum Ändern eines Profil-Types des Agenten gehen Sie zunächst bitte in die Agentenliste.&amp;lt;br&amp;gt;Klicken Sie bei dem gewünschten Agenten auf das 1. Icon (Agenten bearbeiten / Schreibblock mit Stift) ganz links in der Tabelle.&lt;br /&gt;
&lt;br /&gt;
Sie sehen nun eine ähnliche Maske wie beim Erstellen eines Agenten.&lt;br /&gt;
&lt;br /&gt;
Zum Ändern wählen Sie nun in der Drop-Down Liste den gewünschten Typ aus und drücken Sie auf speichern.&amp;lt;br&amp;gt;Zur Auswahl stehen Ihnen wie bei der Agentenerstellung &amp;quot;Agent&amp;quot; und &amp;quot;Administrator&amp;quot;. Weitere Informationen finden Sie unter [[Account-Typen und Rechte]].&lt;br /&gt;
&lt;br /&gt;
== Aktivieren /&amp;amp;nbsp;Deaktivieren&amp;lt;br&amp;gt;  ==&lt;br /&gt;
&lt;br /&gt;
Gehen Sie zur Agentenliste. &lt;br /&gt;
&lt;br /&gt;
Sie sehen nun eine Auflistung aller Agenten und Administratoren. &lt;br /&gt;
&lt;br /&gt;
Um einen Agenten zu aktivieren / deaktivieren klicken Sie in der Agentenliste auf das kleine Männchen.&amp;lt;br&amp;gt;Der Status wird direkt geändert. &amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Ein graues Männchen bedeutet, dass der aktuelle Status auf &amp;quot;deaktiviert&amp;quot; steht. Ein blaues Männchen ist aktiviert.&lt;br /&gt;
&lt;br /&gt;
== Löschen  ==&lt;br /&gt;
&lt;br /&gt;
Gehen Sie zur Agentenliste.&amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Sie sehen nun eine Auflistung aller Agenten und Administratoren. &lt;br /&gt;
&lt;br /&gt;
Um einen Agenten zu löschen klicken Sie nun auf das Zeichen mit dem roten X.&lt;br /&gt;
&lt;br /&gt;
Im Anschluss daran werden Sie gefragt, ob Sie den Account wirklich löschen wollen.&amp;lt;br&amp;gt;Klicken Sie hier auf „Ja“ &lt;br /&gt;
&lt;br /&gt;
Der Account wurde nun gelöscht und Ihrem Agenten-Kontingent wird ein Agent gutgeschrieben.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== PC zuweisen  ==&lt;br /&gt;
&lt;br /&gt;
'''Diese Funktion ist optional und nicht in der Standardversion von mmDial enthalten.''' &lt;br /&gt;
&lt;br /&gt;
== Historie  ==&lt;br /&gt;
&lt;br /&gt;
Die Agentenhistorie erlaubt es Ihnen eine detailierte Auflistung aller Gespräche eines Agenten der letzten 2 Tage einzusehen. &lt;br /&gt;
&lt;br /&gt;
Zur Historie gelangen Sie, in dem Sie in der Agentenliste auf das Icon mit der schwarzen Uhr klicken. Daraufhin öffnet sich ein Dialogfenster, in dem Sie die Auflistung der Gespräche sehen. In dieser Liste finden Sie Infomationen zum [[Lead|Lead]], dem Gesprächszeitpunkt und der Gesprächsdauer. &lt;br /&gt;
&lt;br /&gt;
In dieser Liste haben Sie die Möglichkeit, in dem Sie auf die LeadID klicken, weitere Informationen zu dem Gesräch zu bekommen. &lt;br /&gt;
&lt;br /&gt;
Nachdem Sie auf die LeadID geklickt haben öffnet sich wieder ein neues [[Dialogfenster|Dialogfenster]], in dem Sie nun die genauen Informationen zu dem Lead angezeigt bekommen. &lt;br /&gt;
&lt;br /&gt;
Dieses Fenster ist folgendermaßen aufgeteilt: &amp;lt;br&amp;gt;Oben sehen Sie die Informationen zu der Person, die sich hinter der LeadID verbirgt (Name, Anschrift usw.).&amp;lt;br&amp;gt;Darunter sehen Sie, falls vorhanden, Einträge, die für diesen Lead im [[Auftragsformular|Auftragsformular]] eingetragen wurden. &amp;lt;br&amp;gt;Darauf folgt eine Auflistung der Gespräche, die mit diesem Lead aufgebaut und an einen Agenten gereicht wurden. Sie sehen Informationen zu Zeitpunkt, Agent und dem zugewiesenen Status nach dem Gesrächsende. &amp;lt;br&amp;gt;Zum Schluss kommt noch die Auflistung aller Autocalls (Gespräche die nicht an einen Agenten durchgestellt wurden). Hier sehen Sie nur Zeitpunkt und Status.&lt;br /&gt;
&lt;br /&gt;
== IP/Hosts der Agenten beschränken ==&lt;br /&gt;
&lt;br /&gt;
Es gibt zudem die Möglichkeit aus Sicherheitsgründen die Loginadressen der Agenten auf bestimmte IP-Adressen bzw. Hostnamen zu beschränken.&lt;br /&gt;
Die Einstellungen hierfür finden sich unter:&lt;br /&gt;
Administratorlogin -&amp;gt; Vertragsdaten einsehen -&amp;gt; Einstellungen bearbeiten -&amp;gt; IP/Host Optionen.&lt;br /&gt;
&lt;br /&gt;
Sind hier keine Einträge vorhanden werden alle Agentenlogins erlaubt.&lt;br /&gt;
&lt;br /&gt;
Eingetragen werden können IP-Adressen im Format 1.2.3.4 sowie dynamische Hostnamen.&lt;br /&gt;
&lt;br /&gt;
Agenten mit nicht erlaubten IP-Adressen können sich zwar einloggen, jedoch keine Kampagne wählen. Im Falle einer Sperre kommt der Fehler &amp;quot;Bad Host!&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Wir empfehlen ausdrücklich die Nutzung dieser Funktion um nicht authorisierte Agentenlogins zu verhindern!&lt;/div&gt;</summary>
		<author><name>Rath</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.mmdial.de/index.php?title=Agentenverwaltung&amp;diff=276</id>
		<title>Agentenverwaltung</title>
		<link rel="alternate" type="text/html" href="https://wiki.mmdial.de/index.php?title=Agentenverwaltung&amp;diff=276"/>
		<updated>2015-01-28T12:18:24Z</updated>

		<summary type="html">&lt;p&gt;Rath: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Überblick  ==&lt;br /&gt;
&lt;br /&gt;
Die Agentenverwaltung besitzt folgende Funktionen:&lt;br /&gt;
&lt;br /&gt;
*Agenten erstellen&lt;br /&gt;
*Agenten löschen&lt;br /&gt;
*Agenten bearbeiten&lt;br /&gt;
*Agenten Historie&lt;br /&gt;
&lt;br /&gt;
== Erstellen  ==&lt;br /&gt;
&lt;br /&gt;
Gehen Sie nach &amp;quot;Agentenverwaltung /&amp;amp;nbsp;Agenten erstellen&amp;quot; &lt;br /&gt;
&lt;br /&gt;
Sie sehen nun ein Eingabeformular in dem Sie '''bitte alle Felder ausfüllen'''. &lt;br /&gt;
&lt;br /&gt;
Im ersten Feld haben Sie die Möglichkeit den Typ des Accounts auszuwählen.&amp;lt;br&amp;gt;Zu Auswahl stehen die Typen „Agent“ und „Administrator“.&amp;lt;br&amp;gt;Bitte beachten Sie, dass ein Administratoren-Account nicht nur den Dialer über die Verwaltungsoberfläche einstellen kann, sondern auch als Agent selber telefonieren kann.&amp;lt;br&amp;gt;(Nähere Informationen zu den Typen finden Sie im Bereich „[[Account-Typen und Rechte]]“) &lt;br /&gt;
&lt;br /&gt;
Im zweiten Feld sehen Sie die Login-ID.&amp;lt;br&amp;gt;Diese wird automatisch generiert und kann nicht geändert werden. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Im dritten Feld müssen Sie nun den Namen des Agenten eintragen.&amp;lt;br&amp;gt;'''''ACHTUNG'''''&amp;lt;i&amp;gt;: Bitte beachten Sie, dass dieses Feld eine Maximallänge vom 50 Zeichen hat.&amp;lt;/i&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''Zum Schluss geben Sie bitte noch das gewünschte Passwort ich doppelter Eingabe an.&amp;lt;br&amp;gt;'''''ACHTUNG''''': Dieses Feld hat einen Maximallänge von 10 Zeichen.&amp;lt;br&amp;gt;'' &lt;br /&gt;
&lt;br /&gt;
Wenn Sie daraufhin den „Anlegen“ Button klicken, wird der Account erstellt. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;''Beachten Sie, dass der Account standardmäßig deaktiviert ist.&amp;lt;br&amp;gt;Wie Sie Agenten aktivieren und deaktivieren finden Sie [[Agentenverwaltung#Aktivieren_.2F.C2.A0Deaktivieren|hier]].''&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Bearbeiten  ==&lt;br /&gt;
&lt;br /&gt;
=== Passwort ändern&amp;lt;br&amp;gt; ===&lt;br /&gt;
&lt;br /&gt;
Zum Ändern eines Passwortes gehen Sie zunächst bitte in die Agentenliste.&amp;lt;br&amp;gt;Klicken Sie bei dem gewünschten Agenten auf das 1. Icon (Agenten bearbeiten) ganz links in der Tabelle. Als Icon ist ein Schreibblock mit Schrift abgebildet.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Sie sehen nun eine ähnliche Maske wie beim Erstellen eines Agenten.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Zum Ändern tippen Sie nun bitte 2x das neue Passwort ein und drücken Sie auf speichern.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Typ ändern&amp;lt;br&amp;gt; ===&lt;br /&gt;
&lt;br /&gt;
Zum Ändern eines Profil-Types des Agenten gehen Sie zunächst bitte in die Agentenliste.&amp;lt;br&amp;gt;Klicken Sie bei dem gewünschten Agenten auf das 1. Icon (Agenten bearbeiten / Schreibblock mit Stift) ganz links in der Tabelle.&lt;br /&gt;
&lt;br /&gt;
Sie sehen nun eine ähnliche Maske wie beim Erstellen eines Agenten.&lt;br /&gt;
&lt;br /&gt;
Zum Ändern wählen Sie nun in der Drop-Down Liste den gewünschten Typ aus und drücken Sie auf speichern.&amp;lt;br&amp;gt;Zur Auswahl stehen Ihnen wie bei der Agentenerstellung &amp;quot;Agent&amp;quot; und &amp;quot;Administrator&amp;quot;. Weitere Informationen finden Sie unter [[Account-Typen und Rechte]].&lt;br /&gt;
&lt;br /&gt;
== Aktivieren /&amp;amp;nbsp;Deaktivieren&amp;lt;br&amp;gt;  ==&lt;br /&gt;
&lt;br /&gt;
Gehen Sie zur Agentenliste. &lt;br /&gt;
&lt;br /&gt;
Sie sehen nun eine Auflistung aller Agenten und Administratoren. &lt;br /&gt;
&lt;br /&gt;
Um einen Agenten zu aktivieren / deaktivieren klicken Sie in der Agentenliste auf das kleine Männchen.&amp;lt;br&amp;gt;Der Status wird direkt geändert. &amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Ein graues Männchen bedeutet, dass der aktuelle Status auf &amp;quot;deaktiviert&amp;quot; steht. Ein blaues Männchen ist aktiviert.&lt;br /&gt;
&lt;br /&gt;
== Löschen  ==&lt;br /&gt;
&lt;br /&gt;
Gehen Sie zur Agentenliste.&amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Sie sehen nun eine Auflistung aller Agenten und Administratoren. &lt;br /&gt;
&lt;br /&gt;
Um einen Agenten zu löschen klicken Sie nun auf das Zeichen mit dem roten X.&lt;br /&gt;
&lt;br /&gt;
Im Anschluss daran werden Sie gefragt, ob Sie den Account wirklich löschen wollen.&amp;lt;br&amp;gt;Klicken Sie hier auf „Ja“ &lt;br /&gt;
&lt;br /&gt;
Der Account wurde nun gelöscht und Ihrem Agenten-Kontingent wird ein Agent gutgeschrieben.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== PC zuweisen  ==&lt;br /&gt;
&lt;br /&gt;
'''Diese Funktion ist optional und nicht in der Standardversion von mmDial enthalten.''' &lt;br /&gt;
&lt;br /&gt;
== Historie  ==&lt;br /&gt;
&lt;br /&gt;
Die Agentenhistorie erlaubt es Ihnen eine detailierte Auflistung aller Gespräche eines Agenten der letzten 2 Tage einzusehen. &lt;br /&gt;
&lt;br /&gt;
Zur Historie gelangen Sie, in dem Sie in der Agentenliste auf das Icon mit der schwarzen Uhr klicken. Daraufhin öffnet sich ein Dialogfenster, in dem Sie die Auflistung der Gespräche sehen. In dieser Liste finden Sie Infomationen zum [[Lead|Lead]], dem Gesprächszeitpunkt und der Gesprächsdauer. &lt;br /&gt;
&lt;br /&gt;
In dieser Liste haben Sie die Möglichkeit, in dem Sie auf die LeadID klicken, weitere Informationen zu dem Gesräch zu bekommen. &lt;br /&gt;
&lt;br /&gt;
Nachdem Sie auf die LeadID geklickt haben öffnet sich wieder ein neues [[Dialogfenster|Dialogfenster]], in dem Sie nun die genauen Informationen zu dem Lead angezeigt bekommen. &lt;br /&gt;
&lt;br /&gt;
Dieses Fenster ist folgendermaßen aufgeteilt: &amp;lt;br&amp;gt;Oben sehen Sie die Informationen zu der Person, die sich hinter der LeadID verbirgt (Name, Anschrift usw.).&amp;lt;br&amp;gt;Darunter sehen Sie, falls vorhanden, Einträge, die für diesen Lead im [[Auftragsformular|Auftragsformular]] eingetragen wurden. &amp;lt;br&amp;gt;Darauf folgt eine Auflistung der Gespräche, die mit diesem Lead aufgebaut und an einen Agenten gereicht wurden. Sie sehen Informationen zu Zeitpunkt, Agent und dem zugewiesenen Status nach dem Gesrächsende. &amp;lt;br&amp;gt;Zum Schluss kommt noch die Auflistung aller Autocalls (Gespräche die nicht an einen Agenten durchgestellt wurden). Hier sehen Sie nur Zeitpunkt und Status.&lt;br /&gt;
&lt;br /&gt;
== IP/Hosts der Agenten beschränken ==&lt;br /&gt;
&lt;br /&gt;
Es gibt zudem die Möglichkeit aus Sicherheitsgründen die Loginadressen der Agenten auf bestimmte IP-Adressen bzw. Hostnamen zu beschränken.&lt;br /&gt;
Die Einstellungen hierfür finden sich unter:&lt;br /&gt;
Administratorlogin -&amp;gt; Vertragsdaten einsehen -&amp;gt; Einstellungen bearbeiten -&amp;gt; IP/Host Optionen.&lt;br /&gt;
&lt;br /&gt;
Sind hier keine Einträge vorhanden werden alle Agentenlogins erlaubt.&lt;br /&gt;
&lt;br /&gt;
Eingetragen werden können IP-Adressen im Format 1.2.3.4 sowie dynamische Hostnamen.&lt;br /&gt;
&lt;br /&gt;
Agenten mit nicht erlaubten IP-Adressen können sich zwar einloggen, jedoch keine Kampagne wählen. Im Falle einer Sperre kommt der Fehler &amp;quot;Bad Host!&amp;quot;&lt;/div&gt;</summary>
		<author><name>Rath</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.mmdial.de/index.php?title=Listenverwaltung&amp;diff=274</id>
		<title>Listenverwaltung</title>
		<link rel="alternate" type="text/html" href="https://wiki.mmdial.de/index.php?title=Listenverwaltung&amp;diff=274"/>
		<updated>2014-07-15T21:01:27Z</updated>

		<summary type="html">&lt;p&gt;Rath: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Übersicht ==&lt;br /&gt;
&lt;br /&gt;
In der Listenverwaltung können neue Listen zu den einzelnen Kampagnen hochgeladen werden, Listen verwaltet und gedreht sowie nach einzelnen Leads gesucht werden.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
'''Zu beachten:'''&amp;lt;br&amp;gt;&lt;br /&gt;
Listen werden immer in bestimmte Kampagnen hochgeladen, daher ist es zwingend notwendig, dass vorher eine Kampagne erstellt wird. Dies kann über die [[Kampagnenverwaltung]] durchgeführt werden.&lt;br /&gt;
Listen können zudem später in andere Kampagnen verschoben oder umbenannt werden. Klicken Sie hierzu auf das Bearbeitensymbol neben dem Listennamen in der Listenübersicht&lt;br /&gt;
&lt;br /&gt;
== Liste hochladen ==&lt;br /&gt;
&lt;br /&gt;
Listen müssen .csv Format hochgeladen werden. Eine vorhandene Exel-Tabelle kann unter Exel mit &amp;quot;Speichern unter&amp;quot; als .csv-Datei abgespeichert werden.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
[[Datei:EXEL_speichern.JPG]]&amp;lt;br&amp;gt;&lt;br /&gt;
''(&amp;quot;Datei -&amp;gt; Speichern untern...&amp;quot; in Exel - Auswahl: &amp;quot;CSV (Trennzeichen-getrennt)&amp;quot;)''&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Standardmäßig wird in Exel das Semikolon (;) als Trennzeichen verwendet. Sofern dies bei Ihnen nicht&amp;lt;br&amp;gt;&lt;br /&gt;
der Fall sein sollte, können Sie dies in der Systemsteuerung an Ihrem Computer umstellen.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
*Start -&amp;gt; Systemsteuerung&amp;lt;br&amp;gt;&lt;br /&gt;
*Öffnen der &amp;quot;'''Regions- und Sprachoptionen'''&amp;quot;&lt;br /&gt;
*Unter R'''egionale Einstellungen''' auf '''(Dieses Format) anpassen'''&lt;br /&gt;
*Unter '''Listentrennzeichen''' können Sie das Semikolon (;) einfügen&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[[Datei:Trennzeichen_aendern.JPG]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Zum Hochladen wird zuerst die gewünschte Kampagne ausgewählt für welche die Liste bestimmt ist. Alle in der Liste vorhandenen Leads können dann in der Kampagne angerufen werden. Dazu wird eine kurze Beschreibung der Liste eingegeben, so kann später nachvollzogen werden z.B. woher die Liste stammt.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Nachdem die Liste mit drücken des &amp;quot;Durchsuchen&amp;quot;-Buttons auf der lokalen Festplatte ausgewählt wurde kann sie hochgeladen werden. Je nach Listengröße kann der Upload einige Zeit in Anspruch nehmen.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Auf der Folgeseite muss den einzelnen Spalten aus der Liste das entsprechende Feld im mmDial-System zugewiesen werden.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[[Datei:Liste_Kundenfelder1.JPG|650px]]&amp;lt;br&amp;gt;&lt;br /&gt;
''Ansicht nach dem Hochladen der Liste''&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Zur Zuweisung der Felder ziehen Sie mit der Maus die blauen Kundenfelder in die entsprechenden grauen Felder Ihrer Liste.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
[[Datei:Liste_Kundenfelder2.JPG|650px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Oftmals wird bei Exel die &amp;quot;0&amp;quot; der Vorwahl bei der Rufnummer gelöscht - ist dies der Fall, wird sie von mmDial automatisch wieder eingefügt. Unter &amp;quot;Vorwahl für Liste&amp;quot; können Sie durch die Eingabe von &amp;quot;00&amp;quot; auch Internationale Rufnummern anwählen. Sobald Sie eine Spalte als Telefonnummer zugewiesen haben wird die zu wählende Nummer als Vorschau angezeigt. Sonderzeichen werden hierbei entfernt.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Sie können desweiteren auswählen, ob das System fehlerhafte Rufnummern automatisch filtern soll. Dabei erkennt unser System anhand von Erfahrungswerten von angerufenen Telefonnummern in der letzten Zeit, wenn eine Rufnummer nicht vergeben war (&amp;quot;Kein Anschluss unter dieser Nummer&amp;quot;). Derartige Nummern werden dann automatisch aus der Liste rausgefiltert.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Außerdem haben Sie die Möglichkeit doppelte Leads zu vermeiden. Sie können auswählen ob doppelte Einträge aus dieser Liste mit vorhandenen Einträgen in der Kampagne oder Ihrem gesamten Kundenaccount bei mmDial abgeglichen werden sollen.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Klicken Sie am Ende ganz unten auf &amp;quot;Importieren&amp;quot;. Auf der Folgeseite sehen Sie einen blauen Statusbalken während Ihre Liste importiert wird. Im Anschluss erhalten Sie eine Statistik über den Erfolg. Sie sehen wie viele Telefonnummern importiert wurden, wieviele fehlterhaft oder doppelt waren.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Nachdem die Liste erfolgreich hochgeladen und alle Felder eingerichtet wurden taucht sie in der [[Kampagnenverwaltung]] in der entsprechenden, im ersten Schritt beim Upload ausgewählten, Kampagne auf. Alle Listen die neu hochgeladen werden sind standardmäßig deaktiviert. Aus diesem Grund muss die Liste in der Kampagnenübersicht noch aktiviert werden.&lt;br /&gt;
&lt;br /&gt;
=== Liste aktivieren ===&lt;br /&gt;
&lt;br /&gt;
==== in Listen ====&lt;br /&gt;
Unter &amp;quot;Alle Listen zeigen&amp;quot; werden die hochgeladenen Listen aufgeführt. Listen die mit einem &amp;quot;blauen Männchen&amp;quot; versehen sind sind aktiviert. Ein Klick auf das &amp;quot;graue Männchen&amp;quot; aktiviert eine derzeit deaktivierte Liste. Ein Klick auf das &amp;quot;blaue Männchen&amp;quot; bewirkt eine Deaktivierung der Liste.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
==== in Kampagnen ====&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Zum Aktivieren der Liste kann ebenfalls unter &amp;quot;Kampagnen&amp;quot; -&amp;gt; &amp;quot;Kampagnenliste&amp;quot; die entsprechende Kampagne ausgewählt werden. Mit einem Klick auf den blauen Pfeil werden alle dieser Kampagne zugewiesenen Listen angezeigt. Aktiviert wird die mit Klick auf das &amp;quot;Männchen&amp;quot;. Listen die ein &amp;quot;blaues Männchen&amp;quot; besitzen sind bereits aktiviert. Ein Klick auf das &amp;quot;blaue Männchen&amp;quot; deaktiviert die Liste.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
==== Zu beachten ====&lt;br /&gt;
Sofern in einer Kampagne keine aktivierte Liste ist, können keine Anrufe rausgehen. Es sollte daher immer überprüft werden, ob in den aktivierten Kampagnen die telefoniert werden auch aktivierte Listen vorhanden sind.&lt;br /&gt;
&lt;br /&gt;
== Liste drehen ==&lt;br /&gt;
&lt;br /&gt;
== Liste löschen/exportieren ==&lt;br /&gt;
&lt;br /&gt;
=== Löschen ===&lt;br /&gt;
&lt;br /&gt;
Beim Löschen einer Liste wird diese aus dem System komplett gelöscht. Auch alle Leads sind damit nicht mehr in der Kampagne vorhanden.&lt;br /&gt;
&lt;br /&gt;
=== Exportieren ===&lt;br /&gt;
&lt;br /&gt;
Zum Speichern der Liste kann über das Diskettensymbol unter &amp;quot;Alle Listen anzeigen&amp;quot; die gesamte Liste als .csv-Datei auf der lokalen Festplatte gespeichert werden. Eine benutzerdefinierte Erstellung der zu exportierenden Liste nach bestimmten Feldern (zum Beispiel nur alle Sales aus einer Liste) ist über die [[Export|Export-Funktion]] möglich.&lt;br /&gt;
&lt;br /&gt;
== Leads suchen ==&lt;br /&gt;
&lt;br /&gt;
Über die Funktion &amp;quot;Leads suchen&amp;quot; werden alle Listen entweder nach Name, Telefonnummer, LeadID oder der externen LeadID durchsucht und tabellarisch aufgelistet. Mit Klick auf die LeadID werden alle hinterlegten Daten des Leads/Kunden sowie die Anrufhistorie aufgelistet. So lässt sich spezifisch nach jedem Lead suchen und feststellen, welche Daten erfasst wurden und zu welchen Zeitpunkten der Lead mit welchem Agenten gesprochen hat.&lt;br /&gt;
&lt;br /&gt;
== DNC - Do Not Call ==&lt;br /&gt;
&lt;br /&gt;
=== DNC Liste ===&lt;br /&gt;
&lt;br /&gt;
Die &amp;quot;Do Not Call&amp;quot;-Liste beinhaltet alle Rufnummern die nicht mehr angerufen werden dürfen. Auch wenn in einer neuen Liste die zu einer Kampagne hochgeladen wird eine Rufnummer aus der DNC-Liste enthalten ist, wird diese nicht angerufen. Auch ein manuelles Wählen der Rufnummer ist nicht möglich.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Die Sperre beinhaltet auch alle nachstehenden Ziffern einer Rufnummer. Ist beispielsweise nur die Vorwahl &amp;quot;0241&amp;quot; (für Aachen) in der DNC-Liste erfasst, ist es nicht mehr möglich eine Aachener Rufnummer mit der Vorwahl &amp;quot;0241&amp;quot; anzurufen.&lt;br /&gt;
&lt;br /&gt;
=== DNC Import/Export ===&lt;br /&gt;
&lt;br /&gt;
Über die Import- und Export-Funktion können ganze DNC-Listen im .csv-Format hochgeladen oder gespeichert werden. Hierbei muss lediglich die zu sperrende Rufnummer in der 1. Spalte der Datei vorhanden sein. Optional kann in der 2. Spalte eine Begründung eingegeben werden. In diesem Fall muss die .csv Datei mit Semikolon (;) getrennt sein und keine Anführungszeichen für die Felder verwenden.&lt;br /&gt;
&lt;br /&gt;
== Demoliste anlegen ==&lt;br /&gt;
&lt;br /&gt;
Um den Dialer zu testen kann eine automatische Demoliste vom System angelegt werden. Die Rufnummern in dieser Liste beinhalten nur einen Echotest. Der Agent hört sich also kurz zeitversetzt wieder selber. So kann die Funktionalität getestet werden. &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Die Demoliste muss in der Kampagne aktiviert werden. Es ist zu beachten, dass die Funktion &amp;quot;Anrufbeantworter-Erkennung&amp;quot; abgeschaltet sein sollte, um eventuelle Probleme zu vermeiden. Desweiteren muss auf manuelles oder striktes Wählen mit Wähllevel (Auto Level) 1 umgestellt werden.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Das Wählverhalten wird in der entsprechenden Kampagne umgestellt. Hierzu in der Kampagnenliste auf den &amp;quot;Schreibblock&amp;quot; vor dem Kampagnennamen klicken, dann auf &amp;quot;Wählverhalten&amp;quot;. Hier &amp;quot;Manuell&amp;quot; oder &amp;quot;Strikt (maximal)&amp;quot; und bei Auto Level &amp;quot;1&amp;quot; auswählen. Die Anrufbeantworter-Erkennung wird unter dem Punkt &amp;quot;Weitere Einstellungen&amp;quot; mit einem &amp;quot;Aus&amp;quot; bei &amp;quot;Gesprächspartner-Erkennung&amp;quot; abgeschaltet.&lt;/div&gt;</summary>
		<author><name>Rath</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.mmdial.de/index.php?title=API&amp;diff=273</id>
		<title>API</title>
		<link rel="alternate" type="text/html" href="https://wiki.mmdial.de/index.php?title=API&amp;diff=273"/>
		<updated>2014-07-15T09:39:14Z</updated>

		<summary type="html">&lt;p&gt;Rath: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;mmDial bietet ein umfangreiches API zur Anbindung externer Software.&lt;br /&gt;
&lt;br /&gt;
Viele Schnittstellen sind bislang undokumentiert. Sollten Sie eine weitere Schnittstelle benötigen,&lt;br /&gt;
wenden Sie sich bitte an unseren Support!&lt;br /&gt;
Die API befindet sich nocht im Alpha-Stadium. Die Dokumentation kann fehlerhaft sein, und Schnittstellen können&lt;br /&gt;
sich jederzeit ändern!&lt;br /&gt;
&lt;br /&gt;
Sie können auf einfache Weise auch externe CRM-Systeme direkt in das Agenteninterface einbinden.&lt;br /&gt;
Verwenden Sie hierzu die &amp;quot;Kampagnen Module&amp;quot; zu finden unter Kampagnen -&amp;gt; Kampagne auswählen -&amp;gt; Kampagnen Module.&lt;br /&gt;
Eine kleine Erklärung und ein Beispielscript finden Sie unter [[Kampagnenverwaltung#Eigenes_Auftragsformular|Eigenes Auftrasformular]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Allgemeines ==&lt;br /&gt;
&lt;br /&gt;
 * Die mmDial API ist über http://login.mmdial.de/api/ zu erreichen.&lt;br /&gt;
 * Die API benutzt die Standard HTTP Authentication.&lt;br /&gt;
 * Als Benutzername wird ein Benutzer mit Adminrechten verwendet&lt;br /&gt;
 * Es werden je nach Funktion HTTP GET und HTTP POST Argumente übergeben&lt;br /&gt;
 * Rückmeldungen erfolgen in der Regel als json Objekt&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Funktionen ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== searchvoicebyleadid ===&lt;br /&gt;
&lt;br /&gt;
Sucht eine Voice-Aufnahme über die Lead-ID des Kunden.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * leadid (GET) - die zu suchende Lead-ID&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: ok|error&lt;br /&gt;
 * msg: (nur bei error)&lt;br /&gt;
 * voices: json Objekt:&lt;br /&gt;
  * recid: Aufnahme-ID&lt;br /&gt;
  * agentid: Agenten-ID&lt;br /&gt;
  * timestamp: Der Zeitstempel der Aufnahme&lt;br /&gt;
  * available: yes|no yes, wenn die Datei schon/noch abrufbar ist.&lt;br /&gt;
  * voiceid: Dateiinterne ID&lt;br /&gt;
  * url: Url um die Datei herunterzuladen.&lt;br /&gt;
  * length: Abspiellänge der Aufzeichnung&lt;br /&gt;
  * size: Größe der Aufzeichnung&lt;br /&gt;
&lt;br /&gt;
=== searchvoicebyphonenumber ===&lt;br /&gt;
&lt;br /&gt;
Sucht eine Voice-Aufnahme über die Telefonnummer des Kunden.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * phone(GET) - die zu suchende Telefonnummer&lt;br /&gt;
 * date (GET, optional) - Datum im Format YYYY-MM-DD&lt;br /&gt;
 * timestamp (GET, optional) - Timestamp im Format YYYMMDDHHIISS&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: ok|error&lt;br /&gt;
 * msg: (nur bei error)&lt;br /&gt;
 * voices: json Objekt:&lt;br /&gt;
  * recid: Aufnahme-ID&lt;br /&gt;
  * agentid: Agenten-ID&lt;br /&gt;
  * timestamp: Der Zeitstempel der Aufnahme&lt;br /&gt;
  * available: yes|no yes, wenn die Datei schon/noch abrufbar ist.&lt;br /&gt;
  * voiceid: Dateiinterne ID&lt;br /&gt;
  * url: Url um die Datei herunterzuladen.&lt;br /&gt;
  * length: Abspiellänge der Aufzeichnung&lt;br /&gt;
  * size: Größe der Aufzeichnung&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== searchvoicebyagent ===&lt;br /&gt;
&lt;br /&gt;
Sucht eine Voice-Aufnahme über die Agenten-ID.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * agentid(GET) - die zu Agenten-ID&lt;br /&gt;
 * date (GET, optional) - Datum im Format YYYY-MM-DD&lt;br /&gt;
 * timestamp (GET, optional) - Timestamp im Format YYYMMDDHHIISS&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: ok|error&lt;br /&gt;
 * msg: (nur bei error)&lt;br /&gt;
 * voices: json Objekt:&lt;br /&gt;
  * recid: Aufnahme-ID&lt;br /&gt;
  * agentid: Agenten-ID&lt;br /&gt;
  * timestamp: Der Zeitstempel der Aufnahme&lt;br /&gt;
  * available: yes|no yes, wenn die Datei schon/noch abrufbar ist.&lt;br /&gt;
  * voiceid: Dateiinterne ID&lt;br /&gt;
  * url: Url um die Datei herunterzuladen.&lt;br /&gt;
  * length: Abspiellänge der Aufzeichnung&lt;br /&gt;
  * size: Größe der Aufzeichnung&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== getfieldsbycampaign===&lt;br /&gt;
&lt;br /&gt;
Gibt alle Auftragsformularfelder einer Kampagne zurück.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * campaign_id (GET) - die Kampagnen-ID&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * fields - json Objektliste:&lt;br /&gt;
  * name: Feldname&lt;br /&gt;
&lt;br /&gt;
=== exportbystatus ===&lt;br /&gt;
&lt;br /&gt;
Erstellt eine Exportdatei aus verschiedenen Kriterien als CSV.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * campaign_id (GET) - die Kampagnen-ID&lt;br /&gt;
 * status (GET Array, optional) - die zu Exportierenden Status&lt;br /&gt;
 * datetype: (GET, optional) last_phone|last_edit|imported_date (GET Array, optional)&lt;br /&gt;
 * fromdate: (GET, optional) Datum beginn: d.m.Y&lt;br /&gt;
 * fromtime: (GET, optional) Uhrzeit beginn: H:i:s&lt;br /&gt;
 * todate: (GET, optional) Datum ende: d.m.Y&lt;br /&gt;
 * totime: (GET, optional) Uhrzeit ende: H:i:s&lt;br /&gt;
 * selectedfields: (GET/POST) Feldauswahlliste getrennt durch , (Kommata) Prefix für Normale Felder: customerfield_, Prefix für Auftragsformularfelder: webformfield_&lt;br /&gt;
 * encoding: (GET/POST, optional) Datei-Encoding (Standard: iso-8859-1) ISO-8859-1,Windows-1252,UTF-8&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: ok|error&lt;br /&gt;
 * file_id: Datei-ID&lt;br /&gt;
 * size: Datei-Größe&lt;br /&gt;
 * url: Datei-URL&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== dncadd ===&lt;br /&gt;
&lt;br /&gt;
Fügt eine oder mehrere Nummern der Sperrliste hinzu&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * number (GET (Optional: mehrere durch , getrennt))&lt;br /&gt;
 * reason (GET, Optional) Optionaler Grund&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: ok|error|doublet&lt;br /&gt;
 * message&lt;br /&gt;
&lt;br /&gt;
=== dncdel ===&lt;br /&gt;
&lt;br /&gt;
Löscht eine, oder mehrere Nummern aus der Sperrliste.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * number (GET (Optional: mehrere durch , getrennt))&lt;br /&gt;
 * reason (GET, Optional) Optionaler Grund&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: ok|error&lt;br /&gt;
 * message&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== dncget ===&lt;br /&gt;
&lt;br /&gt;
Gibt die Sperrliste als CSV Datei zurück&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
''keine''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
CSV-Datei mit allen gesperrten Rufnummern&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== dnccheck ===&lt;br /&gt;
&lt;br /&gt;
Sucht eine Nummer in der DNC-Liste&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * number (GET)&lt;br /&gt;
 * fuzzy: yes|no (GET, optional) Sucht auch nach Teilnummern.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: exists|notfound (bei fuzzy = no)&lt;br /&gt;
 * results: Liste mit passenden Telefonnummern (bei fuzzy = yes)&lt;br /&gt;
&lt;br /&gt;
=== camp_dncadd ===&lt;br /&gt;
&lt;br /&gt;
Fügt eine oder mehrere Nummern der Kampagnen-Sperrliste hinzu&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * number (GET (Optional: mehrere durch , getrennt))&lt;br /&gt;
 * campaignID (GET)&lt;br /&gt;
 * reason (GET, Optional) Optionaler Grund&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: ok|error|doublet&lt;br /&gt;
 * message&lt;br /&gt;
&lt;br /&gt;
=== camp_dncdel ===&lt;br /&gt;
&lt;br /&gt;
Löscht eine, oder mehrere Nummern aus der Kampagnen-Sperrliste.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * number (GET (Optional: mehrere durch , getrennt))&lt;br /&gt;
 * campaignID (GET)&lt;br /&gt;
 * reason (GET, Optional) Optionaler Grund&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: ok|error&lt;br /&gt;
 * message&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== camp_dncget ===&lt;br /&gt;
&lt;br /&gt;
Gibt die Kampagnen-Sperrliste als CSV Datei zurück&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * campaignID (GET)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
CSV-Datei mit allen gesperrten Rufnummern dieser Kampagne&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== camp_dnccheck ===&lt;br /&gt;
&lt;br /&gt;
Sucht eine Nummer in der Kampagnen DNC-Liste&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * number (GET)&lt;br /&gt;
 * fuzzy: yes|no (GET, optional) Sucht auch nach Teilnummern.&lt;br /&gt;
 * campaignID (GET)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: exists|notfound (bei fuzzy = no)&lt;br /&gt;
 * results: Liste mit passenden Telefonnummern (bei fuzzy = yes)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== getleadbyid ===&lt;br /&gt;
&lt;br /&gt;
Suche einen Lead über die LeadID und gibt die Lead-Details sowie das letzte Auftragsformular zurück.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * leadid(GET)&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: found|notfound&lt;br /&gt;
 * lead_data: json Objekt mit Lead-Daten&lt;br /&gt;
 * formdata: json Objekt mit Auftragsformular-Daten&lt;br /&gt;
&lt;br /&gt;
=== getleadbyphonenumber ===&lt;br /&gt;
&lt;br /&gt;
Suche einen Lead über die Telefonnummer und gibt die Lead-Details sowie das letzte Auftragsformular zurück.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * number(GET)&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: found|notfound&lt;br /&gt;
 * lead_data: json Objekt Array mit Lead-Daten&lt;br /&gt;
 * formdata: json Objekt Array mit Auftragsformular-Daten&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== getleadbyexternalid ===&lt;br /&gt;
&lt;br /&gt;
Suche einen Lead über die externe Lead-ID und gibt die Lead-Details sowie das letzte Auftragsformular zurück.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * leadid(GET)&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: found|notfound&lt;br /&gt;
 * lead_data: json Objekt Array mit Lead-Daten&lt;br /&gt;
 * formdata: json Objekt Array mit Auftragsformular-Daten&lt;br /&gt;
&lt;br /&gt;
=== getleadbyextrafield ===&lt;br /&gt;
&lt;br /&gt;
Suche einen Lead über ein Extrafeld.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * fieldname(GET) - der Name des Extra-Feldes&lt;br /&gt;
 * fieldvalue(GET) - der zu suchende Wert&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: found|notfound&lt;br /&gt;
 * lead_data: json Objekt Array mit Lead-Daten&lt;br /&gt;
 * formdata: json Objekt Array mit Auftragsformular-Daten&lt;br /&gt;
&lt;br /&gt;
=== getleadbycustomdata ===&lt;br /&gt;
&lt;br /&gt;
Sucht einen Lead über diverse kombinierbare Optionen und gibt die Lead-Details sowie das letzte Auftragsformular zurück.&lt;br /&gt;
Werden Mehrere Optionen Kombiniert müssen alle Optionen zutreffen.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * extleadid(GET,string) Sucht über die externe Lead-ID&lt;br /&gt;
 * extra_fieldname(GET,string|Array) Sucht über Extrafelder&lt;br /&gt;
 * number(GET) Sucht über die Telefonnummer&lt;br /&gt;
 * listid(GET,string|Array) Sucht über Listennummern&lt;br /&gt;
 * campaignID(GET,string) Sucht über die Kampagne&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: found|notfound&lt;br /&gt;
 * lead_data: json Objekt mit Lead-Daten&lt;br /&gt;
 * formdata: json Objekt mit Auftragsformular-Daten&lt;br /&gt;
&lt;br /&gt;
=== addlist ===&lt;br /&gt;
&lt;br /&gt;
Füge eine Liste hinzu.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * campaignID (GET)&lt;br /&gt;
 * description (GET)&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: ok|error&lt;br /&gt;
 * listid: ID der erstellten Liste (nur bei ok)&lt;br /&gt;
 * reason: Fehlergrund (nur bei error)&lt;br /&gt;
&lt;br /&gt;
=== getlists ===&lt;br /&gt;
&lt;br /&gt;
Listet alle Listen auf.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * campaignID (GET,optional)&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * lists: Array aller Listen&lt;br /&gt;
&lt;br /&gt;
=== addlead ===&lt;br /&gt;
&lt;br /&gt;
Füge einen Lead hinzu.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * campaign_id (POST)&lt;br /&gt;
 * invalidcheck (POST) yes|no&lt;br /&gt;
 * doubletcheck_global (POST) yes|no&lt;br /&gt;
 * doubletcheck_campaign (POST) yes|no&lt;br /&gt;
 * list_id (POST)&lt;br /&gt;
 * country_phone_code (POST)&lt;br /&gt;
 * leaddata (POST, Array)&lt;br /&gt;
  * title&lt;br /&gt;
  * phone&lt;br /&gt;
  * alt_phone&lt;br /&gt;
  * first_name&lt;br /&gt;
  * last_name&lt;br /&gt;
  * birthdate&lt;br /&gt;
  * country&lt;br /&gt;
  * street&lt;br /&gt;
  * streetnr&lt;br /&gt;
  * addradd&lt;br /&gt;
  * plz&lt;br /&gt;
  * ort&lt;br /&gt;
  * notices&lt;br /&gt;
  * leadid_external&lt;br /&gt;
  * company_name&lt;br /&gt;
 * formfields (POST, Array)&lt;br /&gt;
  * (Auftragsformularfelder, frei)&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * lead_stats: json Objekt&lt;br /&gt;
  * success&lt;br /&gt;
  * error&lt;br /&gt;
  * sqlerror&lt;br /&gt;
  * formaterror&lt;br /&gt;
  * doubleterror&lt;br /&gt;
  * invaliderror&lt;br /&gt;
  * formaterror_types: json Objekt&lt;br /&gt;
   * (diverse)&lt;br /&gt;
&lt;br /&gt;
=== editlead ===&lt;br /&gt;
&lt;br /&gt;
Bearbeite einen Lead.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * campaign_id (GET)&lt;br /&gt;
 * leadid(GET)&lt;br /&gt;
 * leaddata (POST, Array)&lt;br /&gt;
  * title&lt;br /&gt;
  * phone&lt;br /&gt;
  * alt_phone&lt;br /&gt;
  * first_name&lt;br /&gt;
  * last_name&lt;br /&gt;
  * birthdate&lt;br /&gt;
  * country&lt;br /&gt;
  * street&lt;br /&gt;
  * streetnr&lt;br /&gt;
  * addradd&lt;br /&gt;
  * plz&lt;br /&gt;
  * ort&lt;br /&gt;
  * notices&lt;br /&gt;
  * leadid_external&lt;br /&gt;
  * company_name&lt;br /&gt;
  * rotation&lt;br /&gt;
  * status&lt;br /&gt;
 * formfields (POST, Array)&lt;br /&gt;
  * (Auftragsformularfelder, frei)&lt;br /&gt;
&lt;br /&gt;
Im leaddata Array können auch Alle Extrafelder über das Unterarray &amp;quot;extrafields&amp;quot; referenziert und Bearbeitet werden.&lt;br /&gt;
Die Array-Keys sind hierbei die Feldnamen.&lt;br /&gt;
 &lt;br /&gt;
=== getagentbyid ===&lt;br /&gt;
&lt;br /&gt;
Suche einen Agenten über seine ID und liefere seine Daten zurück.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * agentid (GET)&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: found|notfound&lt;br /&gt;
 * agent_info: json Objekt Array mit Agent-Daten&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status ok|error&lt;br /&gt;
 * reason (Bei Fehlern) Fehlergrund&lt;br /&gt;
&lt;br /&gt;
=== getlistbyid===&lt;br /&gt;
&lt;br /&gt;
Suche eine Liste über ihre ID und liefere die Daten zurück.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * listid (GET)&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: found|notfound&lt;br /&gt;
 * list_info: json Objekt Array mit Listen-Daten&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status ok|error&lt;br /&gt;
 * reason (Bei Fehlern) Fehlergrund&lt;/div&gt;</summary>
		<author><name>Rath</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.mmdial.de/index.php?title=Liste_Fehlerhafter_Router&amp;diff=272</id>
		<title>Liste Fehlerhafter Router</title>
		<link rel="alternate" type="text/html" href="https://wiki.mmdial.de/index.php?title=Liste_Fehlerhafter_Router&amp;diff=272"/>
		<updated>2014-03-26T12:53:12Z</updated>

		<summary type="html">&lt;p&gt;Rath: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Die folgenden Router haben Probleme mit dem Umgang von SIP(VoIP)-Verbindungen:&amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
#Speedport W123V (?) #hat Probleme mit mehr als 1er VoIP Verbindung. Teilweise kann keine Verbindung zu Servern mit Port 5060 (udp) mehr aufgebaut werden&amp;lt;br&amp;gt;&lt;br /&gt;
#Speedport W723V - Scheint das gleiche Problem wie der Speedport W123V zu haben.&lt;br /&gt;
#Cisco small business pro srp 500er Reihe - Sepziell: 521w. Sperrt gelegentlich einzelne Ports oder IP-Adressen. Vermutlich DDoS Schutz oder fehlerhaftes SPI/ALG.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Unter Umständen hilft auch eine Änderung des SIP-Ports. Wir bieten zusätzlich zum Standard-SIP-Port 5060 den port 5070 an. SIP über TCP wird nicht angeboten.&lt;br /&gt;
In einigen extremen Fällen bietet sich ein Tunneln durch den Router mittels VPN an.&lt;/div&gt;</summary>
		<author><name>Rath</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.mmdial.de/index.php?title=API&amp;diff=271</id>
		<title>API</title>
		<link rel="alternate" type="text/html" href="https://wiki.mmdial.de/index.php?title=API&amp;diff=271"/>
		<updated>2014-03-23T20:30:17Z</updated>

		<summary type="html">&lt;p&gt;Rath: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;mmDial bietet ein umfangreiches API zur Anbindung externer Software.&lt;br /&gt;
&lt;br /&gt;
Viele Schnittstellen sind bislang undokumentiert. Sollten Sie eine weitere Schnittstelle benötigen,&lt;br /&gt;
wenden Sie sich bitte an unseren Support!&lt;br /&gt;
Die API befindet sich nocht im Alpha-Stadium. Die Dokumentation kann fehlerhaft sein, und Schnittstellen können&lt;br /&gt;
sich jederzeit ändern!&lt;br /&gt;
&lt;br /&gt;
Sie können auf einfache Weise auch externe CRM-Systeme direkt in das Agenteninterface einbinden.&lt;br /&gt;
Verwenden Sie hierzu die &amp;quot;Kampagnen Module&amp;quot; zu finden unter Kampagnen -&amp;gt; Kampagne auswählen -&amp;gt; Kampagnen Module.&lt;br /&gt;
Eine kleine Erklärung und ein Beispielscript finden Sie unter [[Kampagnenverwaltung#Eigenes_Auftragsformular|Eigenes Auftrasformular]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Allgemeines ==&lt;br /&gt;
&lt;br /&gt;
 * Die mmDial API ist über http://login.mmdial.de/api/ zu erreichen.&lt;br /&gt;
 * Die API benutzt die Standard HTTP Authentication.&lt;br /&gt;
 * Als Benutzername wird ein Benutzer mit Adminrechten verwendet&lt;br /&gt;
 * Es werden je nach Funktion HTTP GET und HTTP POST Argumente übergeben&lt;br /&gt;
 * Rückmeldungen erfolgen in der Regel als json Objekt&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Funktionen ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== searchvoicebyleadid ===&lt;br /&gt;
&lt;br /&gt;
Sucht eine Voice-Aufnahme über die Lead-ID des Kunden.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * leadid (GET) - die zu suchende Lead-ID&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: ok|error&lt;br /&gt;
 * msg: (nur bei error)&lt;br /&gt;
 * voices: json Objekt:&lt;br /&gt;
  * recid: Aufnahme-ID&lt;br /&gt;
  * agentid: Agenten-ID&lt;br /&gt;
  * timestamp: Der Zeitstempel der Aufnahme&lt;br /&gt;
  * available: yes|no yes, wenn die Datei schon/noch abrufbar ist.&lt;br /&gt;
  * voiceid: Dateiinterne ID&lt;br /&gt;
  * url: Url um die Datei herunterzuladen.&lt;br /&gt;
  * length: Abspiellänge der Aufzeichnung&lt;br /&gt;
  * size: Größe der Aufzeichnung&lt;br /&gt;
&lt;br /&gt;
=== searchvoicebyphonenumber ===&lt;br /&gt;
&lt;br /&gt;
Sucht eine Voice-Aufnahme über die Telefonnummer des Kunden.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * phone(GET) - die zu suchende Telefonnummer&lt;br /&gt;
 * date (GET, optional) - Datum im Format YYYY-MM-DD&lt;br /&gt;
 * timestamp (GET, optional) - Timestamp im Format YYYMMDDHHIISS&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: ok|error&lt;br /&gt;
 * msg: (nur bei error)&lt;br /&gt;
 * voices: json Objekt:&lt;br /&gt;
  * recid: Aufnahme-ID&lt;br /&gt;
  * agentid: Agenten-ID&lt;br /&gt;
  * timestamp: Der Zeitstempel der Aufnahme&lt;br /&gt;
  * available: yes|no yes, wenn die Datei schon/noch abrufbar ist.&lt;br /&gt;
  * voiceid: Dateiinterne ID&lt;br /&gt;
  * url: Url um die Datei herunterzuladen.&lt;br /&gt;
  * length: Abspiellänge der Aufzeichnung&lt;br /&gt;
  * size: Größe der Aufzeichnung&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== searchvoicebyagent ===&lt;br /&gt;
&lt;br /&gt;
Sucht eine Voice-Aufnahme über die Agenten-ID.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * agentid(GET) - die zu Agenten-ID&lt;br /&gt;
 * date (GET, optional) - Datum im Format YYYY-MM-DD&lt;br /&gt;
 * timestamp (GET, optional) - Timestamp im Format YYYMMDDHHIISS&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: ok|error&lt;br /&gt;
 * msg: (nur bei error)&lt;br /&gt;
 * voices: json Objekt:&lt;br /&gt;
  * recid: Aufnahme-ID&lt;br /&gt;
  * agentid: Agenten-ID&lt;br /&gt;
  * timestamp: Der Zeitstempel der Aufnahme&lt;br /&gt;
  * available: yes|no yes, wenn die Datei schon/noch abrufbar ist.&lt;br /&gt;
  * voiceid: Dateiinterne ID&lt;br /&gt;
  * url: Url um die Datei herunterzuladen.&lt;br /&gt;
  * length: Abspiellänge der Aufzeichnung&lt;br /&gt;
  * size: Größe der Aufzeichnung&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== getfieldsbycampaign===&lt;br /&gt;
&lt;br /&gt;
Gibt alle Auftragsformularfelder einer Kampagne zurück.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * campaign_id (GET) - die Kampagnen-ID&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * fields - json Objektliste:&lt;br /&gt;
  * name: Feldname&lt;br /&gt;
&lt;br /&gt;
=== exportbystatus ===&lt;br /&gt;
&lt;br /&gt;
Erstellt eine Exportdatei aus verschiedenen Kriterien als CSV.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * campaign_id (GET) - die Kampagnen-ID&lt;br /&gt;
 * status (GET Array, optional) - die zu Exportierenden Status&lt;br /&gt;
 * datetype: (GET, optional) last_phone|last_edit|imported_date (GET Array, optional)&lt;br /&gt;
 * fromdate: (GET, optional) Datum beginn: d.m.Y&lt;br /&gt;
 * fromtime: (GET, optional) Uhrzeit beginn: H:i:s&lt;br /&gt;
 * todate: (GET, optional) Datum ende: d.m.Y&lt;br /&gt;
 * totime: (GET, optional) Uhrzeit ende: H:i:s&lt;br /&gt;
 * selectedfields: (GET/POST) Feldauswahlliste getrennt durch , (Kommata) Prefix für Normale Felder: customerfield_, Prefix für Auftragsformularfelder: webformfield_&lt;br /&gt;
 * encoding: (GET/POST, optional) Datei-Encoding (Standard: iso-8859-1) ISO-8859-1,Windows-1252,UTF-8&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: ok|error&lt;br /&gt;
 * file_id: Datei-ID&lt;br /&gt;
 * size: Datei-Größe&lt;br /&gt;
 * url: Datei-URL&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== dncadd ===&lt;br /&gt;
&lt;br /&gt;
Fügt eine oder mehrere Nummern der Sperrliste hinzu&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * number (GET (Optional: mehrere durch , getrennt))&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: ok|error|doublet&lt;br /&gt;
 * message&lt;br /&gt;
&lt;br /&gt;
=== dncdel ===&lt;br /&gt;
&lt;br /&gt;
Löscht eine, oder mehrere Nummern aus der Sperrliste.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * number (GET (Optional: mehrere durch , getrennt))&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: ok|error&lt;br /&gt;
 * message&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== dncget ===&lt;br /&gt;
&lt;br /&gt;
Gibt die Sperrliste als CSV Datei zurück&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
''keine''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
CSV-Datei mit allen gesperrten Rufnummern&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== dnccheck ===&lt;br /&gt;
&lt;br /&gt;
Sucht eine Nummer in der DNC-Liste&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * number (GET)&lt;br /&gt;
 * fuzzy: yes|no (GET, optional) Sucht auch nach Teilnummern.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: exists|notfound (bei fuzzy = no)&lt;br /&gt;
 * results: Liste mit passenden Telefonnummern (bei fuzzy = yes)&lt;br /&gt;
&lt;br /&gt;
=== camp_dncadd ===&lt;br /&gt;
&lt;br /&gt;
Fügt eine oder mehrere Nummern der Kampagnen-Sperrliste hinzu&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * number (GET (Optional: mehrere durch , getrennt))&lt;br /&gt;
 * campaignID (GET)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: ok|error|doublet&lt;br /&gt;
 * message&lt;br /&gt;
&lt;br /&gt;
=== camp_dncdel ===&lt;br /&gt;
&lt;br /&gt;
Löscht eine, oder mehrere Nummern aus der Kampagnen-Sperrliste.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * number (GET (Optional: mehrere durch , getrennt))&lt;br /&gt;
 * campaignID (GET)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: ok|error&lt;br /&gt;
 * message&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== camp_dncget ===&lt;br /&gt;
&lt;br /&gt;
Gibt die Kampagnen-Sperrliste als CSV Datei zurück&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * campaignID (GET)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
CSV-Datei mit allen gesperrten Rufnummern dieser Kampagne&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== camp_dnccheck ===&lt;br /&gt;
&lt;br /&gt;
Sucht eine Nummer in der Kampagnen DNC-Liste&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * number (GET)&lt;br /&gt;
 * fuzzy: yes|no (GET, optional) Sucht auch nach Teilnummern.&lt;br /&gt;
 * campaignID (GET)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: exists|notfound (bei fuzzy = no)&lt;br /&gt;
 * results: Liste mit passenden Telefonnummern (bei fuzzy = yes)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== getleadbyid ===&lt;br /&gt;
&lt;br /&gt;
Suche einen Lead über die LeadID und gibt die Lead-Details sowie das letzte Auftragsformular zurück.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * leadid(GET)&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: found|notfound&lt;br /&gt;
 * lead_data: json Objekt mit Lead-Daten&lt;br /&gt;
 * formdata: json Objekt mit Auftragsformular-Daten&lt;br /&gt;
&lt;br /&gt;
=== getleadbyphonenumber ===&lt;br /&gt;
&lt;br /&gt;
Suche einen Lead über die Telefonnummer und gibt die Lead-Details sowie das letzte Auftragsformular zurück.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * number(GET)&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: found|notfound&lt;br /&gt;
 * lead_data: json Objekt Array mit Lead-Daten&lt;br /&gt;
 * formdata: json Objekt Array mit Auftragsformular-Daten&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== getleadbyexternalid ===&lt;br /&gt;
&lt;br /&gt;
Suche einen Lead über die externe Lead-ID und gibt die Lead-Details sowie das letzte Auftragsformular zurück.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * leadid(GET)&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: found|notfound&lt;br /&gt;
 * lead_data: json Objekt Array mit Lead-Daten&lt;br /&gt;
 * formdata: json Objekt Array mit Auftragsformular-Daten&lt;br /&gt;
&lt;br /&gt;
=== getleadbyextrafield ===&lt;br /&gt;
&lt;br /&gt;
Suche einen Lead über ein Extrafeld.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * fieldname(GET) - der Name des Extra-Feldes&lt;br /&gt;
 * fieldvalue(GET) - der zu suchende Wert&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: found|notfound&lt;br /&gt;
 * lead_data: json Objekt Array mit Lead-Daten&lt;br /&gt;
 * formdata: json Objekt Array mit Auftragsformular-Daten&lt;br /&gt;
&lt;br /&gt;
=== getleadbycustomdata ===&lt;br /&gt;
&lt;br /&gt;
Sucht einen Lead über diverse kombinierbare Optionen und gibt die Lead-Details sowie das letzte Auftragsformular zurück.&lt;br /&gt;
Werden Mehrere Optionen Kombiniert müssen alle Optionen zutreffen.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * extleadid(GET,string) Sucht über die externe Lead-ID&lt;br /&gt;
 * extra_fieldname(GET,string|Array) Sucht über Extrafelder&lt;br /&gt;
 * number(GET) Sucht über die Telefonnummer&lt;br /&gt;
 * listid(GET,string|Array) Sucht über Listennummern&lt;br /&gt;
 * campaignID(GET,string) Sucht über die Kampagne&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: found|notfound&lt;br /&gt;
 * lead_data: json Objekt mit Lead-Daten&lt;br /&gt;
 * formdata: json Objekt mit Auftragsformular-Daten&lt;br /&gt;
&lt;br /&gt;
=== addlist ===&lt;br /&gt;
&lt;br /&gt;
Füge eine Liste hinzu.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * campaignID (GET)&lt;br /&gt;
 * description (GET)&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: ok|error&lt;br /&gt;
 * listid: ID der erstellten Liste (nur bei ok)&lt;br /&gt;
 * reason: Fehlergrund (nur bei error)&lt;br /&gt;
&lt;br /&gt;
=== getlists ===&lt;br /&gt;
&lt;br /&gt;
Listet alle Listen auf.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * campaignID (GET,optional)&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * lists: Array aller Listen&lt;br /&gt;
&lt;br /&gt;
=== addlead ===&lt;br /&gt;
&lt;br /&gt;
Füge einen Lead hinzu.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * campaign_id (POST)&lt;br /&gt;
 * invalidcheck (POST) yes|no&lt;br /&gt;
 * doubletcheck_global (POST) yes|no&lt;br /&gt;
 * doubletcheck_campaign (POST) yes|no&lt;br /&gt;
 * list_id (POST)&lt;br /&gt;
 * country_phone_code (POST)&lt;br /&gt;
 * leaddata (POST, Array)&lt;br /&gt;
  * title&lt;br /&gt;
  * phone&lt;br /&gt;
  * alt_phone&lt;br /&gt;
  * first_name&lt;br /&gt;
  * last_name&lt;br /&gt;
  * birthdate&lt;br /&gt;
  * country&lt;br /&gt;
  * street&lt;br /&gt;
  * streetnr&lt;br /&gt;
  * addradd&lt;br /&gt;
  * plz&lt;br /&gt;
  * ort&lt;br /&gt;
  * notices&lt;br /&gt;
  * leadid_external&lt;br /&gt;
  * company_name&lt;br /&gt;
 * formfields (POST, Array)&lt;br /&gt;
  * (Auftragsformularfelder, frei)&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * lead_stats: json Objekt&lt;br /&gt;
  * success&lt;br /&gt;
  * error&lt;br /&gt;
  * sqlerror&lt;br /&gt;
  * formaterror&lt;br /&gt;
  * doubleterror&lt;br /&gt;
  * invaliderror&lt;br /&gt;
  * formaterror_types: json Objekt&lt;br /&gt;
   * (diverse)&lt;br /&gt;
&lt;br /&gt;
=== editlead ===&lt;br /&gt;
&lt;br /&gt;
Bearbeite einen Lead.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * campaign_id (GET)&lt;br /&gt;
 * leadid(GET)&lt;br /&gt;
 * leaddata (POST, Array)&lt;br /&gt;
  * title&lt;br /&gt;
  * phone&lt;br /&gt;
  * alt_phone&lt;br /&gt;
  * first_name&lt;br /&gt;
  * last_name&lt;br /&gt;
  * birthdate&lt;br /&gt;
  * country&lt;br /&gt;
  * street&lt;br /&gt;
  * streetnr&lt;br /&gt;
  * addradd&lt;br /&gt;
  * plz&lt;br /&gt;
  * ort&lt;br /&gt;
  * notices&lt;br /&gt;
  * leadid_external&lt;br /&gt;
  * company_name&lt;br /&gt;
  * rotation&lt;br /&gt;
  * status&lt;br /&gt;
 * formfields (POST, Array)&lt;br /&gt;
  * (Auftragsformularfelder, frei)&lt;br /&gt;
&lt;br /&gt;
Im leaddata Array können auch Alle Extrafelder über das Unterarray &amp;quot;extrafields&amp;quot; referenziert und Bearbeitet werden.&lt;br /&gt;
Die Array-Keys sind hierbei die Feldnamen.&lt;br /&gt;
 &lt;br /&gt;
=== getagentbyid ===&lt;br /&gt;
&lt;br /&gt;
Suche einen Agenten über seine ID und liefere seine Daten zurück.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * agentid (GET)&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: found|notfound&lt;br /&gt;
 * agent_info: json Objekt Array mit Agent-Daten&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status ok|error&lt;br /&gt;
 * reason (Bei Fehlern) Fehlergrund&lt;br /&gt;
&lt;br /&gt;
=== getlistbyid===&lt;br /&gt;
&lt;br /&gt;
Suche eine Liste über ihre ID und liefere die Daten zurück.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * listid (GET)&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: found|notfound&lt;br /&gt;
 * list_info: json Objekt Array mit Listen-Daten&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status ok|error&lt;br /&gt;
 * reason (Bei Fehlern) Fehlergrund&lt;/div&gt;</summary>
		<author><name>Rath</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.mmdial.de/index.php?title=API&amp;diff=270</id>
		<title>API</title>
		<link rel="alternate" type="text/html" href="https://wiki.mmdial.de/index.php?title=API&amp;diff=270"/>
		<updated>2014-03-12T10:31:38Z</updated>

		<summary type="html">&lt;p&gt;Rath: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;mmDial bietet ein umfangreiches API zur Anbindung externer Software.&lt;br /&gt;
&lt;br /&gt;
Viele Schnittstellen sind bislang undokumentiert. Sollten Sie eine weitere Schnittstelle benötigen,&lt;br /&gt;
wenden Sie sich bitte an unseren Support!&lt;br /&gt;
Die API befindet sich nocht im Alpha-Stadium. Die Dokumentation kann fehlerhaft sein, und Schnittstellen können&lt;br /&gt;
sich jederzeit ändern!&lt;br /&gt;
&lt;br /&gt;
Sie können auf einfache Weise auch externe CRM-Systeme direkt in das Agenteninterface einbinden.&lt;br /&gt;
Verwenden Sie hierzu die &amp;quot;Kampagnen Module&amp;quot; zu finden unter Kampagnen -&amp;gt; Kampagne auswählen -&amp;gt; Kampagnen Module.&lt;br /&gt;
Eine kleine Erklärung und ein Beispielscript finden Sie unter [[Kampagnenverwaltung#Eigenes_Auftragsformular|Eigenes Auftrasformular]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Allgemeines ==&lt;br /&gt;
&lt;br /&gt;
 * Die mmDial API ist über http://login.mmdial.de/api/ zu erreichen.&lt;br /&gt;
 * Die API benutzt die Standard HTTP Authentication.&lt;br /&gt;
 * Als Benutzername wird ein Benutzer mit Adminrechten verwendet&lt;br /&gt;
 * Es werden je nach Funktion HTTP GET und HTTP POST Argumente übergeben&lt;br /&gt;
 * Rückmeldungen erfolgen in der Regel als json Objekt&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Funktionen ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== searchvoicebyleadid ===&lt;br /&gt;
&lt;br /&gt;
Sucht eine Voice-Aufnahme über die Lead-ID des Kunden.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * leadid (GET) - die zu suchende Lead-ID&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: ok|error&lt;br /&gt;
 * msg: (nur bei error)&lt;br /&gt;
 * voices: json Objekt:&lt;br /&gt;
  * recid: Aufnahme-ID&lt;br /&gt;
  * agentid: Agenten-ID&lt;br /&gt;
  * timestamp: Der Zeitstempel der Aufnahme&lt;br /&gt;
  * available: yes|no yes, wenn die Datei schon/noch abrufbar ist.&lt;br /&gt;
  * voiceid: Dateiinterne ID&lt;br /&gt;
  * url: Url um die Datei herunterzuladen.&lt;br /&gt;
  * length: Abspiellänge der Aufzeichnung&lt;br /&gt;
  * size: Größe der Aufzeichnung&lt;br /&gt;
&lt;br /&gt;
=== searchvoicebyphonenumber ===&lt;br /&gt;
&lt;br /&gt;
Sucht eine Voice-Aufnahme über die Telefonnummer des Kunden.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * phone(GET) - die zu suchende Telefonnummer&lt;br /&gt;
 * date (GET, optional) - Datum im Format YYYY-MM-DD&lt;br /&gt;
 * timestamp (GET, optional) - Timestamp im Format YYYMMDDHHIISS&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: ok|error&lt;br /&gt;
 * msg: (nur bei error)&lt;br /&gt;
 * voices: json Objekt:&lt;br /&gt;
  * recid: Aufnahme-ID&lt;br /&gt;
  * agentid: Agenten-ID&lt;br /&gt;
  * timestamp: Der Zeitstempel der Aufnahme&lt;br /&gt;
  * available: yes|no yes, wenn die Datei schon/noch abrufbar ist.&lt;br /&gt;
  * voiceid: Dateiinterne ID&lt;br /&gt;
  * url: Url um die Datei herunterzuladen.&lt;br /&gt;
  * length: Abspiellänge der Aufzeichnung&lt;br /&gt;
  * size: Größe der Aufzeichnung&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== searchvoicebyagent ===&lt;br /&gt;
&lt;br /&gt;
Sucht eine Voice-Aufnahme über die Agenten-ID.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * agentid(GET) - die zu Agenten-ID&lt;br /&gt;
 * date (GET, optional) - Datum im Format YYYY-MM-DD&lt;br /&gt;
 * timestamp (GET, optional) - Timestamp im Format YYYMMDDHHIISS&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: ok|error&lt;br /&gt;
 * msg: (nur bei error)&lt;br /&gt;
 * voices: json Objekt:&lt;br /&gt;
  * recid: Aufnahme-ID&lt;br /&gt;
  * agentid: Agenten-ID&lt;br /&gt;
  * timestamp: Der Zeitstempel der Aufnahme&lt;br /&gt;
  * available: yes|no yes, wenn die Datei schon/noch abrufbar ist.&lt;br /&gt;
  * voiceid: Dateiinterne ID&lt;br /&gt;
  * url: Url um die Datei herunterzuladen.&lt;br /&gt;
  * length: Abspiellänge der Aufzeichnung&lt;br /&gt;
  * size: Größe der Aufzeichnung&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== getfieldsbycampaign===&lt;br /&gt;
&lt;br /&gt;
Gibt alle Auftragsformularfelder einer Kampagne zurück.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * campaign_id (GET) - die Kampagnen-ID&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * fields - json Objektliste:&lt;br /&gt;
  * name: Feldname&lt;br /&gt;
&lt;br /&gt;
=== exportbystatus ===&lt;br /&gt;
&lt;br /&gt;
Erstellt eine Exportdatei aus verschiedenen Kriterien als CSV.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * campaign_id (GET) - die Kampagnen-ID&lt;br /&gt;
 * status (GET Array, optional) - die zu Exportierenden Status&lt;br /&gt;
 * datetype: (GET, optional) last_phone|last_edit|imported_date (GET Array, optional)&lt;br /&gt;
 * fromdate: (GET, optional) Datum beginn: d.m.Y&lt;br /&gt;
 * fromtime: (GET, optional) Uhrzeit beginn: H:i:s&lt;br /&gt;
 * todate: (GET, optional) Datum ende: d.m.Y&lt;br /&gt;
 * totime: (GET, optional) Uhrzeit ende: H:i:s&lt;br /&gt;
 * selectedfields: (GET/POST) Feldauswahlliste getrennt durch , (Kommata) Prefix für Normale Felder: customerfield_, Prefix für Auftragsformularfelder: webformfield_&lt;br /&gt;
 * encoding: (GET/POST, optional) Datei-Encoding (Standard: iso-8859-1) ISO-8859-1,Windows-1252,UTF-8&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: ok|error&lt;br /&gt;
 * file_id: Datei-ID&lt;br /&gt;
 * size: Datei-Größe&lt;br /&gt;
 * url: Datei-URL&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== dncadd ===&lt;br /&gt;
&lt;br /&gt;
Fügt eine oder mehrere Nummern der Sperrliste hinzu&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * number (GET (Optional: mehrere durch , getrennt))&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: ok|error|doublet&lt;br /&gt;
 * message&lt;br /&gt;
&lt;br /&gt;
=== dncdel ===&lt;br /&gt;
&lt;br /&gt;
Löscht eine, oder mehrere Nummern aus der Sperrliste.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * number (GET (Optional: mehrere durch , getrennt))&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: ok|error&lt;br /&gt;
 * message&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== dncget ===&lt;br /&gt;
&lt;br /&gt;
Gibt die Sperrliste als CSV Datei zurück&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
''keine''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
CSV-Datei mit allen gesperrten Rufnummern&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== dnccheck ===&lt;br /&gt;
&lt;br /&gt;
Sucht eine Nummer in der DNC-Liste&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * number (GET)&lt;br /&gt;
 * fuzzy: yes|no (GET, optional) Sucht auch nach Teilnummern.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: exists|notfound (bei fuzzy = no)&lt;br /&gt;
 * results: Liste mit passenden Telefonnummern (bei fuzzy = yes)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== getleadbyid ===&lt;br /&gt;
&lt;br /&gt;
Suche einen Lead über die LeadID und gibt die Lead-Details sowie das letzte Auftragsformular zurück.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * leadid(GET)&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: found|notfound&lt;br /&gt;
 * lead_data: json Objekt mit Lead-Daten&lt;br /&gt;
 * formdata: json Objekt mit Auftragsformular-Daten&lt;br /&gt;
&lt;br /&gt;
=== getleadbyphonenumber ===&lt;br /&gt;
&lt;br /&gt;
Suche einen Lead über die Telefonnummer und gibt die Lead-Details sowie das letzte Auftragsformular zurück.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * number(GET)&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: found|notfound&lt;br /&gt;
 * lead_data: json Objekt Array mit Lead-Daten&lt;br /&gt;
 * formdata: json Objekt Array mit Auftragsformular-Daten&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== getleadbyexternalid ===&lt;br /&gt;
&lt;br /&gt;
Suche einen Lead über die externe Lead-ID und gibt die Lead-Details sowie das letzte Auftragsformular zurück.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * leadid(GET)&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: found|notfound&lt;br /&gt;
 * lead_data: json Objekt Array mit Lead-Daten&lt;br /&gt;
 * formdata: json Objekt Array mit Auftragsformular-Daten&lt;br /&gt;
&lt;br /&gt;
=== getleadbyextrafield ===&lt;br /&gt;
&lt;br /&gt;
Suche einen Lead über ein Extrafeld.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * fieldname(GET) - der Name des Extra-Feldes&lt;br /&gt;
 * fieldvalue(GET) - der zu suchende Wert&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: found|notfound&lt;br /&gt;
 * lead_data: json Objekt Array mit Lead-Daten&lt;br /&gt;
 * formdata: json Objekt Array mit Auftragsformular-Daten&lt;br /&gt;
&lt;br /&gt;
=== getleadbycustomdata ===&lt;br /&gt;
&lt;br /&gt;
Sucht einen Lead über diverse kombinierbare Optionen und gibt die Lead-Details sowie das letzte Auftragsformular zurück.&lt;br /&gt;
Werden Mehrere Optionen Kombiniert müssen alle Optionen zutreffen.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * extleadid(GET,string) Sucht über die externe Lead-ID&lt;br /&gt;
 * extra_fieldname(GET,string|Array) Sucht über Extrafelder&lt;br /&gt;
 * number(GET) Sucht über die Telefonnummer&lt;br /&gt;
 * listid(GET,string|Array) Sucht über Listennummern&lt;br /&gt;
 * campaignID(GET,string) Sucht über die Kampagne&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: found|notfound&lt;br /&gt;
 * lead_data: json Objekt mit Lead-Daten&lt;br /&gt;
 * formdata: json Objekt mit Auftragsformular-Daten&lt;br /&gt;
&lt;br /&gt;
=== addlist ===&lt;br /&gt;
&lt;br /&gt;
Füge eine Liste hinzu.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * campaignID (GET)&lt;br /&gt;
 * description (GET)&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: ok|error&lt;br /&gt;
 * listid: ID der erstellten Liste (nur bei ok)&lt;br /&gt;
 * reason: Fehlergrund (nur bei error)&lt;br /&gt;
&lt;br /&gt;
=== getlists ===&lt;br /&gt;
&lt;br /&gt;
Listet alle Listen auf.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * campaignID (GET,optional)&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * lists: Array aller Listen&lt;br /&gt;
&lt;br /&gt;
=== addlead ===&lt;br /&gt;
&lt;br /&gt;
Füge einen Lead hinzu.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * campaign_id (POST)&lt;br /&gt;
 * invalidcheck (POST) yes|no&lt;br /&gt;
 * doubletcheck_global (POST) yes|no&lt;br /&gt;
 * doubletcheck_campaign (POST) yes|no&lt;br /&gt;
 * list_id (POST)&lt;br /&gt;
 * country_phone_code (POST)&lt;br /&gt;
 * leaddata (POST, Array)&lt;br /&gt;
  * title&lt;br /&gt;
  * phone&lt;br /&gt;
  * alt_phone&lt;br /&gt;
  * first_name&lt;br /&gt;
  * last_name&lt;br /&gt;
  * birthdate&lt;br /&gt;
  * country&lt;br /&gt;
  * street&lt;br /&gt;
  * streetnr&lt;br /&gt;
  * addradd&lt;br /&gt;
  * plz&lt;br /&gt;
  * ort&lt;br /&gt;
  * notices&lt;br /&gt;
  * leadid_external&lt;br /&gt;
  * company_name&lt;br /&gt;
 * formfields (POST, Array)&lt;br /&gt;
  * (Auftragsformularfelder, frei)&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * lead_stats: json Objekt&lt;br /&gt;
  * success&lt;br /&gt;
  * error&lt;br /&gt;
  * sqlerror&lt;br /&gt;
  * formaterror&lt;br /&gt;
  * doubleterror&lt;br /&gt;
  * invaliderror&lt;br /&gt;
  * formaterror_types: json Objekt&lt;br /&gt;
   * (diverse)&lt;br /&gt;
&lt;br /&gt;
=== editlead ===&lt;br /&gt;
&lt;br /&gt;
Bearbeite einen Lead.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * campaign_id (GET)&lt;br /&gt;
 * leadid(GET)&lt;br /&gt;
 * leaddata (POST, Array)&lt;br /&gt;
  * title&lt;br /&gt;
  * phone&lt;br /&gt;
  * alt_phone&lt;br /&gt;
  * first_name&lt;br /&gt;
  * last_name&lt;br /&gt;
  * birthdate&lt;br /&gt;
  * country&lt;br /&gt;
  * street&lt;br /&gt;
  * streetnr&lt;br /&gt;
  * addradd&lt;br /&gt;
  * plz&lt;br /&gt;
  * ort&lt;br /&gt;
  * notices&lt;br /&gt;
  * leadid_external&lt;br /&gt;
  * company_name&lt;br /&gt;
  * rotation&lt;br /&gt;
  * status&lt;br /&gt;
 * formfields (POST, Array)&lt;br /&gt;
  * (Auftragsformularfelder, frei)&lt;br /&gt;
&lt;br /&gt;
Im leaddata Array können auch Alle Extrafelder über das Unterarray &amp;quot;extrafields&amp;quot; referenziert und Bearbeitet werden.&lt;br /&gt;
Die Array-Keys sind hierbei die Feldnamen.&lt;br /&gt;
 &lt;br /&gt;
=== getagentbyid ===&lt;br /&gt;
&lt;br /&gt;
Suche einen Agenten über seine ID und liefere seine Daten zurück.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * agentid (GET)&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: found|notfound&lt;br /&gt;
 * agent_info: json Objekt Array mit Agent-Daten&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status ok|error&lt;br /&gt;
 * reason (Bei Fehlern) Fehlergrund&lt;br /&gt;
&lt;br /&gt;
=== getlistbyid===&lt;br /&gt;
&lt;br /&gt;
Suche eine Liste über ihre ID und liefere die Daten zurück.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * listid (GET)&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: found|notfound&lt;br /&gt;
 * list_info: json Objekt Array mit Listen-Daten&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status ok|error&lt;br /&gt;
 * reason (Bei Fehlern) Fehlergrund&lt;/div&gt;</summary>
		<author><name>Rath</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.mmdial.de/index.php?title=API&amp;diff=269</id>
		<title>API</title>
		<link rel="alternate" type="text/html" href="https://wiki.mmdial.de/index.php?title=API&amp;diff=269"/>
		<updated>2014-03-12T10:14:05Z</updated>

		<summary type="html">&lt;p&gt;Rath: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;mmDial bietet ein umfangreiches API zur Anbindung externer Software.&lt;br /&gt;
&lt;br /&gt;
Viele Schnittstellen sind bislang undokumentiert. Sollten Sie eine weitere Schnittstelle benötigen,&lt;br /&gt;
wenden Sie sich bitte an unseren Support!&lt;br /&gt;
Die API befindet sich nocht im Alpha-Stadium. Die Dokumentation kann fehlerhaft sein, und Schnittstellen können&lt;br /&gt;
sich jederzeit ändern!&lt;br /&gt;
&lt;br /&gt;
Sie können auf einfache Weise auch externe CRM-Systeme direkt in das Agenteninterface einbinden.&lt;br /&gt;
Verwenden Sie hierzu die &amp;quot;Kampagnen Module&amp;quot; zu finden unter Kampagnen -&amp;gt; Kampagne auswählen -&amp;gt; Kampagnen Module.&lt;br /&gt;
Eine kleine Erklärung und ein Beispielscript finden Sie unter [[Kampagnenverwaltung#Eigenes_Auftragsformular|Eigenes Auftrasformular]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Allgemeines ==&lt;br /&gt;
&lt;br /&gt;
 * Die mmDial API ist über http://login.mmdial.de/api/ zu erreichen.&lt;br /&gt;
 * Die API benutzt die Standard HTTP Authentication.&lt;br /&gt;
 * Als Benutzername wird ein Benutzer mit Adminrechten verwendet&lt;br /&gt;
 * Es werden je nach Funktion HTTP GET und HTTP POST Argumente übergeben&lt;br /&gt;
 * Rückmeldungen erfolgen in der Regel als json Objekt&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Funktionen ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== searchvoicebyleadid ===&lt;br /&gt;
&lt;br /&gt;
Sucht eine Voice-Aufnahme über die Lead-ID des Kunden.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * leadid (GET) - die zu suchende Lead-ID&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: ok|error&lt;br /&gt;
 * msg: (nur bei error)&lt;br /&gt;
 * voices: json Objekt:&lt;br /&gt;
  * recid: Aufnahme-ID&lt;br /&gt;
  * agentid: Agenten-ID&lt;br /&gt;
  * timestamp: Der Zeitstempel der Aufnahme&lt;br /&gt;
  * available: yes|no yes, wenn die Datei schon/noch abrufbar ist.&lt;br /&gt;
  * voiceid: Dateiinterne ID&lt;br /&gt;
  * url: Url um die Datei herunterzuladen.&lt;br /&gt;
  * length: Abspiellänge der Aufzeichnung&lt;br /&gt;
  * size: Größe der Aufzeichnung&lt;br /&gt;
&lt;br /&gt;
=== searchvoicebyphonenumber ===&lt;br /&gt;
&lt;br /&gt;
Sucht eine Voice-Aufnahme über die Telefonnummer des Kunden.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * phone(GET) - die zu suchende Telefonnummer&lt;br /&gt;
 * date (GET, optional) - Datum im Format YYYY-MM-DD&lt;br /&gt;
 * timestamp (GET, optional) - Timestamp im Format YYYMMDDHHIISS&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: ok|error&lt;br /&gt;
 * msg: (nur bei error)&lt;br /&gt;
 * voices: json Objekt:&lt;br /&gt;
  * recid: Aufnahme-ID&lt;br /&gt;
  * agentid: Agenten-ID&lt;br /&gt;
  * timestamp: Der Zeitstempel der Aufnahme&lt;br /&gt;
  * available: yes|no yes, wenn die Datei schon/noch abrufbar ist.&lt;br /&gt;
  * voiceid: Dateiinterne ID&lt;br /&gt;
  * url: Url um die Datei herunterzuladen.&lt;br /&gt;
  * length: Abspiellänge der Aufzeichnung&lt;br /&gt;
  * size: Größe der Aufzeichnung&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== searchvoicebyagent ===&lt;br /&gt;
&lt;br /&gt;
Sucht eine Voice-Aufnahme über die Agenten-ID.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * agentid(GET) - die zu Agenten-ID&lt;br /&gt;
 * date (GET, optional) - Datum im Format YYYY-MM-DD&lt;br /&gt;
 * timestamp (GET, optional) - Timestamp im Format YYYMMDDHHIISS&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: ok|error&lt;br /&gt;
 * msg: (nur bei error)&lt;br /&gt;
 * voices: json Objekt:&lt;br /&gt;
  * recid: Aufnahme-ID&lt;br /&gt;
  * agentid: Agenten-ID&lt;br /&gt;
  * timestamp: Der Zeitstempel der Aufnahme&lt;br /&gt;
  * available: yes|no yes, wenn die Datei schon/noch abrufbar ist.&lt;br /&gt;
  * voiceid: Dateiinterne ID&lt;br /&gt;
  * url: Url um die Datei herunterzuladen.&lt;br /&gt;
  * length: Abspiellänge der Aufzeichnung&lt;br /&gt;
  * size: Größe der Aufzeichnung&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== getfieldsbycampaign===&lt;br /&gt;
&lt;br /&gt;
Gibt alle Auftragsformularfelder einer Kampagne zurück.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * campaign_id (GET) - die Kampagnen-ID&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * fields - json Objektliste:&lt;br /&gt;
  * name: Feldname&lt;br /&gt;
&lt;br /&gt;
=== exportbystatus ===&lt;br /&gt;
&lt;br /&gt;
Erstellt eine Exportdatei aus verschiedenen Kriterien als CSV.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * campaign_id (GET) - die Kampagnen-ID&lt;br /&gt;
 * status (GET Array, optional) - die zu Exportierenden Status&lt;br /&gt;
 * datetype: (GET, optional) last_phone|last_edit|imported_date (GET Array, optional)&lt;br /&gt;
 * fromdate: (GET, optional) Datum beginn: d.m.Y&lt;br /&gt;
 * fromtime: (GET, optional) Uhrzeit beginn: H:i:s&lt;br /&gt;
 * todate: (GET, optional) Datum ende: d.m.Y&lt;br /&gt;
 * totime: (GET, optional) Uhrzeit ende: H:i:s&lt;br /&gt;
 * selectedfields: (GET/POST) Feldauswahlliste getrennt durch , (Kommata) Prefix für Normale Felder: customerfield_, Prefix für Auftragsformularfelder: webformfield_&lt;br /&gt;
 * encoding: (GET/POST, optional) Datei-Encoding (Standard: iso-8859-1) ISO-8859-1,Windows-1252,UTF-8&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: ok|error&lt;br /&gt;
 * file_id: Datei-ID&lt;br /&gt;
 * size: Datei-Größe&lt;br /&gt;
 * url: Datei-URL&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== dncadd ===&lt;br /&gt;
&lt;br /&gt;
Fügt eine oder mehrere Nummern der Sperrliste hinzu&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * number (GET (Optional: mehrere durch , getrennt))&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: ok|error|doublet&lt;br /&gt;
 * message&lt;br /&gt;
&lt;br /&gt;
=== dncdel ===&lt;br /&gt;
&lt;br /&gt;
Löscht eine, oder mehrere Nummern aus der Sperrliste.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * number (GET (Optional: mehrere durch , getrennt))&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: ok|error&lt;br /&gt;
 * message&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== dncget ===&lt;br /&gt;
&lt;br /&gt;
Gibt die Sperrliste als CSV Datei zurück&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
''keine''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
CSV-Datei mit allen gesperrten Rufnummern&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== dnccheck ===&lt;br /&gt;
&lt;br /&gt;
Sucht eine Nummer in der DNC-Liste&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * number (GET)&lt;br /&gt;
 * fuzzy: yes|no (GET, optional) Sucht auch nach Teilnummern.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: exists|notfound (bei fuzzy = no)&lt;br /&gt;
 * results: Liste mit passenden Telefonnummern (bei fuzzy = yes)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== getleadbyid ===&lt;br /&gt;
&lt;br /&gt;
Suche einen Lead über die LeadID und gibt die Lead-Details sowie das letzte Auftragsformular zurück.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * leadid(GET)&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: found|notfound&lt;br /&gt;
 * lead_data: json Objekt mit Lead-Daten&lt;br /&gt;
 * formdata: json Objekt mit Auftragsformular-Daten&lt;br /&gt;
&lt;br /&gt;
=== getleadbyphonenumber ===&lt;br /&gt;
&lt;br /&gt;
Suche einen Lead über die Telefonnummer und gibt die Lead-Details sowie das letzte Auftragsformular zurück.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * number(GET)&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: found|notfound&lt;br /&gt;
 * lead_data: json Objekt Array mit Lead-Daten&lt;br /&gt;
 * formdata: json Objekt Array mit Auftragsformular-Daten&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== getleadbyexternalid ===&lt;br /&gt;
&lt;br /&gt;
Suche einen Lead über die externe Lead-ID und gibt die Lead-Details sowie das letzte Auftragsformular zurück.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * leadid(GET)&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: found|notfound&lt;br /&gt;
 * lead_data: json Objekt Array mit Lead-Daten&lt;br /&gt;
 * formdata: json Objekt Array mit Auftragsformular-Daten&lt;br /&gt;
&lt;br /&gt;
=== getleadbyextrafield ===&lt;br /&gt;
&lt;br /&gt;
Suche einen Lead über ein Extrafeld.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * fieldname(GET) - der Name des Extra-Feldes&lt;br /&gt;
 * fieldvalue(GET) - der zu suchende Wert&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: found|notfound&lt;br /&gt;
 * lead_data: json Objekt Array mit Lead-Daten&lt;br /&gt;
 * formdata: json Objekt Array mit Auftragsformular-Daten&lt;br /&gt;
&lt;br /&gt;
=== getleadbycustomdata ===&lt;br /&gt;
&lt;br /&gt;
Sucht einen Lead über diverse kombinierbare Optionen und gibt die Lead-Details sowie das letzte Auftragsformular zurück.&lt;br /&gt;
Werden Mehrere Optionen Kombiniert müssen alle Optionen zutreffen.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * extleadid(GET,string) Sucht über die externe Lead-ID&lt;br /&gt;
 * extra_fieldname(GET,string|Array) Sucht über Extrafelder&lt;br /&gt;
 * number(GET) Sucht über die Telefonnummer&lt;br /&gt;
 * listid(GET,string|Array) Sucht über Listennummern&lt;br /&gt;
 * campaignID(GET,string) Sucht über die Kampagne&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: found|notfound&lt;br /&gt;
 * lead_data: json Objekt mit Lead-Daten&lt;br /&gt;
 * formdata: json Objekt mit Auftragsformular-Daten&lt;br /&gt;
&lt;br /&gt;
=== addlist ===&lt;br /&gt;
&lt;br /&gt;
Füge eine Liste hinzu.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * campaignID (GET)&lt;br /&gt;
 * description (GET)&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: ok|error&lt;br /&gt;
 * listid: ID der erstellten Liste (nur bei ok)&lt;br /&gt;
 * reason: Fehlergrund (nur bei error)&lt;br /&gt;
&lt;br /&gt;
=== getlists ===&lt;br /&gt;
&lt;br /&gt;
Listet alle Listen auf.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * campaignID (GET,optional)&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * lists: Array aller Listen&lt;br /&gt;
&lt;br /&gt;
=== addlead ===&lt;br /&gt;
&lt;br /&gt;
Füge einen Lead hinzu.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * campaign_id (POST)&lt;br /&gt;
 * invalidcheck (POST) yes|no&lt;br /&gt;
 * doubletcheck_global (POST) yes|no&lt;br /&gt;
 * doubletcheck_campaign (POST) yes|no&lt;br /&gt;
 * list_id (POST)&lt;br /&gt;
 * country_phone_code (POST)&lt;br /&gt;
 * leaddata (POST, Array)&lt;br /&gt;
  * title&lt;br /&gt;
  * phone&lt;br /&gt;
  * alt_phone&lt;br /&gt;
  * first_name&lt;br /&gt;
  * last_name&lt;br /&gt;
  * birthdate&lt;br /&gt;
  * country&lt;br /&gt;
  * street&lt;br /&gt;
  * streetnr&lt;br /&gt;
  * addradd&lt;br /&gt;
  * plz&lt;br /&gt;
  * ort&lt;br /&gt;
  * notices&lt;br /&gt;
  * leadid_external&lt;br /&gt;
  * company_name&lt;br /&gt;
 * formfields (POST, Array)&lt;br /&gt;
  * (Auftragsformularfelder, frei)&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * lead_stats: json Objekt&lt;br /&gt;
  * success&lt;br /&gt;
  * error&lt;br /&gt;
  * sqlerror&lt;br /&gt;
  * formaterror&lt;br /&gt;
  * doubleterror&lt;br /&gt;
  * invaliderror&lt;br /&gt;
  * formaterror_types: json Objekt&lt;br /&gt;
   * (diverse)&lt;br /&gt;
&lt;br /&gt;
=== editlead ===&lt;br /&gt;
&lt;br /&gt;
Bearbeite einen Lead.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * campaign_id (GET)&lt;br /&gt;
 * leadid(GET)&lt;br /&gt;
 * leaddata (POST, Array)&lt;br /&gt;
  * title&lt;br /&gt;
  * phone&lt;br /&gt;
  * alt_phone&lt;br /&gt;
  * first_name&lt;br /&gt;
  * last_name&lt;br /&gt;
  * birthdate&lt;br /&gt;
  * country&lt;br /&gt;
  * street&lt;br /&gt;
  * streetnr&lt;br /&gt;
  * addradd&lt;br /&gt;
  * plz&lt;br /&gt;
  * ort&lt;br /&gt;
  * notices&lt;br /&gt;
  * leadid_external&lt;br /&gt;
  * company_name&lt;br /&gt;
  * rotation&lt;br /&gt;
  * status&lt;br /&gt;
 * formfields (POST, Array)&lt;br /&gt;
  * (Auftragsformularfelder, frei)&lt;br /&gt;
 &lt;br /&gt;
=== getagentbyid ===&lt;br /&gt;
&lt;br /&gt;
Suche einen Agenten über seine ID und liefere seine Daten zurück.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * agentid (GET)&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: found|notfound&lt;br /&gt;
 * agent_info: json Objekt Array mit Agent-Daten&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status ok|error&lt;br /&gt;
 * reason (Bei Fehlern) Fehlergrund&lt;br /&gt;
&lt;br /&gt;
=== getlistbyid===&lt;br /&gt;
&lt;br /&gt;
Suche eine Liste über ihre ID und liefere die Daten zurück.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * listid (GET)&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: found|notfound&lt;br /&gt;
 * list_info: json Objekt Array mit Listen-Daten&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status ok|error&lt;br /&gt;
 * reason (Bei Fehlern) Fehlergrund&lt;/div&gt;</summary>
		<author><name>Rath</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.mmdial.de/index.php?title=API&amp;diff=268</id>
		<title>API</title>
		<link rel="alternate" type="text/html" href="https://wiki.mmdial.de/index.php?title=API&amp;diff=268"/>
		<updated>2014-03-11T22:49:08Z</updated>

		<summary type="html">&lt;p&gt;Rath: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;mmDial bietet ein umfangreiches API zur Anbindung externer Software.&lt;br /&gt;
&lt;br /&gt;
Viele Schnittstellen sind bislang undokumentiert. Sollten Sie eine weitere Schnittstelle benötigen,&lt;br /&gt;
wenden Sie sich bitte an unseren Support!&lt;br /&gt;
Die API befindet sich nocht im Alpha-Stadium. Die Dokumentation kann fehlerhaft sein, und Schnittstellen können&lt;br /&gt;
sich jederzeit ändern!&lt;br /&gt;
&lt;br /&gt;
Sie können auf einfache Weise auch externe CRM-Systeme direkt in das Agenteninterface einbinden.&lt;br /&gt;
Verwenden Sie hierzu die &amp;quot;Kampagnen Module&amp;quot; zu finden unter Kampagnen -&amp;gt; Kampagne auswählen -&amp;gt; Kampagnen Module.&lt;br /&gt;
Eine kleine Erklärung und ein Beispielscript finden Sie unter [[Kampagnenverwaltung#Eigenes_Auftragsformular|Eigenes Auftrasformular]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Allgemeines ==&lt;br /&gt;
&lt;br /&gt;
 * Die mmDial API ist über http://login.mmdial.de/api/ zu erreichen.&lt;br /&gt;
 * Die API benutzt die Standard HTTP Authentication.&lt;br /&gt;
 * Als Benutzername wird ein Benutzer mit Adminrechten verwendet&lt;br /&gt;
 * Es werden je nach Funktion HTTP GET und HTTP POST Argumente übergeben&lt;br /&gt;
 * Rückmeldungen erfolgen in der Regel als json Objekt&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Funktionen ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== searchvoicebyleadid ===&lt;br /&gt;
&lt;br /&gt;
Sucht eine Voice-Aufnahme über die Lead-ID des Kunden.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * leadid (GET) - die zu suchende Lead-ID&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: ok|error&lt;br /&gt;
 * msg: (nur bei error)&lt;br /&gt;
 * voices: json Objekt:&lt;br /&gt;
  * recid: Aufnahme-ID&lt;br /&gt;
  * agentid: Agenten-ID&lt;br /&gt;
  * timestamp: Der Zeitstempel der Aufnahme&lt;br /&gt;
  * available: yes|no yes, wenn die Datei schon/noch abrufbar ist.&lt;br /&gt;
  * voiceid: Dateiinterne ID&lt;br /&gt;
  * url: Url um die Datei herunterzuladen.&lt;br /&gt;
  * length: Abspiellänge der Aufzeichnung&lt;br /&gt;
  * size: Größe der Aufzeichnung&lt;br /&gt;
&lt;br /&gt;
=== searchvoicebyphonenumber ===&lt;br /&gt;
&lt;br /&gt;
Sucht eine Voice-Aufnahme über die Telefonnummer des Kunden.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * phone(GET) - die zu suchende Telefonnummer&lt;br /&gt;
 * date (GET, optional) - Datum im Format YYYY-MM-DD&lt;br /&gt;
 * timestamp (GET, optional) - Timestamp im Format YYYMMDDHHIISS&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: ok|error&lt;br /&gt;
 * msg: (nur bei error)&lt;br /&gt;
 * voices: json Objekt:&lt;br /&gt;
  * recid: Aufnahme-ID&lt;br /&gt;
  * agentid: Agenten-ID&lt;br /&gt;
  * timestamp: Der Zeitstempel der Aufnahme&lt;br /&gt;
  * available: yes|no yes, wenn die Datei schon/noch abrufbar ist.&lt;br /&gt;
  * voiceid: Dateiinterne ID&lt;br /&gt;
  * url: Url um die Datei herunterzuladen.&lt;br /&gt;
  * length: Abspiellänge der Aufzeichnung&lt;br /&gt;
  * size: Größe der Aufzeichnung&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== searchvoicebyagent ===&lt;br /&gt;
&lt;br /&gt;
Sucht eine Voice-Aufnahme über die Agenten-ID.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * agentid(GET) - die zu Agenten-ID&lt;br /&gt;
 * date (GET, optional) - Datum im Format YYYY-MM-DD&lt;br /&gt;
 * timestamp (GET, optional) - Timestamp im Format YYYMMDDHHIISS&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: ok|error&lt;br /&gt;
 * msg: (nur bei error)&lt;br /&gt;
 * voices: json Objekt:&lt;br /&gt;
  * recid: Aufnahme-ID&lt;br /&gt;
  * agentid: Agenten-ID&lt;br /&gt;
  * timestamp: Der Zeitstempel der Aufnahme&lt;br /&gt;
  * available: yes|no yes, wenn die Datei schon/noch abrufbar ist.&lt;br /&gt;
  * voiceid: Dateiinterne ID&lt;br /&gt;
  * url: Url um die Datei herunterzuladen.&lt;br /&gt;
  * length: Abspiellänge der Aufzeichnung&lt;br /&gt;
  * size: Größe der Aufzeichnung&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== getfieldsbycampaign===&lt;br /&gt;
&lt;br /&gt;
Gibt alle Auftragsformularfelder einer Kampagne zurück.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * campaign_id (GET) - die Kampagnen-ID&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * fields - json Objektliste:&lt;br /&gt;
  * name: Feldname&lt;br /&gt;
&lt;br /&gt;
=== exportbystatus ===&lt;br /&gt;
&lt;br /&gt;
Erstellt eine Exportdatei aus verschiedenen Kriterien als CSV.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * campaign_id (GET) - die Kampagnen-ID&lt;br /&gt;
 * status (GET Array, optional) - die zu Exportierenden Status&lt;br /&gt;
 * datetype: (GET, optional) last_phone|last_edit|imported_date (GET Array, optional)&lt;br /&gt;
 * fromdate: (GET, optional) Datum beginn: d.m.Y&lt;br /&gt;
 * fromtime: (GET, optional) Uhrzeit beginn: H:i:s&lt;br /&gt;
 * todate: (GET, optional) Datum ende: d.m.Y&lt;br /&gt;
 * totime: (GET, optional) Uhrzeit ende: H:i:s&lt;br /&gt;
 * selectedfields: (GET/POST) Feldauswahlliste getrennt durch , (Kommata) Prefix für Normale Felder: customerfield_, Prefix für Auftragsformularfelder: webformfield_&lt;br /&gt;
 * encoding: (GET/POST, optional) Datei-Encoding (Standard: iso-8859-1) ISO-8859-1,Windows-1252,UTF-8&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: ok|error&lt;br /&gt;
 * file_id: Datei-ID&lt;br /&gt;
 * size: Datei-Größe&lt;br /&gt;
 * url: Datei-URL&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== dncadd ===&lt;br /&gt;
&lt;br /&gt;
Fügt eine oder mehrere Nummern der Sperrliste hinzu&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * number (GET (Optional: mehrere durch , getrennt))&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: ok|error|doublet&lt;br /&gt;
 * message&lt;br /&gt;
&lt;br /&gt;
=== dncdel ===&lt;br /&gt;
&lt;br /&gt;
Löscht eine, oder mehrere Nummern aus der Sperrliste.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * number (GET (Optional: mehrere durch , getrennt))&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: ok|error&lt;br /&gt;
 * message&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== dncget ===&lt;br /&gt;
&lt;br /&gt;
Gibt die Sperrliste als CSV Datei zurück&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
''keine''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
CSV-Datei mit allen gesperrten Rufnummern&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== dnccheck ===&lt;br /&gt;
&lt;br /&gt;
Sucht eine Nummer in der DNC-Liste&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * number (GET)&lt;br /&gt;
 * fuzzy: yes|no (GET, optional) Sucht auch nach Teilnummern.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: exists|notfound (bei fuzzy = no)&lt;br /&gt;
 * results: Liste mit passenden Telefonnummern (bei fuzzy = yes)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== getleadbyid ===&lt;br /&gt;
&lt;br /&gt;
Suche einen Lead über die LeadID und gibt die Lead-Details sowie das letzte Auftragsformular zurück.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * leadid(GET)&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: found|notfound&lt;br /&gt;
 * lead_data: json Objekt mit Lead-Daten&lt;br /&gt;
 * formdata: json Objekt mit Auftragsformular-Daten&lt;br /&gt;
&lt;br /&gt;
=== getleadbyphonenumber ===&lt;br /&gt;
&lt;br /&gt;
Suche einen Lead über die Telefonnummer und gibt die Lead-Details sowie das letzte Auftragsformular zurück.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * number(GET)&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: found|notfound&lt;br /&gt;
 * lead_data: json Objekt Array mit Lead-Daten&lt;br /&gt;
 * formdata: json Objekt Array mit Auftragsformular-Daten&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== getleadbyexternalid ===&lt;br /&gt;
&lt;br /&gt;
Suche einen Lead über die externe Lead-ID und gibt die Lead-Details sowie das letzte Auftragsformular zurück.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * leadid(GET)&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: found|notfound&lt;br /&gt;
 * lead_data: json Objekt Array mit Lead-Daten&lt;br /&gt;
 * formdata: json Objekt Array mit Auftragsformular-Daten&lt;br /&gt;
&lt;br /&gt;
=== getleadbyextrafield ===&lt;br /&gt;
&lt;br /&gt;
Suche einen Lead über ein Extrafeld.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * fieldname(GET) - der Name des Extra-Feldes&lt;br /&gt;
 * fieldvalue(GET) - der zu suchende Wert&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: found|notfound&lt;br /&gt;
 * lead_data: json Objekt Array mit Lead-Daten&lt;br /&gt;
 * formdata: json Objekt Array mit Auftragsformular-Daten&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== addlist ===&lt;br /&gt;
&lt;br /&gt;
Füge eine Liste hinzu.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * campaignID (GET)&lt;br /&gt;
 * description (GET)&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: ok|error&lt;br /&gt;
 * listid: ID der erstellten Liste (nur bei ok)&lt;br /&gt;
 * reason: Fehlergrund (nur bei error)&lt;br /&gt;
&lt;br /&gt;
=== getlists ===&lt;br /&gt;
&lt;br /&gt;
Listet alle Listen auf.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * campaignID (GET,optional)&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * lists: Array aller Listen&lt;br /&gt;
&lt;br /&gt;
=== addlead ===&lt;br /&gt;
&lt;br /&gt;
Füge einen Lead hinzu.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * campaign_id (POST)&lt;br /&gt;
 * invalidcheck (POST) yes|no&lt;br /&gt;
 * doubletcheck_global (POST) yes|no&lt;br /&gt;
 * doubletcheck_campaign (POST) yes|no&lt;br /&gt;
 * list_id (POST)&lt;br /&gt;
 * country_phone_code (POST)&lt;br /&gt;
 * leaddata (POST, Array)&lt;br /&gt;
  * title&lt;br /&gt;
  * phone&lt;br /&gt;
  * alt_phone&lt;br /&gt;
  * first_name&lt;br /&gt;
  * last_name&lt;br /&gt;
  * birthdate&lt;br /&gt;
  * country&lt;br /&gt;
  * street&lt;br /&gt;
  * streetnr&lt;br /&gt;
  * addradd&lt;br /&gt;
  * plz&lt;br /&gt;
  * ort&lt;br /&gt;
  * notices&lt;br /&gt;
  * leadid_external&lt;br /&gt;
  * company_name&lt;br /&gt;
 * formfields (POST, Array)&lt;br /&gt;
  * (Auftragsformularfelder, frei)&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * lead_stats: json Objekt&lt;br /&gt;
  * success&lt;br /&gt;
  * error&lt;br /&gt;
  * sqlerror&lt;br /&gt;
  * formaterror&lt;br /&gt;
  * doubleterror&lt;br /&gt;
  * invaliderror&lt;br /&gt;
  * formaterror_types: json Objekt&lt;br /&gt;
   * (diverse)&lt;br /&gt;
&lt;br /&gt;
=== editlead ===&lt;br /&gt;
&lt;br /&gt;
Bearbeite einen Lead.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * campaign_id (GET)&lt;br /&gt;
 * leadid(GET)&lt;br /&gt;
 * leaddata (POST, Array)&lt;br /&gt;
  * title&lt;br /&gt;
  * phone&lt;br /&gt;
  * alt_phone&lt;br /&gt;
  * first_name&lt;br /&gt;
  * last_name&lt;br /&gt;
  * birthdate&lt;br /&gt;
  * country&lt;br /&gt;
  * street&lt;br /&gt;
  * streetnr&lt;br /&gt;
  * addradd&lt;br /&gt;
  * plz&lt;br /&gt;
  * ort&lt;br /&gt;
  * notices&lt;br /&gt;
  * leadid_external&lt;br /&gt;
  * company_name&lt;br /&gt;
  * rotation&lt;br /&gt;
  * status&lt;br /&gt;
 * formfields (POST, Array)&lt;br /&gt;
  * (Auftragsformularfelder, frei)&lt;br /&gt;
 &lt;br /&gt;
=== getagentbyid ===&lt;br /&gt;
&lt;br /&gt;
Suche einen Agenten über seine ID und liefere seine Daten zurück.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * agentid (GET)&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: found|notfound&lt;br /&gt;
 * agent_info: json Objekt Array mit Agent-Daten&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status ok|error&lt;br /&gt;
 * reason (Bei Fehlern) Fehlergrund&lt;br /&gt;
&lt;br /&gt;
=== getlistbyid===&lt;br /&gt;
&lt;br /&gt;
Suche eine Liste über ihre ID und liefere die Daten zurück.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * listid (GET)&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: found|notfound&lt;br /&gt;
 * list_info: json Objekt Array mit Listen-Daten&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status ok|error&lt;br /&gt;
 * reason (Bei Fehlern) Fehlergrund&lt;/div&gt;</summary>
		<author><name>Rath</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.mmdial.de/index.php?title=API&amp;diff=267</id>
		<title>API</title>
		<link rel="alternate" type="text/html" href="https://wiki.mmdial.de/index.php?title=API&amp;diff=267"/>
		<updated>2014-03-11T14:46:23Z</updated>

		<summary type="html">&lt;p&gt;Rath: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;mmDial bietet ein umfangreiches API zur Anbindung externer Software.&lt;br /&gt;
&lt;br /&gt;
Viele Schnittstellen sind bislang undokumentiert. Sollten Sie eine weitere Schnittstelle benötigen,&lt;br /&gt;
wenden Sie sich bitte an unseren Support!&lt;br /&gt;
Die API befindet sich nocht im Alpha-Stadium. Die Dokumentation kann fehlerhaft sein, und Schnittstellen können&lt;br /&gt;
sich jederzeit ändern!&lt;br /&gt;
&lt;br /&gt;
Sie können auf einfache Weise auch externe CRM-Systeme direkt in das Agenteninterface einbinden.&lt;br /&gt;
Verwenden Sie hierzu die &amp;quot;Kampagnen Module&amp;quot; zu finden unter Kampagnen -&amp;gt; Kampagne auswählen -&amp;gt; Kampagnen Module.&lt;br /&gt;
Eine kleine Erklärung und ein Beispielscript finden Sie unter [[Kampagnenverwaltung#Eigenes_Auftragsformular|Eigenes Auftrasformular]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Allgemeines ==&lt;br /&gt;
&lt;br /&gt;
 * Die mmDial API ist über http://login.mmdial.de/api/ zu erreichen.&lt;br /&gt;
 * Die API benutzt die Standard HTTP Authentication.&lt;br /&gt;
 * Als Benutzername wird ein Benutzer mit Adminrechten verwendet&lt;br /&gt;
 * Es werden je nach Funktion HTTP GET und HTTP POST Argumente übergeben&lt;br /&gt;
 * Rückmeldungen erfolgen in der Regel als json Objekt&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Funktionen ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== searchvoicebyleadid ===&lt;br /&gt;
&lt;br /&gt;
Sucht eine Voice-Aufnahme über die Lead-ID des Kunden.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * leadid (GET) - die zu suchende Lead-ID&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: ok|error&lt;br /&gt;
 * msg: (nur bei error)&lt;br /&gt;
 * voices: json Objekt:&lt;br /&gt;
  * recid: Aufnahme-ID&lt;br /&gt;
  * agentid: Agenten-ID&lt;br /&gt;
  * timestamp: Der Zeitstempel der Aufnahme&lt;br /&gt;
  * available: yes|no yes, wenn die Datei schon/noch abrufbar ist.&lt;br /&gt;
  * voiceid: Dateiinterne ID&lt;br /&gt;
  * url: Url um die Datei herunterzuladen.&lt;br /&gt;
  * length: Abspiellänge der Aufzeichnung&lt;br /&gt;
  * size: Größe der Aufzeichnung&lt;br /&gt;
&lt;br /&gt;
=== searchvoicebyphonenumber ===&lt;br /&gt;
&lt;br /&gt;
Sucht eine Voice-Aufnahme über die Telefonnummer des Kunden.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * phone(GET) - die zu suchende Telefonnummer&lt;br /&gt;
 * date (GET, optional) - Datum im Format YYYY-MM-DD&lt;br /&gt;
 * timestamp (GET, optional) - Timestamp im Format YYYMMDDHHIISS&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: ok|error&lt;br /&gt;
 * msg: (nur bei error)&lt;br /&gt;
 * voices: json Objekt:&lt;br /&gt;
  * recid: Aufnahme-ID&lt;br /&gt;
  * agentid: Agenten-ID&lt;br /&gt;
  * timestamp: Der Zeitstempel der Aufnahme&lt;br /&gt;
  * available: yes|no yes, wenn die Datei schon/noch abrufbar ist.&lt;br /&gt;
  * voiceid: Dateiinterne ID&lt;br /&gt;
  * url: Url um die Datei herunterzuladen.&lt;br /&gt;
  * length: Abspiellänge der Aufzeichnung&lt;br /&gt;
  * size: Größe der Aufzeichnung&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== searchvoicebyagent ===&lt;br /&gt;
&lt;br /&gt;
Sucht eine Voice-Aufnahme über die Agenten-ID.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * agentid(GET) - die zu Agenten-ID&lt;br /&gt;
 * date (GET, optional) - Datum im Format YYYY-MM-DD&lt;br /&gt;
 * timestamp (GET, optional) - Timestamp im Format YYYMMDDHHIISS&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: ok|error&lt;br /&gt;
 * msg: (nur bei error)&lt;br /&gt;
 * voices: json Objekt:&lt;br /&gt;
  * recid: Aufnahme-ID&lt;br /&gt;
  * agentid: Agenten-ID&lt;br /&gt;
  * timestamp: Der Zeitstempel der Aufnahme&lt;br /&gt;
  * available: yes|no yes, wenn die Datei schon/noch abrufbar ist.&lt;br /&gt;
  * voiceid: Dateiinterne ID&lt;br /&gt;
  * url: Url um die Datei herunterzuladen.&lt;br /&gt;
  * length: Abspiellänge der Aufzeichnung&lt;br /&gt;
  * size: Größe der Aufzeichnung&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== getfieldsbycampaign===&lt;br /&gt;
&lt;br /&gt;
Gibt alle Auftragsformularfelder einer Kampagne zurück.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * campaign_id (GET) - die Kampagnen-ID&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * fields - json Objektliste:&lt;br /&gt;
  * name: Feldname&lt;br /&gt;
&lt;br /&gt;
=== exportbystatus ===&lt;br /&gt;
&lt;br /&gt;
Erstellt eine Exportdatei aus verschiedenen Kriterien als CSV.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * campaign_id (GET) - die Kampagnen-ID&lt;br /&gt;
 * status (GET Array, optional) - die zu Exportierenden Status&lt;br /&gt;
 * datetype: (GET, optional) last_phone|last_edit|imported_date (GET Array, optional)&lt;br /&gt;
 * fromdate: (GET, optional) Datum beginn: d.m.Y&lt;br /&gt;
 * fromtime: (GET, optional) Uhrzeit beginn: H:i:s&lt;br /&gt;
 * todate: (GET, optional) Datum ende: d.m.Y&lt;br /&gt;
 * totime: (GET, optional) Uhrzeit ende: H:i:s&lt;br /&gt;
 * selectedfields: (GET/POST) Feldauswahlliste getrennt durch , (Kommata) Prefix für Normale Felder: customerfield_, Prefix für Auftragsformularfelder: webformfield_&lt;br /&gt;
 * encoding: (GET/POST, optional) Datei-Encoding (Standard: iso-8859-1) ISO-8859-1,Windows-1252,UTF-8&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: ok|error&lt;br /&gt;
 * file_id: Datei-ID&lt;br /&gt;
 * size: Datei-Größe&lt;br /&gt;
 * url: Datei-URL&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== dncadd ===&lt;br /&gt;
&lt;br /&gt;
Fügt eine oder mehrere Nummern der Sperrliste hinzu&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * number (GET (Optional: mehrere durch , getrennt))&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: ok|error|doublet&lt;br /&gt;
 * message&lt;br /&gt;
&lt;br /&gt;
=== dncdel ===&lt;br /&gt;
&lt;br /&gt;
Löscht eine, oder mehrere Nummern aus der Sperrliste.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * number (GET (Optional: mehrere durch , getrennt))&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: ok|error&lt;br /&gt;
 * message&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== dncget ===&lt;br /&gt;
&lt;br /&gt;
Gibt die Sperrliste als CSV Datei zurück&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
''keine''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
CSV-Datei mit allen gesperrten Rufnummern&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== dnccheck ===&lt;br /&gt;
&lt;br /&gt;
Sucht eine Nummer in der DNC-Liste&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * number (GET)&lt;br /&gt;
 * fuzzy: yes|no (GET, optional) Sucht auch nach Teilnummern.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: exists|notfound (bei fuzzy = no)&lt;br /&gt;
 * results: Liste mit passenden Telefonnummern (bei fuzzy = yes)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== getleadbyid ===&lt;br /&gt;
&lt;br /&gt;
Suche einen Lead über die LeadID und gibt die Lead-Details sowie das letzte Auftragsformular zurück.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * leadid(GET)&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: found|notfound&lt;br /&gt;
 * lead_data: json Objekt mit Lead-Daten&lt;br /&gt;
 * formdata: json Objekt mit Auftragsformular-Daten&lt;br /&gt;
&lt;br /&gt;
=== getleadbyphonenumber ===&lt;br /&gt;
&lt;br /&gt;
Suche einen Lead über die Telefonnummer und gibt die Lead-Details sowie das letzte Auftragsformular zurück.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * number(GET)&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: found|notfound&lt;br /&gt;
 * lead_data: json Objekt Array mit Lead-Daten&lt;br /&gt;
 * formdata: json Objekt Array mit Auftragsformular-Daten&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== getleadbyexternalid ===&lt;br /&gt;
&lt;br /&gt;
Suche einen Lead über die externe Lead-ID und gibt die Lead-Details sowie das letzte Auftragsformular zurück.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * leadid(GET)&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: found|notfound&lt;br /&gt;
 * lead_data: json Objekt Array mit Lead-Daten&lt;br /&gt;
 * formdata: json Objekt Array mit Auftragsformular-Daten&lt;br /&gt;
&lt;br /&gt;
=== getleadbyextrafield ===&lt;br /&gt;
&lt;br /&gt;
Suche einen Lead über ein Extrafeld.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * fieldname(GET) - der Name des Extra-Feldes&lt;br /&gt;
 * fieldvalue(GET) - der zu suchende Wert&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: found|notfound&lt;br /&gt;
 * lead_data: json Objekt Array mit Lead-Daten&lt;br /&gt;
 * formdata: json Objekt Array mit Auftragsformular-Daten&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== addlist ===&lt;br /&gt;
&lt;br /&gt;
Füge eine Liste hinzu.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * campaignID (GET)&lt;br /&gt;
 * description (GET)&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: ok|error&lt;br /&gt;
 * listid: ID der erstellten Liste (nur bei ok)&lt;br /&gt;
 * reason: Fehlergrund (nur bei error)&lt;br /&gt;
&lt;br /&gt;
=== addlead ===&lt;br /&gt;
&lt;br /&gt;
Füge einen Lead hinzu.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * campaign_id (POST)&lt;br /&gt;
 * invalidcheck (POST) yes|no&lt;br /&gt;
 * doubletcheck_global (POST) yes|no&lt;br /&gt;
 * doubletcheck_campaign (POST) yes|no&lt;br /&gt;
 * list_id (POST)&lt;br /&gt;
 * country_phone_code (POST)&lt;br /&gt;
 * leaddata (POST, Array)&lt;br /&gt;
  * title&lt;br /&gt;
  * phone&lt;br /&gt;
  * alt_phone&lt;br /&gt;
  * first_name&lt;br /&gt;
  * last_name&lt;br /&gt;
  * birthdate&lt;br /&gt;
  * country&lt;br /&gt;
  * street&lt;br /&gt;
  * streetnr&lt;br /&gt;
  * addradd&lt;br /&gt;
  * plz&lt;br /&gt;
  * ort&lt;br /&gt;
  * notices&lt;br /&gt;
  * leadid_external&lt;br /&gt;
  * company_name&lt;br /&gt;
 * formfields (POST, Array)&lt;br /&gt;
  * (Auftragsformularfelder, frei)&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * lead_stats: json Objekt&lt;br /&gt;
  * success&lt;br /&gt;
  * error&lt;br /&gt;
  * sqlerror&lt;br /&gt;
  * formaterror&lt;br /&gt;
  * doubleterror&lt;br /&gt;
  * invaliderror&lt;br /&gt;
  * formaterror_types: json Objekt&lt;br /&gt;
   * (diverse)&lt;br /&gt;
&lt;br /&gt;
=== editlead ===&lt;br /&gt;
&lt;br /&gt;
Bearbeite einen Lead.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * campaign_id (GET)&lt;br /&gt;
 * leadid(GET)&lt;br /&gt;
 * leaddata (POST, Array)&lt;br /&gt;
  * title&lt;br /&gt;
  * phone&lt;br /&gt;
  * alt_phone&lt;br /&gt;
  * first_name&lt;br /&gt;
  * last_name&lt;br /&gt;
  * birthdate&lt;br /&gt;
  * country&lt;br /&gt;
  * street&lt;br /&gt;
  * streetnr&lt;br /&gt;
  * addradd&lt;br /&gt;
  * plz&lt;br /&gt;
  * ort&lt;br /&gt;
  * notices&lt;br /&gt;
  * leadid_external&lt;br /&gt;
  * company_name&lt;br /&gt;
  * rotation&lt;br /&gt;
  * status&lt;br /&gt;
 * formfields (POST, Array)&lt;br /&gt;
  * (Auftragsformularfelder, frei)&lt;br /&gt;
 &lt;br /&gt;
=== getagentbyid ===&lt;br /&gt;
&lt;br /&gt;
Suche einen Agenten über seine ID und liefere seine Daten zurück.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * agentid (GET)&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: found|notfound&lt;br /&gt;
 * agent_info: json Objekt Array mit Agent-Daten&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status ok|error&lt;br /&gt;
 * reason (Bei Fehlern) Fehlergrund&lt;br /&gt;
&lt;br /&gt;
=== getlistbyid===&lt;br /&gt;
&lt;br /&gt;
Suche eine Liste über ihre ID und liefere die Daten zurück.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * listid (GET)&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: found|notfound&lt;br /&gt;
 * list_info: json Objekt Array mit Listen-Daten&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status ok|error&lt;br /&gt;
 * reason (Bei Fehlern) Fehlergrund&lt;/div&gt;</summary>
		<author><name>Rath</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.mmdial.de/index.php?title=API&amp;diff=266</id>
		<title>API</title>
		<link rel="alternate" type="text/html" href="https://wiki.mmdial.de/index.php?title=API&amp;diff=266"/>
		<updated>2014-03-11T14:32:28Z</updated>

		<summary type="html">&lt;p&gt;Rath: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;mmDial bietet ein umfangreiches API zur Anbindung externer Software.&lt;br /&gt;
&lt;br /&gt;
Viele Schnittstellen sind bislang undokumentiert. Sollten Sie eine weitere Schnittstelle benötigen,&lt;br /&gt;
wenden Sie sich bitte an unseren Support!&lt;br /&gt;
Die API befindet sich nocht im Alpha-Stadium. Die Dokumentation kann fehlerhaft sein, und Schnittstellen können&lt;br /&gt;
sich jederzeit ändern!&lt;br /&gt;
&lt;br /&gt;
Sie können auf einfache Weise auch externe CRM-Systeme direkt in das Agenteninterface einbinden.&lt;br /&gt;
Verwenden Sie hierzu die &amp;quot;Kampagnen Module&amp;quot; zu finden unter Kampagnen -&amp;gt; Kampagne auswählen -&amp;gt; Kampagnen Module.&lt;br /&gt;
Eine kleine Erklärung und ein Beispielscript finden Sie unter [[Kampagnenverwaltung#Eigenes_Auftragsformular|Eigenes Auftrasformular]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Allgemeines ==&lt;br /&gt;
&lt;br /&gt;
 * Die mmDial API ist über http://login.mmdial.de/api/ zu erreichen.&lt;br /&gt;
 * Die API benutzt die Standard HTTP Authentication.&lt;br /&gt;
 * Als Benutzername wird ein Benutzer mit Adminrechten verwendet&lt;br /&gt;
 * Es werden je nach Funktion HTTP GET und HTTP POST Argumente übergeben&lt;br /&gt;
 * Rückmeldungen erfolgen in der Regel als json Objekt&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Funktionen ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== searchvoicebyleadid ===&lt;br /&gt;
&lt;br /&gt;
Sucht eine Voice-Aufnahme über die Lead-ID des Kunden.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * leadid (GET) - die zu suchende Lead-ID&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: ok|error&lt;br /&gt;
 * msg: (nur bei error)&lt;br /&gt;
 * voices: json Objekt:&lt;br /&gt;
  * recid: Aufnahme-ID&lt;br /&gt;
  * agentid: Agenten-ID&lt;br /&gt;
  * timestamp: Der Zeitstempel der Aufnahme&lt;br /&gt;
  * available: yes|no yes, wenn die Datei schon/noch abrufbar ist.&lt;br /&gt;
  * voiceid: Dateiinterne ID&lt;br /&gt;
  * url: Url um die Datei herunterzuladen.&lt;br /&gt;
  * length: Abspiellänge der Aufzeichnung&lt;br /&gt;
  * size: Größe der Aufzeichnung&lt;br /&gt;
&lt;br /&gt;
=== searchvoicebyphonenumber ===&lt;br /&gt;
&lt;br /&gt;
Sucht eine Voice-Aufnahme über die Telefonnummer des Kunden.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * phone(GET) - die zu suchende Telefonnummer&lt;br /&gt;
 * date (GET, optional) - Datum im Format YYYY-MM-DD&lt;br /&gt;
 * timestamp (GET, optional) - Timestamp im Format YYYMMDDHHIISS&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: ok|error&lt;br /&gt;
 * msg: (nur bei error)&lt;br /&gt;
 * voices: json Objekt:&lt;br /&gt;
  * recid: Aufnahme-ID&lt;br /&gt;
  * agentid: Agenten-ID&lt;br /&gt;
  * timestamp: Der Zeitstempel der Aufnahme&lt;br /&gt;
  * available: yes|no yes, wenn die Datei schon/noch abrufbar ist.&lt;br /&gt;
  * voiceid: Dateiinterne ID&lt;br /&gt;
  * url: Url um die Datei herunterzuladen.&lt;br /&gt;
  * length: Abspiellänge der Aufzeichnung&lt;br /&gt;
  * size: Größe der Aufzeichnung&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== searchvoicebyagent ===&lt;br /&gt;
&lt;br /&gt;
Sucht eine Voice-Aufnahme über die Agenten-ID.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * agentid(GET) - die zu Agenten-ID&lt;br /&gt;
 * date (GET, optional) - Datum im Format YYYY-MM-DD&lt;br /&gt;
 * timestamp (GET, optional) - Timestamp im Format YYYMMDDHHIISS&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: ok|error&lt;br /&gt;
 * msg: (nur bei error)&lt;br /&gt;
 * voices: json Objekt:&lt;br /&gt;
  * recid: Aufnahme-ID&lt;br /&gt;
  * agentid: Agenten-ID&lt;br /&gt;
  * timestamp: Der Zeitstempel der Aufnahme&lt;br /&gt;
  * available: yes|no yes, wenn die Datei schon/noch abrufbar ist.&lt;br /&gt;
  * voiceid: Dateiinterne ID&lt;br /&gt;
  * url: Url um die Datei herunterzuladen.&lt;br /&gt;
  * length: Abspiellänge der Aufzeichnung&lt;br /&gt;
  * size: Größe der Aufzeichnung&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== getfieldsbycampaign===&lt;br /&gt;
&lt;br /&gt;
Gibt alle Auftragsformularfelder einer Kampagne zurück.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * campaign_id (GET) - die Kampagnen-ID&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * fields - json Objektliste:&lt;br /&gt;
  * name: Feldname&lt;br /&gt;
&lt;br /&gt;
=== exportbystatus ===&lt;br /&gt;
&lt;br /&gt;
Erstellt eine Exportdatei aus verschiedenen Kriterien als CSV.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * campaign_id (GET) - die Kampagnen-ID&lt;br /&gt;
 * status (GET Array, optional) - die zu Exportierenden Status&lt;br /&gt;
 * datetype: (GET, optional) last_phone|last_edit|imported_date (GET Array, optional)&lt;br /&gt;
 * fromdate: (GET, optional) Datum beginn: d.m.Y&lt;br /&gt;
 * fromtime: (GET, optional) Uhrzeit beginn: H:i:s&lt;br /&gt;
 * todate: (GET, optional) Datum ende: d.m.Y&lt;br /&gt;
 * totime: (GET, optional) Uhrzeit ende: H:i:s&lt;br /&gt;
 * selectedfields: (GET/POST) Feldauswahlliste getrennt durch , (Kommata) Prefix für Normale Felder: customerfield_, Prefix für Auftragsformularfelder: webformfield_&lt;br /&gt;
 * encoding: (GET/POST, optional) Datei-Encoding (Standard: iso-8859-1) ISO-8859-1,Windows-1252,UTF-8&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: ok|error&lt;br /&gt;
 * file_id: Datei-ID&lt;br /&gt;
 * size: Datei-Größe&lt;br /&gt;
 * url: Datei-URL&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== dncadd ===&lt;br /&gt;
&lt;br /&gt;
Fügt eine oder mehrere Nummern der Sperrliste hinzu&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * number (GET (Optional: mehrere durch , getrennt))&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: ok|error|doublet&lt;br /&gt;
 * message&lt;br /&gt;
&lt;br /&gt;
=== dncdel ===&lt;br /&gt;
&lt;br /&gt;
Löscht eine, oder mehrere Nummern aus der Sperrliste.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * number (GET (Optional: mehrere durch , getrennt))&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: ok|error&lt;br /&gt;
 * message&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== dncget ===&lt;br /&gt;
&lt;br /&gt;
Gibt die Sperrliste als CSV Datei zurück&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
''keine''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
CSV-Datei mit allen gesperrten Rufnummern&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== dnccheck ===&lt;br /&gt;
&lt;br /&gt;
Sucht eine Nummer in der DNC-Liste&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * number (GET)&lt;br /&gt;
 * fuzzy: yes|no (GET, optional) Sucht auch nach Teilnummern.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: exists|notfound (bei fuzzy = no)&lt;br /&gt;
 * results: Liste mit passenden Telefonnummern (bei fuzzy = yes)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== getleadbyid ===&lt;br /&gt;
&lt;br /&gt;
Suche einen Lead über die LeadID und gibt die Lead-Details sowie das letzte Auftragsformular zurück.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * leadid(GET)&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: found|notfound&lt;br /&gt;
 * lead_data: json Objekt mit Lead-Daten&lt;br /&gt;
 * formdata: json Objekt mit Auftragsformular-Daten&lt;br /&gt;
&lt;br /&gt;
=== getleadbyphonenumber ===&lt;br /&gt;
&lt;br /&gt;
Suche einen Lead über die Telefonnummer und gibt die Lead-Details sowie das letzte Auftragsformular zurück.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * number(GET)&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: found|notfound&lt;br /&gt;
 * lead_data: json Objekt Array mit Lead-Daten&lt;br /&gt;
 * formdata: json Objekt Array mit Auftragsformular-Daten&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== getleadbyexternalid ===&lt;br /&gt;
&lt;br /&gt;
Suche einen Lead über die externe Lead-ID und gibt die Lead-Details sowie das letzte Auftragsformular zurück.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * leadid(GET)&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: found|notfound&lt;br /&gt;
 * lead_data: json Objekt Array mit Lead-Daten&lt;br /&gt;
 * formdata: json Objekt Array mit Auftragsformular-Daten&lt;br /&gt;
&lt;br /&gt;
=== getleadbyextrafield ===&lt;br /&gt;
&lt;br /&gt;
Suche einen Lead über ein Extrafeld.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * fieldname(GET) - der Name des Extra-Feldes&lt;br /&gt;
 * fieldvalue(GET) - der zu suchende Wert&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: found|notfound&lt;br /&gt;
 * lead_data: json Objekt Array mit Lead-Daten&lt;br /&gt;
 * formdata: json Objekt Array mit Auftragsformular-Daten&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== addlist ===&lt;br /&gt;
&lt;br /&gt;
Füge eine Liste hinzu.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * campaignID (POST)&lt;br /&gt;
 * description (POST)&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: ok|error&lt;br /&gt;
 * listid: ID der erstellten Liste (nur bei ok)&lt;br /&gt;
 * reason: Fehlergrund (nur bei error)&lt;br /&gt;
&lt;br /&gt;
=== addlead ===&lt;br /&gt;
&lt;br /&gt;
Füge einen Lead hinzu.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * campaign_id (POST)&lt;br /&gt;
 * invalidcheck (POST) yes|no&lt;br /&gt;
 * doubletcheck_global (POST) yes|no&lt;br /&gt;
 * doubletcheck_campaign (POST) yes|no&lt;br /&gt;
 * list_id (POST)&lt;br /&gt;
 * country_phone_code (POST)&lt;br /&gt;
 * leaddata (POST, Array)&lt;br /&gt;
  * title&lt;br /&gt;
  * phone&lt;br /&gt;
  * alt_phone&lt;br /&gt;
  * first_name&lt;br /&gt;
  * last_name&lt;br /&gt;
  * birthdate&lt;br /&gt;
  * country&lt;br /&gt;
  * street&lt;br /&gt;
  * streetnr&lt;br /&gt;
  * addradd&lt;br /&gt;
  * plz&lt;br /&gt;
  * ort&lt;br /&gt;
  * notices&lt;br /&gt;
  * leadid_external&lt;br /&gt;
  * company_name&lt;br /&gt;
 * formfields (POST, Array)&lt;br /&gt;
  * (Auftragsformularfelder, frei)&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * lead_stats: json Objekt&lt;br /&gt;
  * success&lt;br /&gt;
  * error&lt;br /&gt;
  * sqlerror&lt;br /&gt;
  * formaterror&lt;br /&gt;
  * doubleterror&lt;br /&gt;
  * invaliderror&lt;br /&gt;
  * formaterror_types: json Objekt&lt;br /&gt;
   * (diverse)&lt;br /&gt;
&lt;br /&gt;
=== editlead ===&lt;br /&gt;
&lt;br /&gt;
Bearbeite einen Lead.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * campaign_id (GET)&lt;br /&gt;
 * leadid(GET)&lt;br /&gt;
 * leaddata (POST, Array)&lt;br /&gt;
  * title&lt;br /&gt;
  * phone&lt;br /&gt;
  * alt_phone&lt;br /&gt;
  * first_name&lt;br /&gt;
  * last_name&lt;br /&gt;
  * birthdate&lt;br /&gt;
  * country&lt;br /&gt;
  * street&lt;br /&gt;
  * streetnr&lt;br /&gt;
  * addradd&lt;br /&gt;
  * plz&lt;br /&gt;
  * ort&lt;br /&gt;
  * notices&lt;br /&gt;
  * leadid_external&lt;br /&gt;
  * company_name&lt;br /&gt;
  * rotation&lt;br /&gt;
  * status&lt;br /&gt;
 * formfields (POST, Array)&lt;br /&gt;
  * (Auftragsformularfelder, frei)&lt;br /&gt;
 &lt;br /&gt;
=== getagentbyid ===&lt;br /&gt;
&lt;br /&gt;
Suche einen Agenten über seine ID und liefere seine Daten zurück.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * agentid (GET)&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: found|notfound&lt;br /&gt;
 * agent_info: json Objekt Array mit Agent-Daten&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status ok|error&lt;br /&gt;
 * reason (Bei Fehlern) Fehlergrund&lt;br /&gt;
&lt;br /&gt;
=== getlistbyid===&lt;br /&gt;
&lt;br /&gt;
Suche eine Liste über ihre ID und liefere die Daten zurück.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * listid (GET)&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: found|notfound&lt;br /&gt;
 * list_info: json Objekt Array mit Listen-Daten&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status ok|error&lt;br /&gt;
 * reason (Bei Fehlern) Fehlergrund&lt;/div&gt;</summary>
		<author><name>Rath</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.mmdial.de/index.php?title=Kampagnenverwaltung&amp;diff=265</id>
		<title>Kampagnenverwaltung</title>
		<link rel="alternate" type="text/html" href="https://wiki.mmdial.de/index.php?title=Kampagnenverwaltung&amp;diff=265"/>
		<updated>2014-02-24T13:07:55Z</updated>

		<summary type="html">&lt;p&gt;Rath: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;In der Kampagnenverwaltung können Sie alle Einstellungen rund um eine Kampagne machen. Weiter können Sie hier auch Kampagnen erstellen, löschen und deaktivieren. Hier haben Sie weiter auch die Möglichkeit Kampagneneigene Status oder autom. Leadübertragung in QM-Kampagnen zu erstellen. &lt;br /&gt;
&lt;br /&gt;
== Kampagnen erstellen  ==&lt;br /&gt;
&lt;br /&gt;
Bei mmDial haben Sie neben der klassischen Outboundtelefonie auch die Möglichkeit Inboundtelefonie zu betreiben. Dies bietet Ihnen z.B. die Möglichkeit Rückrufer direkt wieder an einen Agenten zuverbinden. Bitte beachten Sie, dass die Inboundfunktion eine Zusatzleistung ist die extra bestellt werden muss. &lt;br /&gt;
&lt;br /&gt;
=== Outboundkampagne erstellen  ===&lt;br /&gt;
&lt;br /&gt;
Zum Erstellen einer Outbound-Kampagne gehen Sie bitte in der Dialerverwaltung auf die Kampagnen Seite. Hier finden Sie im linken Context-Menü den Punkt „Neue Kampagne“. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Hier müssen Sie nun, zum Erstellen einer Kampagne, alle Grundinformationen für die Kampagne eintragen. Folgendes müssen Sie angeben: &amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Kampagnenname (Aussagekräftiger Name der Kampagne)&amp;lt;br&amp;gt;[[CLIP-Rufnummer]] (Hier müssen Sie die Rufnummer eintragen, die dem Angerufenen angezeigt werden soll) &amp;lt;br&amp;gt;Aktiv (Auswählen ob Kampagne vom Erstellen an aktiv sein soll) &amp;lt;br&amp;gt;Auftragsformular (Auswählen, ob ein [[Auftragsformular]] für diese Kampagne verwendet werden soll) &amp;lt;br&amp;gt;Maximaler Adressverbrauch pro Minute &amp;lt;br&amp;gt;Neuen Anruf zu Agent (Wählen Sie aus, nach welcher Reihenfolge wartenden Agenten neue Gespräche zugeteilt werden sollen.) &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Bitte beachten Sie, dass eine Kampagne wesentlich mehr Einstellmöglichkeiten hat als nur die aufgeführten. Diese Daten, die Sie beim Erstellen eingeben müssen, sind Einstellungen, die von Ihnen gesetzt werden müssen. Alle anderen Einstellungen wurden von unserem System mit Standardwerten gesetzt, um den Erstellvorgang zu beschleunigen. Sie können später alle weiteren Einstellungen unter dem Punkt „Kampagnen / Kampagnenliste / Kampagne bearbeiten“ (Icon mit dem Schreibblock und dem Stift) einstellen.&lt;br /&gt;
&lt;br /&gt;
=== Inboundkampagne erstellen  ===&lt;br /&gt;
&lt;br /&gt;
Inbound-Kampagnen sind in der Standardversion von mmDial nicht verfügbar. Diese können Sie optional hinzubuchen. Wenden Sie sich dazu an unseren Vertrieb.&lt;br /&gt;
&lt;br /&gt;
== Kampagnen löschen  ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
WICHTIG:&lt;br /&gt;
&lt;br /&gt;
Beim Löschen von Kampagnen gehen alle in der Kampagne vorhandenen Daten verloren. Diese können nicht wieder hergestellt werden. Wenn Sie eine Kampagne löschen vergewissern Sie sich, dass Sie alle benötigten Daten exportiert haben.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Zum Löschen klicken Sie unter &amp;quot;Kampagnen&amp;quot; auf die &amp;quot;Kampagnenliste&amp;quot; und vor der zu löschenden Kampagne auf das rote X. Sie werden daraufhin nocheinmal gefragt, ob die Kampagne wirklich gelöscht werden soll. Dies können Sie mit einem &amp;quot;JA&amp;quot; bestätigen.&lt;br /&gt;
&lt;br /&gt;
== Kampagnen de/aktivieren  ==&lt;br /&gt;
Um eine Kampagne zu de- oder aktivieren gehen Sie in der Verwaltungsoberfläche in den Bereich Kampagnen. Dort wählen Sie in den Unterpunkt &amp;quot;Kampagnenliste&amp;quot; aus.&lt;br /&gt;
Hier finden Sie alle von Ihnen angelegten Kampagnen. Aktive Kampagnen haben ein blaues Männchen. Inaktive ein graues.&lt;br /&gt;
&lt;br /&gt;
Um den Status der Kampagne zu ändern klicken Sie auf das Männchen. Der Status der Kampagne ändert sich dann direkt.&lt;br /&gt;
&lt;br /&gt;
== Statusübertrag in Kampagnen  ==&lt;br /&gt;
&lt;br /&gt;
Bei mmDial haben Sie die Möglichkeit Kunden/Leads, die erfolgreich sind, direkt in eine anderen QM-Kampagne zu übertragen.&lt;br /&gt;
&lt;br /&gt;
Gehen Sie dazu in Kampagen und wählen Sie eine Kampagne aus.&amp;lt;br&amp;gt;Gehen Sie dann in der linken Navigation auf Statusübertrag.&amp;lt;br&amp;gt;Dort sehen Sie 3 Auswahlfelder zum Erstellen des Übertrags.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
*Wählen Sie den gewünschten Status der Leads die Sie übertragen möchten. Zum Beispiel &amp;quot;Sale&amp;quot; oder &amp;quot;Anrufbeantworter&amp;quot;.&amp;lt;br&amp;gt;&lt;br /&gt;
*Legen Sie fest, in welche Kampagne Sie diese Leads übertragen möchten.&amp;lt;br&amp;gt;&lt;br /&gt;
**Nach Auswahl der Kampagne öffnen sich weitere Einstellungsmöglichkeiten:&amp;lt;br&amp;gt;&lt;br /&gt;
**Sie können auswählen ob eine neue Liste erstellt werden soll, oder die Leads in eine vorhandene Liste geschrieben werden sollen&amp;lt;br&amp;gt;&lt;br /&gt;
**Alle Leads verlieren beim Verschieben Ihren aktuellen (alten) Status. Im folgenden Drop-Down Menü wählen Sie den neuen Status nach dem Übertrag aus (z.B. &amp;quot;NEW&amp;quot;).&lt;br /&gt;
*In der letzten Auswahl &amp;quot;Kopiermodus&amp;quot; können Sie zwischen &amp;quot;Lead verschieben&amp;quot; und &amp;quot;Lead kopieren&amp;quot; auswählen. Wählen Sie verschieben aus, so werden die Leads aus der aktuellen Kampagne gelöscht - damit gehen auch alle Informationen zu diesem Lead verloren (z.B. der Status).&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
'Unsere Empfehlung:'&lt;br /&gt;
Kopieren Sie die Leads statt Sie zu verschieben. Damit bleiben in der ursprünglichen Kampagne (aus der Sie den Übertrag machen) die Lead-Informationen wie letzte Anrufe, Status usw. erhalten. In der neuen Kampagne bzw. Liste, in die Ihre Leads verschoben wurden, wird alles zurück gesetzt. Wie oben beschrieben können Sie festlegen welchen Anfangsstatus diese Leads erhalten sollen.&lt;br /&gt;
&lt;br /&gt;
== Kampagnenstatus ==&lt;br /&gt;
=== Erstellen  ===&lt;br /&gt;
&lt;br /&gt;
mmDial bietet Ihnen die Möglichkeit eigene Status für einen Kampagne zu erstellen.&amp;lt;br&amp;gt;Dies dient einer genaueren Feststellung am Ende eines Gesprächs. Sie können beliebig viele Status erstellen. Zum Erstellen wählen Sie eine Kampagne aus und klicken im Contextmenü auf den Punkt „Kampagnen Status“. &lt;br /&gt;
&lt;br /&gt;
Hier müssen Sie nun ein Kürzel und den vollständigen Titel des Status eintragen. &lt;br /&gt;
&lt;br /&gt;
Nachdem Sie auf &amp;quot;anlegen&amp;quot; geklickt haben ist der Status erstellt. Er wird nun Ihren Agenten am Ende des Gesprächs in dieser Kampagne angezeigt und Sie haben auf die Möglichkeit gezielt nach diesem Status zu exportieren.&lt;br /&gt;
&lt;br /&gt;
=== Alle Status ansehen/löschen ===&lt;br /&gt;
&lt;br /&gt;
Um alle erstellten Status einzusehen klicken Sie auf die Schaltfläche „Vorhandene Status“. An dieser Stelle können Sie auch einen bestehenden Status wieder löschen.&lt;br /&gt;
&lt;br /&gt;
== Auftragsformular / Kampagnen Module ==&lt;br /&gt;
=== Eigenes Auftragsformular ===&lt;br /&gt;
&lt;br /&gt;
Die folgenden Felder können an ein externes eigenes Auftragsformular bzw. an ein Kampagnen-Modul übergeben werden:&lt;br /&gt;
&lt;br /&gt;
 * lead_id&lt;br /&gt;
 * title&lt;br /&gt;
 * phone&lt;br /&gt;
 * alt_phone&lt;br /&gt;
 * first_name&lt;br /&gt;
 * last_name&lt;br /&gt;
 * street&lt;br /&gt;
 * streetnr&lt;br /&gt;
 * plz&lt;br /&gt;
 * ort&lt;br /&gt;
 * notices&lt;br /&gt;
 * agentid&lt;br /&gt;
 * birthday&lt;br /&gt;
 * leadid_external&lt;br /&gt;
 * vorwahl&lt;br /&gt;
 * company_name&lt;br /&gt;
 * agent_name&lt;br /&gt;
 * campaign&lt;br /&gt;
 * agent_extrafield1, agent_extrafield2, agent_extrafield3, agent_extrafield4&lt;br /&gt;
 * xtra_* (Für Extrafelder)&lt;br /&gt;
&lt;br /&gt;
Bei Inbound-Kampagnen:&lt;br /&gt;
&lt;br /&gt;
 * target_number&lt;br /&gt;
&lt;br /&gt;
Auftragsformularfelder:&lt;br /&gt;
&lt;br /&gt;
 * __F_feldname__ - feldname ist Platzhalter für Formularfeldnamen&lt;br /&gt;
 * __FormSaveID__ - Speicherid des Formulars&lt;br /&gt;
 * __FormCreated__ - Speicherzeitpunkt des Formulars&lt;br /&gt;
&lt;br /&gt;
Spezialfelder:&lt;br /&gt;
&lt;br /&gt;
 * z.B. __STRTODATE_+1 week__ entspricht PHP's strtodate() Funktion - anzeige im Deutschen Format&lt;br /&gt;
&lt;br /&gt;
Im Dokumentensystem ist zusätzlich das Spezialfeld &amp;quot;__FaxSpecialField__&amp;quot; verfügbar. Dieses Feld kann angelegt werden um die Faxnummer im üblichen Format ausfüllen zu können.&lt;br /&gt;
Dieses Feld ist nicht zusätzlich für den Agenten ausfüllbar und muss &amp;quot;Sichtbar&amp;quot; sein.&lt;br /&gt;
&lt;br /&gt;
In der aufzurufenden URL werden die Felder entsprechend durch ihre Werte ersetzt, sobald die Platzhalter durch &amp;quot;__&amp;quot; eingeschlossen sind. Beispiel: __lead_id__&lt;br /&gt;
&lt;br /&gt;
Bei einigen Modulen, wie zum Beispiel den Dokumenten, muss der Platzhalter im Format &amp;quot;__DB_feldname__&amp;quot; eingegeben werden. Beispiel: __DB_lead_id__&lt;br /&gt;
&lt;br /&gt;
Bei Dokumenten die als E-Mail versendet werden sollen, können mehrere (Auswählbare) Empfänger mittels &amp;quot;#&amp;quot; getrennt werden. (z.B. a@b.de#b@c.de) Hierbei kann der Agent einzelne Adressen entfernen.&lt;br /&gt;
&lt;br /&gt;
Kommt in der URL der Wert &amp;quot;DOPOSTURL&amp;quot; vor, werden die Werte per HTTP POST übergeben, und der Wert &amp;quot;DOPOSTURL&amp;quot; entfernt.&lt;br /&gt;
&lt;br /&gt;
Der Wert &amp;quot;URLSTR&amp;quot; wird durch die Felder die oben beschrieben sind wie folgt ersetzt: feld1=wert1;feld2=wert2;...&lt;br /&gt;
&lt;br /&gt;
Es ist auch ein [[Beispielscript Leitfaden]] in php verfügbar.&lt;/div&gt;</summary>
		<author><name>Rath</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.mmdial.de/index.php?title=Verwendung_des_mmDial_Configurators&amp;diff=264</id>
		<title>Verwendung des mmDial Configurators</title>
		<link rel="alternate" type="text/html" href="https://wiki.mmdial.de/index.php?title=Verwendung_des_mmDial_Configurators&amp;diff=264"/>
		<updated>2013-10-31T15:45:16Z</updated>

		<summary type="html">&lt;p&gt;Rath: Die Seite wurde neu angelegt: „Der Configurator hilft beim Einstellen der Benutzeraccounts von mmDial.  Schritt 1:  Herunterladen des Tool-Programms von http://www.mmdial.de/downloads/mmdial.ex…“&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Der Configurator hilft beim Einstellen der Benutzeraccounts von mmDial.&lt;br /&gt;
&lt;br /&gt;
Schritt 1:&lt;br /&gt;
&lt;br /&gt;
Herunterladen des Tool-Programms von http://www.mmdial.de/downloads/mmdial.exe&lt;br /&gt;
&lt;br /&gt;
Sie benötigen Administratorrechte zur Installation des Programms.&lt;br /&gt;
&lt;br /&gt;
Schritt 2:&lt;br /&gt;
&lt;br /&gt;
Installieren Sie das Programm.&lt;br /&gt;
Es werden automatisch die nötigen Zusatzpakete installiert.&lt;br /&gt;
&lt;br /&gt;
Sollte Firefox oder Linphone schon installiert sein, wird die jeweilige Installation übersprungen.&lt;br /&gt;
&lt;br /&gt;
Achtung: der mmDial Configurator stellt automatisch Ihre eventuell vorhandene Linphone-Konfiguration um!&lt;br /&gt;
&lt;br /&gt;
Schritt 3:&lt;br /&gt;
&lt;br /&gt;
Nach der Installation findet sich auf dem Desktop eine Verknüpfung &amp;quot;mmDial&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Rufen Sie dieses Programm nur auf, wenn Firefox und Linphone geschlossen sind. Der mmDial Configurator&lt;br /&gt;
startet die benötigten Programme automatisch.&lt;/div&gt;</summary>
		<author><name>Rath</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.mmdial.de/index.php?title=Hauptseite&amp;diff=263</id>
		<title>Hauptseite</title>
		<link rel="alternate" type="text/html" href="https://wiki.mmdial.de/index.php?title=Hauptseite&amp;diff=263"/>
		<updated>2013-10-31T15:22:15Z</updated>

		<summary type="html">&lt;p&gt;Rath: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''Willkommen im Wiki von mmDial.'''&lt;br /&gt;
&lt;br /&gt;
Das mmDial Wiki ist ein Nachschlagewerk für unsere Kunden. Jeder kann mit seinem Wissen beitragen. Artikel können nur von angemeldeten Usern verändert oder hinzugefügt werden.&lt;br /&gt;
Sie sind herzlich eingeladen, selber Teil dieses Wikis zu werden und Ihr Wissen und Ihre Erfahrung mit anderen mmDial Nutzern zu teilen.&lt;br /&gt;
&lt;br /&gt;
== Erste Schritte  ==&lt;br /&gt;
&lt;br /&gt;
Für den ersten Dialerbetrieb sind nur wenige Schritte nötig. &lt;br /&gt;
&lt;br /&gt;
Befolgen Sie diese Anleitung und seien Sie schon bald startklar. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
#Überblick über das [[Verwaltungssystem]] &lt;br /&gt;
##[[Agentenverwaltung]]&lt;br /&gt;
##[[Kampagnenverwaltung]]&lt;br /&gt;
##[[Listenverwaltung]]&lt;br /&gt;
##[[Statistiken]]&lt;br /&gt;
##[[Export]]&lt;br /&gt;
##[[Voices]]&lt;br /&gt;
##[[Livemonitor]]&lt;br /&gt;
#[[Softphone installieren|VoIP Software installieren]] &lt;br /&gt;
#[[Agentenverwaltung#Erstellen|Agenten erstellen]] &lt;br /&gt;
#[[Kampagnenverwaltung#Erste_Kampagne|Kampagne erstellen]] &lt;br /&gt;
#[[Listenverwaltung#Liste_hochladen|Datensätze hochladen]]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[[Verwendung des mmDial Configurators]]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[[Liste Fehlerhafter Router|Liste fehlerhafter Router]]&lt;br /&gt;
&lt;br /&gt;
[[Fehlerquellen bei Softphones]]&lt;/div&gt;</summary>
		<author><name>Rath</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.mmdial.de/index.php?title=API&amp;diff=262</id>
		<title>API</title>
		<link rel="alternate" type="text/html" href="https://wiki.mmdial.de/index.php?title=API&amp;diff=262"/>
		<updated>2013-10-16T13:00:54Z</updated>

		<summary type="html">&lt;p&gt;Rath: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;mmDial bietet ein umfangreiches API zur Anbindung externer Software.&lt;br /&gt;
&lt;br /&gt;
Viele Schnittstellen sind bislang undokumentiert. Sollten Sie eine weitere Schnittstelle benötigen,&lt;br /&gt;
wenden Sie sich bitte an unseren Support!&lt;br /&gt;
Die API befindet sich nocht im Alpha-Stadium. Die Dokumentation kann fehlerhaft sein, und Schnittstellen können&lt;br /&gt;
sich jederzeit ändern!&lt;br /&gt;
&lt;br /&gt;
Sie können auf einfache Weise auch externe CRM-Systeme direkt in das Agenteninterface einbinden.&lt;br /&gt;
Verwenden Sie hierzu die &amp;quot;Kampagnen Module&amp;quot; zu finden unter Kampagnen -&amp;gt; Kampagne auswählen -&amp;gt; Kampagnen Module.&lt;br /&gt;
Eine kleine Erklärung und ein Beispielscript finden Sie unter [[Kampagnenverwaltung#Eigenes_Auftragsformular|Eigenes Auftrasformular]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Allgemeines ==&lt;br /&gt;
&lt;br /&gt;
 * Die mmDial API ist über http://login.mmdial.de/api/ zu erreichen.&lt;br /&gt;
 * Die API benutzt die Standard HTTP Authentication.&lt;br /&gt;
 * Als Benutzername wird ein Benutzer mit Adminrechten verwendet&lt;br /&gt;
 * Es werden je nach Funktion HTTP GET und HTTP POST Argumente übergeben&lt;br /&gt;
 * Rückmeldungen erfolgen in der Regel als json Objekt&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Funktionen ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== searchvoicebyleadid ===&lt;br /&gt;
&lt;br /&gt;
Sucht eine Voice-Aufnahme über die Lead-ID des Kunden.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * leadid (GET) - die zu suchende Lead-ID&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: ok|error&lt;br /&gt;
 * msg: (nur bei error)&lt;br /&gt;
 * voices: json Objekt:&lt;br /&gt;
  * recid: Aufnahme-ID&lt;br /&gt;
  * agentid: Agenten-ID&lt;br /&gt;
  * timestamp: Der Zeitstempel der Aufnahme&lt;br /&gt;
  * available: yes|no yes, wenn die Datei schon/noch abrufbar ist.&lt;br /&gt;
  * voiceid: Dateiinterne ID&lt;br /&gt;
  * url: Url um die Datei herunterzuladen.&lt;br /&gt;
  * length: Abspiellänge der Aufzeichnung&lt;br /&gt;
  * size: Größe der Aufzeichnung&lt;br /&gt;
&lt;br /&gt;
=== searchvoicebyphonenumber ===&lt;br /&gt;
&lt;br /&gt;
Sucht eine Voice-Aufnahme über die Telefonnummer des Kunden.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * phone(GET) - die zu suchende Telefonnummer&lt;br /&gt;
 * date (GET, optional) - Datum im Format YYYY-MM-DD&lt;br /&gt;
 * timestamp (GET, optional) - Timestamp im Format YYYMMDDHHIISS&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: ok|error&lt;br /&gt;
 * msg: (nur bei error)&lt;br /&gt;
 * voices: json Objekt:&lt;br /&gt;
  * recid: Aufnahme-ID&lt;br /&gt;
  * agentid: Agenten-ID&lt;br /&gt;
  * timestamp: Der Zeitstempel der Aufnahme&lt;br /&gt;
  * available: yes|no yes, wenn die Datei schon/noch abrufbar ist.&lt;br /&gt;
  * voiceid: Dateiinterne ID&lt;br /&gt;
  * url: Url um die Datei herunterzuladen.&lt;br /&gt;
  * length: Abspiellänge der Aufzeichnung&lt;br /&gt;
  * size: Größe der Aufzeichnung&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== searchvoicebyagent ===&lt;br /&gt;
&lt;br /&gt;
Sucht eine Voice-Aufnahme über die Agenten-ID.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * agentid(GET) - die zu Agenten-ID&lt;br /&gt;
 * date (GET, optional) - Datum im Format YYYY-MM-DD&lt;br /&gt;
 * timestamp (GET, optional) - Timestamp im Format YYYMMDDHHIISS&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: ok|error&lt;br /&gt;
 * msg: (nur bei error)&lt;br /&gt;
 * voices: json Objekt:&lt;br /&gt;
  * recid: Aufnahme-ID&lt;br /&gt;
  * agentid: Agenten-ID&lt;br /&gt;
  * timestamp: Der Zeitstempel der Aufnahme&lt;br /&gt;
  * available: yes|no yes, wenn die Datei schon/noch abrufbar ist.&lt;br /&gt;
  * voiceid: Dateiinterne ID&lt;br /&gt;
  * url: Url um die Datei herunterzuladen.&lt;br /&gt;
  * length: Abspiellänge der Aufzeichnung&lt;br /&gt;
  * size: Größe der Aufzeichnung&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== getfieldsbycampaign===&lt;br /&gt;
&lt;br /&gt;
Gibt alle Auftragsformularfelder einer Kampagne zurück.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * campaign_id (GET) - die Kampagnen-ID&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * fields - json Objektliste:&lt;br /&gt;
  * name: Feldname&lt;br /&gt;
&lt;br /&gt;
=== exportbystatus ===&lt;br /&gt;
&lt;br /&gt;
Erstellt eine Exportdatei aus verschiedenen Kriterien als CSV.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * campaign_id (GET) - die Kampagnen-ID&lt;br /&gt;
 * status (GET Array, optional) - die zu Exportierenden Status&lt;br /&gt;
 * datetype: (GET, optional) last_phone|last_edit|imported_date (GET Array, optional)&lt;br /&gt;
 * fromdate: (GET, optional) Datum beginn: d.m.Y&lt;br /&gt;
 * fromtime: (GET, optional) Uhrzeit beginn: H:i:s&lt;br /&gt;
 * todate: (GET, optional) Datum ende: d.m.Y&lt;br /&gt;
 * totime: (GET, optional) Uhrzeit ende: H:i:s&lt;br /&gt;
 * selectedfields: (GET/POST) Feldauswahlliste getrennt durch , (Kommata) Prefix für Normale Felder: customerfield_, Prefix für Auftragsformularfelder: webformfield_&lt;br /&gt;
 * encoding: (GET/POST, optional) Datei-Encoding (Standard: iso-8859-1) ISO-8859-1,Windows-1252,UTF-8&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: ok|error&lt;br /&gt;
 * file_id: Datei-ID&lt;br /&gt;
 * size: Datei-Größe&lt;br /&gt;
 * url: Datei-URL&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== dncadd ===&lt;br /&gt;
&lt;br /&gt;
Fügt eine oder mehrere Nummern der Sperrliste hinzu&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * number (GET (Optional: mehrere durch , getrennt))&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: ok|error|doublet&lt;br /&gt;
 * message&lt;br /&gt;
&lt;br /&gt;
=== dncdel ===&lt;br /&gt;
&lt;br /&gt;
Löscht eine, oder mehrere Nummern aus der Sperrliste.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * number (GET (Optional: mehrere durch , getrennt))&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: ok|error&lt;br /&gt;
 * message&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== dncget ===&lt;br /&gt;
&lt;br /&gt;
Gibt die Sperrliste als CSV Datei zurück&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
''keine''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
CSV-Datei mit allen gesperrten Rufnummern&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== dnccheck ===&lt;br /&gt;
&lt;br /&gt;
Sucht eine Nummer in der DNC-Liste&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * number (GET)&lt;br /&gt;
 * fuzzy: yes|no (GET, optional) Sucht auch nach Teilnummern.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: exists|notfound (bei fuzzy = no)&lt;br /&gt;
 * results: Liste mit passenden Telefonnummern (bei fuzzy = yes)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== getleadbyid ===&lt;br /&gt;
&lt;br /&gt;
Suche einen Lead über die LeadID und gibt die Lead-Details sowie das letzte Auftragsformular zurück.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * leadid(GET)&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: found|notfound&lt;br /&gt;
 * lead_data: json Objekt mit Lead-Daten&lt;br /&gt;
 * formdata: json Objekt mit Auftragsformular-Daten&lt;br /&gt;
&lt;br /&gt;
=== getleadbyphonenumber ===&lt;br /&gt;
&lt;br /&gt;
Suche einen Lead über die Telefonnummer und gibt die Lead-Details sowie das letzte Auftragsformular zurück.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * number(GET)&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: found|notfound&lt;br /&gt;
 * lead_data: json Objekt Array mit Lead-Daten&lt;br /&gt;
 * formdata: json Objekt Array mit Auftragsformular-Daten&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== getleadbyexternalid ===&lt;br /&gt;
&lt;br /&gt;
Suche einen Lead über die externe Lead-ID und gibt die Lead-Details sowie das letzte Auftragsformular zurück.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * leadid(GET)&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: found|notfound&lt;br /&gt;
 * lead_data: json Objekt Array mit Lead-Daten&lt;br /&gt;
 * formdata: json Objekt Array mit Auftragsformular-Daten&lt;br /&gt;
&lt;br /&gt;
=== getleadbyextrafield ===&lt;br /&gt;
&lt;br /&gt;
Suche einen Lead über ein Extrafeld.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * fieldname(GET) - der Name des Extra-Feldes&lt;br /&gt;
 * fieldvalue(GET) - der zu suchende Wert&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: found|notfound&lt;br /&gt;
 * lead_data: json Objekt Array mit Lead-Daten&lt;br /&gt;
 * formdata: json Objekt Array mit Auftragsformular-Daten&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== addlist ===&lt;br /&gt;
&lt;br /&gt;
Füge eine Liste hinzu.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * campaignID (POST)&lt;br /&gt;
 * description (POST)&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: ok|error&lt;br /&gt;
 * listid: ID der erstellten Liste (nur bei ok)&lt;br /&gt;
 * reason: Fehlergrund (nur bei error)&lt;br /&gt;
&lt;br /&gt;
=== addlead ===&lt;br /&gt;
&lt;br /&gt;
Füge einen Lead hinzu.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * campaign_id (POST)&lt;br /&gt;
 * invalidcheck (POST) yes|no&lt;br /&gt;
 * doubletcheck_global (POST) yes|no&lt;br /&gt;
 * doubletcheck_campaign (POST) yes|no&lt;br /&gt;
 * list_id (POST)&lt;br /&gt;
 * country_phone_code (POST)&lt;br /&gt;
 * leaddata (POST, Array)&lt;br /&gt;
  * title&lt;br /&gt;
  * phone&lt;br /&gt;
  * alt_phone&lt;br /&gt;
  * first_name&lt;br /&gt;
  * last_name&lt;br /&gt;
  * birthdate&lt;br /&gt;
  * country&lt;br /&gt;
  * street&lt;br /&gt;
  * streetnr&lt;br /&gt;
  * addradd&lt;br /&gt;
  * plz&lt;br /&gt;
  * ort&lt;br /&gt;
  * notices&lt;br /&gt;
  * leadid_external&lt;br /&gt;
  * company_name&lt;br /&gt;
 * formfields (POST, Array)&lt;br /&gt;
  * (Auftragsformularfelder, frei)&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * lead_stats: json Objekt&lt;br /&gt;
  * success&lt;br /&gt;
  * error&lt;br /&gt;
  * sqlerror&lt;br /&gt;
  * formaterror&lt;br /&gt;
  * doubleterror&lt;br /&gt;
  * invaliderror&lt;br /&gt;
  * formaterror_types: json Objekt&lt;br /&gt;
   * (diverse)&lt;br /&gt;
&lt;br /&gt;
=== editlead ===&lt;br /&gt;
&lt;br /&gt;
Bearbeite einen Lead.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * campaign_id (GET)&lt;br /&gt;
 * leadid(GET)&lt;br /&gt;
 * leaddata (POST, Array)&lt;br /&gt;
  * title&lt;br /&gt;
  * phone&lt;br /&gt;
  * alt_phone&lt;br /&gt;
  * first_name&lt;br /&gt;
  * last_name&lt;br /&gt;
  * birthdate&lt;br /&gt;
  * country&lt;br /&gt;
  * street&lt;br /&gt;
  * streetnr&lt;br /&gt;
  * addradd&lt;br /&gt;
  * plz&lt;br /&gt;
  * ort&lt;br /&gt;
  * notices&lt;br /&gt;
  * leadid_external&lt;br /&gt;
  * company_name&lt;br /&gt;
  * rotation&lt;br /&gt;
  * status&lt;br /&gt;
 * formfields (POST, Array)&lt;br /&gt;
  * (Auftragsformularfelder, frei)&lt;br /&gt;
 &lt;br /&gt;
=== getagentbyid ===&lt;br /&gt;
&lt;br /&gt;
Suche einen Agenten über seine ID und liefere seine Daten zurück.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * agentid (GET)&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: found|notfound&lt;br /&gt;
 * agent_info: json Objekt Array mit Agent-Daten&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status ok|error&lt;br /&gt;
 * reason (Bei Fehlern) Fehlergrund&lt;br /&gt;
&lt;br /&gt;
=== getlistbyid===&lt;br /&gt;
&lt;br /&gt;
Suche eine Liste über ihre ID und liefere die Daten zurück.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * listid (GET)&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: found|notfound&lt;br /&gt;
 * agent_info: json Objekt Array mit Listen-Daten&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status ok|error&lt;br /&gt;
 * reason (Bei Fehlern) Fehlergrund&lt;/div&gt;</summary>
		<author><name>Rath</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.mmdial.de/index.php?title=API&amp;diff=261</id>
		<title>API</title>
		<link rel="alternate" type="text/html" href="https://wiki.mmdial.de/index.php?title=API&amp;diff=261"/>
		<updated>2013-10-16T12:55:57Z</updated>

		<summary type="html">&lt;p&gt;Rath: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;mmDial bietet ein umfangreiches API zur Anbindung externer Software.&lt;br /&gt;
&lt;br /&gt;
Viele Schnittstellen sind bislang undokumentiert. Sollten Sie eine weitere Schnittstelle benötigen,&lt;br /&gt;
wenden Sie sich bitte an unseren Support!&lt;br /&gt;
Die API befindet sich nocht im Alpha-Stadium. Die Dokumentation kann fehlerhaft sein, und Schnittstellen können&lt;br /&gt;
sich jederzeit ändern!&lt;br /&gt;
&lt;br /&gt;
Sie können auf einfache Weise auch externe CRM-Systeme direkt in das Agenteninterface einbinden.&lt;br /&gt;
Verwenden Sie hierzu die &amp;quot;Kampagnen Module&amp;quot; zu finden unter Kampagnen -&amp;gt; Kampagne auswählen -&amp;gt; Kampagnen Module.&lt;br /&gt;
Eine kleine Erklärung und ein Beispielscript finden Sie unter [[Kampagnenverwaltung#Eigenes_Auftragsformular|Eigenes Auftrasformular]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Allgemeines ==&lt;br /&gt;
&lt;br /&gt;
 * Die mmDial API ist über http://login.mmdial.de/api/ zu erreichen.&lt;br /&gt;
 * Die API benutzt die Standard HTTP Authentication.&lt;br /&gt;
 * Als Benutzername wird ein Benutzer mit Adminrechten verwendet&lt;br /&gt;
 * Es werden je nach Funktion HTTP GET und HTTP POST Argumente übergeben&lt;br /&gt;
 * Rückmeldungen erfolgen in der Regel als json Objekt&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Funktionen ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== searchvoicebyleadid ===&lt;br /&gt;
&lt;br /&gt;
Sucht eine Voice-Aufnahme über die Lead-ID des Kunden.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * leadid (GET) - die zu suchende Lead-ID&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: ok|error&lt;br /&gt;
 * msg: (nur bei error)&lt;br /&gt;
 * voices: json Objekt:&lt;br /&gt;
  * recid: Aufnahme-ID&lt;br /&gt;
  * agentid: Agenten-ID&lt;br /&gt;
  * timestamp: Der Zeitstempel der Aufnahme&lt;br /&gt;
  * available: yes|no yes, wenn die Datei schon/noch abrufbar ist.&lt;br /&gt;
  * voiceid: Dateiinterne ID&lt;br /&gt;
  * url: Url um die Datei herunterzuladen.&lt;br /&gt;
  * length: Abspiellänge der Aufzeichnung&lt;br /&gt;
  * size: Größe der Aufzeichnung&lt;br /&gt;
&lt;br /&gt;
=== searchvoicebyphonenumber ===&lt;br /&gt;
&lt;br /&gt;
Sucht eine Voice-Aufnahme über die Telefonnummer des Kunden.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * phone(GET) - die zu suchende Telefonnummer&lt;br /&gt;
 * date (GET, optional) - Datum im Format YYYY-MM-DD&lt;br /&gt;
 * timestamp (GET, optional) - Timestamp im Format YYYMMDDHHIISS&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: ok|error&lt;br /&gt;
 * msg: (nur bei error)&lt;br /&gt;
 * voices: json Objekt:&lt;br /&gt;
  * recid: Aufnahme-ID&lt;br /&gt;
  * agentid: Agenten-ID&lt;br /&gt;
  * timestamp: Der Zeitstempel der Aufnahme&lt;br /&gt;
  * available: yes|no yes, wenn die Datei schon/noch abrufbar ist.&lt;br /&gt;
  * voiceid: Dateiinterne ID&lt;br /&gt;
  * url: Url um die Datei herunterzuladen.&lt;br /&gt;
  * length: Abspiellänge der Aufzeichnung&lt;br /&gt;
  * size: Größe der Aufzeichnung&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== searchvoicebyagent ===&lt;br /&gt;
&lt;br /&gt;
Sucht eine Voice-Aufnahme über die Agenten-ID.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * agentid(GET) - die zu Agenten-ID&lt;br /&gt;
 * date (GET, optional) - Datum im Format YYYY-MM-DD&lt;br /&gt;
 * timestamp (GET, optional) - Timestamp im Format YYYMMDDHHIISS&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: ok|error&lt;br /&gt;
 * msg: (nur bei error)&lt;br /&gt;
 * voices: json Objekt:&lt;br /&gt;
  * recid: Aufnahme-ID&lt;br /&gt;
  * agentid: Agenten-ID&lt;br /&gt;
  * timestamp: Der Zeitstempel der Aufnahme&lt;br /&gt;
  * available: yes|no yes, wenn die Datei schon/noch abrufbar ist.&lt;br /&gt;
  * voiceid: Dateiinterne ID&lt;br /&gt;
  * url: Url um die Datei herunterzuladen.&lt;br /&gt;
  * length: Abspiellänge der Aufzeichnung&lt;br /&gt;
  * size: Größe der Aufzeichnung&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== getfieldsbycampaign===&lt;br /&gt;
&lt;br /&gt;
Gibt alle Auftragsformularfelder einer Kampagne zurück.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * campaign_id (GET) - die Kampagnen-ID&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * fields - json Objektliste:&lt;br /&gt;
  * name: Feldname&lt;br /&gt;
&lt;br /&gt;
=== exportbystatus ===&lt;br /&gt;
&lt;br /&gt;
Erstellt eine Exportdatei aus verschiedenen Kriterien als CSV.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * campaign_id (GET) - die Kampagnen-ID&lt;br /&gt;
 * status (GET Array, optional) - die zu Exportierenden Status&lt;br /&gt;
 * datetype: (GET, optional) last_phone|last_edit|imported_date (GET Array, optional)&lt;br /&gt;
 * fromdate: (GET, optional) Datum beginn: d.m.Y&lt;br /&gt;
 * fromtime: (GET, optional) Uhrzeit beginn: H:i:s&lt;br /&gt;
 * todate: (GET, optional) Datum ende: d.m.Y&lt;br /&gt;
 * totime: (GET, optional) Uhrzeit ende: H:i:s&lt;br /&gt;
 * selectedfields: (GET/POST) Feldauswahlliste getrennt durch , (Kommata) Prefix für Normale Felder: customerfield_, Prefix für Auftragsformularfelder: webformfield_&lt;br /&gt;
 * encoding: (GET/POST, optional) Datei-Encoding (Standard: iso-8859-1) ISO-8859-1,Windows-1252,UTF-8&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: ok|error&lt;br /&gt;
 * file_id: Datei-ID&lt;br /&gt;
 * size: Datei-Größe&lt;br /&gt;
 * url: Datei-URL&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== dncadd ===&lt;br /&gt;
&lt;br /&gt;
Fügt eine oder mehrere Nummern der Sperrliste hinzu&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * number (GET (Optional: mehrere durch , getrennt))&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: ok|error|doublet&lt;br /&gt;
 * message&lt;br /&gt;
&lt;br /&gt;
=== dncdel ===&lt;br /&gt;
&lt;br /&gt;
Löscht eine, oder mehrere Nummern aus der Sperrliste.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * number (GET (Optional: mehrere durch , getrennt))&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: ok|error&lt;br /&gt;
 * message&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== dncget ===&lt;br /&gt;
&lt;br /&gt;
Gibt die Sperrliste als CSV Datei zurück&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
''keine''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
CSV-Datei mit allen gesperrten Rufnummern&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== dnccheck ===&lt;br /&gt;
&lt;br /&gt;
Sucht eine Nummer in der DNC-Liste&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * number (GET)&lt;br /&gt;
 * fuzzy: yes|no (GET, optional) Sucht auch nach Teilnummern.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: exists|notfound (bei fuzzy = no)&lt;br /&gt;
 * results: Liste mit passenden Telefonnummern (bei fuzzy = yes)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== getleadbyid ===&lt;br /&gt;
&lt;br /&gt;
Suche einen Lead über die LeadID und gibt die Lead-Details sowie das letzte Auftragsformular zurück.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * leadid(GET)&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: found|notfound&lt;br /&gt;
 * lead_data: json Objekt mit Lead-Daten&lt;br /&gt;
 * formdata: json Objekt mit Auftragsformular-Daten&lt;br /&gt;
&lt;br /&gt;
=== getleadbyphonenumber ===&lt;br /&gt;
&lt;br /&gt;
Suche einen Lead über die Telefonnummer und gibt die Lead-Details sowie das letzte Auftragsformular zurück.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * number(GET)&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: found|notfound&lt;br /&gt;
 * lead_data: json Objekt Array mit Lead-Daten&lt;br /&gt;
 * formdata: json Objekt Array mit Auftragsformular-Daten&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== getleadbyexternalid ===&lt;br /&gt;
&lt;br /&gt;
Suche einen Lead über die externe Lead-ID und gibt die Lead-Details sowie das letzte Auftragsformular zurück.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * leadid(GET)&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: found|notfound&lt;br /&gt;
 * lead_data: json Objekt Array mit Lead-Daten&lt;br /&gt;
 * formdata: json Objekt Array mit Auftragsformular-Daten&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== addlist ===&lt;br /&gt;
&lt;br /&gt;
Füge eine Liste hinzu.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * campaignID (POST)&lt;br /&gt;
 * description (POST)&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: ok|error&lt;br /&gt;
 * listid: ID der erstellten Liste (nur bei ok)&lt;br /&gt;
 * reason: Fehlergrund (nur bei error)&lt;br /&gt;
&lt;br /&gt;
=== addlead ===&lt;br /&gt;
&lt;br /&gt;
Füge einen Lead hinzu.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * campaign_id (POST)&lt;br /&gt;
 * invalidcheck (POST) yes|no&lt;br /&gt;
 * doubletcheck_global (POST) yes|no&lt;br /&gt;
 * doubletcheck_campaign (POST) yes|no&lt;br /&gt;
 * list_id (POST)&lt;br /&gt;
 * country_phone_code (POST)&lt;br /&gt;
 * leaddata (POST, Array)&lt;br /&gt;
  * title&lt;br /&gt;
  * phone&lt;br /&gt;
  * alt_phone&lt;br /&gt;
  * first_name&lt;br /&gt;
  * last_name&lt;br /&gt;
  * birthdate&lt;br /&gt;
  * country&lt;br /&gt;
  * street&lt;br /&gt;
  * streetnr&lt;br /&gt;
  * addradd&lt;br /&gt;
  * plz&lt;br /&gt;
  * ort&lt;br /&gt;
  * notices&lt;br /&gt;
  * leadid_external&lt;br /&gt;
  * company_name&lt;br /&gt;
 * formfields (POST, Array)&lt;br /&gt;
  * (Auftragsformularfelder, frei)&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * lead_stats: json Objekt&lt;br /&gt;
  * success&lt;br /&gt;
  * error&lt;br /&gt;
  * sqlerror&lt;br /&gt;
  * formaterror&lt;br /&gt;
  * doubleterror&lt;br /&gt;
  * invaliderror&lt;br /&gt;
  * formaterror_types: json Objekt&lt;br /&gt;
   * (diverse)&lt;br /&gt;
&lt;br /&gt;
=== editlead ===&lt;br /&gt;
&lt;br /&gt;
Bearbeite einen Lead.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * campaign_id (GET)&lt;br /&gt;
 * leadid(GET)&lt;br /&gt;
 * leaddata (POST, Array)&lt;br /&gt;
  * title&lt;br /&gt;
  * phone&lt;br /&gt;
  * alt_phone&lt;br /&gt;
  * first_name&lt;br /&gt;
  * last_name&lt;br /&gt;
  * birthdate&lt;br /&gt;
  * country&lt;br /&gt;
  * street&lt;br /&gt;
  * streetnr&lt;br /&gt;
  * addradd&lt;br /&gt;
  * plz&lt;br /&gt;
  * ort&lt;br /&gt;
  * notices&lt;br /&gt;
  * leadid_external&lt;br /&gt;
  * company_name&lt;br /&gt;
  * rotation&lt;br /&gt;
  * status&lt;br /&gt;
 * formfields (POST, Array)&lt;br /&gt;
  * (Auftragsformularfelder, frei)&lt;br /&gt;
 &lt;br /&gt;
=== getagentbyid ===&lt;br /&gt;
&lt;br /&gt;
Suche einen Agenten über seine ID und liefere seine Daten zurück.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * agentid (GET)&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: found|notfound&lt;br /&gt;
 * agent_info: json Objekt Array mit Agent-Daten&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status ok|error&lt;br /&gt;
 * reason (Bei Fehlern) Fehlergrund&lt;br /&gt;
&lt;br /&gt;
=== getlistbyid===&lt;br /&gt;
&lt;br /&gt;
Suche eine Liste über ihre ID und liefere die Daten zurück.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * listid (GET)&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: found|notfound&lt;br /&gt;
 * agent_info: json Objekt Array mit Listen-Daten&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status ok|error&lt;br /&gt;
 * reason (Bei Fehlern) Fehlergrund&lt;/div&gt;</summary>
		<author><name>Rath</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.mmdial.de/index.php?title=API&amp;diff=260</id>
		<title>API</title>
		<link rel="alternate" type="text/html" href="https://wiki.mmdial.de/index.php?title=API&amp;diff=260"/>
		<updated>2013-10-16T11:21:14Z</updated>

		<summary type="html">&lt;p&gt;Rath: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;mmDial bietet ein umfangreiches API zur Anbindung externer Software.&lt;br /&gt;
&lt;br /&gt;
Viele Schnittstellen sind bislang undokumentiert. Sollten Sie eine weitere Schnittstelle benötigen,&lt;br /&gt;
wenden Sie sich bitte an unseren Support!&lt;br /&gt;
Die API befindet sich nocht im Alpha-Stadium. Die Dokumentation kann fehlerhaft sein, und Schnittstellen können&lt;br /&gt;
sich jederzeit ändern!&lt;br /&gt;
&lt;br /&gt;
Sie können auf einfache Weise auch externe CRM-Systeme direkt in das Agenteninterface einbinden.&lt;br /&gt;
Verwenden Sie hierzu die &amp;quot;Kampagnen Module&amp;quot; zu finden unter Kampagnen -&amp;gt; Kampagne auswählen -&amp;gt; Kampagnen Module.&lt;br /&gt;
Eine kleine Erklärung und ein Beispielscript finden Sie unter [[Kampagnenverwaltung#Eigenes_Auftragsformular|Eigenes Auftrasformular]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Allgemeines ==&lt;br /&gt;
&lt;br /&gt;
 * Die mmDial API ist über http://login.mmdial.de/api/ zu erreichen.&lt;br /&gt;
 * Die API benutzt die Standard HTTP Authentication.&lt;br /&gt;
 * Als Benutzername wird ein Benutzer mit Adminrechten verwendet&lt;br /&gt;
 * Es werden je nach Funktion HTTP GET und HTTP POST Argumente übergeben&lt;br /&gt;
 * Rückmeldungen erfolgen in der Regel als json Objekt&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Funktionen ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== searchvoicebyleadid ===&lt;br /&gt;
&lt;br /&gt;
Sucht eine Voice-Aufnahme über die Lead-ID des Kunden.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * leadid (GET) - die zu suchende Lead-ID&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: ok|error&lt;br /&gt;
 * msg: (nur bei error)&lt;br /&gt;
 * voices: json Objekt:&lt;br /&gt;
  * recid: Aufnahme-ID&lt;br /&gt;
  * agentid: Agenten-ID&lt;br /&gt;
  * timestamp: Der Zeitstempel der Aufnahme&lt;br /&gt;
  * available: yes|no yes, wenn die Datei schon/noch abrufbar ist.&lt;br /&gt;
  * voiceid: Dateiinterne ID&lt;br /&gt;
  * url: Url um die Datei herunterzuladen.&lt;br /&gt;
  * length: Abspiellänge der Aufzeichnung&lt;br /&gt;
  * size: Größe der Aufzeichnung&lt;br /&gt;
&lt;br /&gt;
=== searchvoicebyphonenumber ===&lt;br /&gt;
&lt;br /&gt;
Sucht eine Voice-Aufnahme über die Telefonnummer des Kunden.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * phone(GET) - die zu suchende Telefonnummer&lt;br /&gt;
 * date (GET, optional) - Datum im Format YYYY-MM-DD&lt;br /&gt;
 * timestamp (GET, optional) - Timestamp im Format YYYMMDDHHIISS&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: ok|error&lt;br /&gt;
 * msg: (nur bei error)&lt;br /&gt;
 * voices: json Objekt:&lt;br /&gt;
  * recid: Aufnahme-ID&lt;br /&gt;
  * agentid: Agenten-ID&lt;br /&gt;
  * timestamp: Der Zeitstempel der Aufnahme&lt;br /&gt;
  * available: yes|no yes, wenn die Datei schon/noch abrufbar ist.&lt;br /&gt;
  * voiceid: Dateiinterne ID&lt;br /&gt;
  * url: Url um die Datei herunterzuladen.&lt;br /&gt;
  * length: Abspiellänge der Aufzeichnung&lt;br /&gt;
  * size: Größe der Aufzeichnung&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== searchvoicebyagent ===&lt;br /&gt;
&lt;br /&gt;
Sucht eine Voice-Aufnahme über die Agenten-ID.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * agentid(GET) - die zu Agenten-ID&lt;br /&gt;
 * date (GET, optional) - Datum im Format YYYY-MM-DD&lt;br /&gt;
 * timestamp (GET, optional) - Timestamp im Format YYYMMDDHHIISS&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: ok|error&lt;br /&gt;
 * msg: (nur bei error)&lt;br /&gt;
 * voices: json Objekt:&lt;br /&gt;
  * recid: Aufnahme-ID&lt;br /&gt;
  * agentid: Agenten-ID&lt;br /&gt;
  * timestamp: Der Zeitstempel der Aufnahme&lt;br /&gt;
  * available: yes|no yes, wenn die Datei schon/noch abrufbar ist.&lt;br /&gt;
  * voiceid: Dateiinterne ID&lt;br /&gt;
  * url: Url um die Datei herunterzuladen.&lt;br /&gt;
  * length: Abspiellänge der Aufzeichnung&lt;br /&gt;
  * size: Größe der Aufzeichnung&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== getfieldsbycampaign===&lt;br /&gt;
&lt;br /&gt;
Gibt alle Auftragsformularfelder einer Kampagne zurück.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * campaign_id (GET) - die Kampagnen-ID&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * fields - json Objektliste:&lt;br /&gt;
  * name: Feldname&lt;br /&gt;
&lt;br /&gt;
=== exportbystatus ===&lt;br /&gt;
&lt;br /&gt;
Erstellt eine Exportdatei aus verschiedenen Kriterien als CSV.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * campaign_id (GET) - die Kampagnen-ID&lt;br /&gt;
 * status (GET Array, optional) - die zu Exportierenden Status&lt;br /&gt;
 * datetype: (GET, optional) last_phone|last_edit|imported_date (GET Array, optional)&lt;br /&gt;
 * fromdate: (GET, optional) Datum beginn: d.m.Y&lt;br /&gt;
 * fromtime: (GET, optional) Uhrzeit beginn: H:i:s&lt;br /&gt;
 * todate: (GET, optional) Datum ende: d.m.Y&lt;br /&gt;
 * totime: (GET, optional) Uhrzeit ende: H:i:s&lt;br /&gt;
 * selectedfields: (GET/POST) Feldauswahlliste getrennt durch , (Kommata) Prefix für Normale Felder: customerfield_, Prefix für Auftragsformularfelder: webformfield_&lt;br /&gt;
 * encoding: (GET/POST, optional) Datei-Encoding (Standard: iso-8859-1) ISO-8859-1,Windows-1252,UTF-8&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: ok|error&lt;br /&gt;
 * file_id: Datei-ID&lt;br /&gt;
 * size: Datei-Größe&lt;br /&gt;
 * url: Datei-URL&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== dncadd ===&lt;br /&gt;
&lt;br /&gt;
Fügt eine oder mehrere Nummern der Sperrliste hinzu&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * number (GET (Optional: mehrere durch , getrennt))&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: ok|error|doublet&lt;br /&gt;
 * message&lt;br /&gt;
&lt;br /&gt;
=== dncdel ===&lt;br /&gt;
&lt;br /&gt;
Löscht eine, oder mehrere Nummern aus der Sperrliste.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * number (GET (Optional: mehrere durch , getrennt))&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: ok|error&lt;br /&gt;
 * message&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== dncget ===&lt;br /&gt;
&lt;br /&gt;
Gibt die Sperrliste als CSV Datei zurück&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
''keine''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
CSV-Datei mit allen gesperrten Rufnummern&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== dnccheck ===&lt;br /&gt;
&lt;br /&gt;
Sucht eine Nummer in der DNC-Liste&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * number (GET)&lt;br /&gt;
 * fuzzy: yes|no (GET, optional) Sucht auch nach Teilnummern.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: exists|notfound (bei fuzzy = no)&lt;br /&gt;
 * results: Liste mit passenden Telefonnummern (bei fuzzy = yes)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== getleadbyid ===&lt;br /&gt;
&lt;br /&gt;
Suche einen Lead über die LeadID und gibt die Lead-Details sowie das letzte Auftragsformular zurück.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * leadid(GET)&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: found|notfound&lt;br /&gt;
 * lead_data: json Objekt mit Lead-Daten&lt;br /&gt;
 * formdata: json Objekt mit Auftragsformular-Daten&lt;br /&gt;
&lt;br /&gt;
=== getleadbyphonenumber ===&lt;br /&gt;
&lt;br /&gt;
Suche einen Lead über die Telefonnummer und gibt die Lead-Details sowie das letzte Auftragsformular zurück.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * number(GET)&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: found|notfound&lt;br /&gt;
 * lead_data: json Objekt Array mit Lead-Daten&lt;br /&gt;
 * formdata: json Objekt Array mit Auftragsformular-Daten&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== getleadbypexternalid ===&lt;br /&gt;
&lt;br /&gt;
Suche einen Lead über die externe Lead-ID und gibt die Lead-Details sowie das letzte Auftragsformular zurück.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * leadid(GET)&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: found|notfound&lt;br /&gt;
 * lead_data: json Objekt Array mit Lead-Daten&lt;br /&gt;
 * formdata: json Objekt Array mit Auftragsformular-Daten&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== addlist ===&lt;br /&gt;
&lt;br /&gt;
Füge eine Liste hinzu.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * campaignID (POST)&lt;br /&gt;
 * description (POST)&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: ok|error&lt;br /&gt;
 * listid: ID der erstellten Liste (nur bei ok)&lt;br /&gt;
 * reason: Fehlergrund (nur bei error)&lt;br /&gt;
&lt;br /&gt;
=== addlead ===&lt;br /&gt;
&lt;br /&gt;
Füge einen Lead hinzu.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * campaign_id (POST)&lt;br /&gt;
 * invalidcheck (POST) yes|no&lt;br /&gt;
 * doubletcheck_global (POST) yes|no&lt;br /&gt;
 * doubletcheck_campaign (POST) yes|no&lt;br /&gt;
 * list_id (POST)&lt;br /&gt;
 * country_phone_code (POST)&lt;br /&gt;
 * leaddata (POST, Array)&lt;br /&gt;
  * title&lt;br /&gt;
  * phone&lt;br /&gt;
  * alt_phone&lt;br /&gt;
  * first_name&lt;br /&gt;
  * last_name&lt;br /&gt;
  * birthdate&lt;br /&gt;
  * country&lt;br /&gt;
  * street&lt;br /&gt;
  * streetnr&lt;br /&gt;
  * addradd&lt;br /&gt;
  * plz&lt;br /&gt;
  * ort&lt;br /&gt;
  * notices&lt;br /&gt;
  * leadid_external&lt;br /&gt;
  * company_name&lt;br /&gt;
 * formfields (POST, Array)&lt;br /&gt;
  * (Auftragsformularfelder, frei)&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * lead_stats: json Objekt&lt;br /&gt;
  * success&lt;br /&gt;
  * error&lt;br /&gt;
  * sqlerror&lt;br /&gt;
  * formaterror&lt;br /&gt;
  * doubleterror&lt;br /&gt;
  * invaliderror&lt;br /&gt;
  * formaterror_types: json Objekt&lt;br /&gt;
   * (diverse)&lt;br /&gt;
&lt;br /&gt;
=== editlead ===&lt;br /&gt;
&lt;br /&gt;
Bearbeite einen Lead.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * campaign_id (GET)&lt;br /&gt;
 * leadid(GET)&lt;br /&gt;
 * leaddata (POST, Array)&lt;br /&gt;
  * title&lt;br /&gt;
  * phone&lt;br /&gt;
  * alt_phone&lt;br /&gt;
  * first_name&lt;br /&gt;
  * last_name&lt;br /&gt;
  * birthdate&lt;br /&gt;
  * country&lt;br /&gt;
  * street&lt;br /&gt;
  * streetnr&lt;br /&gt;
  * addradd&lt;br /&gt;
  * plz&lt;br /&gt;
  * ort&lt;br /&gt;
  * notices&lt;br /&gt;
  * leadid_external&lt;br /&gt;
  * company_name&lt;br /&gt;
  * rotation&lt;br /&gt;
  * status&lt;br /&gt;
 * formfields (POST, Array)&lt;br /&gt;
  * (Auftragsformularfelder, frei)&lt;br /&gt;
 &lt;br /&gt;
=== getagentbyid ===&lt;br /&gt;
&lt;br /&gt;
Suche einen Agenten über seine ID und liefere seine Daten zurück.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * agentid (GET)&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: found|notfound&lt;br /&gt;
 * agent_info: json Objekt Array mit Agent-Daten&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status ok|error&lt;br /&gt;
 * reason (Bei Fehlern) Fehlergrund&lt;br /&gt;
&lt;br /&gt;
=== getlistbyid===&lt;br /&gt;
&lt;br /&gt;
Suche eine Liste über ihre ID und liefere die Daten zurück.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * listid (GET)&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: found|notfound&lt;br /&gt;
 * agent_info: json Objekt Array mit Listen-Daten&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status ok|error&lt;br /&gt;
 * reason (Bei Fehlern) Fehlergrund&lt;/div&gt;</summary>
		<author><name>Rath</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.mmdial.de/index.php?title=API&amp;diff=259</id>
		<title>API</title>
		<link rel="alternate" type="text/html" href="https://wiki.mmdial.de/index.php?title=API&amp;diff=259"/>
		<updated>2013-10-16T11:20:16Z</updated>

		<summary type="html">&lt;p&gt;Rath: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;mmDial bietet ein umfangreiches API zur Anbindung externer Software.&lt;br /&gt;
&lt;br /&gt;
Viele Schnittstellen sind bislang undokumentiert. Sollten Sie eine weitere Schnittstelle benötigen,&lt;br /&gt;
wenden Sie sich bitte an unseren Support!&lt;br /&gt;
Die API befindet sich nocht im Alpha-Stadium. Die Dokumentation kann fehlerhaft sein, und Schnittstellen können&lt;br /&gt;
sich jederzeit ändern!&lt;br /&gt;
&lt;br /&gt;
Sie können auf einfache Weise auch externe CRM-Systeme direkt in das Agenteninterface einbinden.&lt;br /&gt;
Verwenden Sie hierzu die &amp;quot;Kampagnen Module&amp;quot; zu finden unter Kampagnen -&amp;gt; Kampagne auswählen -&amp;gt; Kampagnen Module.&lt;br /&gt;
Eine kleine Erklärung und ein Beispielscript finden Sie unter [[Kampagnenverwaltung#Eigenes_Auftragsformular|Eigenes Auftrasformular]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Allgemeines ==&lt;br /&gt;
&lt;br /&gt;
 * Die mmDial API ist über http://login.mmdial.de/api/ zu erreichen.&lt;br /&gt;
 * Die API benutzt die Standard HTTP Authentication.&lt;br /&gt;
 * Als Benutzername wird ein Benutzer mit Adminrechten verwendet&lt;br /&gt;
 * Es werden je nach Funktion HTTP GET und HTTP POST Argumente übergeben&lt;br /&gt;
 * Rückmeldungen erfolgen in der Regel als json Objekt&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Funktionen ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== searchvoicebyleadid ===&lt;br /&gt;
&lt;br /&gt;
Sucht eine Voice-Aufnahme über die Lead-ID des Kunden.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * leadid (GET) - die zu suchende Lead-ID&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: ok|error&lt;br /&gt;
 * msg: (nur bei error)&lt;br /&gt;
 * voices: json Objekt:&lt;br /&gt;
  * recid: Aufnahme-ID&lt;br /&gt;
  * agentid: Agenten-ID&lt;br /&gt;
  * timestamp: Der Zeitstempel der Aufnahme&lt;br /&gt;
  * available: yes|no yes, wenn die Datei schon/noch abrufbar ist.&lt;br /&gt;
  * voiceid: Dateiinterne ID&lt;br /&gt;
  * url: Url um die Datei herunterzuladen.&lt;br /&gt;
  * length: Abspiellänge der Aufzeichnung&lt;br /&gt;
  * size: Größe der Aufzeichnung&lt;br /&gt;
&lt;br /&gt;
=== searchvoicebyphonenumber ===&lt;br /&gt;
&lt;br /&gt;
Sucht eine Voice-Aufnahme über die Telefonnummer des Kunden.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * phone(GET) - die zu suchende Telefonnummer&lt;br /&gt;
 * date (GET, optional) - Datum im Format YYYY-MM-DD&lt;br /&gt;
 * timestamp (GET, optional) - Timestamp im Format YYYMMDDHHIISS&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: ok|error&lt;br /&gt;
 * msg: (nur bei error)&lt;br /&gt;
 * voices: json Objekt:&lt;br /&gt;
  * recid: Aufnahme-ID&lt;br /&gt;
  * agentid: Agenten-ID&lt;br /&gt;
  * timestamp: Der Zeitstempel der Aufnahme&lt;br /&gt;
  * available: yes|no yes, wenn die Datei schon/noch abrufbar ist.&lt;br /&gt;
  * voiceid: Dateiinterne ID&lt;br /&gt;
  * url: Url um die Datei herunterzuladen.&lt;br /&gt;
  * length: Abspiellänge der Aufzeichnung&lt;br /&gt;
  * size: Größe der Aufzeichnung&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== searchvoicebyagent ===&lt;br /&gt;
&lt;br /&gt;
Sucht eine Voice-Aufnahme über die Agenten-ID.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * agentid(GET) - die zu Agenten-ID&lt;br /&gt;
 * date (GET, optional) - Datum im Format YYYY-MM-DD&lt;br /&gt;
 * timestamp (GET, optional) - Timestamp im Format YYYMMDDHHIISS&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: ok|error&lt;br /&gt;
 * msg: (nur bei error)&lt;br /&gt;
 * voices: json Objekt:&lt;br /&gt;
  * recid: Aufnahme-ID&lt;br /&gt;
  * agentid: Agenten-ID&lt;br /&gt;
  * timestamp: Der Zeitstempel der Aufnahme&lt;br /&gt;
  * available: yes|no yes, wenn die Datei schon/noch abrufbar ist.&lt;br /&gt;
  * voiceid: Dateiinterne ID&lt;br /&gt;
  * url: Url um die Datei herunterzuladen.&lt;br /&gt;
  * length: Abspiellänge der Aufzeichnung&lt;br /&gt;
  * size: Größe der Aufzeichnung&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== getfieldsbycampaign===&lt;br /&gt;
&lt;br /&gt;
Gibt alle Auftragsformularfelder einer Kampagne zurück.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * campaign_id (GET) - die Kampagnen-ID&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * fields - json Objektliste:&lt;br /&gt;
  * name: Feldname&lt;br /&gt;
&lt;br /&gt;
=== exportbystatus ===&lt;br /&gt;
&lt;br /&gt;
Erstellt eine Exportdatei aus verschiedenen Kriterien als CSV.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * campaign_id (GET) - die Kampagnen-ID&lt;br /&gt;
 * status (GET Array, optional) - die zu Exportierenden Status&lt;br /&gt;
 * datetype: (GET, optional) last_phone|last_edit|imported_date (GET Array, optional)&lt;br /&gt;
 * fromdate: (GET, optional) Datum beginn: d.m.Y&lt;br /&gt;
 * fromtime: (GET, optional) Uhrzeit beginn: H:i:s&lt;br /&gt;
 * todate: (GET, optional) Datum ende: d.m.Y&lt;br /&gt;
 * totime: (GET, optional) Uhrzeit ende: H:i:s&lt;br /&gt;
 * selectedfields: (GET/POST) Feldauswahlliste getrennt durch , (Kommata) Prefix für Normale Felder: customerfield_, Prefix für Auftragsformularfelder: webformfield_&lt;br /&gt;
 * encoding: (GET/POST, optional) Datei-Encoding (Standard: iso-8859-1) ISO-8859-1,Windows-1252,UTF-8&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: ok|error&lt;br /&gt;
 * file_id: Datei-ID&lt;br /&gt;
 * size: Datei-Größe&lt;br /&gt;
 * url: Datei-URL&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== dncadd ===&lt;br /&gt;
&lt;br /&gt;
Fügt eine oder mehrere Nummern der Sperrliste hinzu&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * number (GET (Optional: mehrere durch , getrennt))&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: ok|error|doublet&lt;br /&gt;
 * message&lt;br /&gt;
&lt;br /&gt;
=== dncdel ===&lt;br /&gt;
&lt;br /&gt;
Löscht eine, oder mehrere Nummern aus der Sperrliste.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * number (GET (Optional: mehrere durch , getrennt))&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: ok|error&lt;br /&gt;
 * message&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== dncget ===&lt;br /&gt;
&lt;br /&gt;
Gibt die Sperrliste als CSV Datei zurück&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
''keine''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
CSV-Datei mit allen gesperrten Rufnummern&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== dnccheck ===&lt;br /&gt;
&lt;br /&gt;
Sucht eine Nummer in der DNC-Liste&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * number (GET)&lt;br /&gt;
 * fuzzy: yes|no (GET, optional) Sucht auch nach Teilnummern.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: exists|notfound (bei fuzzy = no)&lt;br /&gt;
 * results: Liste mit passenden Telefonnummern (bei fuzzy = yes)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== getleadbyid ===&lt;br /&gt;
&lt;br /&gt;
Suche einen Lead über die LeadID und gibt die Lead-Details sowie das letzte Auftragsformular zurück.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * leadid(GET)&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: found|notfound&lt;br /&gt;
 * lead_data: json Objekt mit Lead-Daten&lt;br /&gt;
 * formdata: json Objekt mit Auftragsformular-Daten&lt;br /&gt;
&lt;br /&gt;
=== getleadbyphonenumber ===&lt;br /&gt;
&lt;br /&gt;
Suche einen Lead über die Telefonnummer und gibt die Lead-Details sowie das letzte Auftragsformular zurück.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * number(GET)&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: found|notfound&lt;br /&gt;
 * lead_data: json Objekt Array mit Lead-Daten&lt;br /&gt;
 * formdata: json Objekt Array mit Auftragsformular-Daten&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== getleadbypexternalid ===&lt;br /&gt;
&lt;br /&gt;
Suche einen Lead über die externe Lead-ID und gibt die Lead-Details sowie das letzte Auftragsformular zurück.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * leadid(GET)&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: found|notfound&lt;br /&gt;
 * lead_data: json Objekt Array mit Lead-Daten&lt;br /&gt;
 * formdata: json Objekt Array mit Auftragsformular-Daten&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== addlist ===&lt;br /&gt;
&lt;br /&gt;
Füge eine Liste hinzu.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * campaignID (POST)&lt;br /&gt;
 * description (POST)&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: ok|error&lt;br /&gt;
 * listid: ID der erstellten Liste (nur bei ok)&lt;br /&gt;
 * reason: Fehlergrund (nur bei error)&lt;br /&gt;
&lt;br /&gt;
=== addlead ===&lt;br /&gt;
&lt;br /&gt;
Füge einen Lead hinzu.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * campaign_id (POST)&lt;br /&gt;
 * invalidcheck (POST) yes|no&lt;br /&gt;
 * doubletcheck_global (POST) yes|no&lt;br /&gt;
 * doubletcheck_campaign (POST) yes|no&lt;br /&gt;
 * list_id (POST)&lt;br /&gt;
 * country_phone_code (POST)&lt;br /&gt;
 * leaddata (POST, Array)&lt;br /&gt;
  * title&lt;br /&gt;
  * phone&lt;br /&gt;
  * alt_phone&lt;br /&gt;
  * first_name&lt;br /&gt;
  * last_name&lt;br /&gt;
  * birthdate&lt;br /&gt;
  * country&lt;br /&gt;
  * street&lt;br /&gt;
  * streetnr&lt;br /&gt;
  * addradd&lt;br /&gt;
  * plz&lt;br /&gt;
  * ort&lt;br /&gt;
  * notices&lt;br /&gt;
  * leadid_external&lt;br /&gt;
  * company_name&lt;br /&gt;
 * formfields (POST, Array)&lt;br /&gt;
  * (Auftragsformularfelder, frei)&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * lead_stats: json Objekt&lt;br /&gt;
  * success&lt;br /&gt;
  * error&lt;br /&gt;
  * sqlerror&lt;br /&gt;
  * formaterror&lt;br /&gt;
  * doubleterror&lt;br /&gt;
  * invaliderror&lt;br /&gt;
  * formaterror_types: json Objekt&lt;br /&gt;
   * (diverse)&lt;br /&gt;
&lt;br /&gt;
=== editlead ===&lt;br /&gt;
&lt;br /&gt;
Füge einen Lead hinzu.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * campaign_id (GET)&lt;br /&gt;
 * leadid(GET)&lt;br /&gt;
 * leaddata (POST, Array)&lt;br /&gt;
  * title&lt;br /&gt;
  * phone&lt;br /&gt;
  * alt_phone&lt;br /&gt;
  * first_name&lt;br /&gt;
  * last_name&lt;br /&gt;
  * birthdate&lt;br /&gt;
  * country&lt;br /&gt;
  * street&lt;br /&gt;
  * streetnr&lt;br /&gt;
  * addradd&lt;br /&gt;
  * plz&lt;br /&gt;
  * ort&lt;br /&gt;
  * notices&lt;br /&gt;
  * leadid_external&lt;br /&gt;
  * company_name&lt;br /&gt;
  * rotation&lt;br /&gt;
  * status&lt;br /&gt;
 * formfields (POST, Array)&lt;br /&gt;
  * (Auftragsformularfelder, frei)&lt;br /&gt;
 &lt;br /&gt;
=== getagentbyid ===&lt;br /&gt;
&lt;br /&gt;
Suche einen Agenten über seine ID und liefere seine Daten zurück.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * agentid (GET)&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: found|notfound&lt;br /&gt;
 * agent_info: json Objekt Array mit Agent-Daten&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status ok|error&lt;br /&gt;
 * reason (Bei Fehlern) Fehlergrund&lt;br /&gt;
&lt;br /&gt;
=== getlistbyid===&lt;br /&gt;
&lt;br /&gt;
Suche eine Liste über ihre ID und liefere die Daten zurück.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * listid (GET)&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: found|notfound&lt;br /&gt;
 * agent_info: json Objekt Array mit Listen-Daten&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status ok|error&lt;br /&gt;
 * reason (Bei Fehlern) Fehlergrund&lt;/div&gt;</summary>
		<author><name>Rath</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.mmdial.de/index.php?title=API&amp;diff=258</id>
		<title>API</title>
		<link rel="alternate" type="text/html" href="https://wiki.mmdial.de/index.php?title=API&amp;diff=258"/>
		<updated>2013-10-16T10:59:56Z</updated>

		<summary type="html">&lt;p&gt;Rath: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;mmDial bietet ein umfangreiches API zur Anbindung externer Software.&lt;br /&gt;
&lt;br /&gt;
Viele Schnittstellen sind bislang undokumentiert. Sollten Sie eine weitere Schnittstelle benötigen,&lt;br /&gt;
wenden Sie sich bitte an unseren Support!&lt;br /&gt;
Die API befindet sich nocht im Alpha-Stadium. Die Dokumentation kann fehlerhaft sein, und Schnittstellen können&lt;br /&gt;
sich jederzeit ändern!&lt;br /&gt;
&lt;br /&gt;
Sie können auf einfache Weise auch externe CRM-Systeme direkt in das Agenteninterface einbinden.&lt;br /&gt;
Verwenden Sie hierzu die &amp;quot;Kampagnen Module&amp;quot; zu finden unter Kampagnen -&amp;gt; Kampagne auswählen -&amp;gt; Kampagnen Module.&lt;br /&gt;
Eine kleine Erklärung und ein Beispielscript finden Sie unter [[Kampagnenverwaltung#Eigenes_Auftragsformular|Eigenes Auftrasformular]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Allgemeines ==&lt;br /&gt;
&lt;br /&gt;
 * Die mmDial API ist über http://login.mmdial.de/api/ zu erreichen.&lt;br /&gt;
 * Die API benutzt die Standard HTTP Authentication.&lt;br /&gt;
 * Als Benutzername wird ein Benutzer mit Adminrechten verwendet&lt;br /&gt;
 * Es werden je nach Funktion HTTP GET und HTTP POST Argumente übergeben&lt;br /&gt;
 * Rückmeldungen erfolgen in der Regel als json Objekt&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Funktionen ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== searchvoicebyleadid ===&lt;br /&gt;
&lt;br /&gt;
Sucht eine Voice-Aufnahme über die Lead-ID des Kunden.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * leadid (GET) - die zu suchende Lead-ID&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: ok|error&lt;br /&gt;
 * msg: (nur bei error)&lt;br /&gt;
 * voices: json Objekt:&lt;br /&gt;
  * recid: Aufnahme-ID&lt;br /&gt;
  * agentid: Agenten-ID&lt;br /&gt;
  * timestamp: Der Zeitstempel der Aufnahme&lt;br /&gt;
  * available: yes|no yes, wenn die Datei schon/noch abrufbar ist.&lt;br /&gt;
  * voiceid: Dateiinterne ID&lt;br /&gt;
  * url: Url um die Datei herunterzuladen.&lt;br /&gt;
  * length: Abspiellänge der Aufzeichnung&lt;br /&gt;
  * size: Größe der Aufzeichnung&lt;br /&gt;
&lt;br /&gt;
=== searchvoicebyphonenumber ===&lt;br /&gt;
&lt;br /&gt;
Sucht eine Voice-Aufnahme über die Telefonnummer des Kunden.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * phone(GET) - die zu suchende Telefonnummer&lt;br /&gt;
 * date (GET, optional) - Datum im Format YYYY-MM-DD&lt;br /&gt;
 * timestamp (GET, optional) - Timestamp im Format YYYMMDDHHIISS&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: ok|error&lt;br /&gt;
 * msg: (nur bei error)&lt;br /&gt;
 * voices: json Objekt:&lt;br /&gt;
  * recid: Aufnahme-ID&lt;br /&gt;
  * agentid: Agenten-ID&lt;br /&gt;
  * timestamp: Der Zeitstempel der Aufnahme&lt;br /&gt;
  * available: yes|no yes, wenn die Datei schon/noch abrufbar ist.&lt;br /&gt;
  * voiceid: Dateiinterne ID&lt;br /&gt;
  * url: Url um die Datei herunterzuladen.&lt;br /&gt;
  * length: Abspiellänge der Aufzeichnung&lt;br /&gt;
  * size: Größe der Aufzeichnung&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== searchvoicebyagent ===&lt;br /&gt;
&lt;br /&gt;
Sucht eine Voice-Aufnahme über die Agenten-ID.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * agentid(GET) - die zu Agenten-ID&lt;br /&gt;
 * date (GET, optional) - Datum im Format YYYY-MM-DD&lt;br /&gt;
 * timestamp (GET, optional) - Timestamp im Format YYYMMDDHHIISS&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: ok|error&lt;br /&gt;
 * msg: (nur bei error)&lt;br /&gt;
 * voices: json Objekt:&lt;br /&gt;
  * recid: Aufnahme-ID&lt;br /&gt;
  * agentid: Agenten-ID&lt;br /&gt;
  * timestamp: Der Zeitstempel der Aufnahme&lt;br /&gt;
  * available: yes|no yes, wenn die Datei schon/noch abrufbar ist.&lt;br /&gt;
  * voiceid: Dateiinterne ID&lt;br /&gt;
  * url: Url um die Datei herunterzuladen.&lt;br /&gt;
  * length: Abspiellänge der Aufzeichnung&lt;br /&gt;
  * size: Größe der Aufzeichnung&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== getfieldsbycampaign===&lt;br /&gt;
&lt;br /&gt;
Gibt alle Auftragsformularfelder einer Kampagne zurück.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * campaign_id (GET) - die Kampagnen-ID&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * fields - json Objektliste:&lt;br /&gt;
  * name: Feldname&lt;br /&gt;
&lt;br /&gt;
=== exportbystatus ===&lt;br /&gt;
&lt;br /&gt;
Erstellt eine Exportdatei aus verschiedenen Kriterien als CSV.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * campaign_id (GET) - die Kampagnen-ID&lt;br /&gt;
 * status (GET Array, optional) - die zu Exportierenden Status&lt;br /&gt;
 * datetype: (GET, optional) last_phone|last_edit|imported_date (GET Array, optional)&lt;br /&gt;
 * fromdate: (GET, optional) Datum beginn: d.m.Y&lt;br /&gt;
 * fromtime: (GET, optional) Uhrzeit beginn: H:i:s&lt;br /&gt;
 * todate: (GET, optional) Datum ende: d.m.Y&lt;br /&gt;
 * totime: (GET, optional) Uhrzeit ende: H:i:s&lt;br /&gt;
 * selectedfields: (GET/POST) Feldauswahlliste getrennt durch , (Kommata) Prefix für Normale Felder: customerfield_, Prefix für Auftragsformularfelder: webformfield_&lt;br /&gt;
 * encoding: (GET/POST, optional) Datei-Encoding (Standard: iso-8859-1) ISO-8859-1,Windows-1252,UTF-8&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: ok|error&lt;br /&gt;
 * file_id: Datei-ID&lt;br /&gt;
 * size: Datei-Größe&lt;br /&gt;
 * url: Datei-URL&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== dncadd ===&lt;br /&gt;
&lt;br /&gt;
Fügt eine oder mehrere Nummern der Sperrliste hinzu&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * number (GET (Optional: mehrere durch , getrennt))&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: ok|error|doublet&lt;br /&gt;
 * message&lt;br /&gt;
&lt;br /&gt;
=== dncdel ===&lt;br /&gt;
&lt;br /&gt;
Löscht eine, oder mehrere Nummern aus der Sperrliste.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * number (GET (Optional: mehrere durch , getrennt))&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: ok|error&lt;br /&gt;
 * message&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== dncget ===&lt;br /&gt;
&lt;br /&gt;
Gibt die Sperrliste als CSV Datei zurück&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
''keine''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
CSV-Datei mit allen gesperrten Rufnummern&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== dnccheck ===&lt;br /&gt;
&lt;br /&gt;
Sucht eine Nummer in der DNC-Liste&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * number (GET)&lt;br /&gt;
 * fuzzy: yes|no (GET, optional) Sucht auch nach Teilnummern.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: exists|notfound (bei fuzzy = no)&lt;br /&gt;
 * results: Liste mit passenden Telefonnummern (bei fuzzy = yes)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== getleadbyid ===&lt;br /&gt;
&lt;br /&gt;
Suche einen Lead über die LeadID und gibt die Lead-Details sowie das letzte Auftragsformular zurück.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * leadid(GET)&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: found|notfound&lt;br /&gt;
 * lead_data: json Objekt mit Lead-Daten&lt;br /&gt;
 * formdata: json Objekt mit Auftragsformular-Daten&lt;br /&gt;
&lt;br /&gt;
=== getleadbyphonenumber ===&lt;br /&gt;
&lt;br /&gt;
Suche einen Lead über die Telefonnummer und gibt die Lead-Details sowie das letzte Auftragsformular zurück.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * number(GET)&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: found|notfound&lt;br /&gt;
 * lead_data: json Objekt Array mit Lead-Daten&lt;br /&gt;
 * formdata: json Objekt Array mit Auftragsformular-Daten&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== getleadbypexternalid ===&lt;br /&gt;
&lt;br /&gt;
Suche einen Lead über die externe Lead-ID und gibt die Lead-Details sowie das letzte Auftragsformular zurück.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * leadid(GET)&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: found|notfound&lt;br /&gt;
 * lead_data: json Objekt Array mit Lead-Daten&lt;br /&gt;
 * formdata: json Objekt Array mit Auftragsformular-Daten&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== addlist ===&lt;br /&gt;
&lt;br /&gt;
Füge eine Liste hinzu.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * campaignID (POST)&lt;br /&gt;
 * description (POST)&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: ok|error&lt;br /&gt;
 * listid: ID der erstellten Liste (nur bei ok)&lt;br /&gt;
 * reason: Fehlergrund (nur bei error)&lt;br /&gt;
&lt;br /&gt;
=== addlead ===&lt;br /&gt;
&lt;br /&gt;
Füge einen Lead hinzu.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * campaign_id (POST)&lt;br /&gt;
 * invalidcheck (POST) yes|no&lt;br /&gt;
 * doubletcheck_global (POST) yes|no&lt;br /&gt;
 * doubletcheck_campaign (POST) yes|no&lt;br /&gt;
 * list_id (POST)&lt;br /&gt;
 * country_phone_code (POST)&lt;br /&gt;
 * leaddata (POST, Array)&lt;br /&gt;
  * title&lt;br /&gt;
  * phone&lt;br /&gt;
  * alt_phone&lt;br /&gt;
  * first_name&lt;br /&gt;
  * last_name&lt;br /&gt;
  * birthdate&lt;br /&gt;
  * country&lt;br /&gt;
  * street&lt;br /&gt;
  * streetnr&lt;br /&gt;
  * addradd&lt;br /&gt;
  * plz&lt;br /&gt;
  * ort&lt;br /&gt;
  * notices&lt;br /&gt;
  * leadid_external&lt;br /&gt;
  * company_name&lt;br /&gt;
 * formfields (POST, Array)&lt;br /&gt;
  * (Auftragsformularfelder, frei)&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * lead_stats: json Objekt&lt;br /&gt;
  * success&lt;br /&gt;
  * error&lt;br /&gt;
  * sqlerror&lt;br /&gt;
  * formaterror&lt;br /&gt;
  * doubleterror&lt;br /&gt;
  * invaliderror&lt;br /&gt;
  * formaterror_types: json Objekt&lt;br /&gt;
   * (diverse)&lt;br /&gt;
&lt;br /&gt;
=== editlead ===&lt;br /&gt;
&lt;br /&gt;
Füge einen Lead hinzu.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * campaign_id (GET)&lt;br /&gt;
 * leadid(GET)&lt;br /&gt;
 * leaddata (POST, Array)&lt;br /&gt;
  * title&lt;br /&gt;
  * phone&lt;br /&gt;
  * alt_phone&lt;br /&gt;
  * first_name&lt;br /&gt;
  * last_name&lt;br /&gt;
  * birthdate&lt;br /&gt;
  * country&lt;br /&gt;
  * street&lt;br /&gt;
  * streetnr&lt;br /&gt;
  * addradd&lt;br /&gt;
  * plz&lt;br /&gt;
  * ort&lt;br /&gt;
  * notices&lt;br /&gt;
  * leadid_external&lt;br /&gt;
  * company_name&lt;br /&gt;
  * rotation&lt;br /&gt;
  * status&lt;br /&gt;
 * formfields (POST, Array)&lt;br /&gt;
  * (Auftragsformularfelder, frei)&lt;br /&gt;
 &lt;br /&gt;
=== getagentbyid ===&lt;br /&gt;
&lt;br /&gt;
Suche einen Agenten über seine ID und liefere seine Daten zurück.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * agentid(GET)&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: found|notfound&lt;br /&gt;
 * agent_info: json Objekt Array mit Agent-Daten&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status ok|error&lt;br /&gt;
 * reason (Bei Fehlern) Fehlergrund&lt;/div&gt;</summary>
		<author><name>Rath</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.mmdial.de/index.php?title=API&amp;diff=257</id>
		<title>API</title>
		<link rel="alternate" type="text/html" href="https://wiki.mmdial.de/index.php?title=API&amp;diff=257"/>
		<updated>2013-10-16T10:44:06Z</updated>

		<summary type="html">&lt;p&gt;Rath: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;mmDial bietet ein umfangreiches API zur Anbindung externer Software.&lt;br /&gt;
&lt;br /&gt;
Viele Schnittstellen sind bislang undokumentiert. Sollten Sie eine weitere Schnittstelle benötigen,&lt;br /&gt;
wenden Sie sich bitte an unseren Support!&lt;br /&gt;
Die API befindet sich nocht im Alpha-Stadium. Die Dokumentation kann fehlerhaft sein, und Schnittstellen können&lt;br /&gt;
sich jederzeit ändern!&lt;br /&gt;
&lt;br /&gt;
Sie können auf einfache Weise auch externe CRM-Systeme direkt in das Agenteninterface einbinden.&lt;br /&gt;
Verwenden Sie hierzu die &amp;quot;Kampagnen Module&amp;quot; zu finden unter Kampagnen -&amp;gt; Kampagne auswählen -&amp;gt; Kampagnen Module.&lt;br /&gt;
Eine kleine Erklärung und ein Beispielscript finden Sie unter [[Kampagnenverwaltung#Eigenes_Auftragsformular|Eigenes Auftrasformular]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Allgemeines ==&lt;br /&gt;
&lt;br /&gt;
 * Die mmDial API ist über http://login.mmdial.de/api/ zu erreichen.&lt;br /&gt;
 * Die API benutzt die Standard HTTP Authentication.&lt;br /&gt;
 * Als Benutzername wird ein Benutzer mit Adminrechten verwendet&lt;br /&gt;
 * Es werden je nach Funktion HTTP GET und HTTP POST Argumente übergeben&lt;br /&gt;
 * Rückmeldungen erfolgen in der Regel als json Objekt&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Funktionen ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== searchvoicebyleadid ===&lt;br /&gt;
&lt;br /&gt;
Sucht eine Voice-Aufnahme über die Lead-ID des Kunden.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * leadid (GET) - die zu suchende Lead-ID&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: ok|error&lt;br /&gt;
 * msg: (nur bei error)&lt;br /&gt;
 * voices: json Objekt:&lt;br /&gt;
  * recid: Aufnahme-ID&lt;br /&gt;
  * agentid: Agenten-ID&lt;br /&gt;
  * timestamp: Der Zeitstempel der Aufnahme&lt;br /&gt;
  * available: yes|no yes, wenn die Datei schon/noch abrufbar ist.&lt;br /&gt;
  * voiceid: Dateiinterne ID&lt;br /&gt;
  * url: Url um die Datei herunterzuladen.&lt;br /&gt;
  * length: Abspiellänge der Aufzeichnung&lt;br /&gt;
  * size: Größe der Aufzeichnung&lt;br /&gt;
&lt;br /&gt;
=== searchvoicebyphonenumber ===&lt;br /&gt;
&lt;br /&gt;
Sucht eine Voice-Aufnahme über die Telefonnummer des Kunden.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * phone(GET) - die zu suchende Telefonnummer&lt;br /&gt;
 * date (GET, optional) - Datum im Format YYYY-MM-DD&lt;br /&gt;
 * timestamp (GET, optional) - Timestamp im Format YYYMMDDHHIISS&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: ok|error&lt;br /&gt;
 * msg: (nur bei error)&lt;br /&gt;
 * voices: json Objekt:&lt;br /&gt;
  * recid: Aufnahme-ID&lt;br /&gt;
  * agentid: Agenten-ID&lt;br /&gt;
  * timestamp: Der Zeitstempel der Aufnahme&lt;br /&gt;
  * available: yes|no yes, wenn die Datei schon/noch abrufbar ist.&lt;br /&gt;
  * voiceid: Dateiinterne ID&lt;br /&gt;
  * url: Url um die Datei herunterzuladen.&lt;br /&gt;
  * length: Abspiellänge der Aufzeichnung&lt;br /&gt;
  * size: Größe der Aufzeichnung&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== searchvoicebyagent ===&lt;br /&gt;
&lt;br /&gt;
Sucht eine Voice-Aufnahme über die Agenten-ID.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * agentid(GET) - die zu Agenten-ID&lt;br /&gt;
 * date (GET, optional) - Datum im Format YYYY-MM-DD&lt;br /&gt;
 * timestamp (GET, optional) - Timestamp im Format YYYMMDDHHIISS&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: ok|error&lt;br /&gt;
 * msg: (nur bei error)&lt;br /&gt;
 * voices: json Objekt:&lt;br /&gt;
  * recid: Aufnahme-ID&lt;br /&gt;
  * agentid: Agenten-ID&lt;br /&gt;
  * timestamp: Der Zeitstempel der Aufnahme&lt;br /&gt;
  * available: yes|no yes, wenn die Datei schon/noch abrufbar ist.&lt;br /&gt;
  * voiceid: Dateiinterne ID&lt;br /&gt;
  * url: Url um die Datei herunterzuladen.&lt;br /&gt;
  * length: Abspiellänge der Aufzeichnung&lt;br /&gt;
  * size: Größe der Aufzeichnung&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== getfieldsbycampaign===&lt;br /&gt;
&lt;br /&gt;
Gibt alle Auftragsformularfelder einer Kampagne zurück.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * campaign_id (GET) - die Kampagnen-ID&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * fields - json Objektliste:&lt;br /&gt;
  * name: Feldname&lt;br /&gt;
&lt;br /&gt;
=== exportbystatus ===&lt;br /&gt;
&lt;br /&gt;
Erstellt eine Exportdatei aus verschiedenen Kriterien als CSV.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * campaign_id (GET) - die Kampagnen-ID&lt;br /&gt;
 * status (GET Array, optional) - die zu Exportierenden Status&lt;br /&gt;
 * datetype: (GET, optional) last_phone|last_edit|imported_date (GET Array, optional)&lt;br /&gt;
 * fromdate: (GET, optional) Datum beginn: d.m.Y&lt;br /&gt;
 * fromtime: (GET, optional) Uhrzeit beginn: H:i:s&lt;br /&gt;
 * todate: (GET, optional) Datum ende: d.m.Y&lt;br /&gt;
 * totime: (GET, optional) Uhrzeit ende: H:i:s&lt;br /&gt;
 * selectedfields: (GET/POST) Feldauswahlliste getrennt durch , (Kommata) Prefix für Normale Felder: customerfield_, Prefix für Auftragsformularfelder: webformfield_&lt;br /&gt;
 * encoding: (GET/POST, optional) Datei-Encoding (Standard: iso-8859-1) ISO-8859-1,Windows-1252,UTF-8&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: ok|error&lt;br /&gt;
 * file_id: Datei-ID&lt;br /&gt;
 * size: Datei-Größe&lt;br /&gt;
 * url: Datei-URL&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== dncadd ===&lt;br /&gt;
&lt;br /&gt;
Fügt eine oder mehrere Nummern der Sperrliste hinzu&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * number (GET (Optional: mehrere durch , getrennt))&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: ok|error|doublet&lt;br /&gt;
 * message&lt;br /&gt;
&lt;br /&gt;
=== dncdel ===&lt;br /&gt;
&lt;br /&gt;
Löscht eine, oder mehrere Nummern aus der Sperrliste.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * number (GET (Optional: mehrere durch , getrennt))&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: ok|error&lt;br /&gt;
 * message&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== dncget ===&lt;br /&gt;
&lt;br /&gt;
Gibt die Sperrliste als CSV Datei zurück&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
''keine''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
CSV-Datei mit allen gesperrten Rufnummern&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== dnccheck ===&lt;br /&gt;
&lt;br /&gt;
Sucht eine Nummer in der DNC-Liste&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * number (GET)&lt;br /&gt;
 * fuzzy: yes|no (GET, optional) Sucht auch nach Teilnummern.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: exists|notfound (bei fuzzy = no)&lt;br /&gt;
 * results: Liste mit passenden Telefonnummern (bei fuzzy = yes)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== getleadbyid ===&lt;br /&gt;
&lt;br /&gt;
Suche einen Lead über die LeadID und gibt die Lead-Details sowie das letzte Auftragsformular zurück.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * leadid(GET)&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: found|notfound&lt;br /&gt;
 * lead_data: json Objekt mit Lead-Daten&lt;br /&gt;
 * formdata: json Objekt mit Auftragsformular-Daten&lt;br /&gt;
&lt;br /&gt;
=== getleadbyphonenumber ===&lt;br /&gt;
&lt;br /&gt;
Suche einen Lead über die Telefonnummer und gibt die Lead-Details sowie das letzte Auftragsformular zurück.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * number(GET)&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: found|notfound&lt;br /&gt;
 * lead_data: json Objekt Array mit Lead-Daten&lt;br /&gt;
 * formdata: json Objekt Array mit Auftragsformular-Daten&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== getleadbypexternalid ===&lt;br /&gt;
&lt;br /&gt;
Suche einen Lead über die externe Lead-ID und gibt die Lead-Details sowie das letzte Auftragsformular zurück.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * leadid(GET)&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: found|notfound&lt;br /&gt;
 * lead_data: json Objekt Array mit Lead-Daten&lt;br /&gt;
 * formdata: json Objekt Array mit Auftragsformular-Daten&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== addlist ===&lt;br /&gt;
&lt;br /&gt;
Füge eine Liste hinzu.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * campaignID (POST)&lt;br /&gt;
 * description (POST)&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: ok|error&lt;br /&gt;
 * listid: ID der erstellten Liste (nur bei ok)&lt;br /&gt;
 * reason: Fehlergrund (nur bei error)&lt;br /&gt;
&lt;br /&gt;
=== addlead ===&lt;br /&gt;
&lt;br /&gt;
Füge einen Lead hinzu.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * campaign_id (POST)&lt;br /&gt;
 * invalidcheck (POST) yes|no&lt;br /&gt;
 * doubletcheck_global (POST) yes|no&lt;br /&gt;
 * doubletcheck_campaign (POST) yes|no&lt;br /&gt;
 * list_id (POST)&lt;br /&gt;
 * country_phone_code (POST)&lt;br /&gt;
 * leaddata (POST, Array)&lt;br /&gt;
  * title&lt;br /&gt;
  * phone&lt;br /&gt;
  * alt_phone&lt;br /&gt;
  * first_name&lt;br /&gt;
  * last_name&lt;br /&gt;
  * birthdate&lt;br /&gt;
  * country&lt;br /&gt;
  * street&lt;br /&gt;
  * streetnr&lt;br /&gt;
  * addradd&lt;br /&gt;
  * plz&lt;br /&gt;
  * ort&lt;br /&gt;
  * notices&lt;br /&gt;
  * leadid_external&lt;br /&gt;
  * company_name&lt;br /&gt;
 * formfields (POST, Array)&lt;br /&gt;
  * (Auftragsformularfelder, frei)&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * lead_stats: json Objekt&lt;br /&gt;
  * success&lt;br /&gt;
  * error&lt;br /&gt;
  * sqlerror&lt;br /&gt;
  * formaterror&lt;br /&gt;
  * doubleterror&lt;br /&gt;
  * invaliderror&lt;br /&gt;
  * formaterror_types: json Objekt&lt;br /&gt;
   * (diverse)&lt;br /&gt;
&lt;br /&gt;
=== editlead ===&lt;br /&gt;
&lt;br /&gt;
Füge einen Lead hinzu.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * campaign_id (GET)&lt;br /&gt;
 * leadid(GET)&lt;br /&gt;
 * leaddata (POST, Array)&lt;br /&gt;
  * title&lt;br /&gt;
  * phone&lt;br /&gt;
  * alt_phone&lt;br /&gt;
  * first_name&lt;br /&gt;
  * last_name&lt;br /&gt;
  * birthdate&lt;br /&gt;
  * country&lt;br /&gt;
  * street&lt;br /&gt;
  * streetnr&lt;br /&gt;
  * addradd&lt;br /&gt;
  * plz&lt;br /&gt;
  * ort&lt;br /&gt;
  * notices&lt;br /&gt;
  * leadid_external&lt;br /&gt;
  * company_name&lt;br /&gt;
  * rotation&lt;br /&gt;
  * status&lt;br /&gt;
 * formfields (POST, Array)&lt;br /&gt;
  * (Auftragsformularfelder, frei)&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status ok|error&lt;br /&gt;
 * reason (Bei Fehlern) Fehlergrund&lt;/div&gt;</summary>
		<author><name>Rath</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.mmdial.de/index.php?title=Kampagnenverwaltung&amp;diff=256</id>
		<title>Kampagnenverwaltung</title>
		<link rel="alternate" type="text/html" href="https://wiki.mmdial.de/index.php?title=Kampagnenverwaltung&amp;diff=256"/>
		<updated>2013-09-30T15:38:08Z</updated>

		<summary type="html">&lt;p&gt;Rath: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;In der Kampagnenverwaltung können Sie alle Einstellungen rund um eine Kampagne machen. Weiter können Sie hier auch Kampagnen erstellen, löschen und deaktivieren. Hier haben Sie weiter auch die Möglichkeit Kampagneneigene Status oder autom. Leadübertragung in QM-Kampagnen zu erstellen. &lt;br /&gt;
&lt;br /&gt;
== Kampagnen erstellen  ==&lt;br /&gt;
&lt;br /&gt;
Bei mmDial haben Sie neben der klassischen Outboundtelefonie auch die Möglichkeit Inboundtelefonie zu betreiben. Dies bietet Ihnen z.B. die Möglichkeit Rückrufer direkt wieder an einen Agenten zuverbinden. Bitte beachten Sie, dass die Inboundfunktion eine Zusatzleistung ist die extra bestellt werden muss. &lt;br /&gt;
&lt;br /&gt;
=== Outboundkampagne erstellen  ===&lt;br /&gt;
&lt;br /&gt;
Zum Erstellen einer Outbound-Kampagne gehen Sie bitte in der Dialerverwaltung auf die Kampagnen Seite. Hier finden Sie im linken Context-Menü den Punkt „Neue Kampagne“. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Hier müssen Sie nun, zum Erstellen einer Kampagne, alle Grundinformationen für die Kampagne eintragen. Folgendes müssen Sie angeben: &amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Kampagnenname (Aussagekräftiger Name der Kampagne)&amp;lt;br&amp;gt;[[CLIP-Rufnummer]] (Hier müssen Sie die Rufnummer eintragen, die dem Angerufenen angezeigt werden soll) &amp;lt;br&amp;gt;Aktiv (Auswählen ob Kampagne vom Erstellen an aktiv sein soll) &amp;lt;br&amp;gt;Auftragsformular (Auswählen, ob ein [[Auftragsformular]] für diese Kampagne verwendet werden soll) &amp;lt;br&amp;gt;Maximaler Adressverbrauch pro Minute &amp;lt;br&amp;gt;Neuen Anruf zu Agent (Wählen Sie aus, nach welcher Reihenfolge wartenden Agenten neue Gespräche zugeteilt werden sollen.) &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Bitte beachten Sie, dass eine Kampagne wesentlich mehr Einstellmöglichkeiten hat als nur die aufgeführten. Diese Daten, die Sie beim Erstellen eingeben müssen, sind Einstellungen, die von Ihnen gesetzt werden müssen. Alle anderen Einstellungen wurden von unserem System mit Standardwerten gesetzt, um den Erstellvorgang zu beschleunigen. Sie können später alle weiteren Einstellungen unter dem Punkt „Kampagnen / Kampagnenliste / Kampagne bearbeiten“ (Icon mit dem Schreibblock und dem Stift) einstellen.&lt;br /&gt;
&lt;br /&gt;
=== Inboundkampagne erstellen  ===&lt;br /&gt;
&lt;br /&gt;
Inbound-Kampagnen sind in der Standardversion von mmDial nicht verfügbar. Diese können Sie optional hinzubuchen. Wenden Sie sich dazu an unseren Vertrieb.&lt;br /&gt;
&lt;br /&gt;
== Kampagnen löschen  ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
WICHTIG:&lt;br /&gt;
&lt;br /&gt;
Beim Löschen von Kampagnen gehen alle in der Kampagne vorhandenen Daten verloren. Diese können nicht wieder hergestellt werden. Wenn Sie eine Kampagne löschen vergewissern Sie sich, dass Sie alle benötigten Daten exportiert haben.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Zum Löschen klicken Sie unter &amp;quot;Kampagnen&amp;quot; auf die &amp;quot;Kampagnenliste&amp;quot; und vor der zu löschenden Kampagne auf das rote X. Sie werden daraufhin nocheinmal gefragt, ob die Kampagne wirklich gelöscht werden soll. Dies können Sie mit einem &amp;quot;JA&amp;quot; bestätigen.&lt;br /&gt;
&lt;br /&gt;
== Kampagnen de/aktivieren  ==&lt;br /&gt;
Um eine Kampagne zu de- oder aktivieren gehen Sie in der Verwaltungsoberfläche in den Bereich Kampagnen. Dort wählen Sie in den Unterpunkt &amp;quot;Kampagnenliste&amp;quot; aus.&lt;br /&gt;
Hier finden Sie alle von Ihnen angelegten Kampagnen. Aktive Kampagnen haben ein blaues Männchen. Inaktive ein graues.&lt;br /&gt;
&lt;br /&gt;
Um den Status der Kampagne zu ändern klicken Sie auf das Männchen. Der Status der Kampagne ändert sich dann direkt.&lt;br /&gt;
&lt;br /&gt;
== Statusübertrag in Kampagnen  ==&lt;br /&gt;
&lt;br /&gt;
Bei mmDial haben Sie die Möglichkeit Kunden/Leads, die erfolgreich sind, direkt in eine anderen QM-Kampagne zu übertragen.&lt;br /&gt;
&lt;br /&gt;
Gehen Sie dazu in Kampagen und wählen Sie eine Kampagne aus.&amp;lt;br&amp;gt;Gehen Sie dann in der linken Navigation auf Statusübertrag.&amp;lt;br&amp;gt;Dort sehen Sie 3 Auswahlfelder zum Erstellen des Übertrags.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
*Wählen Sie den gewünschten Status der Leads die Sie übertragen möchten. Zum Beispiel &amp;quot;Sale&amp;quot; oder &amp;quot;Anrufbeantworter&amp;quot;.&amp;lt;br&amp;gt;&lt;br /&gt;
*Legen Sie fest, in welche Kampagne Sie diese Leads übertragen möchten.&amp;lt;br&amp;gt;&lt;br /&gt;
**Nach Auswahl der Kampagne öffnen sich weitere Einstellungsmöglichkeiten:&amp;lt;br&amp;gt;&lt;br /&gt;
**Sie können auswählen ob eine neue Liste erstellt werden soll, oder die Leads in eine vorhandene Liste geschrieben werden sollen&amp;lt;br&amp;gt;&lt;br /&gt;
**Alle Leads verlieren beim Verschieben Ihren aktuellen (alten) Status. Im folgenden Drop-Down Menü wählen Sie den neuen Status nach dem Übertrag aus (z.B. &amp;quot;NEW&amp;quot;).&lt;br /&gt;
*In der letzten Auswahl &amp;quot;Kopiermodus&amp;quot; können Sie zwischen &amp;quot;Lead verschieben&amp;quot; und &amp;quot;Lead kopieren&amp;quot; auswählen. Wählen Sie verschieben aus, so werden die Leads aus der aktuellen Kampagne gelöscht - damit gehen auch alle Informationen zu diesem Lead verloren (z.B. der Status).&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
'Unsere Empfehlung:'&lt;br /&gt;
Kopieren Sie die Leads statt Sie zu verschieben. Damit bleiben in der ursprünglichen Kampagne (aus der Sie den Übertrag machen) die Lead-Informationen wie letzte Anrufe, Status usw. erhalten. In der neuen Kampagne bzw. Liste, in die Ihre Leads verschoben wurden, wird alles zurück gesetzt. Wie oben beschrieben können Sie festlegen welchen Anfangsstatus diese Leads erhalten sollen.&lt;br /&gt;
&lt;br /&gt;
== Kampagnenstatus ==&lt;br /&gt;
=== Erstellen  ===&lt;br /&gt;
&lt;br /&gt;
mmDial bietet Ihnen die Möglichkeit eigene Status für einen Kampagne zu erstellen.&amp;lt;br&amp;gt;Dies dient einer genaueren Feststellung am Ende eines Gesprächs. Sie können beliebig viele Status erstellen. Zum Erstellen wählen Sie eine Kampagne aus und klicken im Contextmenü auf den Punkt „Kampagnen Status“. &lt;br /&gt;
&lt;br /&gt;
Hier müssen Sie nun ein Kürzel und den vollständigen Titel des Status eintragen. &lt;br /&gt;
&lt;br /&gt;
Nachdem Sie auf &amp;quot;anlegen&amp;quot; geklickt haben ist der Status erstellt. Er wird nun Ihren Agenten am Ende des Gesprächs in dieser Kampagne angezeigt und Sie haben auf die Möglichkeit gezielt nach diesem Status zu exportieren.&lt;br /&gt;
&lt;br /&gt;
=== Alle Status ansehen/löschen ===&lt;br /&gt;
&lt;br /&gt;
Um alle erstellten Status einzusehen klicken Sie auf die Schaltfläche „Vorhandene Status“. An dieser Stelle können Sie auch einen bestehenden Status wieder löschen.&lt;br /&gt;
&lt;br /&gt;
== Auftragsformular / Kampagnen Module ==&lt;br /&gt;
=== Eigenes Auftragsformular ===&lt;br /&gt;
&lt;br /&gt;
Die folgenden Felder können an ein externes eigenes Auftragsformular bzw. an ein Kampagnen-Modul übergeben werden:&lt;br /&gt;
&lt;br /&gt;
 * lead_id&lt;br /&gt;
 * title&lt;br /&gt;
 * phone&lt;br /&gt;
 * alt_phone&lt;br /&gt;
 * first_name&lt;br /&gt;
 * last_name&lt;br /&gt;
 * street&lt;br /&gt;
 * streetnr&lt;br /&gt;
 * plz&lt;br /&gt;
 * ort&lt;br /&gt;
 * notices&lt;br /&gt;
 * agentid&lt;br /&gt;
 * birthday&lt;br /&gt;
 * leadid_external&lt;br /&gt;
 * vorwahl&lt;br /&gt;
 * company_name&lt;br /&gt;
 * agent_name&lt;br /&gt;
 * campaign&lt;br /&gt;
 * agent_extrafield1, agent_extrafield2, agent_extrafield3, agent_extrafield4&lt;br /&gt;
 * xtra_* (Für Extrafelder)&lt;br /&gt;
&lt;br /&gt;
Bei Inbound-Kampagnen:&lt;br /&gt;
&lt;br /&gt;
 * target_number&lt;br /&gt;
&lt;br /&gt;
Auftragsformularfelder:&lt;br /&gt;
&lt;br /&gt;
 * __F_feldname__ - feldname ist Platzhalter für Formularfeldnamen&lt;br /&gt;
 * __FormSaveID__ - Speicherid des Formulars&lt;br /&gt;
 * __FormCreated__ - Speicherzeitpunkt des Formulars&lt;br /&gt;
&lt;br /&gt;
Spezialfelder:&lt;br /&gt;
&lt;br /&gt;
 * z.B. __STRTODATE_+1 week__ entspricht PHP's strtodate() Funktion - anzeige im Deutschen Format&lt;br /&gt;
&lt;br /&gt;
In der aufzurufenden URL werden die Felder entsprechend durch ihre Werte ersetzt, sobald die Platzhalter durch &amp;quot;__&amp;quot; eingeschlossen sind. Beispiel: __lead_id__&lt;br /&gt;
&lt;br /&gt;
Bei einigen Modulen, wie zum Beispiel den Dokumenten, muss der Platzhalter im Format &amp;quot;__DB_feldname__&amp;quot; eingegeben werden. Beispiel: __DB_lead_id__&lt;br /&gt;
&lt;br /&gt;
Bei Dokumenten die als E-Mail versendet werden sollen, können mehrere (Auswählbare) Empfänger mittels &amp;quot;#&amp;quot; getrennt werden. (z.B. a@b.de#b@c.de) Hierbei kann der Agent einzelne Adressen entfernen.&lt;br /&gt;
&lt;br /&gt;
Kommt in der URL der Wert &amp;quot;DOPOSTURL&amp;quot; vor, werden die Werte per HTTP POST übergeben, und der Wert &amp;quot;DOPOSTURL&amp;quot; entfernt.&lt;br /&gt;
&lt;br /&gt;
Der Wert &amp;quot;URLSTR&amp;quot; wird durch die Felder die oben beschrieben sind wie folgt ersetzt: feld1=wert1;feld2=wert2;...&lt;br /&gt;
&lt;br /&gt;
Es ist auch ein [[Beispielscript Leitfaden]] in php verfügbar.&lt;/div&gt;</summary>
		<author><name>Rath</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.mmdial.de/index.php?title=Kampagnenverwaltung&amp;diff=255</id>
		<title>Kampagnenverwaltung</title>
		<link rel="alternate" type="text/html" href="https://wiki.mmdial.de/index.php?title=Kampagnenverwaltung&amp;diff=255"/>
		<updated>2013-09-27T15:31:58Z</updated>

		<summary type="html">&lt;p&gt;Rath: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;In der Kampagnenverwaltung können Sie alle Einstellungen rund um eine Kampagne machen. Weiter können Sie hier auch Kampagnen erstellen, löschen und deaktivieren. Hier haben Sie weiter auch die Möglichkeit Kampagneneigene Status oder autom. Leadübertragung in QM-Kampagnen zu erstellen. &lt;br /&gt;
&lt;br /&gt;
== Kampagnen erstellen  ==&lt;br /&gt;
&lt;br /&gt;
Bei mmDial haben Sie neben der klassischen Outboundtelefonie auch die Möglichkeit Inboundtelefonie zu betreiben. Dies bietet Ihnen z.B. die Möglichkeit Rückrufer direkt wieder an einen Agenten zuverbinden. Bitte beachten Sie, dass die Inboundfunktion eine Zusatzleistung ist die extra bestellt werden muss. &lt;br /&gt;
&lt;br /&gt;
=== Outboundkampagne erstellen  ===&lt;br /&gt;
&lt;br /&gt;
Zum Erstellen einer Outbound-Kampagne gehen Sie bitte in der Dialerverwaltung auf die Kampagnen Seite. Hier finden Sie im linken Context-Menü den Punkt „Neue Kampagne“. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Hier müssen Sie nun, zum Erstellen einer Kampagne, alle Grundinformationen für die Kampagne eintragen. Folgendes müssen Sie angeben: &amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Kampagnenname (Aussagekräftiger Name der Kampagne)&amp;lt;br&amp;gt;[[CLIP-Rufnummer]] (Hier müssen Sie die Rufnummer eintragen, die dem Angerufenen angezeigt werden soll) &amp;lt;br&amp;gt;Aktiv (Auswählen ob Kampagne vom Erstellen an aktiv sein soll) &amp;lt;br&amp;gt;Auftragsformular (Auswählen, ob ein [[Auftragsformular]] für diese Kampagne verwendet werden soll) &amp;lt;br&amp;gt;Maximaler Adressverbrauch pro Minute &amp;lt;br&amp;gt;Neuen Anruf zu Agent (Wählen Sie aus, nach welcher Reihenfolge wartenden Agenten neue Gespräche zugeteilt werden sollen.) &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Bitte beachten Sie, dass eine Kampagne wesentlich mehr Einstellmöglichkeiten hat als nur die aufgeführten. Diese Daten, die Sie beim Erstellen eingeben müssen, sind Einstellungen, die von Ihnen gesetzt werden müssen. Alle anderen Einstellungen wurden von unserem System mit Standardwerten gesetzt, um den Erstellvorgang zu beschleunigen. Sie können später alle weiteren Einstellungen unter dem Punkt „Kampagnen / Kampagnenliste / Kampagne bearbeiten“ (Icon mit dem Schreibblock und dem Stift) einstellen.&lt;br /&gt;
&lt;br /&gt;
=== Inboundkampagne erstellen  ===&lt;br /&gt;
&lt;br /&gt;
Inbound-Kampagnen sind in der Standardversion von mmDial nicht verfügbar. Diese können Sie optional hinzubuchen. Wenden Sie sich dazu an unseren Vertrieb.&lt;br /&gt;
&lt;br /&gt;
== Kampagnen löschen  ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
WICHTIG:&lt;br /&gt;
&lt;br /&gt;
Beim Löschen von Kampagnen gehen alle in der Kampagne vorhandenen Daten verloren. Diese können nicht wieder hergestellt werden. Wenn Sie eine Kampagne löschen vergewissern Sie sich, dass Sie alle benötigten Daten exportiert haben.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Zum Löschen klicken Sie unter &amp;quot;Kampagnen&amp;quot; auf die &amp;quot;Kampagnenliste&amp;quot; und vor der zu löschenden Kampagne auf das rote X. Sie werden daraufhin nocheinmal gefragt, ob die Kampagne wirklich gelöscht werden soll. Dies können Sie mit einem &amp;quot;JA&amp;quot; bestätigen.&lt;br /&gt;
&lt;br /&gt;
== Kampagnen de/aktivieren  ==&lt;br /&gt;
Um eine Kampagne zu de- oder aktivieren gehen Sie in der Verwaltungsoberfläche in den Bereich Kampagnen. Dort wählen Sie in den Unterpunkt &amp;quot;Kampagnenliste&amp;quot; aus.&lt;br /&gt;
Hier finden Sie alle von Ihnen angelegten Kampagnen. Aktive Kampagnen haben ein blaues Männchen. Inaktive ein graues.&lt;br /&gt;
&lt;br /&gt;
Um den Status der Kampagne zu ändern klicken Sie auf das Männchen. Der Status der Kampagne ändert sich dann direkt.&lt;br /&gt;
&lt;br /&gt;
== Statusübertrag in Kampagnen  ==&lt;br /&gt;
&lt;br /&gt;
Bei mmDial haben Sie die Möglichkeit Kunden/Leads, die erfolgreich sind, direkt in eine anderen QM-Kampagne zu übertragen.&lt;br /&gt;
&lt;br /&gt;
Gehen Sie dazu in Kampagen und wählen Sie eine Kampagne aus.&amp;lt;br&amp;gt;Gehen Sie dann in der linken Navigation auf Statusübertrag.&amp;lt;br&amp;gt;Dort sehen Sie 3 Auswahlfelder zum Erstellen des Übertrags.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
*Wählen Sie den gewünschten Status der Leads die Sie übertragen möchten. Zum Beispiel &amp;quot;Sale&amp;quot; oder &amp;quot;Anrufbeantworter&amp;quot;.&amp;lt;br&amp;gt;&lt;br /&gt;
*Legen Sie fest, in welche Kampagne Sie diese Leads übertragen möchten.&amp;lt;br&amp;gt;&lt;br /&gt;
**Nach Auswahl der Kampagne öffnen sich weitere Einstellungsmöglichkeiten:&amp;lt;br&amp;gt;&lt;br /&gt;
**Sie können auswählen ob eine neue Liste erstellt werden soll, oder die Leads in eine vorhandene Liste geschrieben werden sollen&amp;lt;br&amp;gt;&lt;br /&gt;
**Alle Leads verlieren beim Verschieben Ihren aktuellen (alten) Status. Im folgenden Drop-Down Menü wählen Sie den neuen Status nach dem Übertrag aus (z.B. &amp;quot;NEW&amp;quot;).&lt;br /&gt;
*In der letzten Auswahl &amp;quot;Kopiermodus&amp;quot; können Sie zwischen &amp;quot;Lead verschieben&amp;quot; und &amp;quot;Lead kopieren&amp;quot; auswählen. Wählen Sie verschieben aus, so werden die Leads aus der aktuellen Kampagne gelöscht - damit gehen auch alle Informationen zu diesem Lead verloren (z.B. der Status).&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
'Unsere Empfehlung:'&lt;br /&gt;
Kopieren Sie die Leads statt Sie zu verschieben. Damit bleiben in der ursprünglichen Kampagne (aus der Sie den Übertrag machen) die Lead-Informationen wie letzte Anrufe, Status usw. erhalten. In der neuen Kampagne bzw. Liste, in die Ihre Leads verschoben wurden, wird alles zurück gesetzt. Wie oben beschrieben können Sie festlegen welchen Anfangsstatus diese Leads erhalten sollen.&lt;br /&gt;
&lt;br /&gt;
== Kampagnenstatus ==&lt;br /&gt;
=== Erstellen  ===&lt;br /&gt;
&lt;br /&gt;
mmDial bietet Ihnen die Möglichkeit eigene Status für einen Kampagne zu erstellen.&amp;lt;br&amp;gt;Dies dient einer genaueren Feststellung am Ende eines Gesprächs. Sie können beliebig viele Status erstellen. Zum Erstellen wählen Sie eine Kampagne aus und klicken im Contextmenü auf den Punkt „Kampagnen Status“. &lt;br /&gt;
&lt;br /&gt;
Hier müssen Sie nun ein Kürzel und den vollständigen Titel des Status eintragen. &lt;br /&gt;
&lt;br /&gt;
Nachdem Sie auf &amp;quot;anlegen&amp;quot; geklickt haben ist der Status erstellt. Er wird nun Ihren Agenten am Ende des Gesprächs in dieser Kampagne angezeigt und Sie haben auf die Möglichkeit gezielt nach diesem Status zu exportieren.&lt;br /&gt;
&lt;br /&gt;
=== Alle Status ansehen/löschen ===&lt;br /&gt;
&lt;br /&gt;
Um alle erstellten Status einzusehen klicken Sie auf die Schaltfläche „Vorhandene Status“. An dieser Stelle können Sie auch einen bestehenden Status wieder löschen.&lt;br /&gt;
&lt;br /&gt;
== Auftragsformular / Kampagnen Module ==&lt;br /&gt;
=== Eigenes Auftragsformular ===&lt;br /&gt;
&lt;br /&gt;
Die folgenden Felder können an ein externes eigenes Auftragsformular bzw. an ein Kampagnen-Modul übergeben werden:&lt;br /&gt;
&lt;br /&gt;
 * lead_id&lt;br /&gt;
 * title&lt;br /&gt;
 * phone&lt;br /&gt;
 * alt_phone&lt;br /&gt;
 * first_name&lt;br /&gt;
 * last_name&lt;br /&gt;
 * street&lt;br /&gt;
 * streetnr&lt;br /&gt;
 * plz&lt;br /&gt;
 * ort&lt;br /&gt;
 * notices&lt;br /&gt;
 * agentid&lt;br /&gt;
 * birthday&lt;br /&gt;
 * leadid_external&lt;br /&gt;
 * vorwahl&lt;br /&gt;
 * company_name&lt;br /&gt;
 * agent_name&lt;br /&gt;
 * campaign&lt;br /&gt;
 * agent_extrafield1, agent_extrafield2, agent_extrafield3, agent_extrafield4&lt;br /&gt;
 * xtra_* (Für Extrafelder)&lt;br /&gt;
&lt;br /&gt;
Bei Inbound-Kampagnen:&lt;br /&gt;
&lt;br /&gt;
 * target_number&lt;br /&gt;
&lt;br /&gt;
Auftragsformularfelder:&lt;br /&gt;
&lt;br /&gt;
 * __F_feldname__ - feldname ist Platzhalter für Formularfeldnamen&lt;br /&gt;
 * __FormSaveID__ - Speicherid des Formulars&lt;br /&gt;
 * __FormCreated__ - Speicherzeitpunkt des Formulars&lt;br /&gt;
&lt;br /&gt;
Spezialfelder:&lt;br /&gt;
&lt;br /&gt;
 * z.B. __STRTODATE_+1 week__ entspricht PHP's strtodate() Funktion - anzeige im Deutschen Format&lt;br /&gt;
&lt;br /&gt;
In der aufzurufenden URL werden die Felder entsprechend durch ihre Werte ersetzt, sobald die Platzhalter durch &amp;quot;__&amp;quot; eingeschlossen sind. Beispiel: __lead_id__&lt;br /&gt;
&lt;br /&gt;
Bei einigen Modulen, wie zum Beispiel den Dokumenten, muss der Platzhalter im Format &amp;quot;__DB_feldname__&amp;quot; eingegeben werden. Beispiel: __DB_lead_id__&lt;br /&gt;
&lt;br /&gt;
Kommt in der URL der Wert &amp;quot;DOPOSTURL&amp;quot; vor, werden die Werte per HTTP POST übergeben, und der Wert &amp;quot;DOPOSTURL&amp;quot; entfernt.&lt;br /&gt;
&lt;br /&gt;
Der Wert &amp;quot;URLSTR&amp;quot; wird durch die Felder die oben beschrieben sind wie folgt ersetzt: feld1=wert1;feld2=wert2;...&lt;br /&gt;
&lt;br /&gt;
Es ist auch ein [[Beispielscript Leitfaden]] in php verfügbar.&lt;/div&gt;</summary>
		<author><name>Rath</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.mmdial.de/index.php?title=Kampagnenverwaltung&amp;diff=254</id>
		<title>Kampagnenverwaltung</title>
		<link rel="alternate" type="text/html" href="https://wiki.mmdial.de/index.php?title=Kampagnenverwaltung&amp;diff=254"/>
		<updated>2013-09-27T13:10:18Z</updated>

		<summary type="html">&lt;p&gt;Rath: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;In der Kampagnenverwaltung können Sie alle Einstellungen rund um eine Kampagne machen. Weiter können Sie hier auch Kampagnen erstellen, löschen und deaktivieren. Hier haben Sie weiter auch die Möglichkeit Kampagneneigene Status oder autom. Leadübertragung in QM-Kampagnen zu erstellen. &lt;br /&gt;
&lt;br /&gt;
== Kampagnen erstellen  ==&lt;br /&gt;
&lt;br /&gt;
Bei mmDial haben Sie neben der klassischen Outboundtelefonie auch die Möglichkeit Inboundtelefonie zu betreiben. Dies bietet Ihnen z.B. die Möglichkeit Rückrufer direkt wieder an einen Agenten zuverbinden. Bitte beachten Sie, dass die Inboundfunktion eine Zusatzleistung ist die extra bestellt werden muss. &lt;br /&gt;
&lt;br /&gt;
=== Outboundkampagne erstellen  ===&lt;br /&gt;
&lt;br /&gt;
Zum Erstellen einer Outbound-Kampagne gehen Sie bitte in der Dialerverwaltung auf die Kampagnen Seite. Hier finden Sie im linken Context-Menü den Punkt „Neue Kampagne“. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Hier müssen Sie nun, zum Erstellen einer Kampagne, alle Grundinformationen für die Kampagne eintragen. Folgendes müssen Sie angeben: &amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Kampagnenname (Aussagekräftiger Name der Kampagne)&amp;lt;br&amp;gt;[[CLIP-Rufnummer]] (Hier müssen Sie die Rufnummer eintragen, die dem Angerufenen angezeigt werden soll) &amp;lt;br&amp;gt;Aktiv (Auswählen ob Kampagne vom Erstellen an aktiv sein soll) &amp;lt;br&amp;gt;Auftragsformular (Auswählen, ob ein [[Auftragsformular]] für diese Kampagne verwendet werden soll) &amp;lt;br&amp;gt;Maximaler Adressverbrauch pro Minute &amp;lt;br&amp;gt;Neuen Anruf zu Agent (Wählen Sie aus, nach welcher Reihenfolge wartenden Agenten neue Gespräche zugeteilt werden sollen.) &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Bitte beachten Sie, dass eine Kampagne wesentlich mehr Einstellmöglichkeiten hat als nur die aufgeführten. Diese Daten, die Sie beim Erstellen eingeben müssen, sind Einstellungen, die von Ihnen gesetzt werden müssen. Alle anderen Einstellungen wurden von unserem System mit Standardwerten gesetzt, um den Erstellvorgang zu beschleunigen. Sie können später alle weiteren Einstellungen unter dem Punkt „Kampagnen / Kampagnenliste / Kampagne bearbeiten“ (Icon mit dem Schreibblock und dem Stift) einstellen.&lt;br /&gt;
&lt;br /&gt;
=== Inboundkampagne erstellen  ===&lt;br /&gt;
&lt;br /&gt;
Inbound-Kampagnen sind in der Standardversion von mmDial nicht verfügbar. Diese können Sie optional hinzubuchen. Wenden Sie sich dazu an unseren Vertrieb.&lt;br /&gt;
&lt;br /&gt;
== Kampagnen löschen  ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
WICHTIG:&lt;br /&gt;
&lt;br /&gt;
Beim Löschen von Kampagnen gehen alle in der Kampagne vorhandenen Daten verloren. Diese können nicht wieder hergestellt werden. Wenn Sie eine Kampagne löschen vergewissern Sie sich, dass Sie alle benötigten Daten exportiert haben.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Zum Löschen klicken Sie unter &amp;quot;Kampagnen&amp;quot; auf die &amp;quot;Kampagnenliste&amp;quot; und vor der zu löschenden Kampagne auf das rote X. Sie werden daraufhin nocheinmal gefragt, ob die Kampagne wirklich gelöscht werden soll. Dies können Sie mit einem &amp;quot;JA&amp;quot; bestätigen.&lt;br /&gt;
&lt;br /&gt;
== Kampagnen de/aktivieren  ==&lt;br /&gt;
Um eine Kampagne zu de- oder aktivieren gehen Sie in der Verwaltungsoberfläche in den Bereich Kampagnen. Dort wählen Sie in den Unterpunkt &amp;quot;Kampagnenliste&amp;quot; aus.&lt;br /&gt;
Hier finden Sie alle von Ihnen angelegten Kampagnen. Aktive Kampagnen haben ein blaues Männchen. Inaktive ein graues.&lt;br /&gt;
&lt;br /&gt;
Um den Status der Kampagne zu ändern klicken Sie auf das Männchen. Der Status der Kampagne ändert sich dann direkt.&lt;br /&gt;
&lt;br /&gt;
== Statusübertrag in Kampagnen  ==&lt;br /&gt;
&lt;br /&gt;
Bei mmDial haben Sie die Möglichkeit Kunden/Leads, die erfolgreich sind, direkt in eine anderen QM-Kampagne zu übertragen.&lt;br /&gt;
&lt;br /&gt;
Gehen Sie dazu in Kampagen und wählen Sie eine Kampagne aus.&amp;lt;br&amp;gt;Gehen Sie dann in der linken Navigation auf Statusübertrag.&amp;lt;br&amp;gt;Dort sehen Sie 3 Auswahlfelder zum Erstellen des Übertrags.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
*Wählen Sie den gewünschten Status der Leads die Sie übertragen möchten. Zum Beispiel &amp;quot;Sale&amp;quot; oder &amp;quot;Anrufbeantworter&amp;quot;.&amp;lt;br&amp;gt;&lt;br /&gt;
*Legen Sie fest, in welche Kampagne Sie diese Leads übertragen möchten.&amp;lt;br&amp;gt;&lt;br /&gt;
**Nach Auswahl der Kampagne öffnen sich weitere Einstellungsmöglichkeiten:&amp;lt;br&amp;gt;&lt;br /&gt;
**Sie können auswählen ob eine neue Liste erstellt werden soll, oder die Leads in eine vorhandene Liste geschrieben werden sollen&amp;lt;br&amp;gt;&lt;br /&gt;
**Alle Leads verlieren beim Verschieben Ihren aktuellen (alten) Status. Im folgenden Drop-Down Menü wählen Sie den neuen Status nach dem Übertrag aus (z.B. &amp;quot;NEW&amp;quot;).&lt;br /&gt;
*In der letzten Auswahl &amp;quot;Kopiermodus&amp;quot; können Sie zwischen &amp;quot;Lead verschieben&amp;quot; und &amp;quot;Lead kopieren&amp;quot; auswählen. Wählen Sie verschieben aus, so werden die Leads aus der aktuellen Kampagne gelöscht - damit gehen auch alle Informationen zu diesem Lead verloren (z.B. der Status).&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
'Unsere Empfehlung:'&lt;br /&gt;
Kopieren Sie die Leads statt Sie zu verschieben. Damit bleiben in der ursprünglichen Kampagne (aus der Sie den Übertrag machen) die Lead-Informationen wie letzte Anrufe, Status usw. erhalten. In der neuen Kampagne bzw. Liste, in die Ihre Leads verschoben wurden, wird alles zurück gesetzt. Wie oben beschrieben können Sie festlegen welchen Anfangsstatus diese Leads erhalten sollen.&lt;br /&gt;
&lt;br /&gt;
== Kampagnenstatus ==&lt;br /&gt;
=== Erstellen  ===&lt;br /&gt;
&lt;br /&gt;
mmDial bietet Ihnen die Möglichkeit eigene Status für einen Kampagne zu erstellen.&amp;lt;br&amp;gt;Dies dient einer genaueren Feststellung am Ende eines Gesprächs. Sie können beliebig viele Status erstellen. Zum Erstellen wählen Sie eine Kampagne aus und klicken im Contextmenü auf den Punkt „Kampagnen Status“. &lt;br /&gt;
&lt;br /&gt;
Hier müssen Sie nun ein Kürzel und den vollständigen Titel des Status eintragen. &lt;br /&gt;
&lt;br /&gt;
Nachdem Sie auf &amp;quot;anlegen&amp;quot; geklickt haben ist der Status erstellt. Er wird nun Ihren Agenten am Ende des Gesprächs in dieser Kampagne angezeigt und Sie haben auf die Möglichkeit gezielt nach diesem Status zu exportieren.&lt;br /&gt;
&lt;br /&gt;
=== Alle Status ansehen/löschen ===&lt;br /&gt;
&lt;br /&gt;
Um alle erstellten Status einzusehen klicken Sie auf die Schaltfläche „Vorhandene Status“. An dieser Stelle können Sie auch einen bestehenden Status wieder löschen.&lt;br /&gt;
&lt;br /&gt;
== Auftragsformular / Kampagnen Module ==&lt;br /&gt;
=== Eigenes Auftragsformular ===&lt;br /&gt;
&lt;br /&gt;
Die folgenden Felder können an ein externes eigenes Auftragsformular bzw. an ein Kampagnen-Modul übergeben werden:&lt;br /&gt;
&lt;br /&gt;
 * lead_id&lt;br /&gt;
 * title&lt;br /&gt;
 * phone&lt;br /&gt;
 * alt_phone&lt;br /&gt;
 * first_name&lt;br /&gt;
 * last_name&lt;br /&gt;
 * street&lt;br /&gt;
 * streetnr&lt;br /&gt;
 * plz&lt;br /&gt;
 * ort&lt;br /&gt;
 * notices&lt;br /&gt;
 * agentid&lt;br /&gt;
 * birthday&lt;br /&gt;
 * leadid_external&lt;br /&gt;
 * vorwahl&lt;br /&gt;
 * company_name&lt;br /&gt;
 * agent_name&lt;br /&gt;
 * campaign&lt;br /&gt;
 * agent_extrafield1, agent_extrafield2, agent_extrafield3, agent_extrafield4&lt;br /&gt;
&lt;br /&gt;
Bei Inbound-Kampagnen:&lt;br /&gt;
&lt;br /&gt;
 * target_number&lt;br /&gt;
&lt;br /&gt;
Auftragsformularfelder:&lt;br /&gt;
&lt;br /&gt;
 * __F_feldname__ - feldname ist Platzhalter für Formularfeldnamen&lt;br /&gt;
 * __FormSaveID__ - Speicherid des Formulars&lt;br /&gt;
 * __FormCreated__ - Speicherzeitpunkt des Formulars&lt;br /&gt;
&lt;br /&gt;
Spezialfelder:&lt;br /&gt;
&lt;br /&gt;
 * z.B. __STRTODATE_+1 week__ entspricht PHP's strtodate() Funktion - anzeige im Deutschen Format&lt;br /&gt;
&lt;br /&gt;
In der aufzurufenden URL werden die Felder entsprechend durch ihre Werte ersetzt, sobald die Platzhalter durch &amp;quot;__&amp;quot; eingeschlossen sind. Beispiel: __lead_id__&lt;br /&gt;
&lt;br /&gt;
Bei einigen Modulen, wie zum Beispiel den Dokumenten, muss der Platzhalter im Format &amp;quot;__DB_feldname__&amp;quot; eingegeben werden. Beispiel: __DB_lead_id__&lt;br /&gt;
&lt;br /&gt;
Kommt in der URL der Wert &amp;quot;DOPOSTURL&amp;quot; vor, werden die Werte per HTTP POST übergeben, und der Wert &amp;quot;DOPOSTURL&amp;quot; entfernt.&lt;br /&gt;
&lt;br /&gt;
Der Wert &amp;quot;URLSTR&amp;quot; wird durch die Felder die oben beschrieben sind wie folgt ersetzt: feld1=wert1;feld2=wert2;...&lt;br /&gt;
&lt;br /&gt;
Es ist auch ein [[Beispielscript Leitfaden]] in php verfügbar.&lt;/div&gt;</summary>
		<author><name>Rath</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.mmdial.de/index.php?title=Kampagnenverwaltung&amp;diff=252</id>
		<title>Kampagnenverwaltung</title>
		<link rel="alternate" type="text/html" href="https://wiki.mmdial.de/index.php?title=Kampagnenverwaltung&amp;diff=252"/>
		<updated>2013-09-23T14:03:01Z</updated>

		<summary type="html">&lt;p&gt;Rath: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;In der Kampagnenverwaltung können Sie alle Einstellungen rund um eine Kampagne machen. Weiter können Sie hier auch Kampagnen erstellen, löschen und deaktivieren. Hier haben Sie weiter auch die Möglichkeit Kampagneneigene Status oder autom. Leadübertragung in QM-Kampagnen zu erstellen. &lt;br /&gt;
&lt;br /&gt;
== Kampagnen erstellen  ==&lt;br /&gt;
&lt;br /&gt;
Bei mmDial haben Sie neben der klassischen Outboundtelefonie auch die Möglichkeit Inboundtelefonie zu betreiben. Dies bietet Ihnen z.B. die Möglichkeit Rückrufer direkt wieder an einen Agenten zuverbinden. Bitte beachten Sie, dass die Inboundfunktion eine Zusatzleistung ist die extra bestellt werden muss. &lt;br /&gt;
&lt;br /&gt;
=== Outboundkampagne erstellen  ===&lt;br /&gt;
&lt;br /&gt;
Zum Erstellen einer Outbound-Kampagne gehen Sie bitte in der Dialerverwaltung auf die Kampagnen Seite. Hier finden Sie im linken Context-Menü den Punkt „Neue Kampagne“. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Hier müssen Sie nun, zum Erstellen einer Kampagne, alle Grundinformationen für die Kampagne eintragen. Folgendes müssen Sie angeben: &amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Kampagnenname (Aussagekräftiger Name der Kampagne)&amp;lt;br&amp;gt;[[CLIP-Rufnummer]] (Hier müssen Sie die Rufnummer eintragen, die dem Angerufenen angezeigt werden soll) &amp;lt;br&amp;gt;Aktiv (Auswählen ob Kampagne vom Erstellen an aktiv sein soll) &amp;lt;br&amp;gt;Auftragsformular (Auswählen, ob ein [[Auftragsformular]] für diese Kampagne verwendet werden soll) &amp;lt;br&amp;gt;Maximaler Adressverbrauch pro Minute &amp;lt;br&amp;gt;Neuen Anruf zu Agent (Wählen Sie aus, nach welcher Reihenfolge wartenden Agenten neue Gespräche zugeteilt werden sollen.) &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Bitte beachten Sie, dass eine Kampagne wesentlich mehr Einstellmöglichkeiten hat als nur die aufgeführten. Diese Daten, die Sie beim Erstellen eingeben müssen, sind Einstellungen, die von Ihnen gesetzt werden müssen. Alle anderen Einstellungen wurden von unserem System mit Standardwerten gesetzt, um den Erstellvorgang zu beschleunigen. Sie können später alle weiteren Einstellungen unter dem Punkt „Kampagnen / Kampagnenliste / Kampagne bearbeiten“ (Icon mit dem Schreibblock und dem Stift) einstellen.&lt;br /&gt;
&lt;br /&gt;
=== Inboundkampagne erstellen  ===&lt;br /&gt;
&lt;br /&gt;
Inbound-Kampagnen sind in der Standardversion von mmDial nicht verfügbar. Diese können Sie optional hinzubuchen. Wenden Sie sich dazu an unseren Vertrieb.&lt;br /&gt;
&lt;br /&gt;
== Kampagnen löschen  ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
WICHTIG:&lt;br /&gt;
&lt;br /&gt;
Beim Löschen von Kampagnen gehen alle in der Kampagne vorhandenen Daten verloren. Diese können nicht wieder hergestellt werden. Wenn Sie eine Kampagne löschen vergewissern Sie sich, dass Sie alle benötigten Daten exportiert haben.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Zum Löschen klicken Sie unter &amp;quot;Kampagnen&amp;quot; auf die &amp;quot;Kampagnenliste&amp;quot; und vor der zu löschenden Kampagne auf das rote X. Sie werden daraufhin nocheinmal gefragt, ob die Kampagne wirklich gelöscht werden soll. Dies können Sie mit einem &amp;quot;JA&amp;quot; bestätigen.&lt;br /&gt;
&lt;br /&gt;
== Kampagnen de/aktivieren  ==&lt;br /&gt;
Um eine Kampagne zu de- oder aktivieren gehen Sie in der Verwaltungsoberfläche in den Bereich Kampagnen. Dort wählen Sie in den Unterpunkt &amp;quot;Kampagnenliste&amp;quot; aus.&lt;br /&gt;
Hier finden Sie alle von Ihnen angelegten Kampagnen. Aktive Kampagnen haben ein blaues Männchen. Inaktive ein graues.&lt;br /&gt;
&lt;br /&gt;
Um den Status der Kampagne zu ändern klicken Sie auf das Männchen. Der Status der Kampagne ändert sich dann direkt.&lt;br /&gt;
&lt;br /&gt;
== Statusübertrag in Kampagnen  ==&lt;br /&gt;
&lt;br /&gt;
Bei mmDial haben Sie die Möglichkeit Kunden/Leads, die erfolgreich sind, direkt in eine anderen QM-Kampagne zu übertragen.&lt;br /&gt;
&lt;br /&gt;
Gehen Sie dazu in Kampagen und wählen Sie eine Kampagne aus.&amp;lt;br&amp;gt;Gehen Sie dann in der linken Navigation auf Statusübertrag.&amp;lt;br&amp;gt;Dort sehen Sie 3 Auswahlfelder zum Erstellen des Übertrags.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
*Wählen Sie den gewünschten Status der Leads die Sie übertragen möchten. Zum Beispiel &amp;quot;Sale&amp;quot; oder &amp;quot;Anrufbeantworter&amp;quot;.&amp;lt;br&amp;gt;&lt;br /&gt;
*Legen Sie fest, in welche Kampagne Sie diese Leads übertragen möchten.&amp;lt;br&amp;gt;&lt;br /&gt;
**Nach Auswahl der Kampagne öffnen sich weitere Einstellungsmöglichkeiten:&amp;lt;br&amp;gt;&lt;br /&gt;
**Sie können auswählen ob eine neue Liste erstellt werden soll, oder die Leads in eine vorhandene Liste geschrieben werden sollen&amp;lt;br&amp;gt;&lt;br /&gt;
**Alle Leads verlieren beim Verschieben Ihren aktuellen (alten) Status. Im folgenden Drop-Down Menü wählen Sie den neuen Status nach dem Übertrag aus (z.B. &amp;quot;NEW&amp;quot;).&lt;br /&gt;
*In der letzten Auswahl &amp;quot;Kopiermodus&amp;quot; können Sie zwischen &amp;quot;Lead verschieben&amp;quot; und &amp;quot;Lead kopieren&amp;quot; auswählen. Wählen Sie verschieben aus, so werden die Leads aus der aktuellen Kampagne gelöscht - damit gehen auch alle Informationen zu diesem Lead verloren (z.B. der Status).&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
'Unsere Empfehlung:'&lt;br /&gt;
Kopieren Sie die Leads statt Sie zu verschieben. Damit bleiben in der ursprünglichen Kampagne (aus der Sie den Übertrag machen) die Lead-Informationen wie letzte Anrufe, Status usw. erhalten. In der neuen Kampagne bzw. Liste, in die Ihre Leads verschoben wurden, wird alles zurück gesetzt. Wie oben beschrieben können Sie festlegen welchen Anfangsstatus diese Leads erhalten sollen.&lt;br /&gt;
&lt;br /&gt;
== Kampagnenstatus ==&lt;br /&gt;
=== Erstellen  ===&lt;br /&gt;
&lt;br /&gt;
mmDial bietet Ihnen die Möglichkeit eigene Status für einen Kampagne zu erstellen.&amp;lt;br&amp;gt;Dies dient einer genaueren Feststellung am Ende eines Gesprächs. Sie können beliebig viele Status erstellen. Zum Erstellen wählen Sie eine Kampagne aus und klicken im Contextmenü auf den Punkt „Kampagnen Status“. &lt;br /&gt;
&lt;br /&gt;
Hier müssen Sie nun ein Kürzel und den vollständigen Titel des Status eintragen. &lt;br /&gt;
&lt;br /&gt;
Nachdem Sie auf &amp;quot;anlegen&amp;quot; geklickt haben ist der Status erstellt. Er wird nun Ihren Agenten am Ende des Gesprächs in dieser Kampagne angezeigt und Sie haben auf die Möglichkeit gezielt nach diesem Status zu exportieren.&lt;br /&gt;
&lt;br /&gt;
=== Alle Status ansehen/löschen ===&lt;br /&gt;
&lt;br /&gt;
Um alle erstellten Status einzusehen klicken Sie auf die Schaltfläche „Vorhandene Status“. An dieser Stelle können Sie auch einen bestehenden Status wieder löschen.&lt;br /&gt;
&lt;br /&gt;
== Auftragsformular / Kampagnen Module ==&lt;br /&gt;
=== Eigenes Auftragsformular ===&lt;br /&gt;
&lt;br /&gt;
Die folgenden Felder können an ein externes eigenes Auftragsformular bzw. an ein Kampagnen-Modul übergeben werden:&lt;br /&gt;
&lt;br /&gt;
 * lead_id&lt;br /&gt;
 * title&lt;br /&gt;
 * phone&lt;br /&gt;
 * alt_phone&lt;br /&gt;
 * first_name&lt;br /&gt;
 * last_name&lt;br /&gt;
 * street&lt;br /&gt;
 * streetnr&lt;br /&gt;
 * plz&lt;br /&gt;
 * ort&lt;br /&gt;
 * notices&lt;br /&gt;
 * agentid&lt;br /&gt;
 * birthday&lt;br /&gt;
 * leadid_external&lt;br /&gt;
 * vorwahl&lt;br /&gt;
 * company_name&lt;br /&gt;
 * agent_name&lt;br /&gt;
 * campaign&lt;br /&gt;
&lt;br /&gt;
Bei Inbound-Kampagnen:&lt;br /&gt;
&lt;br /&gt;
 * target_number&lt;br /&gt;
&lt;br /&gt;
Auftragsformularfelder:&lt;br /&gt;
&lt;br /&gt;
 * __F_feldname__ - feldname ist Platzhalter für Formularfeldnamen&lt;br /&gt;
 * __FormSaveID__ - Speicherid des Formulars&lt;br /&gt;
 * __FormCreated__ - Speicherzeitpunkt des Formulars&lt;br /&gt;
&lt;br /&gt;
Spezialfelder:&lt;br /&gt;
&lt;br /&gt;
 * z.B. __STRTODATE_+1 week__ entspricht PHP's strtodate() Funktion - anzeige im Deutschen Format&lt;br /&gt;
&lt;br /&gt;
In der aufzurufenden URL werden die Felder entsprechend durch ihre Werte ersetzt, sobald die Platzhalter durch &amp;quot;__&amp;quot; eingeschlossen sind. Beispiel: __lead_id__&lt;br /&gt;
&lt;br /&gt;
Kommt in der URL der Wert &amp;quot;DOPOSTURL&amp;quot; vor, werden die Werte per HTTP POST übergeben, und der Wert &amp;quot;DOPOSTURL&amp;quot; entfernt.&lt;br /&gt;
&lt;br /&gt;
Der Wert &amp;quot;URLSTR&amp;quot; wird durch die Felder die oben beschrieben sind wie folgt ersetzt: feld1=wert1;feld2=wert2;...&lt;br /&gt;
&lt;br /&gt;
Es ist auch ein [[Beispielscript Leitfaden]] in php verfügbar.&lt;/div&gt;</summary>
		<author><name>Rath</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.mmdial.de/index.php?title=Kampagnenverwaltung&amp;diff=251</id>
		<title>Kampagnenverwaltung</title>
		<link rel="alternate" type="text/html" href="https://wiki.mmdial.de/index.php?title=Kampagnenverwaltung&amp;diff=251"/>
		<updated>2013-09-20T11:17:39Z</updated>

		<summary type="html">&lt;p&gt;Rath: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;In der Kampagnenverwaltung können Sie alle Einstellungen rund um eine Kampagne machen. Weiter können Sie hier auch Kampagnen erstellen, löschen und deaktivieren. Hier haben Sie weiter auch die Möglichkeit Kampagneneigene Status oder autom. Leadübertragung in QM-Kampagnen zu erstellen. &lt;br /&gt;
&lt;br /&gt;
== Kampagnen erstellen  ==&lt;br /&gt;
&lt;br /&gt;
Bei mmDial haben Sie neben der klassischen Outboundtelefonie auch die Möglichkeit Inboundtelefonie zu betreiben. Dies bietet Ihnen z.B. die Möglichkeit Rückrufer direkt wieder an einen Agenten zuverbinden. Bitte beachten Sie, dass die Inboundfunktion eine Zusatzleistung ist die extra bestellt werden muss. &lt;br /&gt;
&lt;br /&gt;
=== Outboundkampagne erstellen  ===&lt;br /&gt;
&lt;br /&gt;
Zum Erstellen einer Outbound-Kampagne gehen Sie bitte in der Dialerverwaltung auf die Kampagnen Seite. Hier finden Sie im linken Context-Menü den Punkt „Neue Kampagne“. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Hier müssen Sie nun, zum Erstellen einer Kampagne, alle Grundinformationen für die Kampagne eintragen. Folgendes müssen Sie angeben: &amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Kampagnenname (Aussagekräftiger Name der Kampagne)&amp;lt;br&amp;gt;[[CLIP-Rufnummer]] (Hier müssen Sie die Rufnummer eintragen, die dem Angerufenen angezeigt werden soll) &amp;lt;br&amp;gt;Aktiv (Auswählen ob Kampagne vom Erstellen an aktiv sein soll) &amp;lt;br&amp;gt;Auftragsformular (Auswählen, ob ein [[Auftragsformular]] für diese Kampagne verwendet werden soll) &amp;lt;br&amp;gt;Maximaler Adressverbrauch pro Minute &amp;lt;br&amp;gt;Neuen Anruf zu Agent (Wählen Sie aus, nach welcher Reihenfolge wartenden Agenten neue Gespräche zugeteilt werden sollen.) &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Bitte beachten Sie, dass eine Kampagne wesentlich mehr Einstellmöglichkeiten hat als nur die aufgeführten. Diese Daten, die Sie beim Erstellen eingeben müssen, sind Einstellungen, die von Ihnen gesetzt werden müssen. Alle anderen Einstellungen wurden von unserem System mit Standardwerten gesetzt, um den Erstellvorgang zu beschleunigen. Sie können später alle weiteren Einstellungen unter dem Punkt „Kampagnen / Kampagnenliste / Kampagne bearbeiten“ (Icon mit dem Schreibblock und dem Stift) einstellen.&lt;br /&gt;
&lt;br /&gt;
=== Inboundkampagne erstellen  ===&lt;br /&gt;
&lt;br /&gt;
Inbound-Kampagnen sind in der Standardversion von mmDial nicht verfügbar. Diese können Sie optional hinzubuchen. Wenden Sie sich dazu an unseren Vertrieb.&lt;br /&gt;
&lt;br /&gt;
== Kampagnen löschen  ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
WICHTIG:&lt;br /&gt;
&lt;br /&gt;
Beim Löschen von Kampagnen gehen alle in der Kampagne vorhandenen Daten verloren. Diese können nicht wieder hergestellt werden. Wenn Sie eine Kampagne löschen vergewissern Sie sich, dass Sie alle benötigten Daten exportiert haben.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Zum Löschen klicken Sie unter &amp;quot;Kampagnen&amp;quot; auf die &amp;quot;Kampagnenliste&amp;quot; und vor der zu löschenden Kampagne auf das rote X. Sie werden daraufhin nocheinmal gefragt, ob die Kampagne wirklich gelöscht werden soll. Dies können Sie mit einem &amp;quot;JA&amp;quot; bestätigen.&lt;br /&gt;
&lt;br /&gt;
== Kampagnen de/aktivieren  ==&lt;br /&gt;
Um eine Kampagne zu de- oder aktivieren gehen Sie in der Verwaltungsoberfläche in den Bereich Kampagnen. Dort wählen Sie in den Unterpunkt &amp;quot;Kampagnenliste&amp;quot; aus.&lt;br /&gt;
Hier finden Sie alle von Ihnen angelegten Kampagnen. Aktive Kampagnen haben ein blaues Männchen. Inaktive ein graues.&lt;br /&gt;
&lt;br /&gt;
Um den Status der Kampagne zu ändern klicken Sie auf das Männchen. Der Status der Kampagne ändert sich dann direkt.&lt;br /&gt;
&lt;br /&gt;
== Statusübertrag in Kampagnen  ==&lt;br /&gt;
&lt;br /&gt;
Bei mmDial haben Sie die Möglichkeit Kunden/Leads, die erfolgreich sind, direkt in eine anderen QM-Kampagne zu übertragen.&lt;br /&gt;
&lt;br /&gt;
Gehen Sie dazu in Kampagen und wählen Sie eine Kampagne aus.&amp;lt;br&amp;gt;Gehen Sie dann in der linken Navigation auf Statusübertrag.&amp;lt;br&amp;gt;Dort sehen Sie 3 Auswahlfelder zum Erstellen des Übertrags.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
*Wählen Sie den gewünschten Status der Leads die Sie übertragen möchten. Zum Beispiel &amp;quot;Sale&amp;quot; oder &amp;quot;Anrufbeantworter&amp;quot;.&amp;lt;br&amp;gt;&lt;br /&gt;
*Legen Sie fest, in welche Kampagne Sie diese Leads übertragen möchten.&amp;lt;br&amp;gt;&lt;br /&gt;
**Nach Auswahl der Kampagne öffnen sich weitere Einstellungsmöglichkeiten:&amp;lt;br&amp;gt;&lt;br /&gt;
**Sie können auswählen ob eine neue Liste erstellt werden soll, oder die Leads in eine vorhandene Liste geschrieben werden sollen&amp;lt;br&amp;gt;&lt;br /&gt;
**Alle Leads verlieren beim Verschieben Ihren aktuellen (alten) Status. Im folgenden Drop-Down Menü wählen Sie den neuen Status nach dem Übertrag aus (z.B. &amp;quot;NEW&amp;quot;).&lt;br /&gt;
*In der letzten Auswahl &amp;quot;Kopiermodus&amp;quot; können Sie zwischen &amp;quot;Lead verschieben&amp;quot; und &amp;quot;Lead kopieren&amp;quot; auswählen. Wählen Sie verschieben aus, so werden die Leads aus der aktuellen Kampagne gelöscht - damit gehen auch alle Informationen zu diesem Lead verloren (z.B. der Status).&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
'Unsere Empfehlung:'&lt;br /&gt;
Kopieren Sie die Leads statt Sie zu verschieben. Damit bleiben in der ursprünglichen Kampagne (aus der Sie den Übertrag machen) die Lead-Informationen wie letzte Anrufe, Status usw. erhalten. In der neuen Kampagne bzw. Liste, in die Ihre Leads verschoben wurden, wird alles zurück gesetzt. Wie oben beschrieben können Sie festlegen welchen Anfangsstatus diese Leads erhalten sollen.&lt;br /&gt;
&lt;br /&gt;
== Kampagnenstatus ==&lt;br /&gt;
=== Erstellen  ===&lt;br /&gt;
&lt;br /&gt;
mmDial bietet Ihnen die Möglichkeit eigene Status für einen Kampagne zu erstellen.&amp;lt;br&amp;gt;Dies dient einer genaueren Feststellung am Ende eines Gesprächs. Sie können beliebig viele Status erstellen. Zum Erstellen wählen Sie eine Kampagne aus und klicken im Contextmenü auf den Punkt „Kampagnen Status“. &lt;br /&gt;
&lt;br /&gt;
Hier müssen Sie nun ein Kürzel und den vollständigen Titel des Status eintragen. &lt;br /&gt;
&lt;br /&gt;
Nachdem Sie auf &amp;quot;anlegen&amp;quot; geklickt haben ist der Status erstellt. Er wird nun Ihren Agenten am Ende des Gesprächs in dieser Kampagne angezeigt und Sie haben auf die Möglichkeit gezielt nach diesem Status zu exportieren.&lt;br /&gt;
&lt;br /&gt;
=== Alle Status ansehen/löschen ===&lt;br /&gt;
&lt;br /&gt;
Um alle erstellten Status einzusehen klicken Sie auf die Schaltfläche „Vorhandene Status“. An dieser Stelle können Sie auch einen bestehenden Status wieder löschen.&lt;br /&gt;
&lt;br /&gt;
== Auftragsformular / Kampagnen Module ==&lt;br /&gt;
=== Eigenes Auftragsformular ===&lt;br /&gt;
&lt;br /&gt;
Die folgenden Felder können an ein externes eigenes Auftragsformular bzw. an ein Kampagnen-Modul übergeben werden:&lt;br /&gt;
&lt;br /&gt;
 * lead_id&lt;br /&gt;
 * title&lt;br /&gt;
 * phone&lt;br /&gt;
 * alt_phone&lt;br /&gt;
 * first_name&lt;br /&gt;
 * last_name&lt;br /&gt;
 * street&lt;br /&gt;
 * streetnr&lt;br /&gt;
 * plz&lt;br /&gt;
 * ort&lt;br /&gt;
 * notices&lt;br /&gt;
 * agentid&lt;br /&gt;
 * birthday&lt;br /&gt;
 * leadid_external&lt;br /&gt;
 * vorwahl&lt;br /&gt;
 * company_name&lt;br /&gt;
 * agent_name&lt;br /&gt;
 * campaign&lt;br /&gt;
&lt;br /&gt;
Bei Inbound-Kampagnen:&lt;br /&gt;
&lt;br /&gt;
 * target_number&lt;br /&gt;
&lt;br /&gt;
Auftragsformularfelder:&lt;br /&gt;
&lt;br /&gt;
 * __F_feldname__ - feldname ist Platzhalter für Formularfeldnamen&lt;br /&gt;
 * __FormSaveID__ - Speicherid des Formulars&lt;br /&gt;
 * __FormCreated__ - Speicherzeitpunkt des Formulars&lt;br /&gt;
&lt;br /&gt;
In der aufzurufenden URL werden die Felder entsprechend durch ihre Werte ersetzt, sobald die Platzhalter durch &amp;quot;__&amp;quot; eingeschlossen sind. Beispiel: __lead_id__&lt;br /&gt;
&lt;br /&gt;
Kommt in der URL der Wert &amp;quot;DOPOSTURL&amp;quot; vor, werden die Werte per HTTP POST übergeben, und der Wert &amp;quot;DOPOSTURL&amp;quot; entfernt.&lt;br /&gt;
&lt;br /&gt;
Der Wert &amp;quot;URLSTR&amp;quot; wird durch die Felder die oben beschrieben sind wie folgt ersetzt: feld1=wert1;feld2=wert2;...&lt;br /&gt;
&lt;br /&gt;
Es ist auch ein [[Beispielscript Leitfaden]] in php verfügbar.&lt;/div&gt;</summary>
		<author><name>Rath</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.mmdial.de/index.php?title=Softphone_installieren&amp;diff=250</id>
		<title>Softphone installieren</title>
		<link rel="alternate" type="text/html" href="https://wiki.mmdial.de/index.php?title=Softphone_installieren&amp;diff=250"/>
		<updated>2013-04-29T15:27:54Z</updated>

		<summary type="html">&lt;p&gt;Rath: /* Windows Firewall */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Dieser Artikel befasst sich mit der Installation von VoIP-Software und deren Einstellung und Einrichtung an mmDial. mmDial benötigt eine VoIP-Software um eine Sprachverbindung von Ihren Agenten zu unseren Servern aufzubauen. Hierfür empfehlen wir Ihnen 2 Programme die Sie auswählen können. 1. [http://de.wikipedia.org/wiki/Linphone Linphone] oder 2. [http://de.wikipedia.org/wiki/X-Lite X-Lite]. Generell Funktioniert mmDial aber mit jedem SIP-fähigen Soft- oder Hardwaretelefon. Optional kann man sich auch über ein normales Telefon einloggen. Testen Sie mit [[Listenverwaltung#Demoliste_anlegen|Demolisten]] durch einen Echotest ob alles richtig eingestellt ist.&lt;br /&gt;
&lt;br /&gt;
== Allgemeines zu Softphones  ==&lt;br /&gt;
&lt;br /&gt;
Ein [http://de.wikipedia.org/wiki/Softphone Softphone] (VoIP-Software) ist ein Programm, welches Telefonie über das Internet ermöglicht. Im Fall von mmDial wird das Softphone zur Verbindung zwischen Agent und Dialer eingesetzt.Das Softphone muss während der gesamten Arbeitszeit des Agenten laufen und die Verbindung zwischen Dialer und Agent sollte nicht unterbrochen werden. Das Einzige, dass der Agent an dem Softphone machen muss, ist das Gespräch anzunehmen, welches der Dialer beim Login des Agenten aufbaut. Über dieses eine Gespräch wird die komplette Kommunikation zwischen dem Agenten und seinem Gesprächspartner abgewickelt.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Linphone  ==&lt;br /&gt;
&lt;br /&gt;
=== Herunterladen  ===&lt;br /&gt;
&lt;br /&gt;
Linphone kann direkt von den mmDial-Servern schnell und unkompliziert heruntergeladen werden. [http://www.mmdial.de/downloads/linphone-3.4.3-setup.exe Linphone herunterladen]&lt;br /&gt;
&lt;br /&gt;
=== Installation  ===&lt;br /&gt;
&lt;br /&gt;
#Nachdem Sie das Programm heruntergeladen haben führen Sie bitte, falls nicht automatisch ausgeführt, die Datei aus und beginnen Sie mit der Installation.&amp;lt;br&amp;gt; &lt;br /&gt;
#Wenn Sie gerade nicht mit administrativen Rechten auf dem PC angemeldet sind, machen Sie bitte einen Rechtsklick auf die .exe-Datei und klicken Sie auf „Ausführen als...“ und wählen Sie in dem aufgegangen Fenster einen Administratornutzer aus.&amp;lt;br&amp;gt; &lt;br /&gt;
#Wählen Sie Ihre Sprache aus und klicken Sie in dem neuen Fenster auf „Weiter“&amp;lt;br&amp;gt; &lt;br /&gt;
#Akzeptieren Sie die Lizenzbestimmungen und klicken Sie auf „Weiter“ &lt;br /&gt;
#Wählen Sie den Installationspfad aus und klicken Sie auf „Weiter“ &lt;br /&gt;
#Nun können Sie den Startmenüeintrag einstellen. Hier können Sie einfach auf „Weiter“ klicken&lt;br /&gt;
#Wählen Sie aus ob eine Desktopverknüpfung erstellt werden soll und klicken Sie auf „Weiter“&lt;br /&gt;
#Drücken Sie nun auf „Installieren“&lt;br /&gt;
#'''Linphone wurde Installiert'''&lt;br /&gt;
#Drücken Sie auf „Fertigstellen“ (Linphone startet automatisch)&lt;br /&gt;
#Linphone startet automatisch im Video-Modus. Andern Sie den Modus auf Audio, indem Sie in der Menüleiste von Linphone auf „Modes“ klicken und dort „Audio only“ auswählen.&lt;br /&gt;
&lt;br /&gt;
=== Agenten einrichten  ===&lt;br /&gt;
&lt;br /&gt;
#Linphone startet automatisch im Video-Modus. Andern Sie den Modus auf Audio, indem Sie in der Menüleiste von Linphone auf „Modes“ klicken und dort „Audio only“ auswählen&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
#Klicken Sie nun in der Menüleiste auf „Linphone“ und dann auf den Punkt „Einstellungen“ &lt;br /&gt;
#''Ein neues Fenster für die Einstellungen öffnet sich'' &lt;br /&gt;
#Klicken Sie nun auf den Reiter „Manage SIP Accounts“ &lt;br /&gt;
#Legen Sie einen neuen Account an, indem Sie auf den „Hinzufügen“ Button drücken. &lt;br /&gt;
#Tragen Sie nun unter „Your SIP identity“ folgendes ein: &amp;lt;br&amp;gt;&amp;lt;code&amp;gt;sip:[KundenID]-[AgentenID]@mmdial.de &amp;lt;br&amp;gt;Bsp.: sip:1000-3002@mmdial.de&amp;lt;/code&amp;gt; &lt;br /&gt;
#Tragen Sie unter „SIP Proxy address“ genau das Gleiche ein wie bei „Your SIP identity“ &lt;br /&gt;
#Drücken Sie nun auf „OK“ &lt;br /&gt;
#Ein neues Fenster öffnet sich und fragt nach dem Passwort. Tragen Sie hier das Passwort des Agenten-Account ein. (Wurde beim erstellen des Agenten festgelegt) &lt;br /&gt;
#Schließen Sie im Anschluss das Fenster für die Einstellungen indem Sie auf „Done“ klicken. &lt;br /&gt;
#Alle erforderlichen Einstellungen wurden gesetzt &lt;br /&gt;
#Testen Sie nun ob Linphone ordnungsgemäß arbeitet&amp;lt;br&amp;gt; &amp;lt;code&amp;gt;Wählen Sie dazu bitte folgende Nummer: 10000. Wenn Sie eine Ansage hören ist Linphone funktionstüchtig&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Einstellungen  ===&lt;br /&gt;
&lt;br /&gt;
==== STUN Server einstellen ====&lt;br /&gt;
Wenn Sie eine Internetverbindung mit einem Router nutzen, kann es Probleme bei der Tonübertragung geben. In diesem FAll müssen Sie in Linphone einen STUN-Server eintragen.&lt;br /&gt;
&amp;lt;br&amp;gt;Gehen Sie dafür in die Einstellungen von Linphone. Hier finden Sie auf der ersten Seite ganz unten ein Feld: &amp;quot;Stun Server&amp;quot;.&amp;lt;br&amp;gt;&lt;br /&gt;
Wählen Sie nun &amp;quot;Behind NAT/Firewall (use Stun to resolve)&amp;quot; und tragen Sie hier bitte &amp;lt;code&amp;gt;stun.mmdial.de&amp;lt;/code&amp;gt; ein.&lt;br /&gt;
Starten Sie Linphone neu. Nun sollten Sie Ihren Gesprächspartner einwandfrei hören können.&lt;br /&gt;
&lt;br /&gt;
== X-Lite  ==&lt;br /&gt;
=== Herunterladen  ===&lt;br /&gt;
&lt;br /&gt;
X-Lite kann direkt von den mmDial-Servern schnell und unkompliziert heruntergeladen werden. [http://www.mmdial.de/downloads/X-Lite_Win32_1003l_30942.exe X-Lite herunterladen]&lt;br /&gt;
&lt;br /&gt;
=== Installation  ===&lt;br /&gt;
&lt;br /&gt;
#Wenn Sie gerade nicht mit administrativen Rechten auf dem PC angemeldet sind, machen Sie bitte einen Rechtsklick auf die .exe-Datei und klicken Sie auf „Ausführen als...“ und wählen Sie in dem aufgegangen Fenster einen Administratornutzer aus &lt;br /&gt;
#Nun startet das Installationsprogramm &lt;br /&gt;
#Befolgen Sie nun bitte folgende Schritte: &lt;br /&gt;
#Klicken Sie auf „Next“ um den Installationsvorgang zu beginnen &lt;br /&gt;
#Akzeptieren Sie die Lizenzbestimmungen und klicken Sie auf „Next“ &lt;br /&gt;
#Wählen Sie den Installationspfad aus und klicken Sie auf „Next“ &lt;br /&gt;
#Jetzt können Sie z.B. auswählen ob eine Desktopverknüfung bei der Installation erstellt werden soll. Klicken Sie wieder auf „Next“ &lt;br /&gt;
#Nun wird das Programm auf dem PC installiert &lt;br /&gt;
#Sie werden nun aufgefordert den PC neu zu starten. Klicken Sie auf „Finish“, um den PC neu zu starten &lt;br /&gt;
#Nach dem Neustart ist X-Lite auf dem PC installiert&lt;br /&gt;
&lt;br /&gt;
=== Agenten einrichten  ===&lt;br /&gt;
&lt;br /&gt;
#Starten Sie nun X-Lite um die Konfiguration vor zu nehmen &lt;br /&gt;
#Sie werden gefragt ob Sie einen neuen Account anlegen möchten, da kein Account eingetragen ist. Klicken Sie hier auf „JA“ &lt;br /&gt;
#Nun öffnet sich ein Fenster mit einer Liste (Diese Liste sollte leer sein). &lt;br /&gt;
#Klicken Sie auf der rechten Seite des Fensters auf den Button „Add“ &lt;br /&gt;
#Ein neues Fenster öffnet sich (Hier können Sie nun einen Agenten-Account eintragen.) &lt;br /&gt;
#Tragen Sie in folgende Felder diese Daten ein:&amp;lt;br&amp;gt;User Name: Login des Agenten. (z.B. '''1000-3002''')&amp;lt;br&amp;gt;Password: Passwort des Agenten. (Wurde beim Erstellen festgelegt)&amp;lt;br&amp;gt;Domain: '''mmdial.de''' Bitte wählen Sie unter „Send outbound via“ die Option „domain“ aus &lt;br /&gt;
#Wechseln Sie zum den Reiter &amp;quot;Topology&amp;quot; und tragen Sie bei STUN Server / Use specified server folgende Adresse ein: '''stun.mmdial.de'''&lt;br /&gt;
#''Alle erforderlichen Einstellungen wurden gesetzt'' &lt;br /&gt;
#Klicken Sie auf „OK“ und schließen Sie die Liste mit den Accounts&lt;br /&gt;
&lt;br /&gt;
=== Einstellungen ===&lt;br /&gt;
&lt;br /&gt;
== Bekannte Probleme ==&lt;br /&gt;
&lt;br /&gt;
=== Windows Firewall ===&lt;br /&gt;
Häufig kommt es vor, dass eine aktive Windows-Firewall Probleme bei der Sprachübertragung hervorruft.&lt;br /&gt;
Aus diesem Grund versuchen Sie bitte, falls der Fall eintritt, dass Sie den Gesprächspartner oder der Gesprächspartner Sie nicht hört, die Windows-Firewall zu deaktivieren und testen Sie ob es nun Problemlos geht. Eine deaktivierung der Firewall birgt einige Risiken, die Sie mit Ihrem Administrator besprechen sollten.&lt;br /&gt;
&lt;br /&gt;
Unter Umständen hilft auch eine Änderung des SIP-Ports. Wir bieten zusätzlich zum Standard-SIP-Port 5060 den port 5070 an. SIP über TCP wird nicht angeboten. Dies hilft oft auch bei [[Liste Fehlerhafter Router|fehlerhaften Routern]].&lt;br /&gt;
&lt;br /&gt;
[[Fehlerquellen_bei_Softphones|Weitere Fehlerquellen bei Softphones]]&lt;/div&gt;</summary>
		<author><name>Rath</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.mmdial.de/index.php?title=Softphone_installieren&amp;diff=249</id>
		<title>Softphone installieren</title>
		<link rel="alternate" type="text/html" href="https://wiki.mmdial.de/index.php?title=Softphone_installieren&amp;diff=249"/>
		<updated>2013-04-29T15:19:27Z</updated>

		<summary type="html">&lt;p&gt;Rath: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Dieser Artikel befasst sich mit der Installation von VoIP-Software und deren Einstellung und Einrichtung an mmDial. mmDial benötigt eine VoIP-Software um eine Sprachverbindung von Ihren Agenten zu unseren Servern aufzubauen. Hierfür empfehlen wir Ihnen 2 Programme die Sie auswählen können. 1. [http://de.wikipedia.org/wiki/Linphone Linphone] oder 2. [http://de.wikipedia.org/wiki/X-Lite X-Lite]. Generell Funktioniert mmDial aber mit jedem SIP-fähigen Soft- oder Hardwaretelefon. Optional kann man sich auch über ein normales Telefon einloggen. Testen Sie mit [[Listenverwaltung#Demoliste_anlegen|Demolisten]] durch einen Echotest ob alles richtig eingestellt ist.&lt;br /&gt;
&lt;br /&gt;
== Allgemeines zu Softphones  ==&lt;br /&gt;
&lt;br /&gt;
Ein [http://de.wikipedia.org/wiki/Softphone Softphone] (VoIP-Software) ist ein Programm, welches Telefonie über das Internet ermöglicht. Im Fall von mmDial wird das Softphone zur Verbindung zwischen Agent und Dialer eingesetzt.Das Softphone muss während der gesamten Arbeitszeit des Agenten laufen und die Verbindung zwischen Dialer und Agent sollte nicht unterbrochen werden. Das Einzige, dass der Agent an dem Softphone machen muss, ist das Gespräch anzunehmen, welches der Dialer beim Login des Agenten aufbaut. Über dieses eine Gespräch wird die komplette Kommunikation zwischen dem Agenten und seinem Gesprächspartner abgewickelt.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Linphone  ==&lt;br /&gt;
&lt;br /&gt;
=== Herunterladen  ===&lt;br /&gt;
&lt;br /&gt;
Linphone kann direkt von den mmDial-Servern schnell und unkompliziert heruntergeladen werden. [http://www.mmdial.de/downloads/linphone-3.4.3-setup.exe Linphone herunterladen]&lt;br /&gt;
&lt;br /&gt;
=== Installation  ===&lt;br /&gt;
&lt;br /&gt;
#Nachdem Sie das Programm heruntergeladen haben führen Sie bitte, falls nicht automatisch ausgeführt, die Datei aus und beginnen Sie mit der Installation.&amp;lt;br&amp;gt; &lt;br /&gt;
#Wenn Sie gerade nicht mit administrativen Rechten auf dem PC angemeldet sind, machen Sie bitte einen Rechtsklick auf die .exe-Datei und klicken Sie auf „Ausführen als...“ und wählen Sie in dem aufgegangen Fenster einen Administratornutzer aus.&amp;lt;br&amp;gt; &lt;br /&gt;
#Wählen Sie Ihre Sprache aus und klicken Sie in dem neuen Fenster auf „Weiter“&amp;lt;br&amp;gt; &lt;br /&gt;
#Akzeptieren Sie die Lizenzbestimmungen und klicken Sie auf „Weiter“ &lt;br /&gt;
#Wählen Sie den Installationspfad aus und klicken Sie auf „Weiter“ &lt;br /&gt;
#Nun können Sie den Startmenüeintrag einstellen. Hier können Sie einfach auf „Weiter“ klicken&lt;br /&gt;
#Wählen Sie aus ob eine Desktopverknüpfung erstellt werden soll und klicken Sie auf „Weiter“&lt;br /&gt;
#Drücken Sie nun auf „Installieren“&lt;br /&gt;
#'''Linphone wurde Installiert'''&lt;br /&gt;
#Drücken Sie auf „Fertigstellen“ (Linphone startet automatisch)&lt;br /&gt;
#Linphone startet automatisch im Video-Modus. Andern Sie den Modus auf Audio, indem Sie in der Menüleiste von Linphone auf „Modes“ klicken und dort „Audio only“ auswählen.&lt;br /&gt;
&lt;br /&gt;
=== Agenten einrichten  ===&lt;br /&gt;
&lt;br /&gt;
#Linphone startet automatisch im Video-Modus. Andern Sie den Modus auf Audio, indem Sie in der Menüleiste von Linphone auf „Modes“ klicken und dort „Audio only“ auswählen&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
#Klicken Sie nun in der Menüleiste auf „Linphone“ und dann auf den Punkt „Einstellungen“ &lt;br /&gt;
#''Ein neues Fenster für die Einstellungen öffnet sich'' &lt;br /&gt;
#Klicken Sie nun auf den Reiter „Manage SIP Accounts“ &lt;br /&gt;
#Legen Sie einen neuen Account an, indem Sie auf den „Hinzufügen“ Button drücken. &lt;br /&gt;
#Tragen Sie nun unter „Your SIP identity“ folgendes ein: &amp;lt;br&amp;gt;&amp;lt;code&amp;gt;sip:[KundenID]-[AgentenID]@mmdial.de &amp;lt;br&amp;gt;Bsp.: sip:1000-3002@mmdial.de&amp;lt;/code&amp;gt; &lt;br /&gt;
#Tragen Sie unter „SIP Proxy address“ genau das Gleiche ein wie bei „Your SIP identity“ &lt;br /&gt;
#Drücken Sie nun auf „OK“ &lt;br /&gt;
#Ein neues Fenster öffnet sich und fragt nach dem Passwort. Tragen Sie hier das Passwort des Agenten-Account ein. (Wurde beim erstellen des Agenten festgelegt) &lt;br /&gt;
#Schließen Sie im Anschluss das Fenster für die Einstellungen indem Sie auf „Done“ klicken. &lt;br /&gt;
#Alle erforderlichen Einstellungen wurden gesetzt &lt;br /&gt;
#Testen Sie nun ob Linphone ordnungsgemäß arbeitet&amp;lt;br&amp;gt; &amp;lt;code&amp;gt;Wählen Sie dazu bitte folgende Nummer: 10000. Wenn Sie eine Ansage hören ist Linphone funktionstüchtig&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Einstellungen  ===&lt;br /&gt;
&lt;br /&gt;
==== STUN Server einstellen ====&lt;br /&gt;
Wenn Sie eine Internetverbindung mit einem Router nutzen, kann es Probleme bei der Tonübertragung geben. In diesem FAll müssen Sie in Linphone einen STUN-Server eintragen.&lt;br /&gt;
&amp;lt;br&amp;gt;Gehen Sie dafür in die Einstellungen von Linphone. Hier finden Sie auf der ersten Seite ganz unten ein Feld: &amp;quot;Stun Server&amp;quot;.&amp;lt;br&amp;gt;&lt;br /&gt;
Wählen Sie nun &amp;quot;Behind NAT/Firewall (use Stun to resolve)&amp;quot; und tragen Sie hier bitte &amp;lt;code&amp;gt;stun.mmdial.de&amp;lt;/code&amp;gt; ein.&lt;br /&gt;
Starten Sie Linphone neu. Nun sollten Sie Ihren Gesprächspartner einwandfrei hören können.&lt;br /&gt;
&lt;br /&gt;
== X-Lite  ==&lt;br /&gt;
=== Herunterladen  ===&lt;br /&gt;
&lt;br /&gt;
X-Lite kann direkt von den mmDial-Servern schnell und unkompliziert heruntergeladen werden. [http://www.mmdial.de/downloads/X-Lite_Win32_1003l_30942.exe X-Lite herunterladen]&lt;br /&gt;
&lt;br /&gt;
=== Installation  ===&lt;br /&gt;
&lt;br /&gt;
#Wenn Sie gerade nicht mit administrativen Rechten auf dem PC angemeldet sind, machen Sie bitte einen Rechtsklick auf die .exe-Datei und klicken Sie auf „Ausführen als...“ und wählen Sie in dem aufgegangen Fenster einen Administratornutzer aus &lt;br /&gt;
#Nun startet das Installationsprogramm &lt;br /&gt;
#Befolgen Sie nun bitte folgende Schritte: &lt;br /&gt;
#Klicken Sie auf „Next“ um den Installationsvorgang zu beginnen &lt;br /&gt;
#Akzeptieren Sie die Lizenzbestimmungen und klicken Sie auf „Next“ &lt;br /&gt;
#Wählen Sie den Installationspfad aus und klicken Sie auf „Next“ &lt;br /&gt;
#Jetzt können Sie z.B. auswählen ob eine Desktopverknüfung bei der Installation erstellt werden soll. Klicken Sie wieder auf „Next“ &lt;br /&gt;
#Nun wird das Programm auf dem PC installiert &lt;br /&gt;
#Sie werden nun aufgefordert den PC neu zu starten. Klicken Sie auf „Finish“, um den PC neu zu starten &lt;br /&gt;
#Nach dem Neustart ist X-Lite auf dem PC installiert&lt;br /&gt;
&lt;br /&gt;
=== Agenten einrichten  ===&lt;br /&gt;
&lt;br /&gt;
#Starten Sie nun X-Lite um die Konfiguration vor zu nehmen &lt;br /&gt;
#Sie werden gefragt ob Sie einen neuen Account anlegen möchten, da kein Account eingetragen ist. Klicken Sie hier auf „JA“ &lt;br /&gt;
#Nun öffnet sich ein Fenster mit einer Liste (Diese Liste sollte leer sein). &lt;br /&gt;
#Klicken Sie auf der rechten Seite des Fensters auf den Button „Add“ &lt;br /&gt;
#Ein neues Fenster öffnet sich (Hier können Sie nun einen Agenten-Account eintragen.) &lt;br /&gt;
#Tragen Sie in folgende Felder diese Daten ein:&amp;lt;br&amp;gt;User Name: Login des Agenten. (z.B. '''1000-3002''')&amp;lt;br&amp;gt;Password: Passwort des Agenten. (Wurde beim Erstellen festgelegt)&amp;lt;br&amp;gt;Domain: '''mmdial.de''' Bitte wählen Sie unter „Send outbound via“ die Option „domain“ aus &lt;br /&gt;
#Wechseln Sie zum den Reiter &amp;quot;Topology&amp;quot; und tragen Sie bei STUN Server / Use specified server folgende Adresse ein: '''stun.mmdial.de'''&lt;br /&gt;
#''Alle erforderlichen Einstellungen wurden gesetzt'' &lt;br /&gt;
#Klicken Sie auf „OK“ und schließen Sie die Liste mit den Accounts&lt;br /&gt;
&lt;br /&gt;
=== Einstellungen ===&lt;br /&gt;
&lt;br /&gt;
== Bekannte Probleme ==&lt;br /&gt;
&lt;br /&gt;
=== Windows Firewall ===&lt;br /&gt;
Häufig kommt es vor, dass eine aktive Windows-Firewall Probleme bei der Sprachübertragung hervorruft.&lt;br /&gt;
Aus diesem Grund versuchen Sie bitte, falls der Fall eintritt, dass Sie den Gesprächspartner oder der Gesprächspartner Sie nicht hört, die Windows-Firewall zu deaktivieren und testen Sie ob es nun Problemlos geht. Eine deaktivierung der Firewall birgt einige Risiken, die Sie mit Ihrem Administrator besprechen sollten.&lt;br /&gt;
&lt;br /&gt;
Unter Umständen hilft auch eine Änderung des SIP-Ports. Wir bieten zusätzlich zum Standard-SIP-Port 5060 den port 5070 an. SIP über TCP wird nicht angeboten. Dies hilft oft auch bei [[Liste Fehlerhafter Router|fehlerhaften Routern]].&lt;br /&gt;
&lt;br /&gt;
[[Fehlerquellen_bei_Softphones|Weitere Fehlerquellen bei Softphones]]&lt;br /&gt;
&lt;br /&gt;
[[Firewall_Einstellungen|Firewall Einstellungen]]&lt;/div&gt;</summary>
		<author><name>Rath</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.mmdial.de/index.php?title=API&amp;diff=248</id>
		<title>API</title>
		<link rel="alternate" type="text/html" href="https://wiki.mmdial.de/index.php?title=API&amp;diff=248"/>
		<updated>2013-03-05T09:13:02Z</updated>

		<summary type="html">&lt;p&gt;Rath: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;mmDial bietet ein umfangreiches API zur Anbindung externer Software.&lt;br /&gt;
&lt;br /&gt;
Viele Schnittstellen sind bislang undokumentiert. Sollten Sie eine weitere Schnittstelle benötigen,&lt;br /&gt;
wenden Sie sich bitte an unseren Support!&lt;br /&gt;
Die API befindet sich nocht im Alpha-Stadium. Die Dokumentation kann fehlerhaft sein, und Schnittstellen können&lt;br /&gt;
sich jederzeit ändern!&lt;br /&gt;
&lt;br /&gt;
Sie können auf einfache Weise auch externe CRM-Systeme direkt in das Agenteninterface einbinden.&lt;br /&gt;
Verwenden Sie hierzu die &amp;quot;Kampagnen Module&amp;quot; zu finden unter Kampagnen -&amp;gt; Kampagne auswählen -&amp;gt; Kampagnen Module.&lt;br /&gt;
Eine kleine Erklärung und ein Beispielscript finden Sie unter [[Kampagnenverwaltung#Eigenes_Auftragsformular|Eigenes Auftrasformular]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Allgemeines ==&lt;br /&gt;
&lt;br /&gt;
 * Die mmDial API ist über http://login.mmdial.de/api/ zu erreichen.&lt;br /&gt;
 * Die API benutzt die Standard HTTP Authentication.&lt;br /&gt;
 * Als Benutzername wird ein Benutzer mit Adminrechten verwendet&lt;br /&gt;
 * Es werden je nach Funktion HTTP GET und HTTP POST Argumente übergeben&lt;br /&gt;
 * Rückmeldungen erfolgen in der Regel als json Objekt&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Funktionen ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== searchvoicebyleadid ===&lt;br /&gt;
&lt;br /&gt;
Sucht eine Voice-Aufnahme über die Lead-ID des Kunden.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * leadid (GET) - die zu suchende Lead-ID&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: ok|error&lt;br /&gt;
 * msg: (nur bei error)&lt;br /&gt;
 * voices: json Objekt:&lt;br /&gt;
  * recid: Aufnahme-ID&lt;br /&gt;
  * agentid: Agenten-ID&lt;br /&gt;
  * timestamp: Der Zeitstempel der Aufnahme&lt;br /&gt;
  * available: yes|no yes, wenn die Datei schon/noch abrufbar ist.&lt;br /&gt;
  * voiceid: Dateiinterne ID&lt;br /&gt;
  * url: Url um die Datei herunterzuladen.&lt;br /&gt;
  * length: Abspiellänge der Aufzeichnung&lt;br /&gt;
  * size: Größe der Aufzeichnung&lt;br /&gt;
&lt;br /&gt;
=== searchvoicebyphonenumber ===&lt;br /&gt;
&lt;br /&gt;
Sucht eine Voice-Aufnahme über die Telefonnummer des Kunden.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * phone(GET) - die zu suchende Telefonnummer&lt;br /&gt;
 * date (GET, optional) - Datum im Format YYYY-MM-DD&lt;br /&gt;
 * timestamp (GET, optional) - Timestamp im Format YYYMMDDHHIISS&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: ok|error&lt;br /&gt;
 * msg: (nur bei error)&lt;br /&gt;
 * voices: json Objekt:&lt;br /&gt;
  * recid: Aufnahme-ID&lt;br /&gt;
  * agentid: Agenten-ID&lt;br /&gt;
  * timestamp: Der Zeitstempel der Aufnahme&lt;br /&gt;
  * available: yes|no yes, wenn die Datei schon/noch abrufbar ist.&lt;br /&gt;
  * voiceid: Dateiinterne ID&lt;br /&gt;
  * url: Url um die Datei herunterzuladen.&lt;br /&gt;
  * length: Abspiellänge der Aufzeichnung&lt;br /&gt;
  * size: Größe der Aufzeichnung&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== searchvoicebyagent ===&lt;br /&gt;
&lt;br /&gt;
Sucht eine Voice-Aufnahme über die Agenten-ID.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * agentid(GET) - die zu Agenten-ID&lt;br /&gt;
 * date (GET, optional) - Datum im Format YYYY-MM-DD&lt;br /&gt;
 * timestamp (GET, optional) - Timestamp im Format YYYMMDDHHIISS&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: ok|error&lt;br /&gt;
 * msg: (nur bei error)&lt;br /&gt;
 * voices: json Objekt:&lt;br /&gt;
  * recid: Aufnahme-ID&lt;br /&gt;
  * agentid: Agenten-ID&lt;br /&gt;
  * timestamp: Der Zeitstempel der Aufnahme&lt;br /&gt;
  * available: yes|no yes, wenn die Datei schon/noch abrufbar ist.&lt;br /&gt;
  * voiceid: Dateiinterne ID&lt;br /&gt;
  * url: Url um die Datei herunterzuladen.&lt;br /&gt;
  * length: Abspiellänge der Aufzeichnung&lt;br /&gt;
  * size: Größe der Aufzeichnung&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== getfieldsbycampaign===&lt;br /&gt;
&lt;br /&gt;
Gibt alle Auftragsformularfelder einer Kampagne zurück.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * campaign_id (GET) - die Kampagnen-ID&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * fields - json Objektliste:&lt;br /&gt;
  * name: Feldname&lt;br /&gt;
&lt;br /&gt;
=== exportbystatus ===&lt;br /&gt;
&lt;br /&gt;
Erstellt eine Exportdatei aus verschiedenen Kriterien als CSV.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * campaign_id (GET) - die Kampagnen-ID&lt;br /&gt;
 * status (GET Array, optional) - die zu Exportierenden Status&lt;br /&gt;
 * datetype: (GET, optional) last_phone|last_edit|imported_date (GET Array, optional)&lt;br /&gt;
 * fromdate: (GET, optional) Datum beginn: d.m.Y&lt;br /&gt;
 * fromtime: (GET, optional) Uhrzeit beginn: H:i:s&lt;br /&gt;
 * todate: (GET, optional) Datum ende: d.m.Y&lt;br /&gt;
 * totime: (GET, optional) Uhrzeit ende: H:i:s&lt;br /&gt;
 * selectedfields: (GET/POST) Feldauswahlliste getrennt durch , (Kommata) Prefix für Normale Felder: customerfield_, Prefix für Auftragsformularfelder: webformfield_&lt;br /&gt;
 * encoding: (GET/POST, optional) Datei-Encoding (Standard: iso-8859-1) ISO-8859-1,Windows-1252,UTF-8&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: ok|error&lt;br /&gt;
 * file_id: Datei-ID&lt;br /&gt;
 * size: Datei-Größe&lt;br /&gt;
 * url: Datei-URL&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== dncadd ===&lt;br /&gt;
&lt;br /&gt;
Fügt eine oder mehrere Nummern der Sperrliste hinzu&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * number (GET (Optional: mehrere durch , getrennt))&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: ok|error|doublet&lt;br /&gt;
 * message&lt;br /&gt;
&lt;br /&gt;
=== dncdel ===&lt;br /&gt;
&lt;br /&gt;
Löscht eine, oder mehrere Nummern aus der Sperrliste.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * number (GET (Optional: mehrere durch , getrennt))&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: ok|error&lt;br /&gt;
 * message&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== dncget ===&lt;br /&gt;
&lt;br /&gt;
Gibt die Sperrliste als CSV Datei zurück&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
''keine''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
CSV-Datei mit allen gesperrten Rufnummern&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== dnccheck ===&lt;br /&gt;
&lt;br /&gt;
Sucht eine Nummer in der DNC-Liste&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * number (GET)&lt;br /&gt;
 * fuzzy: yes|no (GET, optional) Sucht auch nach Teilnummern.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: exists|notfound (bei fuzzy = no)&lt;br /&gt;
 * results: Liste mit passenden Telefonnummern (bei fuzzy = yes)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== getleadbyid ===&lt;br /&gt;
&lt;br /&gt;
Suche einen Lead über die LeadID und gibt die Lead-Details sowie das letzte Auftragsformular zurück.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * leadid(GET)&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: found|notfound&lt;br /&gt;
 * lead_data: json Objekt mit Lead-Daten&lt;br /&gt;
 * formdata: json Objekt mit Auftragsformular-Daten&lt;br /&gt;
&lt;br /&gt;
=== getleadbyphonenumber ===&lt;br /&gt;
&lt;br /&gt;
Suche einen Lead über die Telefonnummer und gibt die Lead-Details sowie das letzte Auftragsformular zurück.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * leadid(GET)&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: found|notfound&lt;br /&gt;
 * lead_data: json Objekt Array mit Lead-Daten&lt;br /&gt;
 * formdata: json Objekt Array mit Auftragsformular-Daten&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== getleadbypexternalid ===&lt;br /&gt;
&lt;br /&gt;
Suche einen Lead über die externe Lead-ID und gibt die Lead-Details sowie das letzte Auftragsformular zurück.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * leadid(GET)&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: found|notfound&lt;br /&gt;
 * lead_data: json Objekt Array mit Lead-Daten&lt;br /&gt;
 * formdata: json Objekt Array mit Auftragsformular-Daten&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== addlist ===&lt;br /&gt;
&lt;br /&gt;
Füge eine Liste hinzu.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * campaignID (POST)&lt;br /&gt;
 * description (POST)&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: ok|error&lt;br /&gt;
 * listid: ID der erstellten Liste (nur bei ok)&lt;br /&gt;
 * reason: Fehlergrund (nur bei error)&lt;br /&gt;
&lt;br /&gt;
=== addlead ===&lt;br /&gt;
&lt;br /&gt;
Füge einen Lead hinzu.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * campaign_id (POST)&lt;br /&gt;
 * invalidcheck (POST) yes|no&lt;br /&gt;
 * doubletcheck_global (POST) yes|no&lt;br /&gt;
 * doubletcheck_campaign (POST) yes|no&lt;br /&gt;
 * list_id (POST)&lt;br /&gt;
 * country_phone_code (POST)&lt;br /&gt;
 * leaddata (POST, Array)&lt;br /&gt;
  * title&lt;br /&gt;
  * phone&lt;br /&gt;
  * alt_phone&lt;br /&gt;
  * first_name&lt;br /&gt;
  * last_name&lt;br /&gt;
  * birthdate&lt;br /&gt;
  * country&lt;br /&gt;
  * street&lt;br /&gt;
  * streetnr&lt;br /&gt;
  * addradd&lt;br /&gt;
  * plz&lt;br /&gt;
  * ort&lt;br /&gt;
  * notices&lt;br /&gt;
  * leadid_external&lt;br /&gt;
  * company_name&lt;br /&gt;
 * formfields (POST, Array)&lt;br /&gt;
  * (Auftragsformularfelder, frei)&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * lead_stats: json Objekt&lt;br /&gt;
  * success&lt;br /&gt;
  * error&lt;br /&gt;
  * sqlerror&lt;br /&gt;
  * formaterror&lt;br /&gt;
  * doubleterror&lt;br /&gt;
  * invaliderror&lt;br /&gt;
  * formaterror_types: json Objekt&lt;br /&gt;
   * (diverse)&lt;br /&gt;
&lt;br /&gt;
=== editlead ===&lt;br /&gt;
&lt;br /&gt;
Füge einen Lead hinzu.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * campaign_id (GET)&lt;br /&gt;
 * leadid(GET)&lt;br /&gt;
 * leaddata (POST, Array)&lt;br /&gt;
  * title&lt;br /&gt;
  * phone&lt;br /&gt;
  * alt_phone&lt;br /&gt;
  * first_name&lt;br /&gt;
  * last_name&lt;br /&gt;
  * birthdate&lt;br /&gt;
  * country&lt;br /&gt;
  * street&lt;br /&gt;
  * streetnr&lt;br /&gt;
  * addradd&lt;br /&gt;
  * plz&lt;br /&gt;
  * ort&lt;br /&gt;
  * notices&lt;br /&gt;
  * leadid_external&lt;br /&gt;
  * company_name&lt;br /&gt;
  * rotation&lt;br /&gt;
  * status&lt;br /&gt;
 * formfields (POST, Array)&lt;br /&gt;
  * (Auftragsformularfelder, frei)&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status ok|error&lt;br /&gt;
 * reason (Bei Fehlern) Fehlergrund&lt;/div&gt;</summary>
		<author><name>Rath</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.mmdial.de/index.php?title=API&amp;diff=247</id>
		<title>API</title>
		<link rel="alternate" type="text/html" href="https://wiki.mmdial.de/index.php?title=API&amp;diff=247"/>
		<updated>2013-03-05T09:05:57Z</updated>

		<summary type="html">&lt;p&gt;Rath: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;mmDial bietet ein umfangreiches API zur Anbindung externer Software.&lt;br /&gt;
&lt;br /&gt;
Viele Schnittstellen sind bislang undokumentiert. Sollten Sie eine weitere Schnittstelle benötigen,&lt;br /&gt;
wenden Sie sich bitte an unseren Support!&lt;br /&gt;
Die API befindet sich nocht im Alpha-Stadium. Die Dokumentation kann fehlerhaft sein, und Schnittstellen können&lt;br /&gt;
sich jederzeit ändern!&lt;br /&gt;
&lt;br /&gt;
Sie können auf einfache Weise auch externe CRM-Systeme direkt in das Agenteninterface einbinden.&lt;br /&gt;
Verwenden Sie hierzu die &amp;quot;Kampagnen Module&amp;quot; zu finden unter Kampagnen -&amp;gt; Kampagne auswählen -&amp;gt; Kampagnen Module.&lt;br /&gt;
Eine kleine Erklärung und ein Beispielscript finden Sie unter [[Kampagnenverwaltung#Eigenes_Auftragsformular|Eigenes Auftrasformular]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Allgemeines ==&lt;br /&gt;
&lt;br /&gt;
 * Die mmDial API ist über http://login.mmdial.de/api/ zu erreichen.&lt;br /&gt;
 * Die API benutzt die Standard HTTP Authentication.&lt;br /&gt;
 * Als Benutzername wird ein Benutzer mit Adminrechten verwendet&lt;br /&gt;
 * Es werden je nach Funktion HTTP GET und HTTP POST Argumente übergeben&lt;br /&gt;
 * Rückmeldungen erfolgen in der Regel als json Objekt&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Funktionen ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== searchvoicebyleadid ===&lt;br /&gt;
&lt;br /&gt;
Sucht eine Voice-Aufnahme über die Lead-ID des Kunden.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * leadid (GET) - die zu suchende Lead-ID&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: ok|error&lt;br /&gt;
 * msg: (nur bei error)&lt;br /&gt;
 * voices: json Objekt:&lt;br /&gt;
  * recid: Aufnahme-ID&lt;br /&gt;
  * agentid: Agenten-ID&lt;br /&gt;
  * timestamp: Der Zeitstempel der Aufnahme&lt;br /&gt;
  * available: yes|no yes, wenn die Datei schon/noch abrufbar ist.&lt;br /&gt;
  * voiceid: Dateiinterne ID&lt;br /&gt;
  * url: Url um die Datei herunterzuladen.&lt;br /&gt;
  * length: Abspiellänge der Aufzeichnung&lt;br /&gt;
  * size: Größe der Aufzeichnung&lt;br /&gt;
&lt;br /&gt;
=== searchvoicebyphonenumber ===&lt;br /&gt;
&lt;br /&gt;
Sucht eine Voice-Aufnahme über die Telefonnummer des Kunden.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * phone(GET) - die zu suchende Telefonnummer&lt;br /&gt;
 * date (GET, optional) - Datum im Format YYYY-MM-DD&lt;br /&gt;
 * timestamp (GET, optional) - Timestamp im Format YYYMMDDHHIISS&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: ok|error&lt;br /&gt;
 * msg: (nur bei error)&lt;br /&gt;
 * voices: json Objekt:&lt;br /&gt;
  * recid: Aufnahme-ID&lt;br /&gt;
  * agentid: Agenten-ID&lt;br /&gt;
  * timestamp: Der Zeitstempel der Aufnahme&lt;br /&gt;
  * available: yes|no yes, wenn die Datei schon/noch abrufbar ist.&lt;br /&gt;
  * voiceid: Dateiinterne ID&lt;br /&gt;
  * url: Url um die Datei herunterzuladen.&lt;br /&gt;
  * length: Abspiellänge der Aufzeichnung&lt;br /&gt;
  * size: Größe der Aufzeichnung&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== searchvoicebyagent ===&lt;br /&gt;
&lt;br /&gt;
Sucht eine Voice-Aufnahme über die Agenten-ID.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * agentid(GET) - die zu Agenten-ID&lt;br /&gt;
 * date (GET, optional) - Datum im Format YYYY-MM-DD&lt;br /&gt;
 * timestamp (GET, optional) - Timestamp im Format YYYMMDDHHIISS&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: ok|error&lt;br /&gt;
 * msg: (nur bei error)&lt;br /&gt;
 * voices: json Objekt:&lt;br /&gt;
  * recid: Aufnahme-ID&lt;br /&gt;
  * agentid: Agenten-ID&lt;br /&gt;
  * timestamp: Der Zeitstempel der Aufnahme&lt;br /&gt;
  * available: yes|no yes, wenn die Datei schon/noch abrufbar ist.&lt;br /&gt;
  * voiceid: Dateiinterne ID&lt;br /&gt;
  * url: Url um die Datei herunterzuladen.&lt;br /&gt;
  * length: Abspiellänge der Aufzeichnung&lt;br /&gt;
  * size: Größe der Aufzeichnung&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== getfieldsbycampaign===&lt;br /&gt;
&lt;br /&gt;
Gibt alle Auftragsformularfelder einer Kampagne zurück.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * campaign_id (GET) - die Kampagnen-ID&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * fields - json Objektliste:&lt;br /&gt;
  * name: Feldname&lt;br /&gt;
&lt;br /&gt;
=== exportbystatus ===&lt;br /&gt;
&lt;br /&gt;
Erstellt eine Exportdatei aus verschiedenen Kriterien als CSV.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * campaign_id (GET) - die Kampagnen-ID&lt;br /&gt;
 * status (GET Array, optional) - die zu Exportierenden Status&lt;br /&gt;
 * datetype: (GET, optional) last_phone|last_edit|imported_date (GET Array, optional)&lt;br /&gt;
 * fromdate: (GET, optional) Datum beginn: d.m.Y&lt;br /&gt;
 * fromtime: (GET, optional) Uhrzeit beginn: H:i:s&lt;br /&gt;
 * todate: (GET, optional) Datum ende: d.m.Y&lt;br /&gt;
 * totime: (GET, optional) Uhrzeit ende: H:i:s&lt;br /&gt;
 * selectedfields: (GET/POST) Feldauswahlliste getrennt durch , (Kommata) Prefix für Normale Felder: customerfield_, Prefix für Auftragsformularfelder: webformfield_&lt;br /&gt;
 * encoding: (GET/POST, optional) Datei-Encoding (Standard: iso-8859-1) ISO-8859-1,Windows-1252,UTF-8&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: ok|error&lt;br /&gt;
 * file_id: Datei-ID&lt;br /&gt;
 * size: Datei-Größe&lt;br /&gt;
 * url: Datei-URL&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== dncadd ===&lt;br /&gt;
&lt;br /&gt;
Fügt eine oder mehrere Nummern der Sperrliste hinzu&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * number (GET (Optional: mehrere durch , getrennt))&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: ok|error|doublet&lt;br /&gt;
 * message&lt;br /&gt;
&lt;br /&gt;
=== dncdel ===&lt;br /&gt;
&lt;br /&gt;
Löscht eine, oder mehrere Nummern aus der Sperrliste.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * number (GET (Optional: mehrere durch , getrennt))&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: ok|error&lt;br /&gt;
 * message&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== dncget ===&lt;br /&gt;
&lt;br /&gt;
Gibt die Sperrliste als CSV Datei zurück&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
''keine''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
CSV-Datei mit allen gesperrten Rufnummern&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== dnccheck ===&lt;br /&gt;
&lt;br /&gt;
Sucht eine Nummer in der DNC-Liste&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * number (GET)&lt;br /&gt;
 * fuzzy: yes|no (GET, optional) Sucht auch nach Teilnummern.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: exists|notfound (bei fuzzy = no)&lt;br /&gt;
 * results: Liste mit passenden Telefonnummern (bei fuzzy = yes)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== getleadbyid ===&lt;br /&gt;
&lt;br /&gt;
Suche einen Lead über die LeadID und gibt die Lead-Details sowie das letzte Auftragsformular zurück.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * leadid(GET)&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: found|notfound&lt;br /&gt;
 * lead_data: json Objekt mit Lead-Daten&lt;br /&gt;
 * formdata: json Objekt mit Auftragsformular-Daten&lt;br /&gt;
&lt;br /&gt;
=== getleadbyphonenumber ===&lt;br /&gt;
&lt;br /&gt;
Suche einen Lead über die Telefonnummer und gibt die Lead-Details sowie das letzte Auftragsformular zurück.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * leadid(GET)&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: found|notfound&lt;br /&gt;
 * lead_data: json Objekt Array mit Lead-Daten&lt;br /&gt;
 * formdata: json Objekt Array mit Auftragsformular-Daten&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== getleadbypexternalid ===&lt;br /&gt;
&lt;br /&gt;
Suche einen Lead über die externe Lead-ID und gibt die Lead-Details sowie das letzte Auftragsformular zurück.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * leadid(GET)&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: found|notfound&lt;br /&gt;
 * lead_data: json Objekt Array mit Lead-Daten&lt;br /&gt;
 * formdata: json Objekt Array mit Auftragsformular-Daten&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== addlist ===&lt;br /&gt;
&lt;br /&gt;
Füge eine Liste hinzu.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * campaignID (POST)&lt;br /&gt;
 * description (POST)&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: ok|error&lt;br /&gt;
 * listid: ID der erstellten Liste (nur bei ok)&lt;br /&gt;
 * reason: Fehlergrund (nur bei error)&lt;br /&gt;
&lt;br /&gt;
=== addlead ===&lt;br /&gt;
&lt;br /&gt;
Füge einen Lead hinzu.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * campaign_id (POST)&lt;br /&gt;
 * invalidcheck (POST) yes|no&lt;br /&gt;
 * doubletcheck_global (POST) yes|no&lt;br /&gt;
 * doubletcheck_campaign (POST) yes|no&lt;br /&gt;
 * list_id (POST)&lt;br /&gt;
 * country_phone_code (POST)&lt;br /&gt;
 * leaddata (POST, Array)&lt;br /&gt;
  * title&lt;br /&gt;
  * phone&lt;br /&gt;
  * alt_phone&lt;br /&gt;
  * first_name&lt;br /&gt;
  * last_name&lt;br /&gt;
  * birthdate&lt;br /&gt;
  * country&lt;br /&gt;
  * street&lt;br /&gt;
  * streetnr&lt;br /&gt;
  * addradd&lt;br /&gt;
  * plz&lt;br /&gt;
  * ort&lt;br /&gt;
  * notices&lt;br /&gt;
  * leadid_external&lt;br /&gt;
  * company_name&lt;br /&gt;
 * formfields (POST, Array)&lt;br /&gt;
  * (Auftragsformularfelder, frei)&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * lead_stats: json Objekt&lt;br /&gt;
  * success&lt;br /&gt;
  * error&lt;br /&gt;
  * sqlerror&lt;br /&gt;
  * formaterror&lt;br /&gt;
  * doubleterror&lt;br /&gt;
  * invaliderror&lt;br /&gt;
  * formaterror_types: json Objekt&lt;br /&gt;
   * (diverse)&lt;br /&gt;
&lt;br /&gt;
=== editlead ===&lt;br /&gt;
&lt;br /&gt;
Füge einen Lead hinzu.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * campaign_id (GET)&lt;br /&gt;
 * leadid(GET)&lt;br /&gt;
 * leaddata (POST, Array)&lt;br /&gt;
  * title&lt;br /&gt;
  * phone&lt;br /&gt;
  * alt_phone&lt;br /&gt;
  * first_name&lt;br /&gt;
  * last_name&lt;br /&gt;
  * birthdate&lt;br /&gt;
  * country&lt;br /&gt;
  * street&lt;br /&gt;
  * streetnr&lt;br /&gt;
  * addradd&lt;br /&gt;
  * plz&lt;br /&gt;
  * ort&lt;br /&gt;
  * notices&lt;br /&gt;
  * leadid_external&lt;br /&gt;
  * company_name&lt;br /&gt;
 * formfields (POST, Array)&lt;br /&gt;
  * (Auftragsformularfelder, frei)&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status ok|error&lt;br /&gt;
 * reason (Bei Fehlern) Fehlergrund&lt;/div&gt;</summary>
		<author><name>Rath</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.mmdial.de/index.php?title=API&amp;diff=246</id>
		<title>API</title>
		<link rel="alternate" type="text/html" href="https://wiki.mmdial.de/index.php?title=API&amp;diff=246"/>
		<updated>2013-03-04T22:21:31Z</updated>

		<summary type="html">&lt;p&gt;Rath: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;mmDial bietet ein umfangreiches API zur Anbindung externer Software.&lt;br /&gt;
&lt;br /&gt;
Viele Schnittstellen sind bislang undokumentiert. Sollten Sie eine weitere Schnittstelle benötigen,&lt;br /&gt;
wenden Sie sich bitte an unseren Support!&lt;br /&gt;
Die API befindet sich nocht im Alpha-Stadium. Die Dokumentation kann fehlerhaft sein, und Schnittstellen können&lt;br /&gt;
sich jederzeit ändern!&lt;br /&gt;
&lt;br /&gt;
Sie können auf einfache Weise auch externe CRM-Systeme direkt in das Agenteninterface einbinden.&lt;br /&gt;
Verwenden Sie hierzu die &amp;quot;Kampagnen Module&amp;quot; zu finden unter Kampagnen -&amp;gt; Kampagne auswählen -&amp;gt; Kampagnen Module.&lt;br /&gt;
Eine kleine Erklärung und ein Beispielscript finden Sie unter [[Kampagnenverwaltung#Eigenes_Auftragsformular|Eigenes Auftrasformular]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Allgemeines ==&lt;br /&gt;
&lt;br /&gt;
 * Die mmDial API ist über http://login.mmdial.de/api/ zu erreichen.&lt;br /&gt;
 * Die API benutzt die Standard HTTP Authentication.&lt;br /&gt;
 * Als Benutzername wird ein Benutzer mit Adminrechten verwendet&lt;br /&gt;
 * Es werden je nach Funktion HTTP GET und HTTP POST Argumente übergeben&lt;br /&gt;
 * Rückmeldungen erfolgen in der Regel als json Objekt&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Funktionen ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== searchvoicebyleadid ===&lt;br /&gt;
&lt;br /&gt;
Sucht eine Voice-Aufnahme über die Lead-ID des Kunden.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * leadid (GET) - die zu suchende Lead-ID&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: ok|error&lt;br /&gt;
 * msg: (nur bei error)&lt;br /&gt;
 * voices: json Objekt:&lt;br /&gt;
  * recid: Aufnahme-ID&lt;br /&gt;
  * agentid: Agenten-ID&lt;br /&gt;
  * timestamp: Der Zeitstempel der Aufnahme&lt;br /&gt;
  * available: yes|no yes, wenn die Datei schon/noch abrufbar ist.&lt;br /&gt;
  * voiceid: Dateiinterne ID&lt;br /&gt;
  * url: Url um die Datei herunterzuladen.&lt;br /&gt;
  * length: Abspiellänge der Aufzeichnung&lt;br /&gt;
  * size: Größe der Aufzeichnung&lt;br /&gt;
&lt;br /&gt;
=== searchvoicebyphonenumber ===&lt;br /&gt;
&lt;br /&gt;
Sucht eine Voice-Aufnahme über die Telefonnummer des Kunden.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * phone(GET) - die zu suchende Telefonnummer&lt;br /&gt;
 * date (GET, optional) - Datum im Format YYYY-MM-DD&lt;br /&gt;
 * timestamp (GET, optional) - Timestamp im Format YYYMMDDHHIISS&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: ok|error&lt;br /&gt;
 * msg: (nur bei error)&lt;br /&gt;
 * voices: json Objekt:&lt;br /&gt;
  * recid: Aufnahme-ID&lt;br /&gt;
  * agentid: Agenten-ID&lt;br /&gt;
  * timestamp: Der Zeitstempel der Aufnahme&lt;br /&gt;
  * available: yes|no yes, wenn die Datei schon/noch abrufbar ist.&lt;br /&gt;
  * voiceid: Dateiinterne ID&lt;br /&gt;
  * url: Url um die Datei herunterzuladen.&lt;br /&gt;
  * length: Abspiellänge der Aufzeichnung&lt;br /&gt;
  * size: Größe der Aufzeichnung&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== searchvoicebyagent ===&lt;br /&gt;
&lt;br /&gt;
Sucht eine Voice-Aufnahme über die Agenten-ID.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * agentid(GET) - die zu Agenten-ID&lt;br /&gt;
 * date (GET, optional) - Datum im Format YYYY-MM-DD&lt;br /&gt;
 * timestamp (GET, optional) - Timestamp im Format YYYMMDDHHIISS&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: ok|error&lt;br /&gt;
 * msg: (nur bei error)&lt;br /&gt;
 * voices: json Objekt:&lt;br /&gt;
  * recid: Aufnahme-ID&lt;br /&gt;
  * agentid: Agenten-ID&lt;br /&gt;
  * timestamp: Der Zeitstempel der Aufnahme&lt;br /&gt;
  * available: yes|no yes, wenn die Datei schon/noch abrufbar ist.&lt;br /&gt;
  * voiceid: Dateiinterne ID&lt;br /&gt;
  * url: Url um die Datei herunterzuladen.&lt;br /&gt;
  * length: Abspiellänge der Aufzeichnung&lt;br /&gt;
  * size: Größe der Aufzeichnung&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== getfieldsbycampaign===&lt;br /&gt;
&lt;br /&gt;
Gibt alle Auftragsformularfelder einer Kampagne zurück.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * campaign_id (GET) - die Kampagnen-ID&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * fields - json Objektliste:&lt;br /&gt;
  * name: Feldname&lt;br /&gt;
&lt;br /&gt;
=== exportbystatus ===&lt;br /&gt;
&lt;br /&gt;
Erstellt eine Exportdatei aus verschiedenen Kriterien als CSV.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * campaign_id (GET) - die Kampagnen-ID&lt;br /&gt;
 * status (GET Array, optional) - die zu Exportierenden Status&lt;br /&gt;
 * datetype: (GET, optional) last_phone|last_edit|imported_date (GET Array, optional)&lt;br /&gt;
 * fromdate: (GET, optional) Datum beginn: d.m.Y&lt;br /&gt;
 * fromtime: (GET, optional) Uhrzeit beginn: H:i:s&lt;br /&gt;
 * todate: (GET, optional) Datum ende: d.m.Y&lt;br /&gt;
 * totime: (GET, optional) Uhrzeit ende: H:i:s&lt;br /&gt;
 * selectedfields: (GET/POST) Feldauswahlliste getrennt durch , (Kommata) Prefix für Normale Felder: customerfield_, Prefix für Auftragsformularfelder: webformfield_&lt;br /&gt;
 * encoding: (GET/POST, optional) Datei-Encoding (Standard: iso-8859-1) ISO-8859-1,Windows-1252,UTF-8&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: ok|error&lt;br /&gt;
 * file_id: Datei-ID&lt;br /&gt;
 * size: Datei-Größe&lt;br /&gt;
 * url: Datei-URL&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== dncadd ===&lt;br /&gt;
&lt;br /&gt;
Fügt eine oder mehrere Nummern der Sperrliste hinzu&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * number (GET (Optional: mehrere durch , getrennt))&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: ok|error|doublet&lt;br /&gt;
 * message&lt;br /&gt;
&lt;br /&gt;
=== dncdel ===&lt;br /&gt;
&lt;br /&gt;
Löscht eine, oder mehrere Nummern aus der Sperrliste.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * number (GET (Optional: mehrere durch , getrennt))&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: ok|error&lt;br /&gt;
 * message&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== dncget ===&lt;br /&gt;
&lt;br /&gt;
Gibt die Sperrliste als CSV Datei zurück&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
''keine''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
CSV-Datei mit allen gesperrten Rufnummern&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== dnccheck ===&lt;br /&gt;
&lt;br /&gt;
Sucht eine Nummer in der DNC-Liste&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * number (GET)&lt;br /&gt;
 * fuzzy: yes|no (GET, optional) Sucht auch nach Teilnummern.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: exists|notfound (bei fuzzy = no)&lt;br /&gt;
 * results: Liste mit passenden Telefonnummern (bei fuzzy = yes)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== getleadbyid ===&lt;br /&gt;
&lt;br /&gt;
Suche einen Lead über die LeadID und gibt die Lead-Details sowie das letzte Auftragsformular zurück.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * leadid(GET)&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: found|notfound&lt;br /&gt;
 * lead_data: json Objekt mit Lead-Daten&lt;br /&gt;
 * formdata: json Objekt mit Auftragsformular-Daten&lt;br /&gt;
&lt;br /&gt;
=== getleadbyphonenumber ===&lt;br /&gt;
&lt;br /&gt;
Suche einen Lead über die Telefonnummer und gibt die Lead-Details sowie das letzte Auftragsformular zurück.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * leadid(GET)&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: found|notfound&lt;br /&gt;
 * lead_data: json Objekt Array mit Lead-Daten&lt;br /&gt;
 * formdata: json Objekt Array mit Auftragsformular-Daten&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== getleadbypexternalid ===&lt;br /&gt;
&lt;br /&gt;
Suche einen Lead über die externe Lead-ID und gibt die Lead-Details sowie das letzte Auftragsformular zurück.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * leadid(GET)&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: found|notfound&lt;br /&gt;
 * lead_data: json Objekt Array mit Lead-Daten&lt;br /&gt;
 * formdata: json Objekt Array mit Auftragsformular-Daten&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== addlist ===&lt;br /&gt;
&lt;br /&gt;
Füge eine Liste hinzu.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * campaignID (POST)&lt;br /&gt;
 * description (POST)&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: ok|error&lt;br /&gt;
 * listid: ID der erstellten Liste (nur bei ok)&lt;br /&gt;
 * reason: Fehlergrund (nur bei error)&lt;br /&gt;
&lt;br /&gt;
=== addlead ===&lt;br /&gt;
&lt;br /&gt;
Füge einen Lead hinzu.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * campaign_id (POST)&lt;br /&gt;
 * invalidcheck (POST) yes|no&lt;br /&gt;
 * doubletcheck_global (POST) yes|no&lt;br /&gt;
 * doubletcheck_campaign (POST) yes|no&lt;br /&gt;
 * list_id (POST)&lt;br /&gt;
 * country_phone_code (POST)&lt;br /&gt;
 * leaddata (POST, Array)&lt;br /&gt;
  * title&lt;br /&gt;
  * phone&lt;br /&gt;
  * alt_phone&lt;br /&gt;
  * first_name&lt;br /&gt;
  * last_name&lt;br /&gt;
  * birthdate&lt;br /&gt;
  * country&lt;br /&gt;
  * street&lt;br /&gt;
  * streetnr&lt;br /&gt;
  * addradd&lt;br /&gt;
  * plz&lt;br /&gt;
  * ort&lt;br /&gt;
  * notices&lt;br /&gt;
  * leadid_external&lt;br /&gt;
  * company_name&lt;br /&gt;
 * formfields (POST, Array)&lt;br /&gt;
  * (Auftragsformularfelder, frei)&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * lead_stats: json Objekt&lt;br /&gt;
  * success&lt;br /&gt;
  * error&lt;br /&gt;
  * sqlerror&lt;br /&gt;
  * formaterror&lt;br /&gt;
  * doubleterror&lt;br /&gt;
  * invaliderror&lt;br /&gt;
  * formaterror_types: json Objekt&lt;br /&gt;
   * (diverse)&lt;/div&gt;</summary>
		<author><name>Rath</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.mmdial.de/index.php?title=API&amp;diff=245</id>
		<title>API</title>
		<link rel="alternate" type="text/html" href="https://wiki.mmdial.de/index.php?title=API&amp;diff=245"/>
		<updated>2013-03-04T22:21:06Z</updated>

		<summary type="html">&lt;p&gt;Rath: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;mmDial bietet ein umfangreiches API zur Anbindung externer Software.&lt;br /&gt;
&lt;br /&gt;
Viele Schnittstellen sind bislang undokumentiert. Sollten Sie eine weitere Schnittstelle benötigen,&lt;br /&gt;
wenden Sie sich bitte an unseren Support!&lt;br /&gt;
Die API befindet sich nocht im Alpha-Stadium. Die Dokumentation kann fehlerhaft sein, und Schnittstellen können&lt;br /&gt;
sich jederzeit ändern!&lt;br /&gt;
&lt;br /&gt;
Sie können auf einfache Weise auch externe CRM-Systeme direkt in das Agenteninterface einbinden.&lt;br /&gt;
Verwenden Sie hierzu die &amp;quot;Kampagnen Module&amp;quot; zu finden unter Kampagnen -&amp;gt; Kampagne auswählen -&amp;gt; Kampagnen Module.&lt;br /&gt;
Eine kleine Erklärung und ein Beispielscript finden Sie unter [[Kampagnenverwaltung#Eigenes_Auftragsformular|Eigenes Auftrasformular]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Allgemeines ==&lt;br /&gt;
&lt;br /&gt;
 * Die mmDial API ist über http://login.mmdial.de/api/ zu erreichen.&lt;br /&gt;
 * Die API benutzt die Standard HTTP Authentication.&lt;br /&gt;
 * Als Benutzername wird ein Benutzer mit Adminrechten verwendet&lt;br /&gt;
 * Es werden je nach Funktion HTTP GET und HTTP POST Argumente übergeben&lt;br /&gt;
 * Rückmeldungen erfolgen in der Regel als json Objekt&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Funktionen ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== searchvoicebyleadid ===&lt;br /&gt;
&lt;br /&gt;
Sucht eine Voice-Aufnahme über die Lead-ID des Kunden.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * leadid (GET) - die zu suchende Lead-ID&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: ok|error&lt;br /&gt;
 * msg: (nur bei error)&lt;br /&gt;
 * voices: json Objekt:&lt;br /&gt;
  * recid: Aufnahme-ID&lt;br /&gt;
  * agentid: Agenten-ID&lt;br /&gt;
  * timestamp: Der Zeitstempel der Aufnahme&lt;br /&gt;
  * available: yes|no yes, wenn die Datei schon/noch abrufbar ist.&lt;br /&gt;
  * voiceid: Dateiinterne ID&lt;br /&gt;
  * url: Url um die Datei herunterzuladen.&lt;br /&gt;
  * length: Abspiellänge der Aufzeichnung&lt;br /&gt;
  * size: Größe der Aufzeichnung&lt;br /&gt;
&lt;br /&gt;
=== searchvoicebyphonenumber ===&lt;br /&gt;
&lt;br /&gt;
Sucht eine Voice-Aufnahme über die Telefonnummer des Kunden.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * phone(GET) - die zu suchende Telefonnummer&lt;br /&gt;
 * date (GET, optional) - Datum im Format YYYY-MM-DD&lt;br /&gt;
 * timestamp (GET, optional) - Timestamp im Format YYYMMDDHHIISS&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: ok|error&lt;br /&gt;
 * msg: (nur bei error)&lt;br /&gt;
 * voices: json Objekt:&lt;br /&gt;
  * recid: Aufnahme-ID&lt;br /&gt;
  * agentid: Agenten-ID&lt;br /&gt;
  * timestamp: Der Zeitstempel der Aufnahme&lt;br /&gt;
  * available: yes|no yes, wenn die Datei schon/noch abrufbar ist.&lt;br /&gt;
  * voiceid: Dateiinterne ID&lt;br /&gt;
  * url: Url um die Datei herunterzuladen.&lt;br /&gt;
  * length: Abspiellänge der Aufzeichnung&lt;br /&gt;
  * size: Größe der Aufzeichnung&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== searchvoicebyagent ===&lt;br /&gt;
&lt;br /&gt;
Sucht eine Voice-Aufnahme über die Agenten-ID.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * agentid(GET) - die zu Agenten-ID&lt;br /&gt;
 * date (GET, optional) - Datum im Format YYYY-MM-DD&lt;br /&gt;
 * timestamp (GET, optional) - Timestamp im Format YYYMMDDHHIISS&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: ok|error&lt;br /&gt;
 * msg: (nur bei error)&lt;br /&gt;
 * voices: json Objekt:&lt;br /&gt;
  * recid: Aufnahme-ID&lt;br /&gt;
  * agentid: Agenten-ID&lt;br /&gt;
  * timestamp: Der Zeitstempel der Aufnahme&lt;br /&gt;
  * available: yes|no yes, wenn die Datei schon/noch abrufbar ist.&lt;br /&gt;
  * voiceid: Dateiinterne ID&lt;br /&gt;
  * url: Url um die Datei herunterzuladen.&lt;br /&gt;
  * length: Abspiellänge der Aufzeichnung&lt;br /&gt;
  * size: Größe der Aufzeichnung&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== getfieldsbycampaign===&lt;br /&gt;
&lt;br /&gt;
Gibt alle Auftragsformularfelder einer Kampagne zurück.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * campaign_id (GET) - die Kampagnen-ID&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * fields - json Objektliste:&lt;br /&gt;
  * name: Feldname&lt;br /&gt;
&lt;br /&gt;
=== exportbystatus ===&lt;br /&gt;
&lt;br /&gt;
Erstellt eine Exportdatei aus verschiedenen Kriterien als CSV.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * campaign_id (GET) - die Kampagnen-ID&lt;br /&gt;
 * status (GET Array, optional) - die zu Exportierenden Status&lt;br /&gt;
 * datetype: (GET, optional) last_phone|last_edit|imported_date (GET Array, optional)&lt;br /&gt;
 * fromdate: (GET, optional) Datum beginn: d.m.Y&lt;br /&gt;
 * fromtime: (GET, optional) Uhrzeit beginn: H:i:s&lt;br /&gt;
 * todate: (GET, optional) Datum ende: d.m.Y&lt;br /&gt;
 * totime: (GET, optional) Uhrzeit ende: H:i:s&lt;br /&gt;
 * selectedfields: (GET/POST) Feldauswahlliste getrennt durch , (Kommata) Prefix für Normale Felder: customerfield_, Prefix für Auftragsformularfelder: webformfield_&lt;br /&gt;
 * encoding: (GET/POST, optional) Datei-Encoding (Standard: iso-8859-1) ISO-8859-1,Windows-1252,UTF-8&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: ok|error&lt;br /&gt;
 * file_id: Datei-ID&lt;br /&gt;
 * size: Datei-Größe&lt;br /&gt;
 * url: Datei-URL&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== dncadd ===&lt;br /&gt;
&lt;br /&gt;
Fügt eine oder mehrere Nummern der Sperrliste hinzu&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * number (GET (Optional: mehrere durch , getrennt))&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: ok|error|doublet&lt;br /&gt;
 * message&lt;br /&gt;
&lt;br /&gt;
=== dncdel ===&lt;br /&gt;
&lt;br /&gt;
Löscht eine, oder mehrere Nummern aus der Sperrliste.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * number (GET (Optional: mehrere durch , getrennt))&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: ok|error&lt;br /&gt;
 * message&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== dncget ===&lt;br /&gt;
&lt;br /&gt;
Gibt die Sperrliste als CSV Datei zurück&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
''keine''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
CSV-Datei mit allen gesperrten Rufnummern&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== dnccheck ===&lt;br /&gt;
&lt;br /&gt;
Sucht eine Nummer in der DNC-Liste&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * number (GET)&lt;br /&gt;
 * fuzzy: yes|no (GET, optional) Sucht auch nach Teilnummern.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: exists|notfound (bei fuzzy = no)&lt;br /&gt;
 * results: Liste mit passenden Telefonnummern (bei fuzzy = yes)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== getleadbyid ===&lt;br /&gt;
&lt;br /&gt;
Suche einen Lead über die LeadID und gibt die Lead-Details sowie das letzte Auftragsformular zurück.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * leadid(GET)&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: found|notfound&lt;br /&gt;
 * lead_data: json Objekt mit Lead-Daten&lt;br /&gt;
 * formdata: json Objekt mit Auftragsformular-Daten&lt;br /&gt;
&lt;br /&gt;
=== getleadbyphonenumber ===&lt;br /&gt;
&lt;br /&gt;
Suche einen Lead über die Telefonnummer und gibt die Lead-Details sowie das letzte Auftragsformular zurück.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * leadid(GET)&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: found|notfound&lt;br /&gt;
 * lead_data: json Objekt Array mit Lead-Daten&lt;br /&gt;
 * formdata: json Objekt Array mit Auftragsformular-Daten&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== getleadbypexternalid ===&lt;br /&gt;
&lt;br /&gt;
Suche einen Lead über die externe Lead-ID und gibt die Lead-Details sowie das letzte Auftragsformular zurück.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * leadid(GET)&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: found|notfound&lt;br /&gt;
 * lead_data: json Objekt Array mit Lead-Daten&lt;br /&gt;
 * formdata: json Objekt Array mit Auftragsformular-Daten&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== addlist ===&lt;br /&gt;
&lt;br /&gt;
Suche einen Lead über die externe Lead-ID und gibt die Lead-Details sowie das letzte Auftragsformular zurück.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * campaignID (POST)&lt;br /&gt;
 * description (POST)&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: ok|error&lt;br /&gt;
 * listid: ID der erstellten Liste (nur bei ok)&lt;br /&gt;
 * reason: Fehlergrund (nur bei error)&lt;br /&gt;
&lt;br /&gt;
=== addlead ===&lt;br /&gt;
&lt;br /&gt;
Suche einen Lead über die externe Lead-ID und gibt die Lead-Details sowie das letzte Auftragsformular zurück.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * campaign_id (POST)&lt;br /&gt;
 * invalidcheck (POST) yes|no&lt;br /&gt;
 * doubletcheck_global (POST) yes|no&lt;br /&gt;
 * doubletcheck_campaign (POST) yes|no&lt;br /&gt;
 * list_id (POST)&lt;br /&gt;
 * country_phone_code (POST)&lt;br /&gt;
 * leaddata (POST, Array)&lt;br /&gt;
  * title&lt;br /&gt;
  * phone&lt;br /&gt;
  * alt_phone&lt;br /&gt;
  * first_name&lt;br /&gt;
  * last_name&lt;br /&gt;
  * birthdate&lt;br /&gt;
  * country&lt;br /&gt;
  * street&lt;br /&gt;
  * streetnr&lt;br /&gt;
  * addradd&lt;br /&gt;
  * plz&lt;br /&gt;
  * ort&lt;br /&gt;
  * notices&lt;br /&gt;
  * leadid_external&lt;br /&gt;
  * company_name&lt;br /&gt;
 * formfields (POST, Array)&lt;br /&gt;
  * (Auftragsformularfelder, frei)&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * lead_stats: json Objekt&lt;br /&gt;
  * success&lt;br /&gt;
  * error&lt;br /&gt;
  * sqlerror&lt;br /&gt;
  * formaterror&lt;br /&gt;
  * doubleterror&lt;br /&gt;
  * invaliderror&lt;br /&gt;
  * formaterror_types: json Objekt&lt;br /&gt;
   * (diverse)&lt;/div&gt;</summary>
		<author><name>Rath</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.mmdial.de/index.php?title=API&amp;diff=244</id>
		<title>API</title>
		<link rel="alternate" type="text/html" href="https://wiki.mmdial.de/index.php?title=API&amp;diff=244"/>
		<updated>2013-03-01T12:47:32Z</updated>

		<summary type="html">&lt;p&gt;Rath: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;mmDial bietet ein umfangreiches API zur Anbindung externer Software.&lt;br /&gt;
&lt;br /&gt;
Viele Schnittstellen sind bislang undokumentiert. Sollten Sie eine weitere Schnittstelle benötigen,&lt;br /&gt;
wenden Sie sich bitte an unseren Support!&lt;br /&gt;
Die API befindet sich nocht im Alpha-Stadium. Die Dokumentation kann fehlerhaft sein, und Schnittstellen können&lt;br /&gt;
sich jederzeit ändern!&lt;br /&gt;
&lt;br /&gt;
Sie können auf einfache Weise auch externe CRM-Systeme direkt in das Agenteninterface einbinden.&lt;br /&gt;
Verwenden Sie hierzu die &amp;quot;Kampagnen Module&amp;quot; zu finden unter Kampagnen -&amp;gt; Kampagne auswählen -&amp;gt; Kampagnen Module.&lt;br /&gt;
Eine kleine Erklärung und ein Beispielscript finden Sie unter [[Kampagnenverwaltung#Eigenes_Auftragsformular|Eigenes Auftrasformular]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Allgemeines ==&lt;br /&gt;
&lt;br /&gt;
 * Die mmDial API ist über http://login.mmdial.de/api/ zu erreichen.&lt;br /&gt;
 * Die API benutzt die Standard HTTP Authentication.&lt;br /&gt;
 * Als Benutzername wird ein Benutzer mit Adminrechten verwendet&lt;br /&gt;
 * Es werden je nach Funktion HTTP GET und HTTP POST Argumente übergeben&lt;br /&gt;
 * Rückmeldungen erfolgen in der Regel als json Objekt&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Funktionen ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== searchvoicebyleadid ===&lt;br /&gt;
&lt;br /&gt;
Sucht eine Voice-Aufnahme über die Lead-ID des Kunden.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * leadid (GET) - die zu suchende Lead-ID&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: ok|error&lt;br /&gt;
 * msg: (nur bei error)&lt;br /&gt;
 * voices: json Objekt:&lt;br /&gt;
  * recid: Aufnahme-ID&lt;br /&gt;
  * agentid: Agenten-ID&lt;br /&gt;
  * timestamp: Der Zeitstempel der Aufnahme&lt;br /&gt;
  * available: yes|no yes, wenn die Datei schon/noch abrufbar ist.&lt;br /&gt;
  * voiceid: Dateiinterne ID&lt;br /&gt;
  * url: Url um die Datei herunterzuladen.&lt;br /&gt;
  * length: Abspiellänge der Aufzeichnung&lt;br /&gt;
  * size: Größe der Aufzeichnung&lt;br /&gt;
&lt;br /&gt;
=== searchvoicebyphonenumber ===&lt;br /&gt;
&lt;br /&gt;
Sucht eine Voice-Aufnahme über die Telefonnummer des Kunden.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * phone(GET) - die zu suchende Telefonnummer&lt;br /&gt;
 * date (GET, optional) - Datum im Format YYYY-MM-DD&lt;br /&gt;
 * timestamp (GET, optional) - Timestamp im Format YYYMMDDHHIISS&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: ok|error&lt;br /&gt;
 * msg: (nur bei error)&lt;br /&gt;
 * voices: json Objekt:&lt;br /&gt;
  * recid: Aufnahme-ID&lt;br /&gt;
  * agentid: Agenten-ID&lt;br /&gt;
  * timestamp: Der Zeitstempel der Aufnahme&lt;br /&gt;
  * available: yes|no yes, wenn die Datei schon/noch abrufbar ist.&lt;br /&gt;
  * voiceid: Dateiinterne ID&lt;br /&gt;
  * url: Url um die Datei herunterzuladen.&lt;br /&gt;
  * length: Abspiellänge der Aufzeichnung&lt;br /&gt;
  * size: Größe der Aufzeichnung&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== searchvoicebyagent ===&lt;br /&gt;
&lt;br /&gt;
Sucht eine Voice-Aufnahme über die Agenten-ID.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * agentid(GET) - die zu Agenten-ID&lt;br /&gt;
 * date (GET, optional) - Datum im Format YYYY-MM-DD&lt;br /&gt;
 * timestamp (GET, optional) - Timestamp im Format YYYMMDDHHIISS&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: ok|error&lt;br /&gt;
 * msg: (nur bei error)&lt;br /&gt;
 * voices: json Objekt:&lt;br /&gt;
  * recid: Aufnahme-ID&lt;br /&gt;
  * agentid: Agenten-ID&lt;br /&gt;
  * timestamp: Der Zeitstempel der Aufnahme&lt;br /&gt;
  * available: yes|no yes, wenn die Datei schon/noch abrufbar ist.&lt;br /&gt;
  * voiceid: Dateiinterne ID&lt;br /&gt;
  * url: Url um die Datei herunterzuladen.&lt;br /&gt;
  * length: Abspiellänge der Aufzeichnung&lt;br /&gt;
  * size: Größe der Aufzeichnung&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== getfieldsbycampaign===&lt;br /&gt;
&lt;br /&gt;
Gibt alle Auftragsformularfelder einer Kampagne zurück.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * campaign_id (GET) - die Kampagnen-ID&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * fields - json Objektliste:&lt;br /&gt;
  * name: Feldname&lt;br /&gt;
&lt;br /&gt;
=== exportbystatus ===&lt;br /&gt;
&lt;br /&gt;
Erstellt eine Exportdatei aus verschiedenen Kriterien als CSV.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * campaign_id (GET) - die Kampagnen-ID&lt;br /&gt;
 * status (GET Array, optional) - die zu Exportierenden Status&lt;br /&gt;
 * datetype: (GET, optional) last_phone|last_edit|imported_date (GET Array, optional)&lt;br /&gt;
 * fromdate: (GET, optional) Datum beginn: d.m.Y&lt;br /&gt;
 * fromtime: (GET, optional) Uhrzeit beginn: H:i:s&lt;br /&gt;
 * todate: (GET, optional) Datum ende: d.m.Y&lt;br /&gt;
 * totime: (GET, optional) Uhrzeit ende: H:i:s&lt;br /&gt;
 * selectedfields: (GET/POST) Feldauswahlliste getrennt durch , (Kommata) Prefix für Normale Felder: customerfield_, Prefix für Auftragsformularfelder: webformfield_&lt;br /&gt;
 * encoding: (GET/POST, optional) Datei-Encoding (Standard: iso-8859-1) ISO-8859-1,Windows-1252,UTF-8&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: ok|error&lt;br /&gt;
 * file_id: Datei-ID&lt;br /&gt;
 * size: Datei-Größe&lt;br /&gt;
 * url: Datei-URL&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== dncadd ===&lt;br /&gt;
&lt;br /&gt;
Fügt eine oder mehrere Nummern der Sperrliste hinzu&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * number (GET (Optional: mehrere durch , getrennt))&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: ok|error|doublet&lt;br /&gt;
 * message&lt;br /&gt;
&lt;br /&gt;
=== dncdel ===&lt;br /&gt;
&lt;br /&gt;
Löscht eine, oder mehrere Nummern aus der Sperrliste.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * number (GET (Optional: mehrere durch , getrennt))&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: ok|error&lt;br /&gt;
 * message&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== dncget ===&lt;br /&gt;
&lt;br /&gt;
Gibt die Sperrliste als CSV Datei zurück&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
''keine''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
CSV-Datei mit allen gesperrten Rufnummern&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== dnccheck ===&lt;br /&gt;
&lt;br /&gt;
Sucht eine Nummer in der DNC-Liste&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * number (GET)&lt;br /&gt;
 * fuzzy: yes|no (GET, optional) Sucht auch nach Teilnummern.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: exists|notfound (bei fuzzy = no)&lt;br /&gt;
 * results: Liste mit passenden Telefonnummern (bei fuzzy = yes)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== getleadbyid ===&lt;br /&gt;
&lt;br /&gt;
Suche einen Lead über die LeadID und gibt die Lead-Details sowie das letzte Auftragsformular zurück.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * leadid(GET)&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: found|notfound&lt;br /&gt;
 * lead_data: json Objekt mit Lead-Daten&lt;br /&gt;
 * formdata: json Objekt mit Auftragsformular-Daten&lt;br /&gt;
&lt;br /&gt;
=== getleadbyphonenumber ===&lt;br /&gt;
&lt;br /&gt;
Suche einen Lead über die Telefonnummer und gibt die Lead-Details sowie das letzte Auftragsformular zurück.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * leadid(GET)&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: found|notfound&lt;br /&gt;
 * lead_data: json Objekt Array mit Lead-Daten&lt;br /&gt;
 * formdata: json Objekt Array mit Auftragsformular-Daten&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== getleadbypexternalid ===&lt;br /&gt;
&lt;br /&gt;
Suche einen Lead über die externe Lead-ID und gibt die Lead-Details sowie das letzte Auftragsformular zurück.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * leadid(GET)&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: found|notfound&lt;br /&gt;
 * lead_data: json Objekt Array mit Lead-Daten&lt;br /&gt;
 * formdata: json Objekt Array mit Auftragsformular-Daten&lt;/div&gt;</summary>
		<author><name>Rath</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.mmdial.de/index.php?title=API&amp;diff=243</id>
		<title>API</title>
		<link rel="alternate" type="text/html" href="https://wiki.mmdial.de/index.php?title=API&amp;diff=243"/>
		<updated>2013-03-01T12:08:40Z</updated>

		<summary type="html">&lt;p&gt;Rath: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;mmDial bietet ein umfangreiches API zur Anbindung externer Software.&lt;br /&gt;
&lt;br /&gt;
Viele Schnittstellen sind bislang undokumentiert. Sollten Sie eine weitere Schnittstelle benötigen,&lt;br /&gt;
wenden Sie sich bitte an unseren Support!&lt;br /&gt;
Die API befindet sich nocht im Alpha-Stadium. Die Dokumentation kann fehlerhaft sein, und Schnittstellen können&lt;br /&gt;
sich jederzeit ändern!&lt;br /&gt;
&lt;br /&gt;
Sie können auf einfache Weise auch externe CRM-Systeme direkt in das Agenteninterface einbinden.&lt;br /&gt;
Verwenden Sie hierzu die &amp;quot;Kampagnen Module&amp;quot; zu finden unter Kampagnen -&amp;gt; Kampagne auswählen -&amp;gt; Kampagnen Module.&lt;br /&gt;
Eine kleine Erklärung und ein Beispielscript finden Sie unter [[Kampagnenverwaltung#Eigenes_Auftragsformular|Eigenes Auftrasformular]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Allgemeines ==&lt;br /&gt;
&lt;br /&gt;
 * Die mmDial API ist über http://login.mmdial.de/api/ zu erreichen.&lt;br /&gt;
 * Die API benutzt die Standard HTTP Authentication.&lt;br /&gt;
 * Als Benutzername wird ein Benutzer mit Adminrechten verwendet&lt;br /&gt;
 * Es werden je nach Funktion HTTP GET und HTTP POST Argumente übergeben&lt;br /&gt;
 * Rückmeldungen erfolgen in der Regel als json Objekt&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Funktionen ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== searchvoicebyleadid ===&lt;br /&gt;
&lt;br /&gt;
Sucht eine Voice-Aufnahme über die Lead-ID des Kunden.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * leadid (GET) - die zu suchende Lead-ID&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: ok|error&lt;br /&gt;
 * msg: (nur bei error)&lt;br /&gt;
 * voices: json Objekt:&lt;br /&gt;
  * recid: Aufnahme-ID&lt;br /&gt;
  * agentid: Agenten-ID&lt;br /&gt;
  * timestamp: Der Zeitstempel der Aufnahme&lt;br /&gt;
  * available: yes|no yes, wenn die Datei schon/noch abrufbar ist.&lt;br /&gt;
  * voiceid: Dateiinterne ID&lt;br /&gt;
  * url: Url um die Datei herunterzuladen.&lt;br /&gt;
  * length: Abspiellänge der Aufzeichnung&lt;br /&gt;
  * size: Größe der Aufzeichnung&lt;br /&gt;
&lt;br /&gt;
=== searchvoicebyphonenumber ===&lt;br /&gt;
&lt;br /&gt;
Sucht eine Voice-Aufnahme über die Telefonnummer des Kunden.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * phone(GET) - die zu suchende Telefonnummer&lt;br /&gt;
 * date (GET, optional) - Datum im Format YYYY-MM-DD&lt;br /&gt;
 * timestamp (GET, optional) - Timestamp im Format YYYMMDDHHIISS&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: ok|error&lt;br /&gt;
 * msg: (nur bei error)&lt;br /&gt;
 * voices: json Objekt:&lt;br /&gt;
  * recid: Aufnahme-ID&lt;br /&gt;
  * agentid: Agenten-ID&lt;br /&gt;
  * timestamp: Der Zeitstempel der Aufnahme&lt;br /&gt;
  * available: yes|no yes, wenn die Datei schon/noch abrufbar ist.&lt;br /&gt;
  * voiceid: Dateiinterne ID&lt;br /&gt;
  * url: Url um die Datei herunterzuladen.&lt;br /&gt;
  * length: Abspiellänge der Aufzeichnung&lt;br /&gt;
  * size: Größe der Aufzeichnung&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== searchvoicebyagent ===&lt;br /&gt;
&lt;br /&gt;
Sucht eine Voice-Aufnahme über die Agenten-ID.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * agentid(GET) - die zu Agenten-ID&lt;br /&gt;
 * date (GET, optional) - Datum im Format YYYY-MM-DD&lt;br /&gt;
 * timestamp (GET, optional) - Timestamp im Format YYYMMDDHHIISS&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: ok|error&lt;br /&gt;
 * msg: (nur bei error)&lt;br /&gt;
 * voices: json Objekt:&lt;br /&gt;
  * recid: Aufnahme-ID&lt;br /&gt;
  * agentid: Agenten-ID&lt;br /&gt;
  * timestamp: Der Zeitstempel der Aufnahme&lt;br /&gt;
  * available: yes|no yes, wenn die Datei schon/noch abrufbar ist.&lt;br /&gt;
  * voiceid: Dateiinterne ID&lt;br /&gt;
  * url: Url um die Datei herunterzuladen.&lt;br /&gt;
  * length: Abspiellänge der Aufzeichnung&lt;br /&gt;
  * size: Größe der Aufzeichnung&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== getfieldsbycampaign===&lt;br /&gt;
&lt;br /&gt;
Gibt alle Auftragsformularfelder einer Kampagne zurück.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * campaign_id (GET) - die Kampagnen-ID&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * fields - json Objektliste:&lt;br /&gt;
  * name: Feldname&lt;br /&gt;
&lt;br /&gt;
=== exportbystatus ===&lt;br /&gt;
&lt;br /&gt;
Erstellt eine Exportdatei aus verschiedenen Kriterien als CSV.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * campaign_id (GET) - die Kampagnen-ID&lt;br /&gt;
 * status (GET Array, optional) - die zu Exportierenden Status&lt;br /&gt;
 * datetype: (GET, optional) last_phone|last_edit|imported_date (GET Array, optional)&lt;br /&gt;
 * fromdate: (GET, optional) Datum beginn: d.m.Y&lt;br /&gt;
 * fromtime: (GET, optional) Uhrzeit beginn: H:i:s&lt;br /&gt;
 * todate: (GET, optional) Datum ende: d.m.Y&lt;br /&gt;
 * totime: (GET, optional) Uhrzeit ende: H:i:s&lt;br /&gt;
 * selectedfields: (GET/POST) Feldauswahlliste getrennt durch , (Kommata) Prefix für Normale Felder: customerfield_, Prefix für Auftragsformularfelder: webformfield_&lt;br /&gt;
 * encoding: (GET/POST, optional) Datei-Encoding (Standard: iso-8859-1) ISO-8859-1,Windows-1252,UTF-8&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: ok|error&lt;br /&gt;
 * file_id: Datei-ID&lt;br /&gt;
 * size: Datei-Größe&lt;br /&gt;
 * url: Datei-URL&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== dncadd ===&lt;br /&gt;
&lt;br /&gt;
Fügt eine oder mehrere Nummern der Sperrliste hinzu&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * number (GET (Optional: mehrere durch , getrennt))&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: ok|error|doublet&lt;br /&gt;
 * message&lt;br /&gt;
&lt;br /&gt;
=== dncdel ===&lt;br /&gt;
&lt;br /&gt;
Löscht eine, oder mehrere Nummern aus der Sperrliste.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * number (GET (Optional: mehrere durch , getrennt))&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: ok|error&lt;br /&gt;
 * message&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== dncget ===&lt;br /&gt;
&lt;br /&gt;
Gibt die Sperrliste als CSV Datei zurück&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
''keine''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
CSV-Datei mit allen gesperrten Rufnummern&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== dnccheck ===&lt;br /&gt;
&lt;br /&gt;
Sucht eine Nummer in der DNC-Liste&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * number (GET)&lt;br /&gt;
 * fuzzy: yes|no (GET, optional) Sucht auch nach Teilnummern.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: exists|notfound (bei fuzzy = no)&lt;br /&gt;
 * results: Liste mit passenden Telefonnummern (bei fuzzy = yes)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== getleadbyid ===&lt;br /&gt;
&lt;br /&gt;
Suche einen Lead über die LeadID und gibt die Lead-Details sowie das letzte Auftragsformular zurück.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * leadid(GET)&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: found|notfound&lt;br /&gt;
 * lead_data: json Objekt mit Lead-Daten&lt;br /&gt;
 * formdata: json Objekt mit Auftragsformular-Daten&lt;br /&gt;
&lt;br /&gt;
=== getleadbyphonenumber ===&lt;br /&gt;
&lt;br /&gt;
Suche einen Lead über die Telefonnummer und gibt die Lead-Details sowie das letzte Auftragsformular zurück.&lt;br /&gt;
&lt;br /&gt;
'''Parameter'''&lt;br /&gt;
 * leadid(GET)&lt;br /&gt;
&lt;br /&gt;
'''Rückgabe'''&lt;br /&gt;
&lt;br /&gt;
json Objekt:&lt;br /&gt;
 * status: found|notfound&lt;br /&gt;
 * lead_data: json Objekt Array mit Lead-Daten&lt;br /&gt;
 * formdata: json Objekt Array mit Auftragsformular-Daten&lt;/div&gt;</summary>
		<author><name>Rath</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.mmdial.de/index.php?title=Kampagnenverwaltung&amp;diff=242</id>
		<title>Kampagnenverwaltung</title>
		<link rel="alternate" type="text/html" href="https://wiki.mmdial.de/index.php?title=Kampagnenverwaltung&amp;diff=242"/>
		<updated>2012-12-17T22:55:40Z</updated>

		<summary type="html">&lt;p&gt;Rath: /* Eigenes Auftragsformular */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;In der Kampagnenverwaltung können Sie alle Einstellungen rund um eine Kampagne machen. Weiter können Sie hier auch Kampagnen erstellen, löschen und deaktivieren. Hier haben Sie weiter auch die Möglichkeit Kampagneneigene Status oder autom. Leadübertragung in QM-Kampagnen zu erstellen. &lt;br /&gt;
&lt;br /&gt;
== Kampagnen erstellen  ==&lt;br /&gt;
&lt;br /&gt;
Bei mmDial haben Sie neben der klassischen Outboundtelefonie auch die Möglichkeit Inboundtelefonie zu betreiben. Dies bietet Ihnen z.B. die Möglichkeit Rückrufer direkt wieder an einen Agenten zuverbinden. Bitte beachten Sie, dass die Inboundfunktion eine Zusatzleistung ist die extra bestellt werden muss. &lt;br /&gt;
&lt;br /&gt;
=== Outboundkampagne erstellen  ===&lt;br /&gt;
&lt;br /&gt;
Zum Erstellen einer Outbound-Kampagne gehen Sie bitte in der Dialerverwaltung auf die Kampagnen Seite. Hier finden Sie im linken Context-Menü den Punkt „Neue Kampagne“. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Hier müssen Sie nun, zum Erstellen einer Kampagne, alle Grundinformationen für die Kampagne eintragen. Folgendes müssen Sie angeben: &amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Kampagnenname (Aussagekräftiger Name der Kampagne)&amp;lt;br&amp;gt;[[CLIP-Rufnummer]] (Hier müssen Sie die Rufnummer eintragen, die dem Angerufenen angezeigt werden soll) &amp;lt;br&amp;gt;Aktiv (Auswählen ob Kampagne vom Erstellen an aktiv sein soll) &amp;lt;br&amp;gt;Auftragsformular (Auswählen, ob ein [[Auftragsformular]] für diese Kampagne verwendet werden soll) &amp;lt;br&amp;gt;Maximaler Adressverbrauch pro Minute &amp;lt;br&amp;gt;Neuen Anruf zu Agent (Wählen Sie aus, nach welcher Reihenfolge wartenden Agenten neue Gespräche zugeteilt werden sollen.) &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Bitte beachten Sie, dass eine Kampagne wesentlich mehr Einstellmöglichkeiten hat als nur die aufgeführten. Diese Daten, die Sie beim Erstellen eingeben müssen, sind Einstellungen, die von Ihnen gesetzt werden müssen. Alle anderen Einstellungen wurden von unserem System mit Standardwerten gesetzt, um den Erstellvorgang zu beschleunigen. Sie können später alle weiteren Einstellungen unter dem Punkt „Kampagnen / Kampagnenliste / Kampagne bearbeiten“ (Icon mit dem Schreibblock und dem Stift) einstellen.&lt;br /&gt;
&lt;br /&gt;
=== Inboundkampagne erstellen  ===&lt;br /&gt;
&lt;br /&gt;
Inbound-Kampagnen sind in der Standardversion von mmDial nicht verfügbar. Diese können Sie optional hinzubuchen. Wenden Sie sich dazu an unseren Vertrieb.&lt;br /&gt;
&lt;br /&gt;
== Kampagnen löschen  ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
WICHTIG:&lt;br /&gt;
&lt;br /&gt;
Beim Löschen von Kampagnen gehen alle in der Kampagne vorhandenen Daten verloren. Diese können nicht wieder hergestellt werden. Wenn Sie eine Kampagne löschen vergewissern Sie sich, dass Sie alle benötigten Daten exportiert haben.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Zum Löschen klicken Sie unter &amp;quot;Kampagnen&amp;quot; auf die &amp;quot;Kampagnenliste&amp;quot; und vor der zu löschenden Kampagne auf das rote X. Sie werden daraufhin nocheinmal gefragt, ob die Kampagne wirklich gelöscht werden soll. Dies können Sie mit einem &amp;quot;JA&amp;quot; bestätigen.&lt;br /&gt;
&lt;br /&gt;
== Kampagnen de/aktivieren  ==&lt;br /&gt;
Um eine Kampagne zu de- oder aktivieren gehen Sie in der Verwaltungsoberfläche in den Bereich Kampagnen. Dort wählen Sie in den Unterpunkt &amp;quot;Kampagnenliste&amp;quot; aus.&lt;br /&gt;
Hier finden Sie alle von Ihnen angelegten Kampagnen. Aktive Kampagnen haben ein blaues Männchen. Inaktive ein graues.&lt;br /&gt;
&lt;br /&gt;
Um den Status der Kampagne zu ändern klicken Sie auf das Männchen. Der Status der Kampagne ändert sich dann direkt.&lt;br /&gt;
&lt;br /&gt;
== Statusübertrag in Kampagnen  ==&lt;br /&gt;
&lt;br /&gt;
Bei mmDial haben Sie die Möglichkeit Kunden/Leads, die erfolgreich sind, direkt in eine anderen QM-Kampagne zu übertragen.&lt;br /&gt;
&lt;br /&gt;
Gehen Sie dazu in Kampagen und wählen Sie eine Kampagne aus.&amp;lt;br&amp;gt;Gehen Sie dann in der linken Navigation auf Statusübertrag.&amp;lt;br&amp;gt;Dort sehen Sie 3 Auswahlfelder zum Erstellen des Übertrags.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
*Wählen Sie den gewünschten Status der Leads die Sie übertragen möchten. Zum Beispiel &amp;quot;Sale&amp;quot; oder &amp;quot;Anrufbeantworter&amp;quot;.&amp;lt;br&amp;gt;&lt;br /&gt;
*Legen Sie fest, in welche Kampagne Sie diese Leads übertragen möchten.&amp;lt;br&amp;gt;&lt;br /&gt;
**Nach Auswahl der Kampagne öffnen sich weitere Einstellungsmöglichkeiten:&amp;lt;br&amp;gt;&lt;br /&gt;
**Sie können auswählen ob eine neue Liste erstellt werden soll, oder die Leads in eine vorhandene Liste geschrieben werden sollen&amp;lt;br&amp;gt;&lt;br /&gt;
**Alle Leads verlieren beim Verschieben Ihren aktuellen (alten) Status. Im folgenden Drop-Down Menü wählen Sie den neuen Status nach dem Übertrag aus (z.B. &amp;quot;NEW&amp;quot;).&lt;br /&gt;
*In der letzten Auswahl &amp;quot;Kopiermodus&amp;quot; können Sie zwischen &amp;quot;Lead verschieben&amp;quot; und &amp;quot;Lead kopieren&amp;quot; auswählen. Wählen Sie verschieben aus, so werden die Leads aus der aktuellen Kampagne gelöscht - damit gehen auch alle Informationen zu diesem Lead verloren (z.B. der Status).&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
'Unsere Empfehlung:'&lt;br /&gt;
Kopieren Sie die Leads statt Sie zu verschieben. Damit bleiben in der ursprünglichen Kampagne (aus der Sie den Übertrag machen) die Lead-Informationen wie letzte Anrufe, Status usw. erhalten. In der neuen Kampagne bzw. Liste, in die Ihre Leads verschoben wurden, wird alles zurück gesetzt. Wie oben beschrieben können Sie festlegen welchen Anfangsstatus diese Leads erhalten sollen.&lt;br /&gt;
&lt;br /&gt;
== Kampagnenstatus ==&lt;br /&gt;
=== Erstellen  ===&lt;br /&gt;
&lt;br /&gt;
mmDial bietet Ihnen die Möglichkeit eigene Status für einen Kampagne zu erstellen.&amp;lt;br&amp;gt;Dies dient einer genaueren Feststellung am Ende eines Gesprächs. Sie können beliebig viele Status erstellen. Zum Erstellen wählen Sie eine Kampagne aus und klicken im Contextmenü auf den Punkt „Kampagnen Status“. &lt;br /&gt;
&lt;br /&gt;
Hier müssen Sie nun ein Kürzel und den vollständigen Titel des Status eintragen. &lt;br /&gt;
&lt;br /&gt;
Nachdem Sie auf &amp;quot;anlegen&amp;quot; geklickt haben ist der Status erstellt. Er wird nun Ihren Agenten am Ende des Gesprächs in dieser Kampagne angezeigt und Sie haben auf die Möglichkeit gezielt nach diesem Status zu exportieren.&lt;br /&gt;
&lt;br /&gt;
=== Alle Status ansehen/löschen ===&lt;br /&gt;
&lt;br /&gt;
Um alle erstellten Status einzusehen klicken Sie auf die Schaltfläche „Vorhandene Status“. An dieser Stelle können Sie auch einen bestehenden Status wieder löschen.&lt;br /&gt;
&lt;br /&gt;
== Auftragsformular / Kampagnen Module ==&lt;br /&gt;
=== Eigenes Auftragsformular ===&lt;br /&gt;
&lt;br /&gt;
Die folgenden Felder können an ein externes eigenes Auftragsformular bzw. an ein Kampagnen-Modul übergeben werden:&lt;br /&gt;
&lt;br /&gt;
 * lead_id&lt;br /&gt;
 * title&lt;br /&gt;
 * phone&lt;br /&gt;
 * alt_phone&lt;br /&gt;
 * first_name&lt;br /&gt;
 * last_name&lt;br /&gt;
 * street&lt;br /&gt;
 * streetnr&lt;br /&gt;
 * plz&lt;br /&gt;
 * ort&lt;br /&gt;
 * notices&lt;br /&gt;
 * agentid&lt;br /&gt;
 * birthday&lt;br /&gt;
 * leadid_external&lt;br /&gt;
 * vorwahl&lt;br /&gt;
 * company_name&lt;br /&gt;
 * agent_name&lt;br /&gt;
 * campaign&lt;br /&gt;
&lt;br /&gt;
Bei Inbound-Kampagnen:&lt;br /&gt;
&lt;br /&gt;
 * target_number&lt;br /&gt;
&lt;br /&gt;
In der aufzurufenden URL werden die Felder entsprechend durch ihre Werte ersetzt, sobald die Platzhalter durch &amp;quot;__&amp;quot; eingeschlossen sind. Beispiel: __lead_id__&lt;br /&gt;
&lt;br /&gt;
Kommt in der URL der Wert &amp;quot;DOPOSTURL&amp;quot; vor, werden die Werte per HTTP POST übergeben, und der Wert &amp;quot;DOPOSTURL&amp;quot; entfernt.&lt;br /&gt;
&lt;br /&gt;
Der Wert &amp;quot;URLSTR&amp;quot; wird durch die Felder die oben beschrieben sind wie folgt ersetzt: feld1=wert1;feld2=wert2;...&lt;br /&gt;
&lt;br /&gt;
Es ist auch ein [[Beispielscript Leitfaden]] in php verfügbar.&lt;/div&gt;</summary>
		<author><name>Rath</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.mmdial.de/index.php?title=Hauptseite&amp;diff=205</id>
		<title>Hauptseite</title>
		<link rel="alternate" type="text/html" href="https://wiki.mmdial.de/index.php?title=Hauptseite&amp;diff=205"/>
		<updated>2012-11-16T22:36:38Z</updated>

		<summary type="html">&lt;p&gt;Rath: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''Willkommen im Wiki von mmDial.'''&lt;br /&gt;
&lt;br /&gt;
Das mmDial Wiki ist ein Nachschlagewerk für unsere Kunden. Jeder kann mit seinem Wissen beitragen. Artikel können nur von angemeldeten Usern verändert oder hinzugefügt werden.&lt;br /&gt;
Sie sind herzlich eingeladen, selber Teil dieses Wikis zu werden und Ihr Wissen und Ihre Erfahrung mit anderen mmDial Nutzern zu teilen.&lt;br /&gt;
&lt;br /&gt;
== Erste Schritte  ==&lt;br /&gt;
&lt;br /&gt;
Für den ersten Dialerbetrieb sind nur wenige Schritte nötig. &lt;br /&gt;
&lt;br /&gt;
Befolgen Sie diese Anleitung und seien Sie schon bald startklar. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
#Überblick über das [[Verwaltungssystem]] &lt;br /&gt;
##[[Agentenverwaltung]]&lt;br /&gt;
##[[Kampagnenverwaltung]]&lt;br /&gt;
##[[Listenverwaltung]]&lt;br /&gt;
##[[Statistiken]]&lt;br /&gt;
##[[Export]]&lt;br /&gt;
##[[Voices]]&lt;br /&gt;
##[[Livemonitor]]&lt;br /&gt;
#[[Softphone installieren|VoIP Software installieren]] &lt;br /&gt;
#[[Agentenverwaltung#Erstellen|Agenten erstellen]] &lt;br /&gt;
#[[Kampagnenverwaltung#Erste_Kampagne|Kampagne erstellen]] &lt;br /&gt;
#[[Listenverwaltung#Liste_hochladen|Datensätze hochladen]]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[[Liste Fehlerhafter Router]]&lt;br /&gt;
&lt;br /&gt;
[[Fehlerquellen bei Softphones]]&lt;/div&gt;</summary>
		<author><name>Rath</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.mmdial.de/index.php?title=Softphone_installieren&amp;diff=189</id>
		<title>Softphone installieren</title>
		<link rel="alternate" type="text/html" href="https://wiki.mmdial.de/index.php?title=Softphone_installieren&amp;diff=189"/>
		<updated>2012-11-15T10:46:49Z</updated>

		<summary type="html">&lt;p&gt;Rath: /* Bekannte Probleme */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Dieser Artikel befasst sich mit der Installation von VoIP-Software und deren Einstellung und Einrichtung an mmDial. mmDial benötigt eine VoIP-Software um eine Sprachverbindung von Ihren Agenten zu unseren Servern aufzubauen. Hierfür empfehlen wir Ihnen 2 Programme die Sie auswählen können. 1. [http://de.wikipedia.org/wiki/Linphone Linphone] oder 2. [http://de.wikipedia.org/wiki/X-Lite X-Lite]. Generell Funktioniert mmDial aber mit jedem SIP-fähigen Soft- oder Hardwaretelefon. Optional kann man sich auch über ein normales Telefon einloggen. Testen Sie mit [[Listenverwaltung#Demoliste_anlegen|Demolisten]] durch einen Echotest ob alles richtig eingestellt ist.&lt;br /&gt;
&lt;br /&gt;
== Allgemeines zu Softphones  ==&lt;br /&gt;
&lt;br /&gt;
Ein [http://de.wikipedia.org/wiki/Softphone Softphone] (VoIP-Software) ist ein Programm, welches Telefonie über das Internet ermöglicht. Im Fall von mmDial wird das Softphone zur Verbindung zwischen Agent und Dialer eingesetzt.Das Softphone muss während der gesamten Arbeitszeit des Agenten laufen und die Verbindung zwischen Dialer und Agent sollte nicht unterbrochen werden. Das Einzige, dass der Agent an dem Softphone machen muss, ist das Gespräch anzunehmen, welches der Dialer beim Login des Agenten aufbaut. Über dieses eine Gespräch wird die komplette Kommunikation zwischen dem Agenten und seinem Gesprächspartner abgewickelt.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Linphone  ==&lt;br /&gt;
&lt;br /&gt;
=== Herunterladen  ===&lt;br /&gt;
&lt;br /&gt;
Linphone kann direkt von den mmDial-Servern schnell und unkompliziert heruntergeladen werden. [http://www.mmdial.de/downloads/linphone-3.4.3-setup.exe Linphone herunterladen]&lt;br /&gt;
&lt;br /&gt;
=== Installation  ===&lt;br /&gt;
&lt;br /&gt;
#Nachdem Sie das Programm heruntergeladen haben führen Sie bitte, falls nicht automatisch ausgeführt, die Datei aus und beginnen Sie mit der Installation.&amp;lt;br&amp;gt; &lt;br /&gt;
#Wenn Sie gerade nicht mit administrativen Rechten auf dem PC angemeldet sind, machen Sie bitte einen Rechtsklick auf die .exe-Datei und klicken Sie auf „Ausführen als...“ und wählen Sie in dem aufgegangen Fenster einen Administratornutzer aus.&amp;lt;br&amp;gt; &lt;br /&gt;
#Wählen Sie Ihre Sprache aus und klicken Sie in dem neuen Fenster auf „Weiter“&amp;lt;br&amp;gt; &lt;br /&gt;
#Akzeptieren Sie die Lizenzbestimmungen und klicken Sie auf „Weiter“ &lt;br /&gt;
#Wählen Sie den Installationspfad aus und klicken Sie auf „Weiter“ &lt;br /&gt;
#Nun können Sie den Startmenüeintrag einstellen. Hier können Sie einfach auf „Weiter“ klicken&lt;br /&gt;
#Wählen Sie aus ob eine Desktopverknüpfung erstellt werden soll und klicken Sie auf „Weiter“&lt;br /&gt;
#Drücken Sie nun auf „Installieren“&lt;br /&gt;
#'''Linphone wurde Installiert'''&lt;br /&gt;
#Drücken Sie auf „Fertigstellen“ (Linphone startet automatisch)&lt;br /&gt;
#Linphone startet automatisch im Video-Modus. Andern Sie den Modus auf Audio, indem Sie in der Menüleiste von Linphone auf „Modes“ klicken und dort „Audio only“ auswählen.&lt;br /&gt;
&lt;br /&gt;
=== Agenten einrichten  ===&lt;br /&gt;
&lt;br /&gt;
#Linphone startet automatisch im Video-Modus. Andern Sie den Modus auf Audio, indem Sie in der Menüleiste von Linphone auf „Modes“ klicken und dort „Audio only“ auswählen&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
#Klicken Sie nun in der Menüleiste auf „Linphone“ und dann auf den Punkt „Einstellungen“ &lt;br /&gt;
#''Ein neues Fenster für die Einstellungen öffnet sich'' &lt;br /&gt;
#Klicken Sie nun auf den Reiter „Manage SIP Accounts“ &lt;br /&gt;
#Legen Sie einen neuen Account an, indem Sie auf den „Hinzufügen“ Button drücken. &lt;br /&gt;
#Tragen Sie nun unter „Your SIP identity“ folgendes ein: &amp;lt;br&amp;gt;&amp;lt;code&amp;gt;sip:[KundenID]-[AgentenID]@mmdial.de &amp;lt;br&amp;gt;Bsp.: sip:1000-3002@mmdial.de&amp;lt;/code&amp;gt; &lt;br /&gt;
#Tragen Sie unter „SIP Proxy address“ genau das Gleiche ein wie bei „Your SIP identity“ &lt;br /&gt;
#Drücken Sie nun auf „OK“ &lt;br /&gt;
#Ein neues Fenster öffnet sich und fragt nach dem Passwort. Tragen Sie hier das Passwort des Agenten-Account ein. (Wurde beim erstellen des Agenten festgelegt) &lt;br /&gt;
#Schließen Sie im Anschluss das Fenster für die Einstellungen indem Sie auf „Done“ klicken. &lt;br /&gt;
#Alle erforderlichen Einstellungen wurden gesetzt &lt;br /&gt;
#Testen Sie nun ob Linphone ordnungsgemäß arbeitet&amp;lt;br&amp;gt; &amp;lt;code&amp;gt;Wählen Sie dazu bitte folgende Nummer: 10000. Wenn Sie eine Ansage hören ist Linphone funktionstüchtig&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Einstellungen  ===&lt;br /&gt;
&lt;br /&gt;
==== STUN Server einstellen ====&lt;br /&gt;
Wenn Sie eine Internetverbindung mit einem Router nutzen, kann es Probleme bei der Tonübertragung geben. In diesem FAll müssen Sie in Linphone einen STUN-Server eintragen.&lt;br /&gt;
&amp;lt;br&amp;gt;Gehen Sie dafür in die Einstellungen von Linphone. Hier finden Sie auf der ersten Seite ganz unten ein Feld: &amp;quot;Stun Server&amp;quot;.&amp;lt;br&amp;gt;&lt;br /&gt;
Wählen Sie nun &amp;quot;Behind NAT/Firewall (use Stun to resolve)&amp;quot; und tragen Sie hier bitte &amp;lt;code&amp;gt;stun.mmdial.de&amp;lt;/code&amp;gt; ein.&lt;br /&gt;
Starten Sie Linphone neu. Nun sollten Sie Ihren Gesprächspartner einwandfrei hören können.&lt;br /&gt;
&lt;br /&gt;
== X-Lite  ==&lt;br /&gt;
=== Herunterladen  ===&lt;br /&gt;
&lt;br /&gt;
X-Lite kann direkt von den mmDial-Servern schnell und unkompliziert heruntergeladen werden. [http://www.mmdial.de/downloads/X-Lite_Win32_1003l_30942.exe X-Lite herunterladen]&lt;br /&gt;
&lt;br /&gt;
=== Installation  ===&lt;br /&gt;
&lt;br /&gt;
#Wenn Sie gerade nicht mit administrativen Rechten auf dem PC angemeldet sind, machen Sie bitte einen Rechtsklick auf die .exe-Datei und klicken Sie auf „Ausführen als...“ und wählen Sie in dem aufgegangen Fenster einen Administratornutzer aus &lt;br /&gt;
#Nun startet das Installationsprogramm &lt;br /&gt;
#Befolgen Sie nun bitte folgende Schritte: &lt;br /&gt;
#Klicken Sie auf „Next“ um den Installationsvorgang zu beginnen &lt;br /&gt;
#Akzeptieren Sie die Lizenzbestimmungen und klicken Sie auf „Next“ &lt;br /&gt;
#Wählen Sie den Installationspfad aus und klicken Sie auf „Next“ &lt;br /&gt;
#Jetzt können Sie z.B. auswählen ob eine Desktopverknüfung bei der Installation erstellt werden soll. Klicken Sie wieder auf „Next“ &lt;br /&gt;
#Nun wird das Programm auf dem PC installiert &lt;br /&gt;
#Sie werden nun aufgefordert den PC neu zu starten. Klicken Sie auf „Finish“, um den PC neu zu starten &lt;br /&gt;
#Nach dem Neustart ist X-Lite auf dem PC installiert&lt;br /&gt;
&lt;br /&gt;
=== Agenten einrichten  ===&lt;br /&gt;
&lt;br /&gt;
#Starten Sie nun X-Lite um die Konfiguration vor zu nehmen &lt;br /&gt;
#Sie werden gefragt ob Sie einen neuen Account anlegen möchten, da kein Account eingetragen ist. Klicken Sie hier auf „JA“ &lt;br /&gt;
#Nun öffnet sich ein Fenster mit einer Liste (Diese Liste sollte leer sein). &lt;br /&gt;
#Klicken Sie auf der rechten Seite des Fensters auf den Button „Add“ &lt;br /&gt;
#Ein neues Fenster öffnet sich (Hier können Sie nun einen Agenten-Account eintragen.) &lt;br /&gt;
#Tragen Sie in folgende Felder diese Daten ein:&amp;lt;br&amp;gt;User Name: Login des Agenten. (z.B. '''1000-3002''')&amp;lt;br&amp;gt;Password: Passwort des Agenten. (Wurde beim Erstellen festgelegt)&amp;lt;br&amp;gt;Domain: '''mmdial.de''' Bitte wählen Sie unter „Send outbound via“ die Option „domain“ aus &lt;br /&gt;
#Wechseln Sie zum den Reiter &amp;quot;Topology&amp;quot; und tragen Sie bei STUN Server / Use specified server folgende Adresse ein: '''stun.mmdial.de'''&lt;br /&gt;
#''Alle erforderlichen Einstellungen wurden gesetzt'' &lt;br /&gt;
#Klicken Sie auf „OK“ und schließen Sie die Liste mit den Accounts&lt;br /&gt;
&lt;br /&gt;
=== Einstellungen ===&lt;br /&gt;
&lt;br /&gt;
== Bekannte Probleme ==&lt;br /&gt;
&lt;br /&gt;
=== Windows Firewall ===&lt;br /&gt;
Häufig kommt es vor, dass eine aktive Windows-Firewall Probleme bei der Sprachübertragung hervorruft.&lt;br /&gt;
Aus diesem Grund versuchen Sie bitte, falls der Fall eintritt, dass Sie den Gesprächspartner oder der Gesprächspartner Sie nicht hört, die Windows-Firewall zu deaktivieren und testen Sie ob es nun Problemlos geht. Eine deaktivierung der Firewall birgt einige Risiken, die Sie mit Ihrem Administrator besprechen sollten.&lt;br /&gt;
&lt;br /&gt;
Unter Umständen hilft auch eine Änderung des SIP-Ports. Wir bieten zusätzlich zum Standard-SIP-Port 5060 den port 5070 an. SIP über TCP wird nicht angeboten. Dies hilft oft auch bei [[Liste Fehlerhafter Router|fehlerhaften Routern]].&lt;br /&gt;
&lt;br /&gt;
[[Fehlerquellen_bei_Softphones|Weitere Fehlerquellen bei Softphones]]&lt;/div&gt;</summary>
		<author><name>Rath</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.mmdial.de/index.php?title=Liste_Fehlerhafter_Router&amp;diff=188</id>
		<title>Liste Fehlerhafter Router</title>
		<link rel="alternate" type="text/html" href="https://wiki.mmdial.de/index.php?title=Liste_Fehlerhafter_Router&amp;diff=188"/>
		<updated>2012-11-15T10:43:21Z</updated>

		<summary type="html">&lt;p&gt;Rath: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Die folgenden Router haben Probleme mit dem Umgang von SIP(VoIP)-Verbindungen:&amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
#Speedport W123V (?) #hat Probleme mit mehr als 1er VoIP Verbindung. Teilweise kann keine Verbindung zu Servern mit Port 5060 (udp) mehr aufgebaut werden&amp;lt;br&amp;gt;&lt;br /&gt;
#Speedport W723V - Scheint das gleiche Problem wie der Speedport W123V zu haben.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Unter Umständen hilft auch eine Änderung des SIP-Ports. Wir bieten zusätzlich zum Standard-SIP-Port 5060 den port 5070 an. SIP über TCP wird nicht angeboten.&lt;br /&gt;
In einigen extremen Fällen bietet sich ein Tunneln durch den Router mittels VPN an.&lt;/div&gt;</summary>
		<author><name>Rath</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.mmdial.de/index.php?title=Softphone_installieren&amp;diff=186</id>
		<title>Softphone installieren</title>
		<link rel="alternate" type="text/html" href="https://wiki.mmdial.de/index.php?title=Softphone_installieren&amp;diff=186"/>
		<updated>2012-11-15T10:41:26Z</updated>

		<summary type="html">&lt;p&gt;Rath: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Dieser Artikel befasst sich mit der Installation von VoIP-Software und deren Einstellung und Einrichtung an mmDial. mmDial benötigt eine VoIP-Software um eine Sprachverbindung von Ihren Agenten zu unseren Servern aufzubauen. Hierfür empfehlen wir Ihnen 2 Programme die Sie auswählen können. 1. [http://de.wikipedia.org/wiki/Linphone Linphone] oder 2. [http://de.wikipedia.org/wiki/X-Lite X-Lite]. Generell Funktioniert mmDial aber mit jedem SIP-fähigen Soft- oder Hardwaretelefon. Optional kann man sich auch über ein normales Telefon einloggen. Testen Sie mit [[Listenverwaltung#Demoliste_anlegen|Demolisten]] durch einen Echotest ob alles richtig eingestellt ist.&lt;br /&gt;
&lt;br /&gt;
== Allgemeines zu Softphones  ==&lt;br /&gt;
&lt;br /&gt;
Ein [http://de.wikipedia.org/wiki/Softphone Softphone] (VoIP-Software) ist ein Programm, welches Telefonie über das Internet ermöglicht. Im Fall von mmDial wird das Softphone zur Verbindung zwischen Agent und Dialer eingesetzt.Das Softphone muss während der gesamten Arbeitszeit des Agenten laufen und die Verbindung zwischen Dialer und Agent sollte nicht unterbrochen werden. Das Einzige, dass der Agent an dem Softphone machen muss, ist das Gespräch anzunehmen, welches der Dialer beim Login des Agenten aufbaut. Über dieses eine Gespräch wird die komplette Kommunikation zwischen dem Agenten und seinem Gesprächspartner abgewickelt.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Linphone  ==&lt;br /&gt;
&lt;br /&gt;
=== Herunterladen  ===&lt;br /&gt;
&lt;br /&gt;
Linphone kann direkt von den mmDial-Servern schnell und unkompliziert heruntergeladen werden. [http://www.mmdial.de/downloads/linphone-3.4.3-setup.exe Linphone herunterladen]&lt;br /&gt;
&lt;br /&gt;
=== Installation  ===&lt;br /&gt;
&lt;br /&gt;
#Nachdem Sie das Programm heruntergeladen haben führen Sie bitte, falls nicht automatisch ausgeführt, die Datei aus und beginnen Sie mit der Installation.&amp;lt;br&amp;gt; &lt;br /&gt;
#Wenn Sie gerade nicht mit administrativen Rechten auf dem PC angemeldet sind, machen Sie bitte einen Rechtsklick auf die .exe-Datei und klicken Sie auf „Ausführen als...“ und wählen Sie in dem aufgegangen Fenster einen Administratornutzer aus.&amp;lt;br&amp;gt; &lt;br /&gt;
#Wählen Sie Ihre Sprache aus und klicken Sie in dem neuen Fenster auf „Weiter“&amp;lt;br&amp;gt; &lt;br /&gt;
#Akzeptieren Sie die Lizenzbestimmungen und klicken Sie auf „Weiter“ &lt;br /&gt;
#Wählen Sie den Installationspfad aus und klicken Sie auf „Weiter“ &lt;br /&gt;
#Nun können Sie den Startmenüeintrag einstellen. Hier können Sie einfach auf „Weiter“ klicken&lt;br /&gt;
#Wählen Sie aus ob eine Desktopverknüpfung erstellt werden soll und klicken Sie auf „Weiter“&lt;br /&gt;
#Drücken Sie nun auf „Installieren“&lt;br /&gt;
#'''Linphone wurde Installiert'''&lt;br /&gt;
#Drücken Sie auf „Fertigstellen“ (Linphone startet automatisch)&lt;br /&gt;
#Linphone startet automatisch im Video-Modus. Andern Sie den Modus auf Audio, indem Sie in der Menüleiste von Linphone auf „Modes“ klicken und dort „Audio only“ auswählen.&lt;br /&gt;
&lt;br /&gt;
=== Agenten einrichten  ===&lt;br /&gt;
&lt;br /&gt;
#Linphone startet automatisch im Video-Modus. Andern Sie den Modus auf Audio, indem Sie in der Menüleiste von Linphone auf „Modes“ klicken und dort „Audio only“ auswählen&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
#Klicken Sie nun in der Menüleiste auf „Linphone“ und dann auf den Punkt „Einstellungen“ &lt;br /&gt;
#''Ein neues Fenster für die Einstellungen öffnet sich'' &lt;br /&gt;
#Klicken Sie nun auf den Reiter „Manage SIP Accounts“ &lt;br /&gt;
#Legen Sie einen neuen Account an, indem Sie auf den „Hinzufügen“ Button drücken. &lt;br /&gt;
#Tragen Sie nun unter „Your SIP identity“ folgendes ein: &amp;lt;br&amp;gt;&amp;lt;code&amp;gt;sip:[KundenID]-[AgentenID]@mmdial.de &amp;lt;br&amp;gt;Bsp.: sip:1000-3002@mmdial.de&amp;lt;/code&amp;gt; &lt;br /&gt;
#Tragen Sie unter „SIP Proxy address“ genau das Gleiche ein wie bei „Your SIP identity“ &lt;br /&gt;
#Drücken Sie nun auf „OK“ &lt;br /&gt;
#Ein neues Fenster öffnet sich und fragt nach dem Passwort. Tragen Sie hier das Passwort des Agenten-Account ein. (Wurde beim erstellen des Agenten festgelegt) &lt;br /&gt;
#Schließen Sie im Anschluss das Fenster für die Einstellungen indem Sie auf „Done“ klicken. &lt;br /&gt;
#Alle erforderlichen Einstellungen wurden gesetzt &lt;br /&gt;
#Testen Sie nun ob Linphone ordnungsgemäß arbeitet&amp;lt;br&amp;gt; &amp;lt;code&amp;gt;Wählen Sie dazu bitte folgende Nummer: 10000. Wenn Sie eine Ansage hören ist Linphone funktionstüchtig&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Einstellungen  ===&lt;br /&gt;
&lt;br /&gt;
==== STUN Server einstellen ====&lt;br /&gt;
Wenn Sie eine Internetverbindung mit einem Router nutzen, kann es Probleme bei der Tonübertragung geben. In diesem FAll müssen Sie in Linphone einen STUN-Server eintragen.&lt;br /&gt;
&amp;lt;br&amp;gt;Gehen Sie dafür in die Einstellungen von Linphone. Hier finden Sie auf der ersten Seite ganz unten ein Feld: &amp;quot;Stun Server&amp;quot;.&amp;lt;br&amp;gt;&lt;br /&gt;
Wählen Sie nun &amp;quot;Behind NAT/Firewall (use Stun to resolve)&amp;quot; und tragen Sie hier bitte &amp;lt;code&amp;gt;stun.mmdial.de&amp;lt;/code&amp;gt; ein.&lt;br /&gt;
Starten Sie Linphone neu. Nun sollten Sie Ihren Gesprächspartner einwandfrei hören können.&lt;br /&gt;
&lt;br /&gt;
== X-Lite  ==&lt;br /&gt;
=== Herunterladen  ===&lt;br /&gt;
&lt;br /&gt;
X-Lite kann direkt von den mmDial-Servern schnell und unkompliziert heruntergeladen werden. [http://www.mmdial.de/downloads/X-Lite_Win32_1003l_30942.exe X-Lite herunterladen]&lt;br /&gt;
&lt;br /&gt;
=== Installation  ===&lt;br /&gt;
&lt;br /&gt;
#Wenn Sie gerade nicht mit administrativen Rechten auf dem PC angemeldet sind, machen Sie bitte einen Rechtsklick auf die .exe-Datei und klicken Sie auf „Ausführen als...“ und wählen Sie in dem aufgegangen Fenster einen Administratornutzer aus &lt;br /&gt;
#Nun startet das Installationsprogramm &lt;br /&gt;
#Befolgen Sie nun bitte folgende Schritte: &lt;br /&gt;
#Klicken Sie auf „Next“ um den Installationsvorgang zu beginnen &lt;br /&gt;
#Akzeptieren Sie die Lizenzbestimmungen und klicken Sie auf „Next“ &lt;br /&gt;
#Wählen Sie den Installationspfad aus und klicken Sie auf „Next“ &lt;br /&gt;
#Jetzt können Sie z.B. auswählen ob eine Desktopverknüfung bei der Installation erstellt werden soll. Klicken Sie wieder auf „Next“ &lt;br /&gt;
#Nun wird das Programm auf dem PC installiert &lt;br /&gt;
#Sie werden nun aufgefordert den PC neu zu starten. Klicken Sie auf „Finish“, um den PC neu zu starten &lt;br /&gt;
#Nach dem Neustart ist X-Lite auf dem PC installiert&lt;br /&gt;
&lt;br /&gt;
=== Agenten einrichten  ===&lt;br /&gt;
&lt;br /&gt;
#Starten Sie nun X-Lite um die Konfiguration vor zu nehmen &lt;br /&gt;
#Sie werden gefragt ob Sie einen neuen Account anlegen möchten, da kein Account eingetragen ist. Klicken Sie hier auf „JA“ &lt;br /&gt;
#Nun öffnet sich ein Fenster mit einer Liste (Diese Liste sollte leer sein). &lt;br /&gt;
#Klicken Sie auf der rechten Seite des Fensters auf den Button „Add“ &lt;br /&gt;
#Ein neues Fenster öffnet sich (Hier können Sie nun einen Agenten-Account eintragen.) &lt;br /&gt;
#Tragen Sie in folgende Felder diese Daten ein:&amp;lt;br&amp;gt;User Name: Login des Agenten. (z.B. '''1000-3002''')&amp;lt;br&amp;gt;Password: Passwort des Agenten. (Wurde beim Erstellen festgelegt)&amp;lt;br&amp;gt;Domain: '''mmdial.de''' Bitte wählen Sie unter „Send outbound via“ die Option „domain“ aus &lt;br /&gt;
#Wechseln Sie zum den Reiter &amp;quot;Topology&amp;quot; und tragen Sie bei STUN Server / Use specified server folgende Adresse ein: '''stun.mmdial.de'''&lt;br /&gt;
#''Alle erforderlichen Einstellungen wurden gesetzt'' &lt;br /&gt;
#Klicken Sie auf „OK“ und schließen Sie die Liste mit den Accounts&lt;br /&gt;
&lt;br /&gt;
=== Einstellungen ===&lt;br /&gt;
&lt;br /&gt;
== Bekannte Probleme ==&lt;br /&gt;
&lt;br /&gt;
=== Windows Firewall ===&lt;br /&gt;
Häufig kommt es vor, dass eine aktive Windows-Firewall Probleme bei der Sprachübertragung hervorruft.&lt;br /&gt;
Aus diesem Grund versuchen Sie bitte, falls der Fall eintritt, dass Sie den Gesprächspartner oder der Gesprächspartner Sie nicht hört, die Windows-Firewall zu deaktivieren und testen Sie ob es nun Problemlos geht. Eine deaktivierung der Firewall birgt einige Risiken, die Sie mit Ihrem Administrator besprechen sollten.&lt;br /&gt;
&lt;br /&gt;
Unter Umständen hilft auch eine Änderung des SIP-Ports. Wir bieten zusätzlich zum Standard-SIP-Port 5060 den port 5070 an. SIP über TCP wird nicht angeboten. Dies hilft oft auch bei [[Liste Fehlerhafter Router|fehlerhaften Routern]].&lt;/div&gt;</summary>
		<author><name>Rath</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.mmdial.de/index.php?title=Softphone_installieren&amp;diff=185</id>
		<title>Softphone installieren</title>
		<link rel="alternate" type="text/html" href="https://wiki.mmdial.de/index.php?title=Softphone_installieren&amp;diff=185"/>
		<updated>2012-11-15T10:40:41Z</updated>

		<summary type="html">&lt;p&gt;Rath: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Dieser Artikel befasst sich mit der Installation von VoIP-Software und deren Einstellung und Einrichtung an mmDial. mmDial benötigt eine VoIP-Software um eine Sprachverbindung von Ihren Agenten zu unseren Servern aufzubauen. Hierfür empfehlen wir Ihnen 2 Programme die Sie auswählen können. 1. [http://de.wikipedia.org/wiki/Linphone Linphone] oder 2. [http://de.wikipedia.org/wiki/X-Lite X-Lite]. Generell Funktioniert mmDial aber mit jedem SIP-fähigen Soft- oder Hardwaretelefon. Testen Sie mit [[Listenverwaltung#Demoliste_anlegen|Demolisten]] durch einen Echotest ob alles richtig eingestellt ist.&lt;br /&gt;
&lt;br /&gt;
== Allgemeines zu Softphones  ==&lt;br /&gt;
&lt;br /&gt;
Ein [http://de.wikipedia.org/wiki/Softphone Softphone] (VoIP-Software) ist ein Programm, welches Telefonie über das Internet ermöglicht. Im Fall von mmDial wird das Softphone zur Verbindung zwischen Agent und Dialer eingesetzt.Das Softphone muss während der gesamten Arbeitszeit des Agenten laufen und die Verbindung zwischen Dialer und Agent sollte nicht unterbrochen werden. Das Einzige, dass der Agent an dem Softphone machen muss, ist das Gespräch anzunehmen, welches der Dialer beim Login des Agenten aufbaut. Über dieses eine Gespräch wird die komplette Kommunikation zwischen dem Agenten und seinem Gesprächspartner abgewickelt.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Linphone  ==&lt;br /&gt;
&lt;br /&gt;
=== Herunterladen  ===&lt;br /&gt;
&lt;br /&gt;
Linphone kann direkt von den mmDial-Servern schnell und unkompliziert heruntergeladen werden. [http://www.mmdial.de/downloads/linphone-3.4.3-setup.exe Linphone herunterladen]&lt;br /&gt;
&lt;br /&gt;
=== Installation  ===&lt;br /&gt;
&lt;br /&gt;
#Nachdem Sie das Programm heruntergeladen haben führen Sie bitte, falls nicht automatisch ausgeführt, die Datei aus und beginnen Sie mit der Installation.&amp;lt;br&amp;gt; &lt;br /&gt;
#Wenn Sie gerade nicht mit administrativen Rechten auf dem PC angemeldet sind, machen Sie bitte einen Rechtsklick auf die .exe-Datei und klicken Sie auf „Ausführen als...“ und wählen Sie in dem aufgegangen Fenster einen Administratornutzer aus.&amp;lt;br&amp;gt; &lt;br /&gt;
#Wählen Sie Ihre Sprache aus und klicken Sie in dem neuen Fenster auf „Weiter“&amp;lt;br&amp;gt; &lt;br /&gt;
#Akzeptieren Sie die Lizenzbestimmungen und klicken Sie auf „Weiter“ &lt;br /&gt;
#Wählen Sie den Installationspfad aus und klicken Sie auf „Weiter“ &lt;br /&gt;
#Nun können Sie den Startmenüeintrag einstellen. Hier können Sie einfach auf „Weiter“ klicken&lt;br /&gt;
#Wählen Sie aus ob eine Desktopverknüpfung erstellt werden soll und klicken Sie auf „Weiter“&lt;br /&gt;
#Drücken Sie nun auf „Installieren“&lt;br /&gt;
#'''Linphone wurde Installiert'''&lt;br /&gt;
#Drücken Sie auf „Fertigstellen“ (Linphone startet automatisch)&lt;br /&gt;
#Linphone startet automatisch im Video-Modus. Andern Sie den Modus auf Audio, indem Sie in der Menüleiste von Linphone auf „Modes“ klicken und dort „Audio only“ auswählen.&lt;br /&gt;
&lt;br /&gt;
=== Agenten einrichten  ===&lt;br /&gt;
&lt;br /&gt;
#Linphone startet automatisch im Video-Modus. Andern Sie den Modus auf Audio, indem Sie in der Menüleiste von Linphone auf „Modes“ klicken und dort „Audio only“ auswählen&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
#Klicken Sie nun in der Menüleiste auf „Linphone“ und dann auf den Punkt „Einstellungen“ &lt;br /&gt;
#''Ein neues Fenster für die Einstellungen öffnet sich'' &lt;br /&gt;
#Klicken Sie nun auf den Reiter „Manage SIP Accounts“ &lt;br /&gt;
#Legen Sie einen neuen Account an, indem Sie auf den „Hinzufügen“ Button drücken. &lt;br /&gt;
#Tragen Sie nun unter „Your SIP identity“ folgendes ein: &amp;lt;br&amp;gt;&amp;lt;code&amp;gt;sip:[KundenID]-[AgentenID]@mmdial.de &amp;lt;br&amp;gt;Bsp.: sip:1000-3002@mmdial.de&amp;lt;/code&amp;gt; &lt;br /&gt;
#Tragen Sie unter „SIP Proxy address“ genau das Gleiche ein wie bei „Your SIP identity“ &lt;br /&gt;
#Drücken Sie nun auf „OK“ &lt;br /&gt;
#Ein neues Fenster öffnet sich und fragt nach dem Passwort. Tragen Sie hier das Passwort des Agenten-Account ein. (Wurde beim erstellen des Agenten festgelegt) &lt;br /&gt;
#Schließen Sie im Anschluss das Fenster für die Einstellungen indem Sie auf „Done“ klicken. &lt;br /&gt;
#Alle erforderlichen Einstellungen wurden gesetzt &lt;br /&gt;
#Testen Sie nun ob Linphone ordnungsgemäß arbeitet&amp;lt;br&amp;gt; &amp;lt;code&amp;gt;Wählen Sie dazu bitte folgende Nummer: 10000. Wenn Sie eine Ansage hören ist Linphone funktionstüchtig&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Einstellungen  ===&lt;br /&gt;
&lt;br /&gt;
==== STUN Server einstellen ====&lt;br /&gt;
Wenn Sie eine Internetverbindung mit einem Router nutzen, kann es Probleme bei der Tonübertragung geben. In diesem FAll müssen Sie in Linphone einen STUN-Server eintragen.&lt;br /&gt;
&amp;lt;br&amp;gt;Gehen Sie dafür in die Einstellungen von Linphone. Hier finden Sie auf der ersten Seite ganz unten ein Feld: &amp;quot;Stun Server&amp;quot;.&amp;lt;br&amp;gt;&lt;br /&gt;
Wählen Sie nun &amp;quot;Behind NAT/Firewall (use Stun to resolve)&amp;quot; und tragen Sie hier bitte &amp;lt;code&amp;gt;stun.mmdial.de&amp;lt;/code&amp;gt; ein.&lt;br /&gt;
Starten Sie Linphone neu. Nun sollten Sie Ihren Gesprächspartner einwandfrei hören können.&lt;br /&gt;
&lt;br /&gt;
== X-Lite  ==&lt;br /&gt;
=== Herunterladen  ===&lt;br /&gt;
&lt;br /&gt;
X-Lite kann direkt von den mmDial-Servern schnell und unkompliziert heruntergeladen werden. [http://www.mmdial.de/downloads/X-Lite_Win32_1003l_30942.exe X-Lite herunterladen]&lt;br /&gt;
&lt;br /&gt;
=== Installation  ===&lt;br /&gt;
&lt;br /&gt;
#Wenn Sie gerade nicht mit administrativen Rechten auf dem PC angemeldet sind, machen Sie bitte einen Rechtsklick auf die .exe-Datei und klicken Sie auf „Ausführen als...“ und wählen Sie in dem aufgegangen Fenster einen Administratornutzer aus &lt;br /&gt;
#Nun startet das Installationsprogramm &lt;br /&gt;
#Befolgen Sie nun bitte folgende Schritte: &lt;br /&gt;
#Klicken Sie auf „Next“ um den Installationsvorgang zu beginnen &lt;br /&gt;
#Akzeptieren Sie die Lizenzbestimmungen und klicken Sie auf „Next“ &lt;br /&gt;
#Wählen Sie den Installationspfad aus und klicken Sie auf „Next“ &lt;br /&gt;
#Jetzt können Sie z.B. auswählen ob eine Desktopverknüfung bei der Installation erstellt werden soll. Klicken Sie wieder auf „Next“ &lt;br /&gt;
#Nun wird das Programm auf dem PC installiert &lt;br /&gt;
#Sie werden nun aufgefordert den PC neu zu starten. Klicken Sie auf „Finish“, um den PC neu zu starten &lt;br /&gt;
#Nach dem Neustart ist X-Lite auf dem PC installiert&lt;br /&gt;
&lt;br /&gt;
=== Agenten einrichten  ===&lt;br /&gt;
&lt;br /&gt;
#Starten Sie nun X-Lite um die Konfiguration vor zu nehmen &lt;br /&gt;
#Sie werden gefragt ob Sie einen neuen Account anlegen möchten, da kein Account eingetragen ist. Klicken Sie hier auf „JA“ &lt;br /&gt;
#Nun öffnet sich ein Fenster mit einer Liste (Diese Liste sollte leer sein). &lt;br /&gt;
#Klicken Sie auf der rechten Seite des Fensters auf den Button „Add“ &lt;br /&gt;
#Ein neues Fenster öffnet sich (Hier können Sie nun einen Agenten-Account eintragen.) &lt;br /&gt;
#Tragen Sie in folgende Felder diese Daten ein:&amp;lt;br&amp;gt;User Name: Login des Agenten. (z.B. '''1000-3002''')&amp;lt;br&amp;gt;Password: Passwort des Agenten. (Wurde beim Erstellen festgelegt)&amp;lt;br&amp;gt;Domain: '''mmdial.de''' Bitte wählen Sie unter „Send outbound via“ die Option „domain“ aus &lt;br /&gt;
#Wechseln Sie zum den Reiter &amp;quot;Topology&amp;quot; und tragen Sie bei STUN Server / Use specified server folgende Adresse ein: '''stun.mmdial.de'''&lt;br /&gt;
#''Alle erforderlichen Einstellungen wurden gesetzt'' &lt;br /&gt;
#Klicken Sie auf „OK“ und schließen Sie die Liste mit den Accounts&lt;br /&gt;
&lt;br /&gt;
=== Einstellungen ===&lt;br /&gt;
&lt;br /&gt;
== Bekannte Probleme ==&lt;br /&gt;
&lt;br /&gt;
=== Windows Firewall ===&lt;br /&gt;
Häufig kommt es vor, dass eine aktive Windows-Firewall Probleme bei der Sprachübertragung hervorruft.&lt;br /&gt;
Aus diesem Grund versuchen Sie bitte, falls der Fall eintritt, dass Sie den Gesprächspartner oder der Gesprächspartner Sie nicht hört, die Windows-Firewall zu deaktivieren und testen Sie ob es nun Problemlos geht. Eine deaktivierung der Firewall birgt einige Risiken, die Sie mit Ihrem Administrator besprechen sollten.&lt;br /&gt;
&lt;br /&gt;
Unter Umständen hilft auch eine Änderung des SIP-Ports. Wir bieten zusätzlich zum Standard-SIP-Port 5060 den port 5070 an. SIP über TCP wird nicht angeboten. Dies hilft oft auch bei [[Liste Fehlerhafter Router|fehlerhaften Routern]].&lt;/div&gt;</summary>
		<author><name>Rath</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.mmdial.de/index.php?title=Softphone_installieren&amp;diff=183</id>
		<title>Softphone installieren</title>
		<link rel="alternate" type="text/html" href="https://wiki.mmdial.de/index.php?title=Softphone_installieren&amp;diff=183"/>
		<updated>2012-11-15T10:38:04Z</updated>

		<summary type="html">&lt;p&gt;Rath: /* STUN Server einstellen */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Dieser Artikel befasst sich mit der Installation von VoIP-Software und deren Einstellung und Einrichtung an mmDial. mmDial benötigt eine VoIP-Software um eine Sprachverbindung von Ihren Agenten zu unseren Servern aufzubauen. Hierfür empfehlen wir Ihnen 2 Programme die Sie auswählen können. 1. [http://de.wikipedia.org/wiki/Linphone Linphone] oder 2. [http://de.wikipedia.org/wiki/X-Lite X-Lite]. Generell Funktioniert mmDial aber mit jedem SIP-fähigen Soft- oder Hardwaretelefon.&lt;br /&gt;
&lt;br /&gt;
== Allgemeines zu Softphones  ==&lt;br /&gt;
&lt;br /&gt;
Ein [http://de.wikipedia.org/wiki/Softphone Softphone] (VoIP-Software) ist ein Programm, welches Telefonie über das Internet ermöglicht. Im Fall von mmDial wird das Softphone zur Verbindung zwischen Agent und Dialer eingesetzt.Das Softphone muss während der gesamten Arbeitszeit des Agenten laufen und die Verbindung zwischen Dialer und Agent sollte nicht unterbrochen werden. Das Einzige, dass der Agent an dem Softphone machen muss, ist das Gespräch anzunehmen, welches der Dialer beim Login des Agenten aufbaut. Über dieses eine Gespräch wird die komplette Kommunikation zwischen dem Agenten und seinem Gesprächspartner abgewickelt.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Linphone  ==&lt;br /&gt;
&lt;br /&gt;
=== Herunterladen  ===&lt;br /&gt;
&lt;br /&gt;
Linphone kann direkt von den mmDial-Servern schnell und unkompliziert heruntergeladen werden. [http://www.mmdial.de/downloads/linphone-3.4.3-setup.exe Linphone herunterladen]&lt;br /&gt;
&lt;br /&gt;
=== Installation  ===&lt;br /&gt;
&lt;br /&gt;
#Nachdem Sie das Programm heruntergeladen haben führen Sie bitte, falls nicht automatisch ausgeführt, die Datei aus und beginnen Sie mit der Installation.&amp;lt;br&amp;gt; &lt;br /&gt;
#Wenn Sie gerade nicht mit administrativen Rechten auf dem PC angemeldet sind, machen Sie bitte einen Rechtsklick auf die .exe-Datei und klicken Sie auf „Ausführen als...“ und wählen Sie in dem aufgegangen Fenster einen Administratornutzer aus.&amp;lt;br&amp;gt; &lt;br /&gt;
#Wählen Sie Ihre Sprache aus und klicken Sie in dem neuen Fenster auf „Weiter“&amp;lt;br&amp;gt; &lt;br /&gt;
#Akzeptieren Sie die Lizenzbestimmungen und klicken Sie auf „Weiter“ &lt;br /&gt;
#Wählen Sie den Installationspfad aus und klicken Sie auf „Weiter“ &lt;br /&gt;
#Nun können Sie den Startmenüeintrag einstellen. Hier können Sie einfach auf „Weiter“ klicken&lt;br /&gt;
#Wählen Sie aus ob eine Desktopverknüpfung erstellt werden soll und klicken Sie auf „Weiter“&lt;br /&gt;
#Drücken Sie nun auf „Installieren“&lt;br /&gt;
#'''Linphone wurde Installiert'''&lt;br /&gt;
#Drücken Sie auf „Fertigstellen“ (Linphone startet automatisch)&lt;br /&gt;
#Linphone startet automatisch im Video-Modus. Andern Sie den Modus auf Audio, indem Sie in der Menüleiste von Linphone auf „Modes“ klicken und dort „Audio only“ auswählen.&lt;br /&gt;
&lt;br /&gt;
=== Agenten einrichten  ===&lt;br /&gt;
&lt;br /&gt;
#Linphone startet automatisch im Video-Modus. Andern Sie den Modus auf Audio, indem Sie in der Menüleiste von Linphone auf „Modes“ klicken und dort „Audio only“ auswählen&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
#Klicken Sie nun in der Menüleiste auf „Linphone“ und dann auf den Punkt „Einstellungen“ &lt;br /&gt;
#''Ein neues Fenster für die Einstellungen öffnet sich'' &lt;br /&gt;
#Klicken Sie nun auf den Reiter „Manage SIP Accounts“ &lt;br /&gt;
#Legen Sie einen neuen Account an, indem Sie auf den „Hinzufügen“ Button drücken. &lt;br /&gt;
#Tragen Sie nun unter „Your SIP identity“ folgendes ein: &amp;lt;br&amp;gt;&amp;lt;code&amp;gt;sip:[KundenID]-[AgentenID]@mmdial.de &amp;lt;br&amp;gt;Bsp.: sip:1000-3002@mmdial.de&amp;lt;/code&amp;gt; &lt;br /&gt;
#Tragen Sie unter „SIP Proxy address“ genau das Gleiche ein wie bei „Your SIP identity“ &lt;br /&gt;
#Drücken Sie nun auf „OK“ &lt;br /&gt;
#Ein neues Fenster öffnet sich und fragt nach dem Passwort. Tragen Sie hier das Passwort des Agenten-Account ein. (Wurde beim erstellen des Agenten festgelegt) &lt;br /&gt;
#Schließen Sie im Anschluss das Fenster für die Einstellungen indem Sie auf „Done“ klicken. &lt;br /&gt;
#Alle erforderlichen Einstellungen wurden gesetzt &lt;br /&gt;
#Testen Sie nun ob Linphone ordnungsgemäß arbeitet&amp;lt;br&amp;gt; &amp;lt;code&amp;gt;Wählen Sie dazu bitte folgende Nummer: 10000. Wenn Sie eine Ansage hören ist Linphone funktionstüchtig&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Einstellungen  ===&lt;br /&gt;
&lt;br /&gt;
==== STUN Server einstellen ====&lt;br /&gt;
Wenn Sie eine Internetverbindung mit einem Router nutzen, kann es Probleme bei der Tonübertragung geben. In diesem FAll müssen Sie in Linphone einen STUN-Server eintragen.&lt;br /&gt;
&amp;lt;br&amp;gt;Gehen Sie dafür in die Einstellungen von Linphone. Hier finden Sie auf der ersten Seite ganz unten ein Feld: &amp;quot;Stun Server&amp;quot;.&amp;lt;br&amp;gt;&lt;br /&gt;
Wählen Sie nun &amp;quot;Behind NAT/Firewall (use Stun to resolve)&amp;quot; und tragen Sie hier bitte &amp;lt;code&amp;gt;stun.mmdial.de&amp;lt;/code&amp;gt; ein.&lt;br /&gt;
Starten Sie Linphone neu. Nun sollten Sie Ihren Gesprächspartner einwandfrei hören können.&lt;br /&gt;
&lt;br /&gt;
== X-Lite  ==&lt;br /&gt;
=== Herunterladen  ===&lt;br /&gt;
&lt;br /&gt;
X-Lite kann direkt von den mmDial-Servern schnell und unkompliziert heruntergeladen werden. [http://www.mmdial.de/downloads/X-Lite_Win32_1003l_30942.exe X-Lite herunterladen]&lt;br /&gt;
&lt;br /&gt;
=== Installation  ===&lt;br /&gt;
&lt;br /&gt;
#Wenn Sie gerade nicht mit administrativen Rechten auf dem PC angemeldet sind, machen Sie bitte einen Rechtsklick auf die .exe-Datei und klicken Sie auf „Ausführen als...“ und wählen Sie in dem aufgegangen Fenster einen Administratornutzer aus &lt;br /&gt;
#Nun startet das Installationsprogramm &lt;br /&gt;
#Befolgen Sie nun bitte folgende Schritte: &lt;br /&gt;
#Klicken Sie auf „Next“ um den Installationsvorgang zu beginnen &lt;br /&gt;
#Akzeptieren Sie die Lizenzbestimmungen und klicken Sie auf „Next“ &lt;br /&gt;
#Wählen Sie den Installationspfad aus und klicken Sie auf „Next“ &lt;br /&gt;
#Jetzt können Sie z.B. auswählen ob eine Desktopverknüfung bei der Installation erstellt werden soll. Klicken Sie wieder auf „Next“ &lt;br /&gt;
#Nun wird das Programm auf dem PC installiert &lt;br /&gt;
#Sie werden nun aufgefordert den PC neu zu starten. Klicken Sie auf „Finish“, um den PC neu zu starten &lt;br /&gt;
#Nach dem Neustart ist X-Lite auf dem PC installiert&lt;br /&gt;
&lt;br /&gt;
=== Agenten einrichten  ===&lt;br /&gt;
&lt;br /&gt;
#Starten Sie nun X-Lite um die Konfiguration vor zu nehmen &lt;br /&gt;
#Sie werden gefragt ob Sie einen neuen Account anlegen möchten, da kein Account eingetragen ist. Klicken Sie hier auf „JA“ &lt;br /&gt;
#Nun öffnet sich ein Fenster mit einer Liste (Diese Liste sollte leer sein). &lt;br /&gt;
#Klicken Sie auf der rechten Seite des Fensters auf den Button „Add“ &lt;br /&gt;
#Ein neues Fenster öffnet sich (Hier können Sie nun einen Agenten-Account eintragen.) &lt;br /&gt;
#Tragen Sie in folgende Felder diese Daten ein:&amp;lt;br&amp;gt;User Name: Login des Agenten. (z.B. '''1000-3002''')&amp;lt;br&amp;gt;Password: Passwort des Agenten. (Wurde beim Erstellen festgelegt)&amp;lt;br&amp;gt;Domain: '''mmdial.de''' Bitte wählen Sie unter „Send outbound via“ die Option „domain“ aus &lt;br /&gt;
#Wechseln Sie zum den Reiter &amp;quot;Topology&amp;quot; und tragen Sie bei STUN Server / Use specified server folgende Adresse ein: '''stun.mmdial.de'''&lt;br /&gt;
#''Alle erforderlichen Einstellungen wurden gesetzt'' &lt;br /&gt;
#Klicken Sie auf „OK“ und schließen Sie die Liste mit den Accounts&lt;br /&gt;
&lt;br /&gt;
=== Einstellungen ===&lt;br /&gt;
&lt;br /&gt;
== Bekannte Probleme ==&lt;br /&gt;
&lt;br /&gt;
=== Windows Firewall ===&lt;br /&gt;
Häufig kommt es vor, dass eine aktive Windows-Firewall Probleme bei der Sprachübertragung hervorruft.&lt;br /&gt;
Aus diesem Grund versuchen Sie bitte, falls der Fall eintritt, dass Sie den Gesprächspartner oder der Gesprächspartner Sie nicht hört, die Windows-Firewall zu deaktivieren und testen Sie ob es nun Problemlos geht. Eine deaktivierung der Firewall birgt einige Risiken, die Sie mit Ihrem Administrator besprechen sollten.&lt;br /&gt;
&lt;br /&gt;
Unter Umständen hilft auch eine Änderung des SIP-Ports. Wir bieten zusätzlich zum Standard-SIP-Port 5060 den port 5070 an. SIP über TCP wird nicht angeboten. Dies hilft oft auch bei [[Liste Fehlerhafter Router|fehlerhaften Routern]].&lt;/div&gt;</summary>
		<author><name>Rath</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.mmdial.de/index.php?title=Mmdial_Wiki:Datenschutz&amp;diff=182</id>
		<title>Mmdial Wiki:Datenschutz</title>
		<link rel="alternate" type="text/html" href="https://wiki.mmdial.de/index.php?title=Mmdial_Wiki:Datenschutz&amp;diff=182"/>
		<updated>2012-11-15T10:30:17Z</updated>

		<summary type="html">&lt;p&gt;Rath: Schützte „Mmdial Wiki:Datenschutz“ ([edit=sysop] (unbeschränkt) [move=sysop] (unbeschränkt))&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Informationen über den Datenschutz bei mmDial finden Sie in der [http://www.mmdial.de/media/datenschutz_mmdial.pdf Datenschutzerklärung]&lt;/div&gt;</summary>
		<author><name>Rath</name></author>
		
	</entry>
</feed>