SmartEmailing 2.0 API

Popis způsobu používání služby


Historie dokumentu

Datum

Popis

12.03.2014

Created 1.0

11.04.2014

Added getAllUnsubscribed and typping errors

24.04.2014

Added ContactLists - getContacts & Added Contacts - getAllInList and short info

30.5.2014

Web fomrs -all, send campaing and get news id

2.12.2014

Minor bug fix

17.4.2015

Doplněny metody pro stažení statistik v CSV a hromadný import přes createUpdateBatch

28.4.2015

ContactLists - getStatusChanges

27.8.2015

CreateUpdate - custom fields specs added

21.9.2015

Typo fix

13.4.2015

Přidána metoda na generování API klíčů


Obsah

1. Základní informace

1.1 Zasílání XML requestů

1.2 Zabezpečení spojení

1.3 Vzorový příklad připojení z PHP

1.4 Jak testovat XML požadavky?

2. Podporované funkce

2.1 Kontrola přihlašovacích údajů

2.2 Zjištění ID vlastního účtu

2.3 Smazání jednoho seznamu kontaktů

2.4 Získání všech seznamů kontaktů pod účtem

2.5 Získání jednoho seznamu kontaktů pod účtem

2.6 Vytvoření seznamu kontaktů

2.7 Získání struktury vlastního pole

2.8 Kampaně: Získání všech kampaní pod účtem

2.10 Kampaně: Smazání určité kampaně

2.11 Kampaně: Vytvoření kampaně

2.12 Kampaně: Update změna kampaně

2.13 Statistika kampaní: Získat vrácené kontakty dle kampaně

2.14 Statistika kampaní: Získat kontakty, které neotevřely danou kampaň

2.15 Statistika kampaní: Získat kontakty, které se z dané kampaně odhlásily

2.16 Statistika kampaní: Získat kontakty, které klikly na odkaz v dané kampani

2.17 Statistika kampaní: Získat kontakty, které otevřely danou kampaň

2.18 Statistika kampaní: Získat přehled pro celou kampaň

2.19 Statistika SmartKampaně: Získat odhlášené kontakty dle SmartKampaně

2.21 Statistika SmartKampaně: Získat kontakty, které otevřely danou SmartKampaň

2.22 Statistika SmartKampaně: Získat kontakty, které klikly na odkaz v dané SmartKampani

2.23 Statistika SmartKampaní: Získat vrácené kontakty dle SmartKampaně

2.24 Statistika SmartKampaně: Získat přehled pro celou SmartKampaň

2.25 Kontakt: Získat všechny kontakty

2.26 Kontakt: Získat jeden kontakt

2.27 A Kontakt: Vytvořit, update kontakt

2.27 B Kontakt: Vytvořit, update kontakt hromadně

2.28 Kontakt: Smazat kontakt

2.29 Kontakt: Získat všechny odhlášené kontakty

2.30 Seznamy kontaktů: Získat kontakty dle seznamu kontaktů

2.31 Kontakty: Získat kontakty dle seznamu kontaktů s kompletními informacemi

2.32 SmartKampaně: Získat všechny SmartKampaně

2.33 Webové formuláře: Získat všechny webové formuláře

2.34 Webové formuláře: Získat detailní popis formluláře

2.35 Webové formuláře: Získat HTML kód webového formuláře

2.36 Webové formuláře: Získat Javascript kód webového formuláře

2.37 Odesílání: Odeslání kampaně

2.38 Fronta kampaní: Získání všech ID rozesílek

2.39 Fronta kampaní: Získání detailu rozesílky

2.40 Fronta kampaní: Získání poslední rozesílky

2.38 Vlastní pole: získat všechny vlastní pole

2.39 Seznamy Kontaktů: Vrátit kontakty se změnou stavu

2.40 Vygenerování API klíče

3. CSV statistické API

3.1 Kampaně a Smart Kampaně odeslané na seznam

3.2 Statistika odeslání dané kampaně

3.3 Statistika otevření kampaně/SmartKampaně

3.4 Statistika neotevření kampaně/SmartKampaně

3.5 Statistika vrácených z dané kampaně/SmartKampaně

3.6 Statistika prokliků z dané kampaně/SmartKampaně

3.7 Statistika odhlášených z dané kampaně/SmartKampaně

3.8 Návštěvnost stránky s formulářem

3.9 Vyplnění formuláře


1. Základní informace

SmartEmailing API je služba umožňující uživatelům pomocí zasílaných XML požadavků vzdáleně spouštět funkce systému SmartEmailing.

SmartEmailing poskytuje možnost automaticky aktualizovat a používat systém bez nutnosti

fyzického přístupu. Použitím obecného a ve většině programovacích jazyků podporovaného

značkovacího jazyka můžete propojit SmartEmailing s prakticky každou aplikací.

Následují obecné poznámky týkající se celého systému:

1.1 Zasílání XML requestů

Veškerá komunikace je realizovaná pomocí HTTP protokolu. Žádosti jsou odesílány na předem určenou adresu jako POST požadavek obsahující XML feed s potřebnými údaji. Uživatelské jméno pro XML API je stejné jako přihlašovací jméno do webového prostředí, XML token Vám bude zaslán po objednání služby.

URL API je https://app.smartemailing.cz/api/v2

V příkladech v tomto dokumentu budou jako autentizační údaje použity fiktivní přístupy:

● URL: https://app.smartemailing.cz/api/v2

● USERNAME: USERNAME

● TOKEN: TOKEN

Není-li uvedeno jinak, jsou všechny uvedené položky v zasílané XML žádosti povinné. U těchto položek také záleží na pořadí, ve kterém jsou zaslány. Je-li u daného uzlu uvedeno, že je vyžadováno, znamená to, že systém očekává neprázdnou hodnotu (tedy např. i 0).

1.2 Zabezpečení spojení

Pro komunikaci s API je využíváno výlučně šifrované spojení. Proto pro komunikaci pro API používejte výlučně odkaz se “s” na konci.

URL API je https://app.smartemailing.cz/api/v2

1.3 Vzorový příklad připojení z PHP

Každá metoda bude doplněna o vzorový příklad zápisu v programovacím jazyku PHP. Pro práci s PHP je třeba mít kromě metody uložen i soubor base.php . Kompletní vzorové kódy jsou ke stažení ZDE v sekci “Vzorové příklady PHP”.

Obsahuje:

<?php

$token = 'TOKEN';

$username = 'LOGIN';

function v($result) {

        echo $result;

        //print_r($result);

        die();

}

function sendRequest($xml) {

        $ch = curl_init('https://app.smartemailing.cz/api/v2');

        curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);

        curl_setopt($ch, CURLOPT_POST, 1);

        curl_setopt($ch, CURLOPT_POSTFIELDS, $xml);

        $result = curl_exec($ch);

        if ($result === false) {

                echo "Chyba v zasilani XML requestu!";

        }

        else {

                header ("Content-Type:text/xml");

                v($result);

                /** @noinspection PhpUsageOfSilenceOperatorInspection */

                $xml_doc = @simplexml_load_string($result); // intentionally @

                if (!$xml_doc) {

                        echo "ERR in request" . PHP_EOL;

                        v($result);

                }

                echo PHP_EOL . $result . PHP_EOL . '------------------' . PHP_EOL;

                echo 'Status is ' . $xml_doc->status . PHP_EOL;

                if ($xml_doc->status == 'SUCCESS') {

                        print_r($xml_doc->data);

                }

                else {

                        echo $xml_doc->errormessage . PHP_EOL;

                }

        }

}

1.4 Jak testovat XML požadavky?

Pokud chcete testovat XML jednoduše a rychle. Doporučuji nainstalovat plugin do Google Chrome s názvem Advanced rest client.

2. Podporované funkce

2.1 Kontrola přihlašovacích údajů

S touto funkcí je možno zkontrolovat správnost údajů a zda nám napojení na API funguje.

Vzor XML:

<xmlrequest>

    <username>USERNAME</username>

    <usertoken>TOKEN</usertoken>

    <requesttype>Users</requesttype>

    <requestmethod>testCredentials</requestmethod>

    <details>

    </details>

</xmlrequest>

Vzor PHP:

require '../base.php';

$xml = '

<xmlrequest>

    <username>'.$username.'</username>

    <usertoken>'.$token.'</usertoken>

    <requesttype>Users</requesttype>

    <requestmethod>testCredentials</requestmethod>

    <details>

    </details>

</xmlrequest>

';

sendRequest($xml);

Když dotaz projde správně, vrátí se:

<?xml version="1.0" encoding="UTF-8" ?>

 <response>

<status>

SUCCESS

</status>

<data>

Authentication successful.

</data>

 </response>

Pokud dojde k chybě údajů:

<?xml version="1.0" encoding="UTF-8" ?>

 <response>

<status>

FAILED

</status>

<errormessage>

Invalid credentials

</errormessage>

 </response>

2.2 Zjištění ID vlastního účtu

S touto funkcí je možno zjistit ID účtu, na které máme k dispozici údaje API.

Požadavek v XML:

<xmlrequest>

    <username>USERNAME</username>

    <usertoken>TOKEN</usertoken>

    <requesttype>Users</requesttype>

    <requestmethod>getId</requestmethod>

    <details>

    </details>

</xmlrequest>

Požadavek v PHP:

require '../base.php';

$xml = '

<xmlrequest>

    <username>'.$username.'</username>

    <usertoken>'.$token.'</usertoken>

    <requesttype>Users</requesttype>

    <requestmethod>getId</requestmethod>

    <details>

    </details>

</xmlrequest>

';

sendRequest($xml);

Když dotaz projde správně, vrátí se:

<?xml version="1.0" encoding="UTF-8" ?>

 <response>

<status>

SUCCESS

</status>

<data>

2399

</data>

 </response>

2.3 Smazání jednoho seznamu kontaktů

Pomocí této metody můžeme smazat seznam kontaktů, pokud známe jeho ID.

Vzorové XML:

<xmlrequest>

    <username>USERNAME</username>

    <usertoken>TOKEN</usertoken>

    <requesttype>ContactLists</requesttype>

    <requestmethod>delete</requestmethod>

    <details>

            <id>30</id>

            <removecontacts>1</removecontacts><!-- optional -->

    </details>

</xmlrequest>

Vzorové PHP:

require '../base.php';

$xml = '

<xmlrequest>

    <username>' . $username . '</username>

    <usertoken>' . $token . '</usertoken>

    <requesttype>ContactLists</requesttype>

    <requestmethod>delete</requestmethod>

    <details>

            <id>30</id>

            <removecontacts>1</removecontacts><!-- optional -->

    </details>

</xmlrequest>

';

sendRequest($xml);

Když dotaz projde správně, vrátí se:

<?xml version="1.0" encoding="UTF-8" ?>

 <response>

<status>

SUCCESS

</status>

<data>

1

</data>

 </response>

2.4 Získání všech seznamů kontaktů pod účtem

Získáme tak výpis všech seznamů kontaktů, které jsou pod účtem s danými přístupy. Dále z výpisu můžeme využít tyto informace:

Vzorové XML:

<xmlrequest>

    <username>LOGIN</username>

    <usertoken>TOKEN</usertoken>

    <requesttype>ContactLists</requesttype>

    <requestmethod>getAll</requestmethod>

    <details>

    </details>

</xmlrequest>

Vzorové PHP:

require '../base.php';

$xml = '

<xmlrequest>

    <username>'.$username.'</username>

    <usertoken>'.$token.'</usertoken>

    <requesttype>ContactLists</requesttype>

    <requestmethod>getAll</requestmethod>

    <details>

    </details>

</xmlrequest>

';

sendRequest($xml);

Když dotaz projde správně, vrátí se:

<?xml version="1.0" encoding="UTF-8" ?>

<response>

<status>SUCCESS</status>

<data>

<item><name>AB</name><publicname></publicname><notes></notes><created>2014-02-04 13:22:03</created><alertIn>0</alertIn><alertOut>0</alertOut><trackedDefaultFields>a:3:{i:0;s:12:&quot;emailaddress&quot;;i:1;s:4:&quot;cf_1&quot;;i:2;s:4:&quot;cf_3&quot;;}</trackedDefaultFields><sendername>Václav Růt</sendername><senderemail>EMAIL</senderemail><replyto>rut.v@seznam.cz</replyto><signature></signature><segment_id></segment_id><id>3</id></item><item><name>test</name><publicname></publicname><notes></notes><created>2014-02-18 16:10:21</created><alertIn>0</alertIn><alertOut>0</alertOut><trackedDefaultFields>a:0:{}</trackedDefaultFields><sendername>Václav Růt</sendername><senderemail>rut.v@seznam.cz</senderemail><replyto>rut.v@seznam.cz</replyto><signature></signature><segment_id></segment_id><id>4</id></item>

</data>

</response>

2.5 Získání jednoho seznamu kontaktů pod účtem

Pomocí této metody získáme podrobné informace o jednom účtu kontaktů. K získání této informace je třeba znát ID seznamu kontaktů.

Poté dostaneme výpis který bude obsahovat:

Pro získání informací z pole <trackedDefaultFields> je třeba zavolat na výpis PHP funkci unserialize(), které tuto informaci rozklíčuje a vrátí PHP value, o unserialize() více info ZDE.

Využití částí<alertIn> a <alertOut> budou zpřístupněny a popsány v dalších verzích dokumentace, jelikož aktuálně není doprogramována celá logika.

Vzorové XML:

<xmlrequest>

    <username>USERNAME</username>

    <usertoken>TOKEN</usertoken>

    <requesttype>ContactLists</requesttype>

    <requestmethod>getOne</requestmethod>

    <details>

            <id>NUMBER</id>

    </details>

</xmlrequest>

Vzorové PHP:

require '../base.php';

$xml = '

<xmlrequest>

    <username>'.$username.'</username>

    <usertoken>'.$token.'</usertoken>

    <requesttype>ContactLists</requesttype>

    <requestmethod>getOne</requestmethod>

    <details>

            <id>NUMBER</id>

    </details>

</xmlrequest>

';

sendRequest($xml);

Když dotaz projde správně, vrátí se:

<?xml version="1.0" encoding="UTF-8" ?>

 <response>

<status>

SUCCESS

</status>

 <data>

<name>

AB

</name>

<publicname />

<notes />

<created>

2014-02-04 13:22:03

</created>

<alertIn>

0

</alertIn>

<alertOut>

0

</alertOut>

<trackedDefaultFields>

a:3:{i:0;s:12:"emailaddress";i:1;s:4:"cf_1";i:2;s:4:"cf_3";}

</trackedDefaultFields>

<sendername>

Václav Růt

</sendername>

<senderemail>

rut.v@seznam.cz

</senderemail>

<replyto>

rut.v@seznam.cz

</replyto>

<signature />

<segment_id />

 </data>

 </response>

Když dotaz neprojde správně kvůli špatnému ID seznamu, vrátí se:

<?xml version="1.0" encoding="UTF-8" ?>

 <response>

<status>

FAILED

</status>

<errormessage>

contact list does not exist

</errormessage>

 </response>

2.6 Vytvoření seznamu kontaktů

Tímto způsobem je možno přes API vytvořit seznam kontaktů pod určitým účtem. Pro vytvoření seznamu kontaktů je třeba do XML doplnit tyto informace, bez kterých není vytvoření možné:

Vzorové XML:

<xmlrequest>

    <username>USERNAME</username>

    <usertoken>TOKEN</usertoken>

    <requesttype>ContactLists</requesttype>

    <requestmethod>create</requestmethod>

    <details>

            <name>List po API</name>

            <trackedDefaultFields>a:2:{i:0;s:7:"updated";i:1;s:11:"blacklisted";}</trackedDefaultFields>

                <sendername>Václav Růt</sendername>

                <senderemail>vaclav@smartemailing.cz</senderemail>

                <replyto>vaclav@smartemailing.cz</replyto>

                <publicname>Testovací seznam</publicname>

    </details>

</xmlrequest>

Vzorové PHP:

require '../base.php';

$xml = '

<xmlrequest>

    <username>' . $username . '</username>

    <usertoken>' . $token . '</usertoken>

    <requesttype>ContactLists</requesttype>

    <requestmethod>create</requestmethod>

    <details>

        <name>List po API</name>

        <trackedDefaultFields>a:2:{i:0;s:7:"updated";i:1;s:11:"blacklisted";}</trackedDefaultFields>

        <sendername>Václav Růt</sendername>

                <senderemail>vaclav@smartemailing.cz</senderemail>

                <replyto>vaclav@smartemailing.cz</replyto>

                <publicname>Testovací seznam</publicname>

    </details>

</xmlrequest>

';

sendRequest($xml);

Pokud je seznam úspěšně vytvořen, vrací se:

<?xml version="1.0" encoding="UTF-8" ?>

 <response>

<status>

SUCCESS

</status>

 <data>

<name>

List po API

</name>

<publicname>

Testovací seznam

</publicname>

<notes />

<created>

2014-03-19 13:29:25

</created>

<alertIn>

0

</alertIn>

<alertOut>

0

</alertOut>

<trackedDefaultFields>

a:2:{i:0;s:7:"updated";i:1;s:11:"blacklisted";}

</trackedDefaultFields>

<sendername>

Václav Růt

</sendername>

<senderemail>

vaclav@smartemailing.cz

</senderemail>

<replyto>

vaclav@smartemailing.cz

</replyto>

<signature />

<segment_id />

<id>

5

</id>

 </data>

 </response>

2.7 Získání struktury vlastního pole

Tato funkce vrátí strukturu vlastního pole, abyste věděli, v jakém formátu máte toto vlastní pole posílat, pokud vytváříte kontakt s tímto vlastním polem.

Pro úspěšné zaslání requestu je třeba znát:

Vzorové XML:

<xmlrequest>

    <username>USERNAME<username>

    <usertoken>TOKEN</usertoken>

    <requesttype>CustomFields</requesttype>

    <requestmethod>describe</requestmethod>

    <details>

        <id>41</id>

    </details>

</xmlrequest>

Vzorové PHP:

require '../base.php';

$xml = "

<xmlrequest>

    <username>{$username}</username>

    <usertoken>{$token}</usertoken>

    <requesttype>CustomFields</requesttype>

    <requestmethod>describe</requestmethod>

    <details>

        <id>41</id>

    </details>

</xmlrequest>

";

sendRequest($xml);

Pokud je vše v pořádku a chceme získat strukturu vlastního pole typu “radio button”, vrátí se toto:

<?xml version="1.0" encoding="UTF-8" ?>

 <response>

<status>

SUCCESS

</status>

 <data>

<name>

asdas

</name>

<type>

radio

</type>

 <options>

 <item>

<id>

1

</id>

<customfield_id>

4

</customfield_id>

<name>

a

</name>

<order>

0

</order>

 </item>

 <item>

<id>

2

</id>

<customfield_id>

4

</customfield_id>

<name>

b

</name>

<order>

1

</order>

 </item>

 <item>

<id>

3

</id>

<customfield_id>

4

</customfield_id>

<name>

c

</name>

<order>

2

</order>

 </item>

 </options>

 </data>

 </response>

2.8 Kampaně: Získání všech kampaní pod účtem

Pomocí tohoto dotazu získáme všechny kampaně pod účtem.

Vzorové XML:

<xmlrequest>

<username>rut.v@seznam.cz</username>

    <usertoken>ZOjKBcfwqS7AbCG4Lo1aENi794JoJGVneSyt8CkA</usertoken>

    <requesttype>Campaigns</requesttype>

    <requestmethod>getAll</requestmethod>

    <details>

    </details>

</xmlrequest>

Vzorové PHP:

require '../base.php';

$xml = "

<xmlrequest>

    <username>USERNAME</username>

    <usertoken>TOKEN</usertoken>

    <requesttype>Campaigns</requesttype>

    <requestmethod>getAll</requestmethod>

    <details>

    </details>

</xmlrequest>

";

sendRequest($xml);

V případě, že požadavek projde správně, vrátí se:

<?xml version="1.0" encoding="UTF-8" ?>

 <response>

<status>

SUCCESS

</status>

 <data>

 <item>

<id>

2

</id>

<htmlbody>

PGh0bWw+CjxoZWFkPgoJPHRpdGxlPjwvdGl0bGU+CjwvaGVhZD4KPGJvZHk+ZGF0ZTwvYm9keT4KPC9odG1sPgo=

</htmlbody>

<textbody>

Date

</textbody>

<title>

date

</title>

<name>

date

</name>

 </item>

 </data>

 </response>

Z tohoto výpisu získáme ID kampaní, Textovou verzi kampaně, Název kampaně, Předmět a HTML kampaně. HTML kód je zakódovaný do BASE64. Pro dekódování a zakódování je možno v PHP použít funkce base64_encode a base64_decode.

2.9 Kampaně: Získání jedné kampaně z pod účtu

Stejná metoda jako 2.8, tato je pouze zaměřena na získání dat o jedné určité kampani. Pro získání tohoto výpisu musíme znát ID kampaně, kterou chceme.

Vzorové XML:

<xmlrequest>

    <username>USERNAME</username>

    <usertoken>TOKEN</usertoken>

    <requesttype>Campaigns</requesttype>

    <requestmethod>getOne</requestmethod>

    <details>

            <id>11</id>

    </details>

</xmlrequest>

Vzorové PHP:

require '../base.php';

$xml = "

<xmlrequest>

    <username>{$username}</username>

    <usertoken>{$token}</usertoken>

    <requesttype>Campaigns</requesttype>

    <requestmethod>getOne</requestmethod>

    <details>

            <id>11</id>

    </details>

</xmlrequest>

";

sendRequest($xml);

Pokud request projde, dostaneme stejný výpis jako v případě 2.8 .

2.10 Kampaně: Smazání určité kampaně

Touto funkcí můžeme smazat určitou kampaň, pokud známe její ID.

Příjlad XML:

<xmlrequest>

    <username>{$username}</username>

    <usertoken>{$token}</usertoken>

    <requesttype>Campaigns</requesttype>

    <requestmethod>delete</requestmethod>

    <details>

            <id>75</id>

    </details>

</xmlrequest>

Příklad PHP:

require '../base.php';

$xml = "

<xmlrequest>

    <username>{$username}</username>

    <usertoken>{$token}</usertoken>

    <requesttype>Campaigns</requesttype>

    <requestmethod>delete</requestmethod>

    <details>

            <id>75</id>

    </details>

</xmlrequest>

";

sendRequest($xml);

Výpis pokud je kampaň úspěšně smazána:

<?xml version="1.0" encoding="UTF-8" ?>

 <response>

<status>

SUCCESS

</status>

<data>

1

</data>

 </response>

2.11 Kampaně: Vytvoření kampaně

Pomocí této metody vytvoříme po API novou kampaň. Je třeba naplnit:

HTML je třeba zakódovat před odesláním requestu do BASE64.

Vzorové XML:

<xmlrequest>

    <username>USERNAME</username>

    <usertoken>TOKEN</usertoken>

    <requesttype>Campaigns</requesttype>

    <requestmethod>create</requestmethod>

    <details>

                <htmlbody>PGh0bWw+DQo8aGVhZD4NCgk8dGl0bGU+PC90aXRsZT4NCjwvaGVhZD4NCjxhbmsiPmtsaWtudXQmaWFjdXRlO20

gemRlPC9hPi48L3RkPg0KCQk8L3RyPg0KCTwvdGJvZHk+DQo8L3RhYmxlPg0KPC9ib2R5Pg0KPC9odG1sPg0K</htmlbody>

                <textbody>Textova verze kamapně</textbody>

                <name>NázevKampaně</name>

                <title>Předmět</title>

    </details>

</xmlrequest>

Vzorové PHP:

require '../base.php';

$xml = "

<xmlrequest>

    <username>{$username}</username>

    <usertoken>{$token}</usertoken>

    <requesttype>Campaigns</requesttype>

    <requestmethod>create</requestmethod>

    <details>

                <htmlbody>PGh0bWw+DQo8aGVhZD4NCgk8dGl0bGU+PC90aXRsZT4NCjwvaGVhZD4NCjx

hbmsiPmtsaWtudXQmaWFjdXRlO20gemRlPC9hPi48L3RkPg0KCQk8L3RyPg0KCTwvdGJvZHk+DQo8L3RhYmxlPg0KPC9ib2R5Pg0KPC9odG1sPg0K</htmlbody>

                <textbody>Textova verze kamapně</textbody>

                <name>NázevKampaně</name>

                <title>Předmět</title>

    </details>

</xmlrequest>

";

sendRequest($xml);

Pokud je vše v pořádku, vrátí se:

<?xml version="1.0" encoding="UTF-8" ?>

 <response>

<status>

SUCCESS

</status>

<data>

9

</data>

 </response>

2.12 Kampaně: Update změna kampaně

Touto metodou můžeme provést změnu, update již existující kampaně. Pro úspěšnou změnu je třeba znát ID kampaně, kterou chceme měnit.

Vzorové XML:

<xmlrequest>

    <username>USERNAME</username>

    <usertoken>TOKEN</usertoken>

    <requesttype>Campaigns</requesttype>

    <requestmethod>update</requestmethod>

    <details>

            <id>80</id>

<htmlbody>HTML</htmlbody>

<textbody>TEXT VERZE</textbody>

                <name>NEW NAME OF CAMPAIGN</name>

                <title>NEW SUBJECT</title>

    </details>

</xmlrequest>

Vzorové PHP:

require '../base.php';

$xml = "

<xmlrequest>

    <username>{$username}</username>

    <usertoken>{$token}</usertoken>

    <requesttype>Campaigns</requesttype>

    <requestmethod>update</requestmethod>

    <details>

            <id>80</id>

<htmlbody>HTML</htmlbody>

<textbody>TEXT VERZE</textbody>

                <name>NEW NAME OF CAMPAIGN</name>

                <title>NEW SUBJECT</title>

    </details>

</xmlrequest>

";

sendRequest($xml);

Pokud je vše v pořádku, vrátí se:

<?xml version="1.0" encoding="UTF-8" ?>

 <response>

<status>

SUCCESS

</status>

<data>

1

</data>

 </response>

2.13 Statistika kampaní: Získat vrácené kontakty dle kampaně

Pomocí této metody získáme všechny vrácené kontakty, které byly v rámci jedné kampaně označeny jako “vrácené”. K získání této informace musíme znát ID statistiky = ID rozesílky.

Vzorové XML:

<xmlrequest>

    <username>USERNAME</username>

    <usertoken>TOKEN</usertoken>

    <requesttype>NewsletterStats</requesttype>

    <requestmethod>getBounces</requestmethod>

    <details>

                <id>133</id>

    </details>

</xmlrequest>

Vzorové PHP:

require '../base.php';

$xml = "

<xmlrequest>

    <username>{$username}</username>

    <usertoken>{$token}</usertoken>

    <requesttype>NewsletterStats</requesttype>

    <requestmethod>getBounces</requestmethod>

    <details>

                <id>133</id>

    </details>

</xmlrequest>

";

sendRequest($xml);

Pokud požadavek projde správně, dostaneme tento výpis:

<?xml version="1.0" encoding="UTF-8" ?>

 <response>

<status>SUCCESS</status>

<data>

 <item>

<contact_id>32</contact_id>

<type>1</type>

<reason>emaildoesntexist</reason>

<message>User unknown; rejecting</message>

<time>2014-03-21 13:00:11</time>

<emailaddress>test@rutvaclav.cz</emailaddress>

 </item>

</data>

 </response>

Důvody, proč je kontakt vrácený:

Pokud narazíte na to, že nás někdo blokuje, neváhejte kontaktovat podporu na podpora@smartemailing.cz a zařídíme odblokování.

2.14 Statistika kampaní: Získat kontakty, které neotevřely danou kampaň

Pomocí této metody získáme všechny kontakty v dané statistice, kteří neotevřely danou kampaň. Otevření se započítá pokud kontakt stáhne obrázky v kampani, nebo klikne na odkaz v kampani. K získání těchto informací je třeba mít k dispozici ID statistiky = ID rozesílky.

Vzorové XML:

<xmlrequest>

    <username>USERNAME</username>

    <usertoken>TOKEN</usertoken>

    <requesttype>NewsletterStats</requesttype>

    <requestmethod>getUnopened

    </requestmethod>

    <details>

                <id>133</id>

    </details>

</xmlrequest>

Vzorové PHP:

require '../base.php';

$xml = "

<xmlrequest>

    <username>{$username}</username>

    <usertoken>{$token}</usertoken>

    <requesttype>NewsletterStats</requesttype>

    <requestmethod>getUnopened

    </requestmethod>

    <details>

                <id>133</id>

    </details>

</xmlrequest>

";

sendRequest($xml);

Pokud request projde správně, získáme tento výpis:

<?xml version="1.0" encoding="UTF-8" ?>

 <response>

<status>SUCCESS</status>

<data>

 <item>

<id>16</id>

<contact_id>4</contact_id>

<newsletter_id>7</newsletter_id>

<time>2014-02-24 21:13:05</time>

<emailaddress>vaclav@smartemailing.cz</emailaddress>

 </item>

</data>

 </response>

2.15 Statistika kampaní: Získat kontakty, které se z dané kampaně odhlásily

Pomocí této metody získáme všechny kontakty v dané statistice, kteří se z dané rozesílky odhlásily. K získání těchto informací je třeba mít k dispozici ID statistiky = ID rozesílky.

Vzorové XML:

<xmlrequest>

    <username>USERNAME</username>

    <usertoken>TOKEN</usertoken>

    <requesttype>NewsletterStats</requesttype>

    <requestmethod>getUnsubscribes</requestmethod>

    <details>

                <id>133</id>

    </details>

</xmlrequest>

Vzorové PHP:

require '../base.php';

$xml = "

<xmlrequest>

    <username>{$username}</username>

    <usertoken>{$token}</usertoken>

    <requesttype>NewsletterStats</requesttype>

    <requestmethod>getUnsubscribes</requestmethod>

    <details>

                <id>133</id>

    </details>

</xmlrequest>

";

sendRequest($xml);

Pokud request projde v pořádku, získáme tyto data:

<?xml version="1.0" encoding="UTF-8" ?>

 <response>

<status>SUCCESS</status>

<data>

 <item>

<contact_id>3</contact_id>

<contactlist_id>3</contactlist_id>

<date>2014-02-24 21:14:10</date>

<source>Unsubscribe form (complete wipe)</source>

<reason>abused</reason>

<emailaddress>rut.vaclav@gmail.com</emailaddress>

 </item>

</data>

 </response>

<reason> - Důvody odhlášení mohou být:

<source> - Pokud máme více seznamů s veřejným názvem seznamu, budou zde vypsané seznamy, z kterých se kontakt odhlásil.

2.16 Statistika kampaní: Získat kontakty, které klikly na odkaz v dané kampani

Pomocí této metody získáme všechny kontaky, které klikaly na odkazy v dané kamapni i s odkazy kliků. K získání této statistiky je třeba znát ID statistiky = ID rozesílky.

Vzorové XML:

<xmlrequest>

    <username>USERNAME</username>

    <usertoken>TOKEN</usertoken>

    <requesttype>NewsletterStats</requesttype>

    <requestmethod>getClicks</requestmethod>

    <details>

                <id>133</id>

    </details>

</xmlrequest>

Vzorové PHP:

equire '../base.php';

$xml = "

<xmlrequest>

    <username>{$username}</username>

    <usertoken>{$token}</usertoken>

    <requesttype>NewsletterStats</requesttype>

    <requestmethod>getClicks</requestmethod>

    <details>

                <id>133</id>

    </details>

</xmlrequest>

";

sendRequest($xml);

Pokud request projde v pořádku, dostaneme tento výpis:

<?xml version="1.0" encoding="UTF-8" ?>

 <response>

<status>SUCCESS</status>

<data>

 <item>

<contact_id>4</contact_id>

<time>2014-02-20 11:23:40</time>

<emailaddress>vaclav@smartemailing.cz</emailaddress>

<href>http://rutvaclav.cz</href>

 </item>

</data>

 </response>

2.17 Statistika kampaní: Získat kontakty, které otevřely danou kampaň

Touto metodou získáme všechny kontakty, které mají příznak, že danou kampaň otevřely. Tento příznak získá kontakt pokud klikl na nějaký odkaz nebo si stáhl obrázky z kampaně. K získání této statistiky je třeba znát její ID = ID rozesílky.

Vzorové XML:

<xmlrequest>

    <username>USERNAME</username>

    <usertoken>TOKEN</usertoken>

    <requesttype>NewsletterStats</requesttype>

    <requestmethod>getOpens</requestmethod>

    <details>

                <id>DOPLN_ID_ROZESILKY</id>

    </details>

</xmlrequest>

Vzorové PHP:

require '../base.php';

$xml = "

<xmlrequest>

    <username>{$username}</username>

    <usertoken>{$token}</usertoken>

    <requesttype>NewsletterStats</requesttype>

    <requestmethod>getOpens</requestmethod>

    <details>

                <id>132</id>

    </details>

</xmlrequest>

";

sendRequest($xml);

Pokud request projde v pořádku, dostaneme tyto informace:

<?xml version="1.0" encoding="UTF-8" ?>

 <response>

<status>SUCCESS</status>

<data>

 <item>

<contact_id>4</contact_id>

<agent>Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/32.0.1700.107 Safari/537.36</agent>

<time>2014-02-20 11:23:40</time>

<emailaddress>vaclav@smartemailing.cz</emailaddress>

 </item>

</data>

 </response>

Zde kromě adresy klienta, který si kampaň otevřel (<emailaddress>) máme k dispozici další informace jako je Operační systém, Prohlížeč (<agent>) a čas otevření v <time>.

2.18 Statistika kampaní: Získat přehled pro celou kampaň

Touto metodou získáme kompletní přehled informací o rozesílce. K získání těchto informací je zapotřebí znát ID statistiky = ID rozesílky.

Vzorové XML:

<xmlrequest>

    <username>USERNAME</username>

    <usertoken>TOKEN</usertoken>

    <requesttype>NewsletterStats</requesttype>

    <requestmethod>getSummary</requestmethod>

    <details>

                <id>DOPLN_ID_ROZESILKY</id>

    </details>

</xmlrequest>

Vzorové PHP:

require '../base.php';

$xml = "

<xmlrequest>

    <username>{$username}</username>

    <usertoken>{$token}</usertoken>

    <requesttype>NewsletterStats</requesttype>

    <requestmethod>getSummary</requestmethod>

    <details>

                <id>132</id>

    </details>

</xmlrequest>

";

sendRequest($xml);

Pokud request projde v pořádku, dostaneme tyto informace o rozesílce:

<?xml version="1.0" encoding="UTF-8" ?>

 <response>

<status>SUCCESS</status>

 <data>

<start>2014-02-20 11:16:05</start>

<finished>2014-02-20 11:16:05</finished>

<campaign_id>7</campaign_id>

<sendername>Václav Růt</sendername>

<senderemail>rut.v@seznam.cz</senderemail>

<replyto>rut.v@seznam.cz</replyto>

<track>{"utm_source":"newsletter","utm_medium":"email","utm_name":"campaign_7","utm_campaign":"campaign_7"}</track>

 <summary>

<sent>1</sent>

<opened>1</opened>

<openedtotal>1</openedtotal>

<clicked>1</clicked>

<unsubscribed>0</unsubscribed>

<bounced>0</bounced>

<unopened>0</unopened>

 </summary>

 </data>

 </response>

Z tohoto výpisu můžeme získat tyto informace:

2.19 Statistika SmartKampaně: Získat odhlášené kontakty dle SmartKampaně

Pomocí této metody získáme všechny odhlášené kontakty, které se odhlásily v rámci SmartKampaně s námi zvoleným ID. K získání této statistiky musíme znát ID SmartKampaně.

Vzorové XML:

<xmlrequest>

    <username>USERNAME</username>

    <usertoken>TOKEN</usertoken>

    <requesttype>AutoresponderStats</requesttype>

    <requestmethod>getUnsubscribes</requestmethod>

    <details>

                <id>DOPLN_ID_SK</id>

    </details>

</xmlrequest>

Vzorové PHP:

require '../base.php';

$xml = "

<xmlrequest>

    <username>{$username}</username>

    <usertoken>{$token}</usertoken>

    <requesttype>AutoresponderStats</requesttype>

    <requestmethod>getUnsubscribes</requestmethod>

    <details>

                <id>12</id>

    </details>

</xmlrequest>

";

sendRequest($xml);

Pokud request projde v pořádku, získáme tyto informace:

<?xml version="1.0" encoding="UTF-8" ?>

 <response>

<status>SUCCESS</status>

<data>

 <item>

<contact_id>4</contact_id>

<contactlist_id>5</contactlist_id>

<date>2014-03-24 14:58:41</date>

<source>Unsubscribe form (complete wipe)</source>

<reason />

<emailaddress>vaclav@smartemailing.cz</emailaddress>

 </item>

</data>

 </response>

2.20 Statistika SmartKampaně: Získat kontakty, které neotevřely danou SmartKampaň

Pomocí této metody získáme všechny kontakty v dané statistice, kteří neotevřely danou SmartKampaň. Otevření se započítá pokud kontakt stáhne obrázky v kampani, nebo klikne na odkaz ve SmartKampani. K získání těchto informací je třeba mít k dispozici ID SmartKampaně.

Vzorové XML:

<xmlrequest>

    <username>USERNAME</username>

    <usertoken>TOKEN</usertoken>

    <requesttype>AutoresponderStats</requesttype>

    <requestmethod>getUnopened</requestmethod>

    <details>

                <id>ID_SMARTKAMPANE</id>

    </details>

</xmlrequest>

Vzorové PHP:

require '../base.php';

$xml = "

<xmlrequest>

    <username>{$username}</username>

    <usertoken>{$token}</usertoken>

    <requesttype>AutoresponderStats</requesttype>

    <requestmethod>getUnopened</requestmethod>

    <details>

                <id>12</id>

    </details>

</xmlrequest>

";

sendRequest($xml);

Pokud request projde v pořádku, získáme tyto informace:

<?xml version="1.0" encoding="UTF-8" ?>

 <response>

<status>SUCCESS</status>

<data>

 <item>

<id>4</id>

<contact_contactlist_id>8</contact_contactlist_id>

<contact_id>3</contact_id>

<autoresponder_id>3</autoresponder_id>

<time>2014-03-24 15:34:07</time>

<emailaddress>rut.vaclav@gmail.com</emailaddress>

 </item>

</data>

 </response>

2.21 Statistika SmartKampaně: Získat kontakty, které otevřely danou SmartKampaň

Touto metodou získáme všechny kontakty, které mají příznak, že danou SmartKampaň otevřely. Tento příznak získá kontakt pokud klikl na nějaký odkaz nebo si stáhl obrázky z SmartKampaně. K získání této statistiky je třeba znát její ID.

Vzorové XML:

<xmlrequest>

    <username>USERNAME</username>

    <usertoken>TOKEN</usertoken>

    <requesttype>AutoresponderStats</requesttype>

    <requestmethod>getOpens</requestmethod>

    <details>

                <id>ID_SMARTKAMPANE</id>

    </details>

</xmlrequest>

Vzorové PHP:

require '../base.php';

$xml = "

<xmlrequest>

    <username>{$username}</username>

    <usertoken>{$token}</usertoken>

    <requesttype>AutoresponderStats</requesttype>

    <requestmethod>getOpens</requestmethod>

    <details>

                <id>12</id>

    </details>

</xmlrequest>

";

sendRequest($xml);

Pokud request projde v pořádku, získáme tyto informace:

<?xml version="1.0" encoding="UTF-8" ?>

 <response>

<status>SUCCESS</status>

<data>

 <item>

<autoresponder_id>3</autoresponder_id>

<contact_id>4</contact_id>

<agent>Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_2) AppleWebKit/537.74.9 (KHTML, like Gecko)</agent>

<time>2014-03-24 14:58:03</time>

<emailaddress>vaclav@smartemailing.cz</emailaddress>

 </item>

</data>

 </response>

2.22 Statistika SmartKampaně: Získat kontakty, které klikly na odkaz v dané SmartKampani

Pomocí této metody získáme všechny kontaky, které klikaly na odkazy v dané SmartKamapni i s odkazy kliků. K získání této statistiky je třeba znát ID SmartKampaně.

Vzorové XML:

<xmlrequest>

    <username>USERNAME</username>

    <usertoken>TOKEN</usertoken>

    <requesttype>AutoresponderStats</requesttype>

    <requestmethod>getClicks</requestmethod>

    <details>

                <id>ID_SMARTKAMPANE</id>

    </details>

</xmlrequest>

Vzorové PHP:

require '../base.php';

$xml = "

<xmlrequest>

    <username>{$username}</username>

    <usertoken>{$token}</usertoken>

    <requesttype>AutoresponderStats</requesttype>

    <requestmethod>getClicks</requestmethod>

    <details>

                <id>12</id>

    </details>

</xmlrequest>

";

sendRequest($xml);

Pokud request projde v pořádku, získáme tyto informace:

<?xml version="1.0" encoding="UTF-8" ?>

 <response>

<status>SUCCESS</status>

<data>

 <item>

<contact_id>4</contact_id>

<autoresponder_id>3</autoresponder_id>

<time>2014-03-24 15:53:52</time>

<emailaddress>vaclav@smartemailing.cz</emailaddress>

<href>http://www.smartemailing.cz</href>

 </item>

</data>

 </response>

2.23 Statistika SmartKampaní: Získat vrácené kontakty dle SmartKampaně

Pomocí této metody získáme všechny vrácené kontakty, které byly v rámci jedné SmartKampaně označený jako “vrácené”. K získání této informace musíme znát ID SmartKampaně.

Vzorové XML:

<xmlrequest>

    <username>USERNAME</username>

    <usertoken>TOKEN</usertoken>

    <requesttype>AutoresponderStats</requesttype>

    <requestmethod>getBounces</requestmethod>

    <details>

                <id>ID_SMARTKAMPANE</id>

    </details>

</xmlrequest>

Vzorové PHP:

require '../base.php';

$xml = "

<xmlrequest>

    <username>{$username}</username>

    <usertoken>{$token}</usertoken>

    <requesttype>AutoresponderStats</requesttype>

    <requestmethod>getBounces</requestmethod>

    <details>

                <id>12</id>

    </details>

</xmlrequest>

";

sendRequest($xml);

Pokud request projde v pořádku, získáme tyto informace:

<?xml version="1.0" encoding="UTF-8" ?>

 <response>

<status>SUCCESS</status>

<data>

 <item>

<contact_id>36</contact_id>

<type>1</type>

<reason>relayerror</reason>

<message>message could not be delivered</message>

<time>2014-03-24 16:05:11</time>

<emailaddress>nesm@ysl.com</emailaddress>

 </item>

</data>

 </response>

2.24 Statistika SmartKampaně: Získat přehled pro celou SmartKampaň

Touto metodou získáme kompletní přehled informací o rozesílce SmartKampaně. K získání těchto informací je zapotřebí znát ID SmartKampaně.

Vzorové XML:

<xmlrequest>

    <username>USERNAME</username>

    <usertoken>TOKEN</usertoken>

    <requesttype>AutoresponderStats</requesttype>

    <requestmethod>getSummary</requestmethod>

    <details>

                <id>ID_SMARTKAMPANE</id>

    </details>

</xmlrequest>

Vzorové PHP:

require '../base.php';

$xml = "

<xmlrequest>

    <username>{$username}</username>

    <usertoken>{$token}</usertoken>

    <requesttype>AutoresponderStats</requesttype>

    <requestmethod>getSummary</requestmethod>

    <details>

                <id>12</id>

    </details>

</xmlrequest>

";

sendRequest($xml);

Pokud request projde v pořádku, dostaneme tyto informace o rozesílce:

<?xml version="1.0" encoding="UTF-8" ?>

 <response>

<status>SUCCESS</status>

 <data>

<campaign_id>10</campaign_id>

<sendername>Václav Růt</sendername>

<senderemail>rut.v@seznam.cz</senderemail>

<replyto>rut.v@seznam.cz</replyto>

<track />

 <summary>

<sent>3</sent>

<opened>1</opened>

<openedtotal>1</openedtotal>

<clicked>1</clicked>

<unsubscribed>1</unsubscribed>

<bounced>1</bounced>

<unopened>1</unopened>

 </summary>

 </data>

 </response>

Z tohoto výpisu můžeme získat tyto informace:

2.25 Kontakt: Získat všechny kontakty

Touto metodou získáme všechny kontakty, které jsou pod účtem. Pro získání musíme mít platný API token a aktivní API.

Vzorové XML:

<xmlrequest>

    <username>USERNAME</username>

    <usertoken>TOKEN</usertoken>

    <requesttype>Contacts</requesttype>

    <requestmethod>getAll</requestmethod>

    <details>

    </details>

</xmlrequest>

Vzorové PHP:

require '../base.php';

$xml = '

<xmlrequest>

    <username>'.$username.'</username>

    <usertoken>'.$token.'</usertoken>

    <requesttype>Contacts</requesttype>

    <requestmethod>getAll</requestmethod>

    <details>

    </details>

</xmlrequest>

';

sendRequest($xml);

Pokud request projde bez problému, získáme tyto informace:

<?xml version="1.0" encoding="UTF-8" ?>

 <response>

<status>SUCCESS</status>

<data>

 <item>

<language>cs_CZ</language>

<created>2014-02-06 17:04:22</created>

<updated>2014-03-24 19:10:22</updated>

<blacklisted>0</blacklisted>

<emailaddress>vaclav@smartemailing.cz</emailaddress>

<domain>smartemailing.cz</domain>

<name>Václav</name>

<surname>Růt</surname>

<titlesbefore>Bc.</titlesbefore>

<titlesafter />

<birthday>2014-03-24 00:00:00</birthday>

<nameday>2014-03-26 00:00:00</nameday>

<salution>Václave</salution>

<company>SmartEmailing</company>

<street>Ulice</street>

<town>Město</town>

<country>Země</country>

<postalcode>39900</postalcode>

<notes />

<phone>666777888</phone>

<cellphone />

<softbounced>0</softbounced>

<hardbounced>0</hardbounced>

<id>4</id>

 <customfields>

 <item>

<id>1</id>

<value>AffilBox kód</value>

 </item>

 <item>

<id>3</id>

<value>2013-02-06 00:00:00</value>

 </item>

 <item>

<id>4</id>

<value>

<item>1</item>

</value>

 </item>

 </customfields>

<contactliststatuses>

 <item>

<id>5</id>

<status>unsubscribed</status>

 </item>

</contactliststatuses>

 </item>

</data>

 </response>

2.26 Kontakt: Získat jeden kontakt

Touto metodou získáme jeden určitý kontakt, který je pod účtem. Pro získání potřebujeme znát jeho ID nebo e-mail.

Vzorové XML:

<xmlrequest>

    <username>USERNAME</username>

    <usertoken>TOKEN</usertoken>

    <requesttype>Contacts</requesttype>

    <requestmethod>getOne</requestmethod>

    <details>

        <id>INSERT_CONTACTS_ID</id>

        <!-- OR <emailaddress>martin@smartemailing.cz</emailaddress> -->

    </details>

</xmlrequest>

Vzorové PHP:

require '../base.php';

$xml = '

<xmlrequest>

    <username>'.$username.'</username>

    <usertoken>'.$token.'</usertoken>

    <requesttype>Contacts</requesttype>

    <requestmethod>getOne</requestmethod>

    <details>

        <id>25237</id>

        <!-- OR <emailaddress>martin@smartemailing.cz</emailaddress> -->

    </details>

</xmlrequest>

';

sendRequest($xml);

Pokud request projde v pořádku, získáme stejný výpis informací jako v případě getAll, 2.25

2.27 A Kontakt: Vytvořit, update kontakt

Touto metodou můžeme vytvořit nebo updatovat kontakt v aplikaci. Pro založení kontaktu je povinné vyplnit e-mailovou adresu, další pole jsou volitelná. Pouze pole obsažená v XML jsou aktualizovány, ostatní zůstávají beze změny.

Pozor ! Pro <contactliststatuses> vybírejte pouze ID klasických seznamů a ne seznamy vytvořené ze segmentů, vyhnete se tak potížím s mnoho násobným odesláním autoresponderů apod.

Pro automatické doplnění svátku u kontaktu je kromě vyplněného jména potřeba zadat i parametr do <language></language>.

 Vzor XML:

<xmlrequest>

    <username>USERNAME</username>

    <usertoken>TOKEN</usertoken>

    <requesttype>Contacts</requesttype>

    <requestmethod>createupdate</requestmethod>

    <details>

    <!--

    only emailaddress is required

    only fields contained in XML are updated

    -->

                <emailaddress>martin@smartemailing.cz</emailaddress>

                <language>cs_CZ</language> <!-- cs_CZ | sk_SK | en_GB -->

                <blacklisted>0</blacklisted>

                <name>Martin</name>

                <surname>Strouhal</surname>

                <titlesbefore>Ing.</titlesbefore>

                <titlesafter>Csc.</titlesafter>

                <birthday>2013-01-01</birthday>

                <nameday>2013-11-11</nameday> <!-- year does not matter -->

                <salution></salution> <!-- will be generated if this field is empty -->

                <company>My Corp</company>

                <street>Long 123</street>

                <town>My Town</town>

                <country>Czech Republic</country>

                <postalcode>123456</postalcode>

                <notes>Something very long</notes>

                <phone>+420123456789</phone>

                <cellphone>+420123456789</cellphone>

                <softbounced>0</softbounced> <!-- number of 'soft' bounces -->

                <hardbounced>0</hardbounced> <!-- 1 if contact is hardbounced -->

                                <customfields>

                        <!-- Text field --!>

                        <item>

                                <id>43</id>

                                <value>

                                        25

                                </value>

                        </item>

<!-- Text area --!>

                        <item>

                                <id>48</id>

                                <value>

                                        29

                                </value>

                        </item>

                        <!-- radiobuttons --!>

                        <item>

                                <id>72</id>

                                <value>

                                        <item>77</item>

                                        <item>78</item>

                                        <item>79</item>

                                        <item>82</item>

                                        <item>83</item>

                                </value>

                        </item>

<!-- select --!>

                        <item>

                                <id>73</id>

                                <value>

                                        <item>84</item>

                                </value>

                        </item>

                        <!-- check boxes --!>

                        <item>

                                <id>71</id>

                                <value>

                                        <item>75</item>

                                </value>

                        </item>

                        <!-- Date YYYY-MM-DD --!>

                        <item>

                                <id>46</id>

                                <value>

                                        1244-02-12

                                </value>

                        </item>

                </customfields>

                <contactliststatuses>

                <!--

                statuses in lists not contained in this xml will be untouched

                if any if items is not valid (bad id or status) - it is ignored without throwing an error

                -->

                        <item>

                                <id>21</id>

                                <status>banned</status>

                                <!-- unconfirmed | confirmed | unsubscribed | banned | removed -->

                        </item>

                        <item>

                                <id>3</id>

                                <status>removed</status>

                        </item>

                </contactliststatuses>

    </details>

</xmlrequest>

Při vytváření kontaktu je v XML část <contactliststatuses> která se stará o to, do kterého seznamu je kontakt ukládán a s jakým stavem.

Každé vlastní pole má dle typu jiný zápis!! Nejdříve si vytvořte vlastní pole, vypište si kontakt a dle něj vytvořte XML zápis.

Vzor PHP:

require '../base.php';

$xml = "

<xmlrequest>

    <username>{$username}</username>

    <usertoken>{$token}</usertoken>

    <requesttype>Contacts</requesttype>

    <requestmethod>createupdate</requestmethod>

    <details>

    <!--

    only emailaddress is required

    only fields contained in XML are updated

    -->

                <emailaddress>martin@smartemailing.cz</emailaddress>

                <language>cs_CZ</language> <!-- cs_CZ | sk_SK | en_GB -->

                <blacklisted>0</blacklisted>

                <name>Martin</name>

                <surname>Strouhal</surname>

                <titlesbefore>Ing.</titlesbefore>

                <titlesafter>Csc.</titlesafter>

                <birthday>2013-01-01</birthday>

                <nameday>2013-11-11</nameday> <!-- year does not matter -->

                <salution></salution> <!-- will be generated if this field is empty -->

                <company>My Corp</company>

                <street>Long 123</street>

                <town>My Town</town>

                <country>Czech Republic</country>

                <postalcode>123456</postalcode>

                <notes>Something very long</notes>

                <phone>+420123456789</phone>

                <cellphone>+420123456789</cellphone>

                <softbounced>0</softbounced> <!-- number of 'soft' bounces -->

                <hardbounced>0</hardbounced> <!-- 1 if contact is hardbounced -->

                <customfields>

                        <item>

                                <id>43</id>

                                <value>

                                        25

                                </value>

                        </item>

                </customfields>

                <contactliststatuses>

                <!--

                statuses in lists not contained in this xml will be untouched

                if any if items is not valid (bad id or status) - it is ignored without throwing an error

                -->

                        <item>

                                <id>21</id>

                                <status>banned</status>

                                <!-- unconfirmed | confirmed | unsubscribed | banned | removed -->

                        </item>

                        <item>

                                <id>3</id>

                                <status>removed</status>

                        </item>

                </contactliststatuses>

    </details>

</xmlrequest>

";

sendRequest($xml);

Vysvětlení položek:

Pokud je kontakt úspěšně vytvořen, dostaneme tuto informaci:

<?xml version="1.0" encoding="UTF-8" ?>

 <response>

<status>SUCCESS</status>

<data>1</data>

 </response>

2.27 B Kontakt: Vytvořit, update kontakt hromadně

Rozdíl oproti “A” je ten, že v této metodě lze vložit vícero kontaktů do jednoho reqeustu.

Vzorové XML:

<xmlrequest>

   <username>{$username}</username>

    <usertoken>{$token}</usertoken>

        <requesttype>Contacts</requesttype>

        <requestmethod>createupdateBatch</requestmethod>

        <details>

                <item>

                        <emailaddress>vaclav@smartemailing.cz</emailaddress>

<contactliststatuses>

 <item>

<id>2</id>

<status>confirmed</status>

<added>2015-04-13 12:13:53</added>

 </item>

</contactliststatuses>

                </item>

                <item>

                        <emailaddress>martin@smartemailing.cz</emailaddress>

<contactliststatuses>

 <item>

<id>2</id>

<status>confirmed</status>

<added>2015-04-13 12:13:53</added>

 </item>

</contactliststatuses>

                </item>

        </details>

</xmlrequest>

2.28 Kontakt: Smazat kontakt

Touto metodou můžeme smazat určitý kontakt. Ke smazání potřebujeme znát ID kontaktu nebo jeho e-mailovou adresu.

Vzorové XML:

<xmlrequest>

    <username>USERNAME</username>

    <usertoken>TOKEN</usertoken>

    <requesttype>Contacts</requesttype>

    <requestmethod>delete</requestmethod>

    <details>

        <id>23970</id>

        <!-- OR <emailaddress>vaclav@smartemailing.cz</emailaddress> -->

    </details>

</xmlrequest>

Vzorové PHP:

require '../base.php';

$xml = '

<xmlrequest>

    <username>'.$username.'</username>

    <usertoken>'.$token.'</usertoken>

    <requesttype>Contacts</requesttype>

    <requestmethod>delete</requestmethod>

    <details>

        <id>23970</id>

        <!-- OR <emailaddress>martin@smartemailing.cz</emailaddress> -->

    </details>

</xmlrequest>

';

sendRequest($xml);

Pokud je kontakt úspěšně smazán, získáme tuto informaci:

<?xml version="1.0" encoding="UTF-8" ?>

 <response>

<status>SUCCESS</status>

<data>1</data>

 </response>

Pokud kontakt neexistuje:

<?xml version="1.0" encoding="UTF-8" ?>

 <response>

<status>FAILED</status>

<errormessage>contact does not exist</errormessage>

 </response>

2.29 Kontakt: Získat všechny odhlášené kontakty

Touto metodou získáme všechny kontakty, které v jakémkoliv seznamu mají stav “odhlášený”. K získání těchto informací je zapotřebí znát API údaje k účtu.

Vzor XML:

<xmlrequest>

    <username>USERNAME</username>

    <usertoken>TOKEN</usertoken>

    <requesttype>Contacts</requesttype>

<requestmethod>getAllUnsubscribed</requestmethod>

<details>

</details>

</xmlrequest>

Pokud request projde v pořádku, získáme tyto informace:

<?xml version="1.0" encoding="UTF-8" ?>

 <response>

<status>SUCCESS</status>

<data>

 <item>

<language>cs_CZ</language>

<created>2014-04-11 08:49:08</created>

<updated>2014-04-11 08:49:19</updated>

<blacklisted>0</blacklisted>

<emailaddress>vaclav@smartemailing.cz</emailaddress>

<domain>smartemailing.cz</domain>

<name>Václav Růt</name>

<surname />

<titlesbefore />

<titlesafter />

<birthday />

<nameday />

<salution>Václave</salution>

<company />

<street />

<town />

<country />

<postalcode />

<notes />

<phone />

<cellphone />

<softbounced>0</softbounced>

<hardbounced>0</hardbounced>

<id>353</id>

<customfields />

<contactliststatuses>

 <item>

<id>20</id>

<status>unsubscribed</status>

 </item>

</contactliststatuses>

 </item>

</data>

 </response>

Nejdůležitější je zde pro nás část: <contactliststatuses>

Která vypisuje seznamy kontaktů a stav kontaktu v těchto seznamech.

2.30 Seznamy kontaktů: Získat kontakty dle seznamu kontaktů

Tato metoda vrací kontakty dle ID seznamu. K získání tohoto výpisu je třeba znát ID seznamu kontaktů a mít platný username a token.

Vzorové XML:

<xmlrequest>

    <username>USERNAME</username>

    <usertoken>USERTOKEN</usertoken>

    <requesttype>ContactLists</requesttype>

<requestmethod>getContacts</requestmethod>

<details>

<id>ID_LIST</id>

</details>

</xmlrequest>

Vozorové PHP:

require '../base.php';

$xml = "

<xmlrequest>

    <username>{$username}</username>

    <usertoken>{$token}</usertoken>

    <requesttype>ContactLists</requesttype>

    <requestmethod>getContacts</requestmethod>

      <details>

       <id>ID_LIST</id>

      </details>

</xmlrequest>";

sendRequest($xml);

Pokud request projde v pořádku, dostaneme tento výpis:

<?xml version="1.0" encoding="UTF-8" ?>

 <response>

<status>SUCCESS</status>

 <data>

 <item>

<contact_id>354</contact_id>

<status>confirmed</status>

<updated />

<added>2014-04-14 12:13:54</added>

<emailaddress>vaclav@smartemailing.cz</emailaddress>

 </item>

 </response>

2.31 Kontakty: Získat kontakty dle seznamu kontaktů s kompletními informacemi

Tato metoda vrací kontakty dle ID seznamu a to včetně všech informací, vlastních polí apod.. K získání tohoto výpisu je třeba znát ID seznamu kontaktů a mít platný username a token.

Vzorové XML:

<xmlrequest>

    <username>USERNAME</username>

    <usertoken>TOKEN</usertoken>

<requesttype>Contacts</requesttype>

<requestmethod>getAllInList</requestmethod>

<details>

<id>ID_LIST</id>

</details>

</xmlrequest>

Vzorové php:

require '../base.php';

$xml = "

<xmlrequest>

    <username>{$username}</username>

    <usertoken>{$token}</usertoken>

<requesttype>Contacts</requesttype>

<requestmethod>getAllInList</requestmethod>

<details>

<id>ID_LIST</id>

</details>

</xmlrequest>

";

Pokud máme správné XML dostaneme tento výsledek:

<response>

<status>SUCCESS</status>

<data>

 <item>

<language>cs_CZ</language>

<created>2014-05-29 18:53:29</created>

<updated>2014-05-29 18:53:29</updated>

<blacklisted>0</blacklisted>

<emailaddress>vaclav@smartemailing.cz</emailaddress>

<domain>smartemailing.cz</domain>

<name>Václav Růt</name>

<surname />

<titlesbefore />

<titlesafter />

<birthday />

<nameday />

<salution>Václave</salution>

<company />

<street />

<town />

<country />

<postalcode />

<notes />

<phone />

<cellphone />

<softbounced>0</softbounced>

<hardbounced>0</hardbounced>

<id>3652</id>

<customfields>

 <item>

<id>2</id>

<value>

1

</value>

 </item>

</customfields>

 <contactliststatuses>

 <item>

<id>55</id>

<status>confirmed</status>

<added>2014-05-29 18:53:29</added>

 </item>

 <item>

<id>56</id>

<status>confirmed</status>

<added>2014-05-29 18:53:29</added>

 </item>

 <item>

<id>57</id>

<status>confirmed</status>

<added>2014-05-29 18:54:02</added>

 </item>

 </contactliststatuses>

 </item>

</data>

 </response>

Ve výpisu jsou i přiřazení k jednotlivým seznamům se stavem v rámci seznamu kontaktů.

2.32 SmartKampaně: Získat všechny SmartKampaně

Pomocí této metody získáme všechny SmartKampaně, které jsou nastavené pod účtem. K jejich získání je třeba mít platný token a username.

Vzorové XML:

<xmlrequest>

    <username>USERNAME</username>

    <usertoken>TOKEN</usertoken>

    <requesttype>Autoresponders</requesttype>

    <requestmethod>getAll</requestmethod>

    <details>

    </details>

</xmlrequest>

Vzorové php:

require '../base.php';

$xml = "

<xmlrequest>

    <username>{$username}</username>

    <usertoken>{$token}</usertoken>

    <requesttype>Autoresponders</requesttype>

    <requestmethod>getAll</requestmethod>

    <details>

    </details>

</xmlrequest>

";

sendRequest($xml);

Pokud je vše v pořádku a máme nějaké SmartKampaně pod účtem nastavené, získáme tento výpis:

<response>

<status>SUCCESS</status>

<data>

 <item>

<id>15</id>

<name>Nazev Smartkampaně</name>

<contactlist>Jmeno seznamu nad kterým je nastaveno</contactlist>

<active>1</active>  /zda je aktivní/

<createdate>2014-05-30 09:54:18</createdate>

<sendername>v v</sendername> /jméno odesílatele/

<senderemail>nardack@gmail.com</senderemail> /email odesílatele/

<sendafter>0</sendafter> /podmínka po kolika hodinách má odejít/

 </item>

</data>

 </response>

2.33 Webové formuláře: Získat všechny webové formuláře

Pomocí této metody získáme všechny webové formuláře, které máme pod účtem. Primární je zde pro nás ID formuláře, na jehož základě si můžeme po API vyžádat HTML kód nebo JavaScritp formuláře a posléze jej někde aplikovat.

Vzorové XML:

<xmlrequest>

    <username>USERNAME</username>

    <usertoken>TOKEN</usertoken>

    <requesttype>Webforms</requesttype>

    <requestmethod>getAllForms</requestmethod>

    <details>

    </details>

</xmlrequest>

Vzorové php:

require '../base.php';

$xml = "

<xmlrequest>

    <username>{$username}</username>

    <usertoken>{$token}</usertoken>

    <requesttype>Webforms</requesttype>

    <requestmethod>getAllForms</requestmethod>

    <details>

    </details>

</xmlrequest>

";

sendRequest($xml);

Pokud máme web form pod účtem a máme správné údaje, dostaneme tento výpis:

<response>

<status>SUCCESS</status>

 <data>

 <item>

<guid>de7oi13gz3jrqnnm48azubl4j456blr8b0amv2wh57rvf48oqi6ug7oxgtzk0o0gdejms7wve1notojga6zeerlqcx8zjntrbt3z</guid>

<name>Nazev webobového formuláře</name>

<type>subscribe</type>

<header>Záhlaví formuláře</header>

<submit>Odeslat</submit>

<design>7-4cb1f1</design>

<width>256</width>

<update>1</update>

<redirect />

<fields>

 </item>

 </data>

 </response>

2.34 Webové formuláře: Získat detailní popis formluláře

Pokud chceme známe již ID formuláře, můžeme si vyžádat detailní popis formuláře. Získáme takto všechna data, která lze nastavit při vytváření webového formuláře v aplikaci SmartEmailing. K získání těchto dat je třeba znát ID formuláře.

Vzorové XML:

<xmlrequest>

<username>USERNAME</username>

<usertoken>TOKEN</usertoken>

    <requesttype>Webforms</requesttype>

    <requestmethod>getFormDefinition</requestmethod>

    <details>

        <id>ID_WEBOVEHO_FORMULARE</id>

    </details>

</xmlrequest>

Vzorové php:

require '../base.php';

$xml = "

<xmlrequest>

    <username>{$username}</username>

    <usertoken>{$token}</usertoken>

    <requesttype>Webforms</requesttype>

    <requestmethod>getFormDefinition</requestmethod>

    <details>

        <id>ID_WEB_FORM</id>

    </details>

</xmlrequest>

";

sendRequest($xml);

Pokud máme správné údaje, dostaneme tento výpis:

<response>

<status>SUCCESS</status>

 <data>

 <form>

<guid>de7oi13gz3jrqnnm48azubl4j456blr8b0amv2wh57rvf48oqi6ug7oxgtzk0o0gdejms7wve1notojga6zeerlqcx8zjntrbt3z</guid>

<name>Nazev_web_formu</name>

<type>subscribe</type>

<header>Záhlaví formuláře</header>

<submit>Odeslat</submit>

<design>7-4cb1f1</design>

<width>256</width>

<update>1</update>

<redirect />

<fields>

 <item>

<id>df_emailaddress</id>

<label>E-mail</label>

<defaults />

<required>1</required>

<errorMsg>Prosím, vyplňte emailovou adresu</errorMsg>

<type>text</type>

 </item>

</fields>

<lists />

<notifications />

<errorredirect />

<email_id />

<sendername />

<senderemail />

<replyto />

<id>2</id>

 </form>

<url>http://dev.smartemailing.cz/public/web-forms/subscribe/92-de7oi13gz3jrqnnm48azubl4j456blr8b0amv2wh57rvf48oqi6ug7oxgtzk0o0gdejms7wve1notojga6zeerlqcx8zjntrbt3z?html=1</url>

<fields>

 <df_emailaddress>

<fieldname>df_emailaddress</fieldname>

<label>E-mail</label>

<required>1</required>

<errormessage>Prosím, vyplňte emailovou adresu</errormessage>

<defaultfield>emailaddress</defaultfield>

 </df_emailaddress>

</fields>

 </data>

 </response>

2.35 Webové formuláře: Získat HTML kód webového formuláře

Pomocí této metody získáme HTML kód daného webového formuláře. K získání těchto dat potřebujeme znát ID webového formuláře.

Vzorové XML:

<xmlrequest>

<username>v</username>

<usertoken>3PbOUv5ibPzsiZqnKA24WJwAqAXjQwE63MMQqxxw</usertoken>

        <requesttype>Webforms</requesttype>

    <requestmethod>getFormHTML</requestmethod>

    <details>

        <id>2</id>

        <getjs>0</getjs>

        <getstyle>0</getstyle>

    </details>

</xmlrequest>

Vzorové php:

require '../base.php';

$xml = "

<xmlrequest>

    <username>{$username}</username>

    <usertoken>{$token}</usertoken>

    <requesttype>Webforms</requesttype>

    <requestmethod>getFormHTML</requestmethod>

    <details>

        <id>1</id>

        <getjs>0</getjs>

        <getstyle>0</getstyle>

    </details>

</xmlrequest>

";

sendRequest($xml);

Pozor! U této metody máme možnost nastavit v části<details> zda chceme:

<getjs>0</getjs> - pokud bude hodnota 0, metoda nám vrátí HTML kód bez JavaScriptů ve formulář. Pokud nastavíme hodnotu 1, vrátí i s JavaScripty.

<getstyle>0</getstyle> - pokud bude honodta 0, metoda nám vrátí HTML bez stylování. Pokud nastavíme hodnotu 1, vrátí nám i se stylováním.

2.36 Webové formuláře: Získat Javascript kód webového formuláře

Touto metodou získáme Javascript webového formuláře. K jeho získání musíme znát ID webového formuláře.

Vzorové XML:

<xmlrequest>

<username>USERNAME</username>

<usertoken>APITOKEN</usertoken>

  <requesttype>Webforms</requesttype>

    <requestmethod>getFormJS</requestmethod>

    <details>

            <id>ID_WEBFOMR</id>

    </details>

</xmlrequest>

Vzorové php:

require '../base.php';

$xml = "

<xmlrequest>

    <username>{$username}</username>

    <usertoken>{$token}</usertoken>

    <requesttype>Webforms</requesttype>

    <requestmethod>getFormJS</requestmethod>

    <details>

            <id>ID_WEBFORM</id>

    </details>

</xmlrequest>

";

sendRequest($xml);

Pokud máme správné údaje, dostaneme tyto informace:

<response>

<status>SUCCESS</status>

<data><script src="http://dev.smartemailing.cz//js/jquery-1.8.3-conditional.js"></script><script src="http://dev.smartemailing.cz/public/web-forms/subscribe/92-de7oi13gz3jrqnnm48azubl4j456blr8b0amv2wh57rvf48oqi6ug7oxgtzk0o0gdejms7wve1notojga6zeerlqcx8zjntrbt3z?html=1" id="se-webformScriptLoader-de7oi13gz3jrqnnm40azubl4j456blr8b0amv2wh57rvf48oqi6ug7oxgtzk0o0gdejms7wve1notojga6zeerlqcx8zjntrbt3z"></script></data>

 </response>

2.37 Odesílání: Odeslání kampaně

Touto metodou můžeme pomocí API odeslat kampaň. K odeslání kampaně potřebujeme znát ID kampaně, ID seznamu na který chceme kampaň zaslat.

Vzorové XML:

<?xml version="1.0" encoding="UTF-8"?>

<xmlrequest>

        <username>USERNAME</username>

        <usertoken>APITOKEN</usertoken>

        <requesttype>Newsletters</requesttype>

        <requestmethod>send</requestmethod>

        <details>

                <email_id>EMAIL_ID</email_id>

                <sender>

                        <type>common</type> <!-- OR lists, common will take the informations about sender from this settings and the list will take theese infromations from the contact list settings on which you are sending this campaign -->

                        <replyto>martin@smartemailing.cz</replyto> <!-- IF sender is common -->

                        <sendername>Martinkk Strouhal__upraveno</sendername> <!-- IF sender is common -->

                        <senderemail>martin@smartemailing.cz</senderemail> <!-- IF sender is common -->

                </sender>

                <track> <!-- Google Analytics settings - optional -->

                        <utm_source>x</utm_source>

                        <utm_name>y</utm_name>

                        <utm_campaign>z</utm_campaign>

                </track>

                <name></name> <!-- This is internal name for sended campaing -optional -->

                <start>2014-05-31 09:00:00</start>

                <contactlists> <!-- Insert ID of the contact list on which you want to send the campaign -->

                        <item>56</item>

                </contactlists>

                <excludedcontactlists> <!--Insert ID of lists, which you want to exclude from sending -  optional -->

                        <item>55</item>

                </excludedcontactlists>

        </details>

</xmlrequest>

Pokud vše projde správně, dostaneme tyto údaje:

<response>

<status>SUCCESS</status>

 <data>

<email_id>16</email_id>

<sendername>JMENO_ODESILATELE</sendername>

<senderemail>EMAIL_ODESILATELE</senderemail>

<track>{"utm_source":"x","utm_name":"y","utm_campaign":"z"}</track>

<processed>waiting</processed>

<replyto>EMAIL_PRO_ODPOVEDI</replyto>

<createdate>2014-06-02 10:51:06</createdate>

<name>Email - 2014-06-02 10:51:06</name>

<start>2014-05-31 09:00:00</start>

<finish />

<id>70</id>

<contactlists>

<item>56</item>

</contactlists>

<excludedcontactlists>

<item>55</item>

</excludedcontactlists>

 </data>

 </response>

Všechny poznámky jsou uvedené v XML vzoru, kdyby bylo cokoliv nejasné, kontaktujte nás na podpoře.

2.38 Fronta kampaní: Získání všech ID rozesílek

ID rozesílky potřebujem k získání statistiky rozesílky. Touto metodou získáme všechny existující záznamy o rozesílce pod daným účtem.

Vzorové XML:

<xmlrequest>

        <username>USERNAME</username>

        <usertoken>APITOKEN</usertoken>

        <requesttype>Newsletters</requesttype>

        <requestmethod>getAll</requestmethod>

        <details>

        </details>

</xmlrequest>

Vzorové php:

require '../base.php';

$xml = "

<xmlrequest>

    <username>{$username}</username>

    <usertoken>{$token}</usertoken>

<requesttype>Newsletters</requesttype>

        <requestmethod>getAll</requestmethod>

        <details>

                <id></id>

        </details>

</xmlrequest>

sendRequest($xml);

Pokud máme správné údaje, dostaneme tyto informace:

<response>

<status>SUCCESS</status>

 <data>

 <item>

<email_id>1</email_id>

<sendername>Jméno odesílatele</sendername>

<senderemail>Email odesílatele</senderemail>

<track />

<processed>done</processed>

<replyto>Email pro odpovědi</replyto>

<createdate>2014-03-12 22:03:19</createdate>

<name>test - 12.03.2014 22:03:19</name>

<start>2014-03-12 22:04:02</start>

<finish>2014-03-12 22:04:02</finish>

<id>1</id>

<contactlists />

<excludedcontactlists />

 </item>

 </data>

2.39 Fronta kampaní: Získání detailu rozesílky

Pokud chceme znát konkrétní detail rozesílky, musíme znát ID rozesílky.

Vzorové XML:

<xmlrequest>

<username>USERNAME</username>

<usertoken>APITOKEN</usertoken>

        <requesttype>Newsletters</requesttype>

        <requestmethod>getOne</requestmethod>

        <details>

                <id>1</id>

        </details>

</xmlrequest>

Vzorové php:

require '../base.php';

$xml = "

<xmlrequest>

    <username>{$username}</username>

    <usertoken>{$token}</usertoken>

<requesttype>Newsletters</requesttype>

        <requestmethod>getOne</requestmethod>

        <details>

                <id>1</id>

        </details>

</xmlrequest>

sendRequest($xml);

Pokud máme správné údaje dostaneme informace jako v případu 2.35.

2.40 Fronta kampaní: Získání poslední rozesílky

Pokud nezmáme ID a nechceme hledat ve všech záznamech a jde nám o poslední rozesílku, můžeme použít tuto metodu, která ná vrátí záznam o poslední rozesílkce.

Vzorové XML:

<xmlrequest>

        <username>USERNAME</username>

        <usertoken>APITOKEN</usertoken>

        <requesttype>Newsletters</requesttype>

        <requestmethod>getLast</requestmethod>

        <details>

        </details>

</xmlrequest>

Vzorové php:

require '../base.php';

$xml = "

<xmlrequest>

    <username>{$username}</username>

    <usertoken>{$token}</usertoken>

<requesttype>Newsletters</requesttype>

        <requestmethod>getLast</requestmethod>

        <details>

                <id></id>

        </details>

</xmlrequest>

sendRequest($xml);

Pokud máme správné údaje dostaneme informace jako v případu 2.35.

2.41 Vlastní pole: získat všechny vlastní pole

Tato metoda nám vrátí všechny vlastní pole, které máme pod účtem i se strukturou daného vlastního pole a hodnotami, které jsou u daného pole k dispozici.

Vzorové XML:

<xmlrequest>

  <username>{$username}</username>

    <usertoken>{$token}</usertoken>

    <requesttype>CustomFields</requesttype>

    <requestmethod>getAll</requestmethod>

    <details>

    </details>

</xmlrequest>

Pokud máme správné údaje, dostaneme například tyto informace:

<?xml version="1.0" encoding="UTF-8" ?>

<response>

<status>SUCCESS</status>

<data>

<item>

<id>2</id>

<name>select</name>

<type>select</type>

<options><item>

</data>

</response>

2.42 Seznamy Kontaktů: Vrátit kontakty se změnou stavu

Tato metoda nám vrátí všechny kontakty, kterým se změnil stav za určitou dobu v daném seznamu. V příkladu XML je i formát zápisu data.

Vzorové XML:

<xmlrequest>

    <username>{$username}</username>

    <usertoken>{$token}</usertoken>

        <requesttype>ContactLists</requesttype>

        <requestmethod>getStatusChanges</requestmethod>

                <details>

                        <id>ID_LIST</id>

                         <from>2015-01-01 13:50:00</from><!-- optional -->

                          <to>2015-01-01 13:50:00</to><!-- optional -->

                </details>

</xmlrequest>

2.43 API token: Vygenerování nového klíče

Tato metoda umožňuje vygenerovat nový API token, včetně popisku aplikace, pro kterou bude metoda využita.

Vzorové XML:

<xmlrequest>

        <username>username</username>

        <usertoken>TOKEN</usertoken>

        <requesttype>Users</requesttype>

        <requestmethod>generateApiKey</requestmethod>

        <details>

                <application>Our CRM system</application>                

        </details>

</xmlrequest>

Pokud máme správné údaje, dostaneme například tyto informace:

<?xml version="1.0" encoding="UTF-8" ?>

<response>

        <status>SUCCESS</status>

        <data>YOURNEWAPITOKEN</data>

</response>

3. CSV statistické API

Toto API slouží pro získání detailních statistických informací. Kvůli snadnějšímu a rychlejšímu zpracování velkého množství dat jsou vrácená data ve formátu CSV. V každé metodě je Url adresa, která je třeba doplnit od username, token a id, poté se stáhne CSV s danými informacemi, které jste si vyžádali.

Vysvětlivky:

[newsletter|autoresponder]

Výběr z možností (newsletter, autoresponder)

<username>

Vaše uživatelské jméno

<apitoken>

Váš API klíč

<id>

Identifikátory požadavku

3.1 Kampaně a Smart Kampaně odeslané na seznam

Výpis odeslaných kampaní a nastavených Smart Kampaní nad seznamem

Metoda vypíše všechny kampaně, které kdy byly odeslány na seznam; nebo všechny Smart Kampaně nad seznamem nastavené. Její účel je v získání ID používaných v dalších metodách.

URL adresa

https://app.smartemailing.cz/api/csv/list-[newsletters|autoresponders]?username=<username>&usertoken=<apitoken>&listid=<id>

Pro získání všech smart kampaní nad seznamem ID 90, tedy konkrétní URL adresa vypadá takto:

https://app.smartemailing.cz/api/csv/list-autoresponders?username=martin@smartemailing.cz&usertoken=08dea8d5d8d1addbe70c04877071fdc66cbe225b&listid=90

Vrácené CSV oddělené středníky má následující formát:

id

name

contactlist_id

41

Moje SK ID 41 nad seznamem ID 90

90

3.2 Statistika odeslání dané kampaně

Metoda vrací seznam odeslání konkrétní kampaně nebo smart kampaně pro každý kontakt.

Url adresa:

https://app.smartemailing.cz/api/csv/[newsletter|autoresponder]-sent?username=<username>&usertoken=<apitoken>&jobid=<id>

Pro získání kontaktů, na které byla odeslaná kampaň ID 13, vypadá konkrétní URL adresa takto:

https://app.smartemailing.cz/api/csv/newsletter-sent?username=martin@smartemailing.cz&usertoken=08dea8d5d8d1addbe70c04877071fdc66cbe225b&jobid=13

Vrácené CSV oddělené středníky má následující formát:

id

newsletter_id

name

time

emailaddress

203146

13

Můj třináctý newsletter

2015-01-01 12:00:00

martin@smartemailing.cz

3.3 Statistika otevření kampaně/SmartKampaně

Metoda vrací seznam otevření konkrétní kampaně nebo smart kampaně pro každý kontakt, který kampaň otevřel. Pokud kontakt otevřel kampaň vícekrát, je obsažen vícekrát i ve výstupu metody.

Url adresa:

https://app.smartemailing.cz/api/csv/[newsletter|autoresponder]-opened?username=<username>&usertoken=<apitoken>&jobid=<id>

Pro získání kontaktů, které otevřely kampaň ID 13, vypadá konkrétní URL adresa takto:

https://app.smartemailing.cz/api/csv/newsletter-opened?username=martin@smartemailing.cz&usertoken=08dea8d5d8d1addbe70c04877071fdc66cbe225b&jobid=13

Vrácené CSV oddělené středníky má následující formát:

id

newsletter_id

agent

time

emailaddress

87587

13

(Windows NT 5.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/31.0.1650.63 Safari/537.36

2015-01-01 13:00:00

martin@smartemailing.cz

3.4 Statistika neotevření kampaně/SmartKampaně

Metoda vrací seznam odeslaných, ale neotevřených emailů v konkrétní kampani nebo smart kampani.

https://app.smartemailing.cz/api/csv/[newsletter|autoresponder]-unopened?username=<username>&usertoken=<apitoken>&jobid=<id>

Pro získání kontaktů, které neotevřely kampaň ID 13, vypadá konkrétní URL adresa takto:

https://app.smartemailing.cz/api/csv/newsletter-unopened?username=martin@smartemailing.cz&usertoken=08dea8d5d8d1addbe70c04877071fdc66cbe225b&jobid=13

Vrácené CSV oddělené středníky má následující formát:

id

newsletter_id

name

emailaddress

87588

13

Můj třináctý newsletter

lukas@smartemailing.cz

3.5 Statistika vrácených z dané kampaně/SmartKampaně

Metoda vrací seznam odeslaných, ale nedoručitelných emailů v konkrétní kampani nebo smart kampani. Typ 0 znamená dočasný problém s doručením (např. plná schránka), typ 1 znamená trvalý problém (např. neexistující email)

Url adresa:

https://app.smartemailing.cz/api/csv/[newsletter|autoresponder]-bounced?username=<username>&usertoken=<apitoken>&jobid=<id>

Pro získání kontaktů, které neotevřely kampaň ID 13, vypadá konkrétní URL adresa takto:

https://app.smartemailing.cz/api/csv/newsletter-bounced?username=martin@smartemailing.cz&usertoken=08dea8d5d8d1addbe70c04877071fdc66cbe225b&jobid=13

Vrácené CSV oddělené středníky má následující formát:

id

newsletter_id

emailaddress

type

87588

13

tom@smartemailing.cz

0

3.6 Statistika prokliků z dané kampaně/SmartKampaně

Metoda vrací seznam prokliků konkrétní kampaně nebo smart kampaně pro každý kontakt, který kampaň proklikl. Pokud kontakt klikl vícekrát, je obsažen vícekrát i ve výstupu metody.

Url adresa:

https://app.smartemailing.cz/api/csv/[newsletter|autoresponder]-clicked?username=<username>&usertoken=<apitoken>&jobid=<id>

Pro získání kontaktů, které klikly v kampani ID 13, vypadá konkrétní URL adresa takto:

https://app.smartemailing.cz/api/csv/newsletter-clicked?username=martin@smartemailing.cz&usertoken=08dea8d5d8d1addbe70c04877071fdc66cbe225b&jobid=13

Vrácené CSV oddělené středníky má následující formát:

id

[newsletter|autoresponder]_id

time

href

emailaddress

86537

13

2015-01-01 13:01:00

http://www.smartemailing.cz

martin@smartemailing.cz

3.7 Statistika odhlášených z dané kampaně/SmartKampaně

Metoda vrací seznam odhlášení konkrétní kampaně nebo smart kampaně pro každý kontakt, který se z kampaně odhlásil.

Url adresa:

https://app.smartemailing.cz/api/csv/[newsletter|autoresponder]-unsubscribed?username=<username>&usertoken=<apitoken>&jobid=<id>

Pro získání kontaktů, které klikly v kampani ID 13, vypadá konkrétní URL adresa takto:

https://app.smartemailing.cz/api/csv/newsletter-unsubscribed?username=martin@smartemailing.cz&usertoken=08dea8d5d8d1addbe70c04877071fdc66cbe225b&jobid=13

Vrácené CSV oddělené středníky má následující formát:

id

newsletter_id

emailaddress

reason

time

86537

13

martin@smartemailing.cz

uninterested

2015-01-01 13:01:00

3.8 Návštěvnost stránky s formulářem

Metoda vrací seznam přístupů na stránku s webovým formulářem. V okamžiku přístupu ještě nelze zjistit e-mailovou adresu návštěvníka, proto ve výstupu není obsažena.

https://app.smartemailing.cz/api/csv/webform-displays?username=<username>&usertoken=<apitoken>&formid=<id>

Pro seznam návštěv stránek, na kterých je vložen webový formulář ID 397, vypadá konkrétní URL adresa takto:

https://app.smartemailing.cz/api/csv/webform-displays?username=martin@smartemailing.cz&usertoken=08dea8d5d8d1addbe70c04877071fdc66cbe225b&formid=397

Vrácené CSV oddělené středníky má následující formát:

id

webform_id

referrer

ip

agent

time

1386557

397

http://www.smartemailing.cz

123.123.123.123

(Windows NT 5.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/31.0.1650.63 Safari/537.36

2015-01-01 13:01:00


3.9 Vyplnění formuláře

Metoda vrací seznam vyplnění webového formuláře

https://app.smartemailing.cz/api/csv/webform-conversion?username=<username>&usertoken=<apitoken>&formid=<id>

Pro seznam vyplnění formuláře ID 397 vypadá konkrétní URL adresa takto:

https://app.smartemailing.cz/api/csv/webform-conversion?username=martin@smartemailing.cz&usertoken=08dea8d5d8d1addbe70c04877071fdc66cbe225b&formid=397

Vrácené CSV oddělené středníky má následující formát:

id

webform_id

emailaddress

time

referrer

1386557

397

martin@smartemailing.cz

2015-01-01 13:01:00

http://www.smartemailing.cz