API: Unterschied zwischen den Versionen
Rath (Diskussion | Beiträge) |
Rath (Diskussion | Beiträge) (→exportbystatus) |
||
(4 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) | |||
Zeile 147: | Zeile 147: | ||
* size: Datei-Größe | * size: Datei-Größe | ||
* url: Datei-URL | * url: Datei-URL | ||
− | + | * broken_data_count: Anzahl Datensätze die nicht in encoding convertiert werden konnten | |
=== dncadd === | === dncadd === | ||
Zeile 283: | Zeile 283: | ||
* status: found|notfound | * status: found|notfound | ||
* lead_data: json Objekt mit Lead-Daten | * lead_data: json Objekt mit Lead-Daten | ||
− | * formdata: json Objekt mit Auftragsformular-Daten | + | * formdata: json Objekt mit Auftragsformular-Daten (Liste von Objekten - eins pro Formular-ID (GUID)) |
=== getleadbyphonenumber === | === getleadbyphonenumber === | ||
Zeile 297: | Zeile 297: | ||
* status: found|notfound | * status: found|notfound | ||
* lead_data: json Objekt Array mit Lead-Daten | * lead_data: json Objekt Array mit Lead-Daten | ||
− | * formdata: json Objekt | + | * formdata: json Objekt mit Auftragsformular-Daten (Liste von Objekten - eins pro Formular-ID (GUID)) |
Zeile 312: | Zeile 312: | ||
* status: found|notfound | * status: found|notfound | ||
* lead_data: json Objekt Array mit Lead-Daten | * lead_data: json Objekt Array mit Lead-Daten | ||
− | * formdata: json Objekt | + | * formdata: json Objekt mit Auftragsformular-Daten (Liste von Objekten - eins pro Formular-ID (GUID)) |
=== getleadbyextrafield === | === getleadbyextrafield === | ||
Zeile 327: | Zeile 327: | ||
* status: found|notfound | * status: found|notfound | ||
* lead_data: json Objekt Array mit Lead-Daten | * lead_data: json Objekt Array mit Lead-Daten | ||
− | * formdata: json Objekt | + | * formdata: json Objekt mit Auftragsformular-Daten (Liste von Objekten - eins pro Formular-ID (GUID)) |
=== getleadbycustomdata === | === getleadbycustomdata === | ||
Zeile 346: | Zeile 346: | ||
* status: found|notfound | * status: found|notfound | ||
* lead_data: json Objekt mit Lead-Daten | * lead_data: json Objekt mit Lead-Daten | ||
− | * formdata: json Objekt mit Auftragsformular-Daten | + | * formdata: json Objekt mit Auftragsformular-Daten (Liste von Objekten - eins pro Formular-ID (GUID)) |
=== addlist === | === addlist === | ||
Zeile 404: | Zeile 404: | ||
* formfields (POST, Array) | * formfields (POST, Array) | ||
* (Auftragsformularfelder, frei) | * (Auftragsformularfelder, frei) | ||
+ | * Format: GUID_Feldname als Key (GUID ist Formular-ID) | ||
Zeile 444: | Zeile 445: | ||
* rotation | * rotation | ||
* status | * status | ||
+ | * GUID (GET) | ||
* formfields (POST, Array) | * formfields (POST, Array) | ||
* (Auftragsformularfelder, frei) | * (Auftragsformularfelder, frei) | ||
Zeile 449: | Zeile 451: | ||
Im leaddata Array können auch Alle Extrafelder über das Unterarray "extrafields" referenziert und Bearbeitet werden. | Im leaddata Array können auch Alle Extrafelder über das Unterarray "extrafields" referenziert und Bearbeitet werden. | ||
Die Array-Keys sind hierbei die Feldnamen. | Die Array-Keys sind hierbei die Feldnamen. | ||
− | + | ||
+ | '''Rückgabe''' | ||
+ | |||
+ | json Objekt: | ||
+ | * status ok|error | ||
+ | * reason (Bei Fehlern) Fehlergrund | ||
+ | |||
=== getagentbyid === | === getagentbyid === | ||
Zeile 463: | Zeile 471: | ||
* agent_info: json Objekt Array mit Agent-Daten | * agent_info: json Objekt Array mit Agent-Daten | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | === getlistbyid=== | + | === getlistbyid === |
Suche eine Liste über ihre ID und liefere die Daten zurück. | Suche eine Liste über ihre ID und liefere die Daten zurück. | ||
Zeile 481: | Zeile 484: | ||
* status: found|notfound | * status: found|notfound | ||
* list_info: json Objekt Array mit Listen-Daten | * list_info: json Objekt Array mit Listen-Daten | ||
+ | |||
+ | === getcallbacksbyleadid === | ||
+ | |||
+ | Suche Callbacks (Wiedervorlagen) für einen bestimmten Lead | ||
+ | |||
+ | '''Parameter''' | ||
+ | * leadid (GET) | ||
'''Rückgabe''' | '''Rückgabe''' | ||
json Objekt: | json Objekt: | ||
− | * | + | * callbacks: json Objekt Array mit Callback-Daten |
− |
Aktuelle Version vom 12. Juli 2016, 11:51 Uhr
mmDial bietet ein umfangreiches API zur Anbindung externer Software.
Viele Schnittstellen sind bislang undokumentiert. Sollten Sie eine weitere Schnittstelle benötigen, wenden Sie sich bitte an unseren Support! Die API befindet sich nocht im Alpha-Stadium. Die Dokumentation kann fehlerhaft sein, und Schnittstellen können sich jederzeit ändern!
Sie können auf einfache Weise auch externe CRM-Systeme direkt in das Agenteninterface einbinden. Verwenden Sie hierzu die "Kampagnen Module" zu finden unter Kampagnen -> Kampagne auswählen -> Kampagnen Module. Eine kleine Erklärung und ein Beispielscript finden Sie unter Eigenes Auftrasformular
Inhaltsverzeichnis
- 1 Allgemeines
- 2 Funktionen
- 2.1 searchvoicebyleadid
- 2.2 searchvoicebyphonenumber
- 2.3 searchvoicebyagent
- 2.4 getfieldsbyguid
- 2.5 getfieldsbycampaign
- 2.6 exportbystatus
- 2.7 dncadd
- 2.8 dncdel
- 2.9 dncget
- 2.10 dnccheck
- 2.11 camp_dncadd
- 2.12 camp_dncdel
- 2.13 camp_dncget
- 2.14 camp_dnccheck
- 2.15 getleadbyid
- 2.16 getleadbyphonenumber
- 2.17 getleadbyexternalid
- 2.18 getleadbyextrafield
- 2.19 getleadbycustomdata
- 2.20 addlist
- 2.21 getlists
- 2.22 addlead
- 2.23 editlead
- 2.24 getagentbyid
- 2.25 getlistbyid
- 2.26 getcallbacksbyleadid
Allgemeines
* Die mmDial API ist über http://login.mmdial.de/api/ zu erreichen. * Die API benutzt die Standard HTTP Authentication. * Als Benutzername wird ein Benutzer mit Adminrechten verwendet * Es werden je nach Funktion HTTP GET und HTTP POST Argumente übergeben * Rückmeldungen erfolgen in der Regel als json Objekt
Funktionen
searchvoicebyleadid
Sucht eine Voice-Aufnahme über die Lead-ID des Kunden.
Parameter
* leadid (GET) - die zu suchende Lead-ID
Rückgabe
json Objekt:
* status: ok|error * msg: (nur bei error) * voices: json Objekt: * recid: Aufnahme-ID * agentid: Agenten-ID * timestamp: Der Zeitstempel der Aufnahme * available: yes|no yes, wenn die Datei schon/noch abrufbar ist. * voiceid: Dateiinterne ID * url: Url um die Datei herunterzuladen. * length: Abspiellänge der Aufzeichnung * size: Größe der Aufzeichnung
searchvoicebyphonenumber
Sucht eine Voice-Aufnahme über die Telefonnummer des Kunden.
Parameter
* phone(GET) - die zu suchende Telefonnummer * date (GET, optional) - Datum im Format YYYY-MM-DD * timestamp (GET, optional) - Timestamp im Format YYYMMDDHHIISS
Rückgabe
json Objekt:
* status: ok|error * msg: (nur bei error) * voices: json Objekt: * recid: Aufnahme-ID * agentid: Agenten-ID * timestamp: Der Zeitstempel der Aufnahme * available: yes|no yes, wenn die Datei schon/noch abrufbar ist. * voiceid: Dateiinterne ID * url: Url um die Datei herunterzuladen. * length: Abspiellänge der Aufzeichnung * size: Größe der Aufzeichnung
searchvoicebyagent
Sucht eine Voice-Aufnahme über die Agenten-ID.
Parameter
* agentid(GET) - die zu Agenten-ID * date (GET, optional) - Datum im Format YYYY-MM-DD * timestamp (GET, optional) - Timestamp im Format YYYMMDDHHIISS
Rückgabe
json Objekt:
* status: ok|error * msg: (nur bei error) * voices: json Objekt: * recid: Aufnahme-ID * agentid: Agenten-ID * timestamp: Der Zeitstempel der Aufnahme * available: yes|no yes, wenn die Datei schon/noch abrufbar ist. * voiceid: Dateiinterne ID * url: Url um die Datei herunterzuladen. * length: Abspiellänge der Aufzeichnung * size: Größe der Aufzeichnung
getfieldsbyguid
Gibt alle Auftragsformularfelder eines Auftragsformulars zurück.
Parameter
* GUID (GET) - die Formular-ID
Rückgabe
json Objekt:
* fields - json Objektliste: * name: Feldname
getfieldsbycampaign
Gibt alle Auftragsformularfelder einer Kampagne zurück.
Parameter
* campaign_id (GET) - die Kampagnen-ID
Rückgabe
json Objekt:
* fields - json Objektliste: * name: Feldname
exportbystatus
Erstellt eine Exportdatei aus verschiedenen Kriterien als CSV.
Parameter
* campaign_id (GET) - die Kampagnen-ID * status (GET Array, optional) - die zu Exportierenden Status * datetype: (GET, optional) last_phone|last_edit|imported_date (GET Array, optional) * fromdate: (GET, optional) Datum beginn: d.m.Y * fromtime: (GET, optional) Uhrzeit beginn: H:i:s * todate: (GET, optional) Datum ende: d.m.Y * totime: (GET, optional) Uhrzeit ende: H:i:s * selectedfields: (GET/POST) Feldauswahlliste getrennt durch , (Kommata) Prefix für Normale Felder: customerfield_, Prefix für Auftragsformularfelder: webformfield_ Auftragsformularfelder können auch die ID des Auftragsformulars enthalten (GUID): webformfield_GUID_ * encoding: (GET/POST, optional) Datei-Encoding (Standard: iso-8859-1) ISO-8859-1,Windows-1252,UTF-8
Rückgabe
json Objekt:
* status: ok|error * file_id: Datei-ID * size: Datei-Größe * url: Datei-URL * broken_data_count: Anzahl Datensätze die nicht in encoding convertiert werden konnten
dncadd
Fügt eine oder mehrere Nummern der Sperrliste hinzu
Parameter
* number (GET (Optional: mehrere durch , getrennt)) * reason (GET, Optional) Optionaler Grund
Rückgabe
json Objekt:
* status: ok|error|doublet * message
dncdel
Löscht eine, oder mehrere Nummern aus der Sperrliste.
Parameter
* number (GET (Optional: mehrere durch , getrennt)) * reason (GET, Optional) Optionaler Grund
Rückgabe
json Objekt:
* status: ok|error * message
dncget
Gibt die Sperrliste als CSV Datei zurück
Parameter keine
Rückgabe
CSV-Datei mit allen gesperrten Rufnummern
dnccheck
Sucht eine Nummer in der DNC-Liste
Parameter
* number (GET) * fuzzy: yes|no (GET, optional) Sucht auch nach Teilnummern.
Rückgabe
json Objekt:
* status: exists|notfound (bei fuzzy = no) * results: Liste mit passenden Telefonnummern (bei fuzzy = yes)
camp_dncadd
Fügt eine oder mehrere Nummern der Kampagnen-Sperrliste hinzu
Parameter
* number (GET (Optional: mehrere durch , getrennt)) * campaignID (GET) * reason (GET, Optional) Optionaler Grund
Rückgabe
json Objekt:
* status: ok|error|doublet * message
camp_dncdel
Löscht eine, oder mehrere Nummern aus der Kampagnen-Sperrliste.
Parameter
* number (GET (Optional: mehrere durch , getrennt)) * campaignID (GET) * reason (GET, Optional) Optionaler Grund
Rückgabe
json Objekt:
* status: ok|error * message
camp_dncget
Gibt die Kampagnen-Sperrliste als CSV Datei zurück
Parameter
* campaignID (GET)
Rückgabe
CSV-Datei mit allen gesperrten Rufnummern dieser Kampagne
camp_dnccheck
Sucht eine Nummer in der Kampagnen DNC-Liste
Parameter
* number (GET) * fuzzy: yes|no (GET, optional) Sucht auch nach Teilnummern. * campaignID (GET)
Rückgabe
json Objekt:
* status: exists|notfound (bei fuzzy = no) * results: Liste mit passenden Telefonnummern (bei fuzzy = yes)
getleadbyid
Suche einen Lead über die LeadID und gibt die Lead-Details sowie das letzte Auftragsformular zurück.
Parameter
* leadid(GET)
Rückgabe
json Objekt:
* status: found|notfound * lead_data: json Objekt mit Lead-Daten * formdata: json Objekt mit Auftragsformular-Daten (Liste von Objekten - eins pro Formular-ID (GUID))
getleadbyphonenumber
Suche einen Lead über die Telefonnummer und gibt die Lead-Details sowie das letzte Auftragsformular zurück.
Parameter
* number(GET)
Rückgabe
json Objekt:
* status: found|notfound * lead_data: json Objekt Array mit Lead-Daten * formdata: json Objekt mit Auftragsformular-Daten (Liste von Objekten - eins pro Formular-ID (GUID))
getleadbyexternalid
Suche einen Lead über die externe Lead-ID und gibt die Lead-Details sowie das letzte Auftragsformular zurück.
Parameter
* leadid(GET)
Rückgabe
json Objekt:
* status: found|notfound * lead_data: json Objekt Array mit Lead-Daten * formdata: json Objekt mit Auftragsformular-Daten (Liste von Objekten - eins pro Formular-ID (GUID))
getleadbyextrafield
Suche einen Lead über ein Extrafeld.
Parameter
* fieldname(GET) - der Name des Extra-Feldes * fieldvalue(GET) - der zu suchende Wert
Rückgabe
json Objekt:
* status: found|notfound * lead_data: json Objekt Array mit Lead-Daten * formdata: json Objekt mit Auftragsformular-Daten (Liste von Objekten - eins pro Formular-ID (GUID))
getleadbycustomdata
Sucht einen Lead über diverse kombinierbare Optionen und gibt die Lead-Details sowie das letzte Auftragsformular zurück. Werden Mehrere Optionen Kombiniert müssen alle Optionen zutreffen.
Parameter
* extleadid(GET,string) Sucht über die externe Lead-ID * extra_fieldname(GET,string|Array) Sucht über Extrafelder * number(GET) Sucht über die Telefonnummer * listid(GET,string|Array) Sucht über Listennummern * campaignID(GET,string) Sucht über die Kampagne
Rückgabe
json Objekt:
* status: found|notfound * lead_data: json Objekt mit Lead-Daten * formdata: json Objekt mit Auftragsformular-Daten (Liste von Objekten - eins pro Formular-ID (GUID))
addlist
Füge eine Liste hinzu.
Parameter
* campaignID (GET) * description (GET)
Rückgabe
json Objekt:
* status: ok|error * listid: ID der erstellten Liste (nur bei ok) * reason: Fehlergrund (nur bei error)
getlists
Listet alle Listen auf.
Parameter
* campaignID (GET,optional)
Rückgabe
json Objekt:
* lists: Array aller Listen
addlead
Füge einen Lead hinzu.
Parameter
* campaign_id (POST) * invalidcheck (POST) yes|no * doubletcheck_global (POST) yes|no * doubletcheck_campaign (POST) yes|no * list_id (POST) * country_phone_code (POST) * leaddata (POST, Array) * title * phone * alt_phone * first_name * last_name * birthdate * country * street * streetnr * addradd * plz * ort * notices * leadid_external * company_name * formfields (POST, Array) * (Auftragsformularfelder, frei) * Format: GUID_Feldname als Key (GUID ist Formular-ID)
Rückgabe
json Objekt:
* lead_stats: json Objekt * success * error * sqlerror * formaterror * doubleterror * invaliderror * formaterror_types: json Objekt * (diverse)
editlead
Bearbeite einen Lead.
Parameter
* campaign_id (GET) * leadid(GET) * leaddata (POST, Array) * title * phone * alt_phone * first_name * last_name * birthdate * country * street * streetnr * addradd * plz * ort * notices * leadid_external * company_name * rotation * status * GUID (GET) * formfields (POST, Array) * (Auftragsformularfelder, frei)
Im leaddata Array können auch Alle Extrafelder über das Unterarray "extrafields" referenziert und Bearbeitet werden. Die Array-Keys sind hierbei die Feldnamen.
Rückgabe
json Objekt:
* status ok|error * reason (Bei Fehlern) Fehlergrund
getagentbyid
Suche einen Agenten über seine ID und liefere seine Daten zurück.
Parameter
* agentid (GET)
Rückgabe
json Objekt:
* status: found|notfound * agent_info: json Objekt Array mit Agent-Daten
getlistbyid
Suche eine Liste über ihre ID und liefere die Daten zurück.
Parameter
* listid (GET)
Rückgabe
json Objekt:
* status: found|notfound * list_info: json Objekt Array mit Listen-Daten
getcallbacksbyleadid
Suche Callbacks (Wiedervorlagen) für einen bestimmten Lead
Parameter
* leadid (GET)
Rückgabe
json Objekt:
* callbacks: json Objekt Array mit Callback-Daten