API-Interface

Mit API-Interface von Zadarma können Sie die VoIP-Dienstleistungen für eigene Anwendungen benutzen, sowie mit beliebigen CRM-Systemen und Programme fürs Call Center integrieren. API ist für alle verfügbar und jeder Entwickler wird die Einstellungen ziemlich einfach finden.

Bei API sind alle Grundoptionen vorhanden:

  • SIP- und PBX-Einstellungen anzeigen und ändern;
  • Statistik und Kontostand anzeigen;
  • Anrufe (Callback auf externe und interne Nummern) und SMS-Versand;
  • Benachrichtigung des externen Servers über jeden eingehenden an die PBX Anruf sowie über Weiterleitung externer Anrufe.

Link auf API: https://api.zadarma.com

API Version: v1

Endlink auf Methode: https://api.zadarma.com/v1/METHOD/

Sie können fertige Lösungen runterladen um mit PHP, Python der API zu arbeiten, auf unserem GitHub.

Anleitung für Integration eigenes CRM-System mit Zadarma

-

Anmeldung

Jede Anfrage, die nach eine Anmeldung verlangt, wird von einer zusätzlichen Schlagzeile in Form von:
"Authorization: Benutzerschlüssel: Unterschrift" begleitet.

Die Autorisierungsschlüssel erhalten Sie in Menü-Punkt Mein Profil.

Unterschrift wird folgendermaßen erstellt:

  • Menge von den weitergegebenen Parametern (GET, POST, PUT, DELETE) werden nach dem Schlüssel alphabetisch sortiert;
  • aus dieser sortierte Menge wird die Anfragezeile erstellt (z.B. die Funktion http_build_query in PHP), Beispiel "from=DATEFROM&to=DATETO…";
  • und weiter wird nach Formel zusammengestellt: Zeile =Name_der_Methode Anfragezeile md5( Anfragezeile), wo "Name_der_Methode" ist eine Anfragezeile, beginnend vom Domain ( Mit Angabe der API Version) und bis Aufzählung der Parametern, z.B. /v1/sip/"
  • Die empfangene Zeile wird mithilfe des sha1-Algorithmus mit dem geheimen Schlüssel des Benutzers gehasht: Hash = hash (Zeile, geheimer_Schlüssel)
  • und dann wird Hash in base64 kodiert Unterschrift = base64_encode( hash )

Beispiel für PHP:

ksort($params);

$paramsStr = http_build_query($params, null, '&', PHP_QUERY_RFC1738);

$sign = base64_encode(hash_hmac('sha1', $method . $paramsStr . md5($paramsStr), $secret));

$header = 'Authorization: ' . $userKey . ':' . $sign;

Fertige Lösung PHP für API, können Sie hier runterladen: GitHub.

Antwort-Formate: json (standardmäßig) и xml.

Um eine Antwort von API in XML-Datei zu bekommen, füge Sie bitte den Parameter "format=xml" in die Anfragezeile hinzu.

Beschränkungen

In der Antwort können Sie auch die nformationen über die Limits und aktueller Anfrage finden, z.B.:

X-Zadarma-Method: /v1/
X-RateLimit-Reset: 1434371160
X-RateLimit-Limit: 100
X-RateLimit-Remaining: 99

wo,

  • X-Zadarma-Method - aktuelle Anrufsmethode;
  • X-RateLimit-Remaining - Anzahl der Anfragen, die noch gesendet werden können mit Berücksichtigung von Limits für Methode und Benutzer;
  • X-RateLimit-Limit - Gesamtzahl der Limit für Anfragen pro Minute;
  • X-RateLimit-Reset - Zeit zum Zurücksetzen der Einschränkung.

Generelle Limits: 100 Anfragen pro Minute, bei Statistiken - 10 Anfragen pro Minute.

Im Falle einer Blockierung kommt eine Rückmeldung mit dem 429 Überschrift "You exceeded the rate limit".

Eine Rückmeldung besteht aus einem Pflichtschlüssel "status" (success oder error). Danach, je nach gewählter Methode, werden die Schlüssel mit der geforderten Information verteilt.

Im Falle eines Fehlers wird der zusätzliche Schlüssel "message" mit Beschreibung des Fehlers vergeben.

Alle Rückmeldungen werden von dementsprechenden HTTP-Überschriften begleitet.

Beispiel eines Fehlerrückmeldung:

JSON:

	{
		"status":"error",
		"message":"Check phone's number"
	}

XML:

	<?xml version="1.0"?>
	<answer>
		<status>error</status>
		<message>Check phone's number</message>
	</answer>

Verfügbare Methoden:

  • /v1/info/balance/
    Kontostand des Benutzers
  • /v1/info/price/
    Anrufkosten nach aktuellen Tarif.
  • /v1/info/timezone/
    Zeitzone des Benutzers.
  • /v1/tariff/
    Informationen über den aktuellen Tarif.
  • /v1/request/callback/
    Callback.
  • /v1/sip/
    alle SIP-Nummern des Benutzers.
  • /v1/sip/<SIP>/status/
    SIP-Nummern des Benutzers in On-Line Status.
  • /v1/sip/callerid/
    CallerID ändern.
  • /v1/sip/redirection/
    Aktuelle Anrufweiterleitungen nach SIP-Nummern des Benutzers.
  • /v1/direct_numbers/
    Informationen über interne Nummern des Benutzers.
  • /v1/sip/redirection/
    Weiterleitung nach SIP: an / aus.
  • /v1/sip/redirection/
    Änderung den Parametern.
  • /v1/pbx/internal/
    Anzeige der internen PBX-Nummern.
  • /v1/pbx/internal/<PBXSIP>/status/
    Interne PBX-Nummer mit On-Line Status.
  • /v1/pbx/internal/recording/
    Gesprächsaufnahme auf interner PBX-Nummer aktivieren.
  • /v1/pbx/record/request/
    Anfrage über die Aufnahmedatei.
  • /v1/pbx/redirection/
    Die Parametern für Anrufweiterleitung an interner PBX-Nummer ändern.
  • /v1/pbx/redirection/
    Die Parametern für Anrufweiterleitung an interner PBX-Nummer erhalten.
  • /v1/sms/send/
    SMS-Versand.
  • /v1/statistics/
    Allgemeine Statistik erhalten.
  • /v1/statistics/pbx/
    PBX-Statistik.
  • /v1/statistics/callback_widget/
    Callback-Statistik (Widget).
  • /v1/info/number_lookup/
    Kontakte aktualisieren.
  • JSON
  • XML
{
    "status":"success",
    "balance":10.34,
    "currency":"USD"
}

<?xml version="1.0"?>
<answer>
    <status>success</status>
    <balance>10.34</balance>
    <currency>USD</currency>
</answer>

Parameter:

  • number – Telefonnummer
  • caller_id (optional) – CallerID, die bei dem Anruf verwendet wird.
  • JSON
  • XML
{
    "status":"success",
    "info":{
        "prefix":"4420",
        "description":"United Kingdom, London",
        "price":"0.009",
        "currency":"USD",
    }
}

<?xml version="1.0"?>
<answer>
    <status>success</status>
    <info>
        <prefix>4420</prefix>
        <description>United Kingdom, London</description>
        <price>0.009</price>
        <currency>USD</currency>
    </info>
</answer>

  • JSON
  • XML
{
    "status":"success",
    "unixtime":1483228800,
    "datetime":"2017-01-01 00:00:00",
    "timezone":"UTC+0"
}

<?xml version="1.0"?>
<answer>
    <status>success</status>
    <unixtime>1483228800</unixtime>
    <datetime>2017-01-01 00:00:00</datetime>
    <timezone>UTC+0</timezone>
</answer>

  • JSON
  • XML
{
    "status":"success",
    "info": {
        "tariff_id":5,
        "tariff_name":"Standart, special",
        "is_active":false,
        "cost":0,
        "currency":USD,
        "used_seconds":1643,
        "used_seconds_mobile":34,
        "used_seconds_fix":726,
        "tariff_id_for_next_period":5,
        "tariff_for_next_period":Standart, special
    }
}

<?xml version="1.0"?>
<answer>
    <status>success</status>
    <info>
        <tariff_id>5</tariff_id>
        <tariff_name>Standart, special</tariff_name>
        <is_active>false</is_active>
        <cost>0</cost>
        <currency>USD</currency>
        <used_seconds>1643</used_seconds>
        <used_seconds_mobile>726</used_seconds_mobile>
        <used_seconds_fix>726</used_seconds_fix>
        <tariff_id_for_next_period>5</tariff_id_for_next_period>
        <tariff_for_next_period>Standart, special</tariff_for_next_period>
    </info>
</answer>

wo

  • tariff_id– ID des aktuellen Tarifs;
  • tariff_name – Name des aktuellen Tarifs;
  • is_active – aktueller Tarif: aktiv / inaktiv;
  • cost – Tarifkosten;
  • currency – Tarifwährung;
  • used_seconds – verbrauchte Gesprächssekunden des Tarifs;
  • used_seconds_mobile – verbrauchte Sekunden des Tarifs auf Mobilfunknummer;
  • used_seconds_fix – verbrauchte Sekunden des Tarifs auf den Festnetz -Nummern ;
  • tariff_id_for_next_period – ID des Tarifes für nächsten Zeitraum;
  • tariff_for_next_period – Name des Tarifes für nächsten Zeitraum.

Parameter:

  • from – Ihre Telefonnummer oder SIP-Nummer, oder interne PBX-Nummer, oder Szenarionummer, die CallBack bestellt;
  • to – Telefonnummer oder SIP-Nummer, die angerufen wird;
  • sip (optional) – SIP-Nummer des Nutzers oder interne PBX-Nummer (zB 100), die Anruf annimmt. Es wird die CallerID dieser Nummer benutzt, in der Statistik wir diese SIP bzw. PBX-Nummer angezeigt. Falls Gesprächsaufnahme oder Präfixe aktiviert sind, werden diese auch berücksichtigt;

  • predicted (optional) – falls dieser Parameter aktiv ist, wird die Anfrage als prädikativ bezeichnet (das System ruft zuerst die Nummer "to" an. und nur in dem Fall, wenn die Verbindung besteht, wird Ihre SIP- bzw. Telefonnummer angerufen);
  • JSON
  • XML
{
    "status":"success",
    "from": 442037691880,
    "to": 442037691881,
    "time": 1435573082
}

<?xml version="1.0"?>
<answer>
    <status>success</status>
    <from>442037691880</from>
    <to>442037691881</to>
    <time>1435573082</time>
</answer>

  • JSON
  • XML
{
    "status":"success",
    "sips":[
        {
            "id":"00001",
            "display_name":"SIP 1",
            "lines":3
        },
        {
            "id":"00002",
            "display_name":"SIP 2",
            "lines":3
        }
    ],
    "left":3
}

<?xml version="1.0"?>
<answer>
    <status>success</status>
    <sips>
        <value>
            <id>00001</id>
            <display_name>SIP 1</display_name>
            <lines>3</lines>
        </value>
        <value>
            <id>00002</id>
            <display_name>SIP 2</display_name>
            <lines>3</lines>
        </value>
    </sips>
    <left>1</left>
</answer>

wo

  • id– SIP-ID;
  • display_name – Angezeigter Name;
  • lines – Anzahl den Leitungen;
  • left – Anzahl den SIP-Nummern, die Sie noch erstellen können (abhängig von Kontostand und dem Anzahl bereits erstellte SIP).
  • JSON
  • XML
{
    "status":"success",
    "sip":"00001",
    "is_online":"false"
}

<?xml version="1.0"?>
<answer>
    <status>success</status>
    <sip>00001</sip>
    <is_online>false</is_online>
</answer>

Parameter:

  • id – SIP-ID, bei der CallerID geändert wird;
  • number – Die Nummer für neuen CallerID, in international Format (aus der Liste mit bestätigten oder erworbenen Nummern).
  • JSON
  • XML
{
    "status":"success",
    "sip":"00001",
    "new_caller_id":"442037691880"
}

<?xml version="1.0"?>
<answer>
    <status>success</status>
    <sip>00001</sip>
    <new_caller_id>442037691880</new_caller_id>
</answer>

Parameter:

  • id – (optional) Auswahl der bestimmte SIP.
  • JSON
  • XML
{
    "status":"success",
    "info": [
        {
        "sip_id":"00001",
        "status":"on",
        "condition":"always",
        "destination":"phone",
        "destination_value":"442037691880",
        },
    ...
    ]
}

<?xml version="1.0"?>
<answer>
    <status>success</status>
    <info>
        <value>
            <sip_id>00001</sip_id>
            <status>on</status>
            <condition>always</condition>
            <destination>phone</destination>
            <destination_value>442037691880</destination_value>
        </value>
    ...
    </info>
</answer>

wo

  • sip_id– SIP-ID des Benutzers;
  • status – aktueller Status: on oder off;
  • condition – Bedingungen der Weiterleitung: always – immer (standardmäßig), unavailable – nicht verfügbar (In dem Fall, wenn keine Antwort oder keine Verbindung besteht);
  • destination – Weitergeleitet auf: phone – auf Telefonnummer, pbx – auf PBX;
  • destination_value – Die Nummer für die Weiterleitung: Telefonnummer oder PBX-ID.
  • JSON
  • XML
{
    "status":"success",
    "info": [
        {
            "number":"442037691880",
            "status":"on",
            "country":"Great Britain",
            "description":"London",
            "number_name":null,
            "sip":00001,
            "sip_name":null,
            "start_date":"2015-01-01 18:14:44",
            "stop_date":"2016-02-11 18:14:40",
            "monthly_fee":2,
            "currency":USD,
            "channels":2,
            "autorenew":"true",
            "is_on_test":"false",
            "type":"common"
        },
    ...
    ]
}

<?xml version="1.0"?>
<answer>
    <status>success</status>
    <info>
        <value>
            <number>442037691880</number>
            <status>on</status>
            <country>Великобритания</country>
            <description>Лондон</description>
            <number_name>null</number_name>
            <sip>00001</sip>
            <sip_name>Example</sip_name>
            <start_date>2015-01-01 18:14:44</start_date>
            <stop_date>2016-02-11 18:14:40</stop_date>
            <monthly_fee>2</monthly_fee>
            <currency>USD</currency>
            <channels>2</channels>
            <autorenew>true</autorenew>
            <is_on_test>false</is_on_test>
            <type>common</type>
        </value>
    ...
    </info>
</answer>

Abhängig von Nummer-Typ, kann die Zusammenstellung der Felder variieren. Beschreibung der Felder:

  • number – Erworbene virtuelle Nummer des Benutzers;
  • status – Status der Nummer;
  • country – Land (für "common" und "revenue");
  • description – Beschreibung: Stadt oder Typ (für "common" и "revenue");
  • number_name – "Name" der virtuellen Nummer (vom Benutzer festgelegt);
  • sip – SIP, der mit Nummer verknüpft ist, ;
  • sip_name – "Name" der SIP, der mit Nummer verknüpft ist;
  • start_date – Datum, wann die Nummer erworben wurde;
  • stop_date – Datum, bis wann die Nummer bezahlt ist;
  • monthly_fee – Kosten für die Nummer (für "common");
  • currency – Währung für die Nummer (für "common");
  • channels – Anzahl der Leitungen auf der Nummer (für "common");
  • minutes – Gesamtdauer den eingehenden Anrufen pro Monat (für "revenue");
  • autorenew – automatische Nummerverlängerung: aktiv / inaktiv (für "common", "revenue", "rufree");
  • is_on_test – Nummer in Testmodus: ja / nein;
  • type – Typ der Nummer: "common" (virtuelle Nummer), "inum" (kostenlose internationale Nummer), "rufree" (kostenlose Moskauer Nummer), "revenue" (kostenlose Moskauer Nummer mit Vorwahl 495)

Parameter:

  • id – SIP id;
  • status –Status der Weiterleitung auf definierte SIP-Nummer.
  • JSON
  • XML
{
    "status":"success",
    "sip":"00001",
    "current_status":"on"
}

<?xml version="1.0"?>
<answer>
    <status>success</status>
    <sip>00001</sip>
    <current_status>on</current_status>
</answer>

Parameter:

  • id – SIP id;
  • type – Typ der Weiterleitung: phone – Auf Telefon;
  • number – Telefonnummer.
  • JSON
  • XML
{
    "status":"success",
    "sip":"00001",
    "destination":"442037691880"
}

<?xml version="1.0"?>
<answer>
    <status>success</status>
    <sip>00001</sip>
    <destination>442037691880</destination>
</answer>

  • JSON
  • XML
{
    "status":"success",
    "pbx_id":1234,
    "numbers": [
        100,
        101,
        ...
    ]
}

<?xml version="1.0"?>
<answer>
    <status>success</status>
    <pbx_id>1234</pbx_id>
    <numbers>
        <value>100</value>
        <value>101</value>
        ...
    </numbers>
</answer>

wo

  • pbx_id – ID der Benutzer-PBX;
  • numbers – Liste der internen Nummern.
  • JSON
  • XML
{
    "status":"success",
    "pbx_id":1234,
    "number":100,
    "is_online":"false"
}

<?xml version="1.0"?>
<answer>
    <status>success</status>
    <pbx_id>1234</pbx_id>
    <number>100</number>
    <is_online>false</is_online>
</answer>

wo

  • pbx_id – PBX-ID;
  • number – Interne PBX-Nummer;
  • is_online – Online-Status (true|false).

Parameter:

  • id – Durchwahlnummer (interne Rufnummer) der PBX;
  • status – Modus: "on" - anschalten, "off" - ausschalten, "on_email" - nur Voicemail aktivieren, "off_email" - nur Voicemail deaktivieren, "on_store" - nur Aufnahme in den Datenbank aktivieren, "off_store" - nur Aufnahme in den Datenbank deaktivieren;
  • email – (fakultativ) Änderung der Email-Adresse, wo Ihre Gesprächsaufnahmen hin verschickt werden. Sie können bis 3 Email-Adressen durch Kommazeichen inzwischen eingeben.
  • JSON
  • XML
{
    "status":"success",
    "internal_number":100,
    "recording":"on",
    "email":"test@test.com"
}

<?xml version="1.0"?>
<answer>
    <status>success</status>
    <internal_number>100</internal_number>
    <recording>on</recording>
    <email>on</email>
</answer>

Parameter:

  • call_id – ID des Anrufes, dieser ID wird im Name der Datei mit Gesprächsaufnahme angegeben (eigener ID für jede Gesprächsaufnahme in der Statistik);
  • pbx_call_id – Fix-ID des externen Anrufes an PBX (wird bei Durchgehen über die Szenarien, Sprachmenüs, Transfer usw. nicht geändert. Wird in Statistik und Benachrichtigungen angezeigt);
  • lifetime – (optional) aktueller Stand des Links in Sekunden (mindestens 180, höchstens 5184000, standardmäßig 1800).

Anmerkung: Es ist ausreichend, wenn Sie nur einen von zwei Parameter Eingeben (pbx_call_id oder call_id), bei Eingabe der pbx_call_id können mehrere Links in Antwort angegeben werden.

  • JSON
  • XML

Beispielantwort, wenn nur call_id angegeben wird; Nur ein Link:

{
    "status":"success",
    "link": "https://api.zadarma.com/v1/pbx/record/download/NjM3M..NzM2Mg/1-1458313316.343456-100-2016-01-11-100155.mp3",
    "lifetime_till": "2016-01-01 23:56:22"
}

Beispielantwort, wenn nur pbx_call_id angegeben wird; mehrere Links:

{
    "status":"success",
    "links":[
        "https://api.zadarma.com/v1/pbx/record/download/NjM3M..NzM2Mg/1-1458313316.343456-100-2016-01-11-100155.mp3",
        "https://api.zadarma.com/v1/pbx/record/download/pw7Cj..iOzn99/1-1458313475.213487-101-2016-01-11-100211.mp3"
    ],
    "lifetime_till": "2016-01-01 23:56:22"
}

Beispielantwort, wenn nur call_id angegeben wird; Nur ein Link:

<?xml version="1.0"?>
<answer>
    <status>success</status>
    <link>https://api.zadarma.com/v1/pbx/record/download/NjM3M..NzM2Mg/1-1458313316.343456-100-2016-01-11-100155.mp3</link>
    <lifetime_till>2016-01-01 23:56:22</lifetime_till>
</answer>

Beispielantwort, wenn nur pbx_call_id angegeben wird; mehrere Links:

<?xml version="1.0"?>
<answer>
    <status>success</status>
    <links>
        <value>https://api.zadarma.com/v1/pbx/record/download/NjM3M..NzM2Mg/1-1458313316.343456-100-2016-01-11-100155.mp3</value>
        <value>https://api.zadarma.com/v1/pbx/record/download/pw7Cj..iOzn99/1-1458313475.213487-101-2016-01-11-100211.mp3</value>
    </links>
    <lifetime_till>2016-01-01 23:56:22</lifetime_till>
</answer>

Parameter:

  • link – Link auf die Aufnahmedatei;
  • lifetime_till – bis wann ist der Link noch zugänglich.

Parameter:

Um die Anrufweiterleitung zu aktivieren und einstellen:

  • pbx_number – Die interne PBX-Nummer in vollem Format, zB 1234-100;
  • status – on;
  • type – Typ der Weiterleitung: Voicemail oder Webphone;
  • destination – Webphone oder Email je nach vorherigen Parameter;
  • condition – Bedingungen der Weiterleitung, mögliche Angaben: always oder noanswer;
  • set_caller_id – Einstellung Ihrer CallerID bei der Weiterleitung, mögliche Angaben: on, off. Werden nur bei type = phone angegeben;
  • voicemail_greeting – Benachrichtigung über Weiterleitung, mögliche Angaben: no, standart, own. Werden nur bei type = voicemail angegeben;
  • greeting_file – Datei mit Sprachnachricht (im Format mp3 или wav bis zu 5 MB). Wird nur bei type = voicemail und voicemail_greeting = own angegeben;

Um die Anrufweiterleitung zu deaktivieren:

  • pbx_number – Die interne PBX-Nummer in vollem Format, zB. 1234-100;
  • status – off;
  • JSON
  • XML
{
    "status":"success",
    "current_status":"on",
    "pbx_id":"1234",
    "pbx_name":"100",
    "type":"phone",
    "destination":"79123456789",
    "condition":"noanswer",
    }

<?xml version="1.0"?>
    <answer>
    <status>success</status>
    <current_status>on</current_status>
    <pbx_id>1234</pbx_id>
    <pbx_name>100</pbx_name>
    <type>phone</type>
    <destination>79123456789</destination>
    <condition>noanswer</condition>
    </answer>

Parameter:

  • pbx_number – interne Rufnummer der PBX (ausführliche Variante, z.B. 1234-100);
  • JSON
{
    "status":"success",
    "current_status":"on",
    "pbx_id":"1234",
    "pbx_name":"100",
    "type":"phone",
    "destination":"79123456789",
    "condition":"noanswer",
    }

Parameter:

  • number – Die Nummer des SMS-Empfängers (falls mehrere, durch Kommazeichen angeben);
  • message – SMS (standardmäßige Anforderungen an die Länge der Nachricht. Falls die Zeichenanzahl überschritten wird, muss der Text auf mehrere Nachrichten geteilt werden);
  • caller_id – (optional) CallerID des Absenders (kann nur die bestätigte Nummer gewählt werden).
Beachten Sie bitte, dass SMS-Nachrichten können nur außerhalb der Russischen Föderation versandt werden.
  • JSON
  • XML
{
    "status":"success",
    "messages":1,
    "cost":0.24,
    "currency":"USD"
}

<?xml version="1.0"?>
<answer>
    <status>success</status>
    <value>
        <messages>1</messages>
        <cost>0.24</cost>
        <currency>1</currency>
    </value>
</answer>

Parameter:

  • start - Anfangsdatum für die Statistikauszug (im Format YYYY-MM-DD HH:MM:SS);
  • end - Enddatum für die Statistikauszug (im Format YYYY-MM-DD HH:MM:SS);
  • end (optional) - Filter nach SIP-Nummer;
  • cost_only (optional) - Anzeige nur den Ausgaben für diesen Zeitraum;
  • type (optional - nur bei der allgemeinen Statistik gültig) - Anfrage: allgemein (in Anfrage nicht angegeben), toll und ru495. (Statistiken für Nummern 800 und kostenfreie Nummern 495);
  • skip (optional - wird bei angegebenem Parameter cost_only nicht berücksichtigt) - Zeilenanzahl, die beim Statistikauszug verpasst werden müssen, Die Liste fängt mit Zeile skip + 1 an ( wird bei der Pagination zusammen mit limit verwendet; ohne Angaben ist gleich 0);
  • limit (optional - wird bei angegebenem Parameter cost_only nicht berücksichtigt) - Einschränkung auf Zeilenanzahl (wird bei der Pagination zusammen mit skip verwendet; maximaler Wert 1000, ohne Angaben 1000).

Maximale Zeitabschnitt für die Statistikauszug ist ein Monat. Falls Sie bei der Anfrage diesen Wert überschritten haben, wird die Angabe automatisch korrigiert. Wenn die Anfangsdatum nicht angegeben wurde, wird die Statistik ab Anfang des Monats erstellt. Wenn die Enddatum nicht angegeben wurde, wird die Statistik bis heutigen Datum und aktueller Zeit erstellt.
Höchste Anzahl der Zeilen pro eine Anfrage - 1000. Bei Seitenpaginierung verwenden Sie diese Parameter skip und limit.

  • JSON
  • XML
{
    "status":"success",
    "start":"2015-06-01 00:00:00",
    "end":"2015-06-29 13:45:23",
    "stats":[
        {
            "id":"155112249",
            "sip":"00001",
            "callstart":"2015-06-02 12:20:25",
            "from":442037691880,
            "to":442037691881,
            "description":"United Kingdom, London",
            "disposition":"busy",
            "billseconds":0,
            "cost":0.1950,
            "billcost":0.0000,
            "currency":"USD"
        },
        …
    ]
}

?type=cost_only:
{
    "status":"success",
    "start":"2015-06-01 00:00:00",
    "end":"2015-06-29 14:03:57",
    "stats":[
        {
            "cost":38.094,
            "currency":"USD",
            "seconds":9785
        }
    ]
}

<?xml version="1.0"?>
<answer>
    <status>success</status>
    <start>2015-06-01 00:00:00</start>
    <end>2015-06-29 13:58:22</end>
    <stats>
        <value>
            <id>155112249</id>
            <sip>00001</sip>
            <callstart>2015-06-02 12:20:25</callstart>
            <description>United Kingdom, London</description>
            <disposition>busy</disposition>
            <billseconds>0</billseconds>
            <cost>0.195</cost>
            <billcost>0</billcost>
            <currency>USD</currency>
            <from>442037691880</from>
            <to>442037691881</to>
        </value>
        …
    </stats>
</answer>

?type=cost_only:
<?xml version="1.0"?>
<answer>
    <status>success</status>
    <start>2015-06-01 00:00:00</start>
    <end>2015-06-29 14:03:30</end>
    <stats>
    <value>
        <cost>38.094</cost>
        <currency>USD</currency>
        <seconds>9785</seconds>
    </value>
    </stats>
</answer>

wo

  • start - Anfangsdatum für die Statistikauszug (im Format YYYY-MM-DD HH:MM:SS);
  • end - Enddatum für die Statistikauszug (im Format YYYY-MM-DD HH:MM:SS);
  • id – ID des Anrufes;
  • sip – SIP-Nummer;
  • callstart – Beginn des Anrufs;
  • description – Anrufsziel;
  • disposition – Anrufstatus:
    • 'answered' – Gespräch,
    • 'busy' – Belegt,
    • 'cancel' - Abgebrochen,
    • 'no answer' - Keine Antwort,
    • 'failed' - Fehlgeschlagen,
    • 'no money' - Nicht genügend Gunhaben auf dem Konto, Limit überschritten,
    • 'unallocated number' - kein Anschluss unter dieser Nummer,
    • 'no limit' - Limit überschritten,
    • 'no day limit' - Tageslimit überschritten,
    • 'line limit' - Leitungslimit überschritten,
    • 'no money, no limit' - Limit überschritten;
  • billseconds – Anrufdauer in Sekunden;
  • cost – Minutenpreise für dieses Anrufsziel;
  • billcost – Kosten für bezahlte Minuten;
  • currency – Währung;
  • from – Anrufernummer;
  • to – Zielrufnummer.

Parameter:

  • start - Anfangsdatum für die Statistikauszug (im Format YYYY-MM-DD HH:MM:SS);
  • end - Enddatum für der Statistikausgabe (im Format YYYY-MM-DD HH:MM:SS);
  • version - Formaten des Statistikauszuges (2 - neu, 1 - alt);
  • skip (optional) - Zeilenanzahl, die beim Statistikauszug verpasst werden müssen, Die Liste fängt mit Zeile skip + 1 an ( wird bei der Pagination zusammen mit limit verwendet; ohne Angaben ist gleich 0);
  • limit (optional) - Einschränkung auf Zeilenanzahl (wird bei der Pagination zusammen mit skip verwendet; maximaler Wert 1000, ohne Angaben 1000).
  • call_type (optional) - Anrufrichtung ('in' für eingehende, 'out' für ausgehende). Wenn keine Angaben, dann werden alle Anrufe angezeigt.
  • JSON
  • XML
{
    "status":"success",
    "start":"2015-06-01 00:00:00",
    "end":"2015-06-30 23:59:59",
    "version":2,
    "stats":[
        {
            "call_id":1439981389.2702773,
            "sip":200,
            "callstart":"2015-06-01 15:04:00",
            "clid":200,
            "destination":5,
            "disposition":"answered",
            "seconds":5,
            "is_recorded":true,
            "pbx_call_id":"in_ae6b03b3b0765d127ec0b739209346bbc4f0d52d"
        },
        …
    ]
}

<?xml version="1.0"?>
<answer>
    <status>success</status>
        <start>2015-06-01 00:00:00</start>
        <end>2015-06-30 23:59:59</end>
        <version>2</version>
        <stats>
        <value>
            <call_id>1439981389.2702773</call_id>
            <sip>200</sip>
            <callstart>2015-06-01 15:04:00</date>
            <clid>200</clid>
            <destination>5</destination>
            <disposition>answered</disposition>
            <seconds>5</seconds>
            <is_recorded>true</is_recorded>
            <pbx_call_id>in_ae6b03b3b0765d127ec0b739209346bbc4f0d52d</pbx_call_id>
        </value>
        …
    </stats>
</answer>

wo

  • start – Anfangsdatum für die Statistikauszug;
  • end – nddatum für die Statistikauszug;
  • id – ID des Anrufes;
  • sip – SIP-Nummer;
  • callstart – Beginn des Anrufs;
  • description – Anrufsziel;
  • disposition – Anrufstatus:
    • 'answered' – Gespräch,
    • 'busy' – Belegt,
    • 'cancel' - Abgebrochen,
    • 'no answer' - Keine Antwort,
    • 'failed' - Fehlgeschlagen,
    • 'no money' - Nicht genügend Gunhaben auf dem Konto, Limit überschritten,
    • 'unallocated number' - kein Anschluss unter dieser Nummer
    • 'no limit' - Limit überschritten,
    • 'no day limit' - Tageslimit überschritten,
    • 'line limit' - Leitungslimit überschritten,
    • 'no money, no limit' - Limit überschritten;
  • billseconds – Anrufdauer in Sekunden;
  • cost – Minutenpreise für dieses Anrufsziel;
  • billcost – Kosten für bezahlte Minuten;
  • currency – Währung;
  • from – Anrufernummer;
  • to – Zielrufnummer.

Parameter:

  • start Anfangsdatum für die Statistikauszug (im Format YYYY-MM-DD HH:MM:SS);
  • end - Enddatum für die Statistikauszug (im Format YYYY-MM-DD HH:MM:SS);
  • widget_id (optional) - Widget-Bezeichnung; Wenn keine Angaben, dann wird Statistik für alle Widgets angezeigt;
Maximale Zeitabschnitt für die Statistikauszug ist ein Monat. Falls Sie bei der Anfrage diesen Wert überschritten haben, wird die Angabe automatisch korrigiert. Wenn die Anfangsdatum nicht angegeben wurde, wird die Statistik ab Anfang des Monats erstellt. Wenn die Enddatum nicht angegeben wurde, wird die Statistik bis heutigen Datum und aktueller Zeit erstellt.
Höchste Anzahl der Zeilen pro eine Anfrage - 1000. Bei Seitenpaginierung verwenden Sie diese Parameter skip und limit.
  • JSON
  • XML
{
    "status":"success",
    "start":"2016-09-01 00:00:00",
    "end":"2016-09-30 23:59:59",
    "stats":[
        {
            "id":"57d16d6a1e46c53d1f8ce323",
            "widget_id":"1",
            "sip":"00001",
            "ip":"127.0.0.1",
            "actions":[
                {
                    "kind":"come",
                    "date":"2016-09-08 16:53:45",
                    "referrer_url":"http://test.domain.com/page1/",
                    "url":"http://home.domain.com/page2/"
                },
                {
                    "kind":"show",
                    "date":"2016-09-08 16:53:46",
                    "rate":15
                },
                {
                    "kind":"call_request",
                    "date":"2016-09-08 16:54:07",
                    "number":"442037691880",
                    "request_call_date":"2016-09-09 10:00:00",
                    "redial":"n"
                },
                {
                    "kind":"close",
                    "date":"2016-09-08 16:54:35"
                }
            ]
        },
        ...
    ]
}

<?xml version="1.0"?>
<answer>
    <status>success</status>
    <start>2016-09-01 00:00:00</start>
    <end>2016-09-30 23:59:59</end>
    <stats>
        <value>
            <id>57d16d6a1e46c53d1f8ce323</id>
            <widget_id>1</widget_id>
            <sip>00001</sip>
            <ip>127.0.0.1</ip>
            <actions>
                <value>
                    <kind>come</kind>
                    <date>2016-09-08 16:53:45</date>
                    <referrer_url>http://test.domain.com/page1/</referrer_url>
                    <url>http://home.domain.com/page2/</url>
                </value>
                <value>
                    <kind>show</kind>
                    <date>2016-09-08 16:53:46</date>
                    <rate>15</rate>
                </value>
                <value>
                    <kind>call_request</kind>
                    <date>2016-09-08 16:54:07</date>
                    <number>442037691880</number>
                    <request_call_date>2016-09-09 10:00:00</request_call_date>
                    <redial>n</redial>
                </value>
                <value>
                    <kind>close</kind>
                    <date>2016-09-08 16:54:35</date>
                </value>
            </actions>
        </value>
            ...
    </stats>
</answer>

wo

  • start – Anfangsdatum für die Statistikauszug;
  • end – Enddatum für die Statistikauszug;
  • id – Session-ID;
  • widget_id – Widget-ID;
  • sip – SIP-Nummer;
  • ip – IP-Adresse des Besuchers;
  • kind – Typ des Vorgangs:
    • 'come' – der Besucher ist auf die Seite mit Widget gekommen,
    • 'show' – Widget-Form angezeigt,
    • 'call' – CallCack Bestellung,
    • 'call_request' – Verlegten CallBack Bestellung
    • 'rate' – der Besucher hat das Gespräch bewertet,
    • 'fail' – Der Besucher hat angegeben, dass kein CallBack stattgefunden hat.
    • 'close' – der Besucher hat das Widget geschlossen;
  • date – Datum und Uhrzeit des Vorgangs;
  • referrer_url – Webadresse der Seite, von der Besucher auf die Seite mit dem Widget gekommen ist. (nur für 'come' - Vorgang);
  • url – Webadresse der Seite mit dem Widget (nur für 'come' - Vorgang);
  • rate – für 'show' -Vorganf: Anzahl den gesammelten Punkten für den Vorgang 'rate' - Gesprächsbewertung ;
  • request_call_date – Datum und Uhrzeit , die der Besucher als Termin für den Rückruf angegeben hat. (nur für 'call_request' - Vorgang);
  • redial – (true, false) zurückgerufen/nicht zurückgerufen bei der Bestellung von verlegten CallBack (nur für 'call_request' - Vorgang);
  • number – vom Besucher eingegebene Telefonnummer (für die Vorgänge 'call', 'call_request', 'rate', 'fail').

Parameter:

  • numbers – Die Liste mit den Nummern in internationalem Format.

Wenn "numbers" erhält nur eine Nummer, dann Ergebnis kommt sofort zurück. Wenn eine Liste mit Nummern eingegeben wurde, wird das Ergebnis auf die Adresse gesendet, die auf der Seite "Kontakte aktualisieren" angegeben wurde oder per E-Mail, falls keine Adresse vorhanden ist.

Bitte beachten Sie,: die Einstellungen für diese Methode werden direkt in Menü-Punkt "Mein Profil - Kontakte aktualisieren" durchgeführt.

Beispielantwort auf eine Nummer:


{
    "status":"success",
    "info":{
        'mcc' : '250',
        'mnc': '01',
        'mccName': 'Russia',
        'mncName': 'Mobile TeleSystems',
        'ported': false,
        'roaming': false,
        'errorDescription': 'No Error'
    }
}

Beispielantwort auf mehrere Nummern:


{
    "status":"success"
}

Beispielergebnis, die auf die angegebene Adresse gesendet wurde:


{
    'success': true,
    'description': 'Проверено успешно',
    'result': [
        {
            'mcc': '250',
            'mnc': '01',
            'ported': false,
            'roaming': false,
            'errorDescription': 'No Error',
            'mccName': 'Russia',
            'mncName': 'Mobile TeleSystems',
            'number': '791234567890',
        }, ...
    ]
}

 

Benachrichtigungssystem über Anrufe: Webhook

Zadarma kann Ihnen die Informationen über jeden Anruf Ihrer PBX zusenden und abhängig von den Antwort, den Anruf auf richtige interne Nummer umleiten. Um dieses zu ermöglichen, müssen Sie einen Link mit offenem Zugang erstellen, der POST-Anfragen mit Information von Zadarma erhalten wird.

Verfügbare Optionen:

  • NOTIFY_START
    Beginn eines eingehenden Anrufes an die PBX.
  • NOTIFY_INTERNAL
    Beginn eines eingehenden Anrufes an interne PBX-Nummer.
  • NOTIFY_ANSWER
    Anrufannahme an interner oder externer Nummer.
  • NOTIFY_END
    Ende eines eingehenden Anrufes an interne PBX-Nummer.
  • NOTIFY_OUT_START
    Beginn eines ausgehenden Anrufes von der PBX.
  • NOTIFY_OUT_END
    Ende eines ausgehenden Anrufes von der PBX.
  • NOTIFY_RECORD
    Gesprächsaufnahme ist zum Herunterladen bereit.
  • NOTIFY_IVR
    Abonnentenantwort auf definierten Vorgang.

Die Parameter die zum Benachrichtigung benötigt werden:

  • event – Vorgang (NOTIFY_START)
  • call_start – Anruf Anfangszeit;;
  • pbx_call_id – id des Anrufes;
  • caller_id – ummer den Anrufer;
  • called_did – Zielrufnummer.

Erstellung der Testunterschrift für die Benachrichtigung über Eingangsanrufe, Beispiel für PHP:

$signatureTest = base64_encode(hash_hmac('sha1', $_POST['caller_id'] . $_POST['called_did'] . $_POST['call_start'], API_SECRET));

Für die Anfragen NOTIFY_START und NOTIFY_IVR können Sie schnell das Szenario für laufende Anruf ändern in dem Sie eine Antwort auf eine der folgende Varianten absenden:

File Wiedergabe:

{
    "ivr_play": "ID"
}

где,

  • ivr_play – Der Wert aus der Spalte "ID" aus der Liste mit hochgeladene / vorgelesene Files für notwendigen File.

Einen gängigen Satz wiedergeben :

{
    "ivr_saypopular": 1,
    "language": "en"
}

где,

  • ivr_saypopular – Satznummer aus der Liste;

Die Zahlen wiedergeben:

{
    "ivr_saydigits": "12",
    "language": "en"
}

Eine Zahl wiedergeben (Mit Berücksichtigung den Regeln über Komplexe Zahlen):

{
    "ivr_saynumber": "123",
    "language": "en"
}

где,

  • language kann einen der folgende Werte annehmen: ru, en, es, pl;

Falls ivr_saydigits oder ivr_saynumber eingegeben wurde, in nächstem Vorgang NOTIFY_IVR wird Parameter eingefügt:

"ivr_saydigits": "COMPLETE" oder "ivr_saynumber": "COMPLETE"

In jeder eingegebener oben Anfrage kann eine Anfrage über Zahlenangabe von Abonnenten erscheinen:

{
    "wait_dtmf": {
        "timeout": TIMEOUT,
        "attempts": ATTEMPTS,
        "maxdigits": MAXDIGITS,
        "name": NAME,
        "default": DEFAULT,
    }
}

wo,

  • timeout - Wartezeit für Angabe in Sekunden;
  • attempts - Anzahl den Versuche für Zahlenangabe ;
  • maxdigits - Maximale Anzahl der Zahlen auf die gewartet wird;
  • name -Der Name für die Antwort;
  • default - Falls keine Zahl angegeben wurde, mögliche Werte:
    • id von Redirekt-Szenario (im Format 0-1, wo 0 - Sprachmenü-Nummer, 1 - Szenario-Nummer);
    • PBX-Menü im Format 0-main, wo 0 - id Menü;
    • Interne PBX-Nummer (Dreistellige Zahl);
    • hangup - Anruf beenden.

In nächstem Vorgang NOTIFY_IVR wird zusätzlich Parameter hinzugefügt:

{
  	"wait_dtmf": {
	    "name": NAME,
	    "digits": DIGITS,
	    "default_behaviour": "1"
    }
}

где,

  • name - Der Name aus letzte Antwort;
  • digits - Zahlen, die Abonnent angegeben hat;
  • default_behaviour - falls keinen Tastendruck erfolgt und Standardeinstellung eingeschaltet;

Anruf umleiten

{
    "redirect": ID,
    "return_timeout": TIMEOUT (kein Pflicht)
}

где,

  • redirect - id Redirekt-Szenario (im Format 0-1, wo 0 - Sprachmenü-Nummer, 1 - Szenario-Nummer); oder im Format 1, wo 1 - Szenario-Nummer Sprachmenü-Nummer ist in diesem Fall 0); oder PBX-Menü im Format 0-main, wo 0 - id Menü; oder interne PBX-Nummet (Dreistellige Zahl); oder "blacklist" - in diesem Fall wird der Anruf abgebrochen mit Belegzeichen;
  • return_timeout - Angabe in Sekunden. Mögliche Werte:
    • 0, Der Anruf kommt nicht zurück auf Menü;
    • >= 3 - Die Anruflänge auf Interne Nummer bevor der Anruf zurück auf Menü kommt

Anruf beenden:

{
    "hangup": 1
}

In jedem Antwort können Sie zusätzlich angeben:

Name für EingangsNummer definieren:

{
	"caller_name": NAME
}

где,

  • caller_name - Nummer-Name.

Liste den gängigen Sätzen (Nummerierung von 1):

Die Parameter die zum Benachrichtigung benötigt werden:

  • event – Vorgang (NOTIFY_INTERNAL)
  • call_start – Anruf Anfangszeit;
  • pbx_call_id – id des Anrufes;
  • caller_id – Nummer den Anrufer;
  • called_did – Zielrufnummer;
  • internal – (Optional) Interne Nummer.

Erstellung der Testunterschrift für die Benachrichtigung über Eingangsanrufe, Beispiel für PHP:

$signatureTest = base64_encode(hash_hmac('sha1', $_POST['caller_id'] . $_POST['called_did'] . $_POST['call_start'], API_SECRET));

Die Parameter die zum Benachrichtigung benötigt werden:

  • event – Vorgang (NOTIFY_ANSWER)
  • caller_id – Nummer den Anrufer;
  • destination – Zielrufnummer;
  • call_start – Anruf Anfangszeit;
  • pbx_call_id – id des Anrufes;
  • internal – (optional) interne Nummer .

Erstellung der Testunterschrift für die Benachrichtigung über Eingangsanrufe, Beispiel für PHP:

$signatureTest = base64_encode(hash_hmac('sha1', $_POST['caller_id'] . $_POST['destination'] . $_POST['call_start'], API_SECRET));

Die Parameter die zum Benachrichtigung benötigt werden:

  • event – Vorgang (NOTIFY_END)
  • call_start – Anruf Anfangszeit;
  • pbx_call_id – id des Anrufes;
  • caller_id – Nummer den Anrufer;
  • called_did – Zielrufnummer;
  • internal – (Optional) interne Nummer;
  • duration – Dauer in Sekunden;
  • disposition – Anrufstatus:
    • 'answered' – Gespräch,
    • 'busy' – Belegt,
    • 'cancel' - Abgebrochen,
    • 'no answer' - keine Antwort,
    • 'failed' - Fehlgeschlagen,
    • 'no money' - nicht genügender Betrag auf dem Konto, Limit überschritten,
    • 'unallocated number' - kein Anschluss unter dieser Nummer,
    • 'no limit' - Limit überschritten,
    • 'no day limit' - Tageslimit überschritten,
    • 'line limit' - Limit der Leitungen überschritten,
    • 'no money, no limit' - Limit überschritten;
  • status_code – Statuscode des Anrufes Q.931;
  • is_recorded – 1 - Mit Gesprächsaufnahme, 0 - ohne Gesprächsaufnahme;
  • call_id_with_rec – id Des Anrufer mit Gesprächsaufnahme (Wir empfehlen den File mit Aufnahme nicht früher als in 40 Sekunden nach der Benachrichtigung runterzuladen da zu Speichern des Files bestimmte Zeit benötigt wird).

Erstellung der Testunterschrift für die Benachrichtigung über Eingangsanrufe, Beispiel für PHP:

$signatureTest = base64_encode(hash_hmac('sha1', $_POST['caller_id'] . $_POST['called_did'] . $_POST['call_start'], API_SECRET));

Die Parameter die zum Benachrichtigung benötigt werden:

  • event – Vorgang (NOTIFY_OUT_START)
  • call_start – Anruf Anfangszeit;
  • pbx_call_id – id des Anrufes;
  • destination – Zielrufnummer;
  • caller_id – Nummer, die an interner PBX-Nummer eingestellt ist oder in den Regeln für die Anrufe nach Zielrichtung. Falls keine Einstellungen dann 0;
  • internal – (optional) interne Nummer.

Erstellung der Testunterschrift für die Benachrichtigung über Eingangsanrufe, Beispiel für PHP:

$signatureTest = base64_encode(hash_hmac('sha1', $_POST['internal'] . $_POST['destination'] . $_POST['call_start'], API_SECRET));

Die Parameter die zum Benachrichtigung benötigt werden:

  • event – Vorgang (NOTIFY_OUT_END)
  • call_start – Anruf Anfangszeit;
  • pbx_call_id – id des Anrufes;
  • caller_id – Nummer, die an interner PBX-Nummer eingestellt ist oder in den Regeln für die Anrufe nach Zielrichtung. Falls keine Einstellungen dann 0;
  • destination – Zielrufnummer;
  • internal – (optional) interne Nummer;
  • duration – Dauer in Sekunden;
  • disposition – Anrufstatus:
    • 'answered' – Gespräch,
    • 'busy' – Belegt,
    • 'cancel' - Abgebrochen,
    • 'no answer' - keine Antwort,
    • 'failed' - Fehlgeschlagen,
    • 'no money' - nicht genügender Betrag auf dem Konto, Limit überschritten,
    • 'unallocated number' - kein Anschluss unter dieser Nummer,
    • 'no limit' - Limit überschritten,
    • 'no day limit' - Tageslimit überschritten,
    • 'line limit' - Limit der Leitungen überschritten,
    • 'no money, no limit' - Limit überschritten;
  • status_code – Statuscode des Anrufes Q.931;
  • is_recorded – 1 - Mit Gesprächsaufnahme, 0 - ohne Gesprächsaufnahme;
  • call_id_with_rec – id Des Anrufer mit Gesprächsaufnahme (Wir empfehlen den File mit Aufnahme nicht früher als in 40 Sekunden nach der Benachrichtigung runterzuladen da zu Speichern des Files bestimmte Zeit benötigt wird).

Erstellung der Testunterschrift für die Benachrichtigung über Eingangsanrufe, Beispiel für PHP:

$signatureTest = base64_encode(hash_hmac('sha1', $_POST['internal'] . $_POST['destination'] . $_POST['call_start'], API_SECRET));

Die Parameter die zum Benachrichtigung benötigt werden:

  • event – Vorgang (NOTIFY_RECORD)
  • call_id_with_rec – ID des Anrufes mit Gesprächsaufnahme;
  • pbx_call_id – Fix-ID des externen Anrufes an PBX (wird bei Durchgehen über die Szenarien, Sprachmenüs, Transfer usw. nicht geändert. Wird in Statistik und Benachrichtigungen angezeigt).

Erstellung der Testunterschrift für die Benachrichtigung über Eingangsanrufe, Beispiel für PHP:

$signatureTest = base64_encode(hash_hmac('sha1', $_POST['pbx_call_id'] . $_POST['call_id_with_rec'], API_SECRET));

Die Parameter die zum Benachrichtigung benötigt werden:

  • event – Vorgang (NOTIFY_IVR)
  • call_start – Anruf Anfangszeit;
  • pbx_call_id – id des Anrufes;
  • caller_id – Nummer den Anrufer;
  • called_did – Zielrufnummer.

Erstellung der Testunterschrift für die Benachrichtigung über Eingangsanrufe, Beispiel für PHP:

$signatureTest = base64_encode(hash_hmac('sha1', $_POST['caller_id'] . $_POST['called_did'] . $_POST['call_start'], API_SECRET));

Die mögliche Antworten sind ähnlich den Antworten NOTIFY_START

Den Link für Benachrichtigungen können Sie in Menü-Punkt "API" definieren.

Damit das System Ihren Link annimmt, müssen Sie einen Prüfungscode am Anfang des Script hinzufügen.

Beispiel für PHP:

<?php if (isset($_GET['zd_echo'])) exit($_GET['zd_echo']); ?>

Für Ihre Sicherheit, empfehlen wir den Zugang zu Ihrem Link nur von IP 185.45.152.42 erlauben.

Auch wenn Sie API - Keys ausgestellt haben, bei jeder Anfrage werden Sie zusätzlichen Überschrift "Signature" erhalten, womit Sie genauso ihre Daten überprüfen können.

Ein Beispiel für Script können Sie hier ansehen.

Sonstige Benachrichtigungen:

Der Parameter "result" in diesen Benachrichtigungen ist im JSON-Format gespeichert. Da er ähnliche Aufgaben wie XML erfüllt, können Sie diese Meldungen im XML-Format erhalten, sobald Sie den Parameter eingegeben haben format=xml.

  • NUMBER_LOOKUP
    Bericht über Nummerprüfung.
  • CALL_TRACKING
    Auskunft über eingehende Anrufe auf die Nummern, die für Call-Tracking aktiviert sind.
  • SMS
    Information über empfangene SMS.

Die Parameter die zum Benachrichtigung benötigt werden:

  • event – Vorgang (NUMBER_LOOKUP)
  • success – Erfolgskennzeichen nach der Prüfung;
  • description – Textliche Beschreibung des Status einer vollständigen Prüfung;
  • result – Berichtsdaten ;
    • number – geprüfte Nummer;
    • mcc – Landesvorwahl für Mobilfunknetz;
    • mnc – Vorwahl für Mobilfunk;
    • ported – Merkmal für Wechsel des Anbieters;
    • roaming – Merkmal für Roaming;
    • error – Fehlerstatus;
    • errorDescription – Textliche Beschreibung des Fehlers;
    • mccName – Name eines Landes;
    • mncName – Name eines Anbieters;

Erstellung der Testunterschrift :

$signatureTest = base64_encode(hash_hmac('sha1', $_POST['result'], API_SECRET));

wird einmal pro 15 Minuten gesendet, beim Vorliegen neuer Anrufe.

Die Parameter die zum Benachrichtigung benötigt werden:

  • event – Vorgang (CALL_TRACKING)
  • result - Menge
    • tracker - ID-Tracker (können Sie auf der Webseite der Code-Einstellung nachsehen);
    • start - Anruf Anfangszeit; ;
    • duration - Gesprächsdauer in Sekunden;
    • caller_id - Nummer den Anrufer;
    • caller_did - Zielrufnummer;
    • country - (Optional) Land, aus welchem der Anruf kommt;
    • ga_id - (Optional) Benutzer-ID in Google Analytics;

Erstellung der Testunterschrift für die Benachrichtigung:

$signatureTest = base64_encode(hash_hmac('sha1', $_POST['result'], API_SECRET));