NAV
PHP

Dokumentace SENDIO API

Sendio API verze 1.1 je dostupné na URL adrese https://sendio.cz/api/v1.1/SendioAPI_PHP.zip.

Pro veškerou komunikaci API je použito standardní kódování UTF-8.

Další informace a časté dotazy naleznete v nápovědě.

Inicializace

Pro práci se Sendio API sestavte kód podle následujích bodů nápovědy:

  1. Vložení pomocných souborů
  2. Konstrukce objektu knihovny
  3. Volání API
  4. Zpracování návratové hodnoty

Vložení pomocných souborů

Pro komunikaci s API vložte odkaz na soubory:

<?php
require("./<path>/settings.php");
require("./<path>/request.php");
...

V kódu nahraďte <path> existující cestou k souborům.

Sendio vyžaduje unikátní přihlašovací jméno a API klíč pro komunikaci s API. Požadované údaje naleznete v detailu vašeho uživatelského účtu a vložte je do souboru nastavení settings.php.

Obsah souboru settings.php:

<?php
    $login = "<user name>" ;
    $password = "<API key>" ;
?>

V kódu nahraďte konstanty <user name> a <API key> vašimi unikátními údaji.

Pro správné volání API je nutné vložit krátký kód s definicemi hlavních funkcí request.php.

Vzorové soubory pro jazyk PHP jsou k dispozici ke stažení zde.

Obsah souboru request.php:

<?php
class sendio {
    private $url = 'https://sendio.cz/api/v1.1/' ;
    private $xml ;

    public function __construct() {
        $this->xml = new SimpleXMLElement( '<?xml version="1.0" encoding="UTF-8"?><xmlrequest/>' ) ;
    }

    public function login( $array ) {
        $this->xml->addChild( 'login', $array['login'] ) ;
        $this->xml->addChild( 'password', $array['password'] );
    }

    public function sendRequest( $array ) {
        if( $array['action'] && $array['method'] ) {
        $this->xml->addChild( 'action', $array['action'] ) ;
        $this->xml->addChild( 'method', $array['method'] ) ;

        if( count( $array['data'] > 0 ) ) {
            $data = $this->xml->addChild( 'data' ) ;
            foreach( $array['data'] as $key => $value ) {
                if( $key == 'options' ) {
                    $data->addChild( $key, json_encode( $value ) ) ;
                } else {
                    $data->addChild( $key, $value ) ;
                }
            }
        }

        $request = curl_init( $this->url ) ;
        curl_setopt( $request, CURLOPT_RETURNTRANSFER, 1 ) ;
        curl_setopt( $request, CURLOPT_POST, 1 ) ;
        curl_setopt( $request, CURLOPT_POSTFIELDS, array( 'xml' => $this->xml->asXML() ) ) ;

        $result = curl_exec( $request ) ;
        if ( $result !== false ) {
            return $result ;
        }
        }
        return false ;
    }
}
?>

Konstrukce objektu knihovny

<?php
require("./<path>/settings.php");
require("./<path>/request.php");

$sendio = new sendio();
...

Instanci třídy přiřaďte do libovolně pojmenované proměnné, se kterou budete dále pracovat.

Po vložení povinných souborů je třeba v kódu vytvořit instanci třídy API knihovny.

Konstruktor

new sendio()

Volání API

Komunikace se systémem Sendio skrze API probíhá pomocí funkce sendRequest obsahující sestavený požadavek.

Sestavení požadavku (request)

Parametrem funkce SendRequest je asociativní pole obsahující dvojice klíč => hodnota. V případě úspěchu vrací funkce datovou strukturu, která se liší podle vybrané metody a pluginu.

<?php
require("./<path>/settings.php");
require("./<path>/request.php");

$sendio = new sendio();

$response = $sendio->sendRequest( [
    '<key>' => <value>,
    '<key>' => [
        '<key>' => <value>,
        ...
    ],
    ...
] );

echo $response;

Parametry <key> a <value> nahraďte odpovídajícími názvy a hodnotami příslušných datových typů.

Funkce

sendRequest( požadavek )

Tělo požadavku

Název parametru Popis parametru Povinný Datový typ
login Uživatelské jméno ANO string
password API klíč ANO string
action Třída vybraného pluginu ANO string
method Výběr konkrétní metody ANO string
data Data pro volání metody NE Objekt

Uživatelské jméno a API klíč

<?php
require("./<path>/settings.php");
require("./<path>/request.php");

$sendio = new sendio();

$response = $sendio->sendRequest( [
    'login' => $login,
    'password' => $password,
    ...
] );

echo $response;

Více v kapitole vložení pomocných souborů.

Parametr

'login' => '<user name>'

'password' => '<API key>'

Výběr tříd

<?php
require("./<path>/settings.php");
require("./<path>/request.php");

$sendio = new sendio();

$response = $sendio->sendRequest( [
    'login' => $login,
    'password' => $password,
    'action' => '<class>',
    ...
] );

echo $response;

V kódu nahraďte <class> názvem třídy vybraného pluginu.

Pro práci s konkrétními pluginy (kontakty, seznamy kontaktů, kampaně, formuláře) je třeba vybrat parametrem action příslušnou třídu metod.

Parametr

'action' => '<class>'

class Příslušný plugin
ContactUser Kontakty
ContactUserTag Tagy kontaktů
ContactGroup Seznamy kontaktů
Campaign E-mail marketing
SmsCampaign SMS marketing
Webform Webové formuláře

Výběr metod

<?php
require("./<path>/settings.php");
require("./<path>/request.php");

$sendio = new sendio();

$response = $sendio->sendRequest( [
    'login' => $login,
    'password' => $password,
    'action' => '<class>',
    'method' => '<method>',
    ...
] );

echo $response;

Parametr <method> nahraďte názvem odpovídající metody třídy.

Každá třída pluginů obsahuje definice metod, které jsou dostupné k volání. Výběr konkrétní metody je prováděn parametrem method.

Parametr

'method' => '<method>'

Nastavení dat

<?php
require("./<path>/settings.php");
require("./<path>/request.php");

$sendio = new sendio();

$response = $sendio->sendRequest( [
    'login' => $login,
    'password' => $password,
    'action' => '<class>',
    'method' => '<method>',
    'data' => [
        '<key>' => <value>,
        '<key>' => [
            '<key>' => <value>,
            ...     
        ],
        ...
    ],
] );

echo $response;

Parametry <key> nahraďte jmennými identifikátory, které určuje typ vkládaných dat. Parametry <value> nahraďte odpovídajícími hodnotami.

Podle zvolené metody je povinné nebo volitelné vložit do API požadavku další data ke zpracování pomocí parametru data.

Parametr

'data' => ['<key>' => <value>]

Alternativní volání (GET)

Sendio API lze alternativně volat také pomocí GET požadavku zaslaného na adresu https://app.sendio.cz/api/v1_json. Požadavek vrací data ve formátu JSON.

Příklad sestavení požadavku pro získání všech uživatelů ze systému Sendio:

https://app.sendio.cz/api/v1_json?login=<user name>&password=<API key>&action=contactUser&method=getAll

JSON response

{"SUCCESS":{
    "data":{
        "user":[
            {"id":"263","name":"Karel",...},
            {"id":"264","name":"Pavel",...}
            ]
        }
    },
    "status":"SUCCESS"
}

Parametry požadavku

Název parametru Popis parametru Povinný Datový typ
login Uživatelské jméno ANO string
password API klíč ANO string
action Třída vybraného pluginu ANO string
method Výběr konkrétní metody ANO string
data Data pro volání metody NE Objekt

Návratová hodnoty (response)

XML data úspěšně provedeného požadavku

<?xml version="1.0" endocoding="UTF-8"?>
<response>
    <status>SUCCESS</status>
    <data>
        <id>273</id>
    </data>
</response>

XML data úspěšně provedeného požadavku s upozorněním

<?xml version="1.0" endocoding="UTF-8"?>
<response>
    <status>WARNING</status>
    <data>
        <id>273</id>
        <message>Contact user with email karel.novak@domena.cz already exist</message>
    </data>
</response>

XML data chybně provedeného požadavku

<?xml version="1.0" endocoding="UTF-8"?>
<response>
    <status>FAILED</status>
    <data>
        <errormessage>Contact user width id 273 not found</errormessage>
    </data>
</response>

Funkce sendRequest vrací XML strukturu, která obsahuje stav a data provedeného požadavku.

Podle typu API požadavku obsahuje XML odpověď buď jednoduchou strukturu se stavem provedení (vkládání, mazání, přesun) nebo komplexní XML se všemi získanými daty (dotaz na informace ze systému SENDIO).

Kontakty (třída ContactUser)

Název metody Popis metody
add Vytvoření a přidání kontaktu
update Úprava kontaktu
delete Smazání kontaktu
deleteFromGroup Smazání kontaktu ze skupiny
addToGroup Přidání kontaktu do skupiny
moveToGroup Přesun kontaktu mezi skupinami
get Získání dat kontaktu
getAll Získání všech kontaktů

Vytvoření a přidání kontaktu (add)

Příklad: Request pro vložení uživatele Ing. Karel Novák do nezařazených kontaktů.

<?php
require("./<path>/settings.php");
require("./<path>/request.php");

$sendio = new sendio();

$response = $sendio->sendRequest( [
    'login' => $login,
    'password' => $password,
    'action' => 'ContactUser',
    'method' => 'add',
    'data' => [
        'email' => 'karel.novak@domena.cz',     
        'phone' => '420413252733',
        'full_name' => 'Karel Novák',
        'title_before' => 'Ing.',
        'description' => 'Importovaný kontakt',
    ],
] );

echo $response;

XML response

<?xml version="1.0" endocoding="UTF-8"?>
<response>
    <status>SUCCESS</status>
    <data>
        <id>273</id>
    </data>
</response>

Přidá kontakt. Hlavním identifikátorem kontaktu je e-mailová adresa.

Metoda

add

Data

Název parametru Popis parametru Povinný Datový typ Příklad
email E-mailová adresa ANO string 'karel.novak@domena.cz'
phone Telefon NE string (s mezistátní předvolbou bez ’+’) '420413252733'
all_name Celé jméno NE string 'Karel Novák'
first_name Jméno NE string 'Karel'
first_name_salutation Oslovení NE string 'Karle'
last_name Příjmení NE string 'Novák'
last_name_salutation Oslovení NE string 'Nováku'
title_before Titul před jménem NE string 'Ing.'
title_after Titul za jménem NE string 'dr. h. c.'
description Poznámka u kontaktu NE string 'Lorem ipsum'
company_id_number Identifikační číslo (IČ) NE string '28306201'
company_name Název firmy NE string 'PS Works s.r.o.'
company_tax_number Daňové identifikační číslo (DIČ) NE string 'CZ28306201'
company_detail Poznámka u společnosti NE string 'Lorem ipsum'
company_street Ulice NE string 'Jungmannova 1310/10'
company_zip Poštovní směrovací číslo NE string '61200'
company_city_part Část obce NE string 'Kyjov'
company_city Obec NE string 'Kyjov'
sex Pohlaví NE int (číselník sex) 1
verified Ověřený kontakt (souhlas se zpracováním údajů) NE int (číselník verified) 0
group_id Identifikátor skupiny kontaktů NE int 12

Úprava kontaktu (update)

Příklad: Request pro úpravu uživatele Ing. Karel Novák.

<?php
require("./<path>/settings.php");
require("./<path>/request.php");

$sendio = new sendio();

$response = $sendio->sendRequest( [
    'login' => $login,
    'password' => $password,
    'action' => 'ContactUser',
    'method' => 'update',
    'data' => [     
        'phone' => '420847712344',
        'full_name' => 'Pavel Novák',
        'title_before' => 'Doc.',
    ],
] );

echo $response;

XML response

<?xml version="1.0" endocoding="UTF-8"?>
<response>
    <status>SUCCESS</status>
    <data>1</data>
</response>

Upraví data kontaktu.

Metoda

update

Data

Název parametru Popis parametru Povinný Datový typ Příklad
email E-mailová adresa NE string 'karel.novak@domena.cz'
phone Telefon NE string (s mezistátní předvolbou bez ’+’) '420413252733'
all_name Celé jméno NE string 'Karel Novák'
first_name Jméno NE string 'Karel'
first_name_salutation Oslovení NE string 'Karle'
last_name Příjmení NE string 'Novák'
last_name_salutation Oslovení NE string 'Nováku'
title_before Titul před jménem NE string 'Ing.'
title_after Titul za jménem NE string 'dr. h. c.'
description Poznámka u kontaktu NE string 'Lorem ipsum'
company_id_number Identifikační číslo (IČ) NE string '28306201'
company_name Název firmy NE string 'PS Works s.r.o.'
company_tax_number Daňové identifikační číslo (DIČ) NE string 'CZ28306201'
company_detail Poznámka u společnosti NE string 'Lorem ipsum'
company_street Ulice NE string 'Jungmannova 1310/10'
company_zip Poštovní směrovací číslo NE string '61200'
company_city_part Část obce NE string 'Kyjov'
company_city Obec NE string 'Kyjov'
sex Pohlaví NE int (číselník sex) 1
verified Ověřený kontakt (souhlas se zpracováním údajů) NE int (číselník verified) 0

Smazání kontaktu (delete)

Příklad: Smazání kontaktu s ID 273.

<?php
require("./<path>/settings.php");
require("./<path>/request.php");

$sendio = new sendio();

$response = $sendio->sendRequest( [
    'login' => $login,
    'password' => $password,
    'action' => 'ContactUser',
    'method' => 'delete',
    'data' => [
        'id' => 273,        
    ],
] );

echo $response;

XML response

<?xml version="1.0" endocoding="UTF-8"?>
<response>
    <status>SUCCESS</status>
    <data>1</data>
</response>

Smaže kontakt ze všech seznamů a odstraní jeho data.

Metoda

delete

Data

Název parametru Popis parametru Povinný Datový typ Příklad
id Číselný identifikátor kontaktu ANO int 273

Anonymizace kontaktu (anonymize)

Příklad: Anonymizace kontaktu s ID 273.

<?php
require("./<path>/settings.php");
require("./<path>/request.php");

$sendio = new sendio();

$response = $sendio->sendRequest( [
    'login' => $login,
    'password' => $password,
    'action' => 'ContactUser',
    'method' => 'anonymize',
    'data' => [
        'id' => 273,        
    ],
] );

echo $response;

XML response

<?xml version="1.0" endocoding="UTF-8"?>
<response>
    <status>SUCCESS</status>
    <data>1</data>
</response>

Anonymizuje všechna data kontaktu včetně e-mailové adresy. Nahradí citlivé údaje kontaktu, ale zachová jeho statistiky.

Metoda

anonymize

Data

Název parametru Popis parametru Povinný Datový typ Příklad
id Číselný identifikátor kontaktu ANO int 273

Smazání kontaktu ze skupiny (deleteFromGroup)

Příklad: Smazání kontaktu s ID 273 ze seznamu s ID 113.

<?php
require("./<path>/settings.php");
require("./<path>/request.php");

$sendio = new sendio();

$response = $sendio->sendRequest( [
    'login' => $login,
    'password' => $password,
    'action' => 'ContactUser',
    'method' => 'deleteFromGroup',
    'data' => [
        'id' => 273,        
        'group_id' => 113,
    ],
] );

echo $response;

XML response

<?xml version="1.0" endocoding="UTF-8"?>
<response>
    <status>SUCCESS</status>
    <data>1</data>
</response>

Smaže kontakt ze skupiny, ale zachová jeho data. Kontakt se stane nezařazeným.

Metoda

deleteFromGroup

Data

Název parametru Popis parametru Povinný Datový typ Příklad
id Číselný identifikátor kontaktu ANO int 273
group_id Číselný identifikátor skupiny ANO int 113

Přidání kontaktu do skupiny (addToGroup)

Příklad: Přidání kontaktu s ID 273 do seznamu s ID 113.

<?php
require("./<path>/settings.php");
require("./<path>/request.php");

$sendio = new sendio();

$response = $sendio->sendRequest( [
    'login' => $login,
    'password' => $password,
    'action' => 'ContactUser',
    'method' => 'addToGroup',
    'data' => [
        'id' => 273,        
        'group_id' => 113,
    ],
] );

echo $response;

XML response

<?xml version="1.0" endocoding="UTF-8"?>
<response>
    <status>SUCCESS</status>
    <data>1</data>
</response>

Přidá kontakt do skupiny. Kontakt může existovat ve více skupinách.

Metoda

addToGroup

Data

Název parametru Popis parametru Povinný Datový typ Příklad
id Číselný identifikátor kontaktu ANO int 273
group_id Číselný identifikátor skupiny ANO int 113

Přesun kontaktu mezi skupinami (moveToGroup)

Příklad: Přesune kontakt s ID 273 do skupiny s ID 113.

<?php
require("./<path>/settings.php");
require("./<path>/request.php");

$sendio = new sendio();

$response = $sendio->sendRequest( [
    'login' => $login,
    'password' => $password,
    'action' => 'ContactUser',
    'method' => 'moveToGroup',
    'data' => [
        'id' => 273,        
        'group_id' => 113,
    ],
] );

echo $response;

XML response

<?xml version="1.0" endocoding="UTF-8"?>
<response>
    <status>SUCCESS</status>
    <data>1</data>
</response>

Přesune kontakt mezi skupinami. Ze všech ostatních skupin je kontakt smazán.

Metoda

moveToGroup

Data

Název parametru Popis parametru Povinný Datový typ Příklad
id Číselný identifikátor kontaktu ANO int 273
group_id Číselný identifikátor skupiny ANO int 113

Účel zpracování kontaktu (addPurpose)

Příklad: Request pro vložení účelu zpracování osobních údajů ke kontaktu Ing. Karel Novák.

<?php
require("./<path>/settings.php");
require("./<path>/request.php");

$sendio = new sendio();

$response = $sendio->sendRequest( [
    'login' => $login,
    'password' => $password,
    'action' => 'ContactUser',
    'method' => 'addPurpose',
    'data' => [
        'contact_user_id' => '273',     
        'puspose_id' => '1',
    ],
] );

echo $response;

XML response

<?xml version="1.0" endocoding="UTF-8"?>
<response>
    <status>SUCCESS</status>
    <data>1</data>
</response>

Přidá účel zpracování osobních údajů ke kontaktu.

Metoda

addPurpose

Data

Název parametru Popis parametru Povinný Datový typ Příklad
contact_user_id ID kontaktu ANO int 273
puspose_id ID účelu zpracování ANO int 1
date_from Datum NE Databázový formát [datetime] '2018-02-22 12:55:01'

Získání dat kontaktu (get)

Příklad: Získá data kontaktu s ID 273.

<?php
require("./<path>/settings.php");
require("./<path>/request.php");

$sendio = new sendio();

$response = $sendio->sendRequest( [
    'login' => $login,
    'password' => $password,
    'action' => 'ContactUser',
    'method' => 'get',
    'data' => [
        'id' => 273,        
    ],
] );

echo $response;

XML response

<?xml version="1.0" encoding="UTF-8"?>
<response>
    <data>
        <id>275</id>
        <first_name>Pavel</first_name>
        <first_name_salutation>Pavle</first_name_salutation>
        <last_name>Malý</last_name>
        <last_name_salutation>Malý</last_name_salutation>
        <title_before>Mgr.</title_before>
        <title_after/>
        <description>Importovaný kontakt</description>
        <email>novy@email.cz</email>
        <phone>420123456789</phone>
        <sex>1</sex>
        <birthday/>
        <nameday>29.06.</nameday>
        <company_id_number>28306201</company_id_number>
        <company_name/>
        <company_tax_number/>
        <company_detail/>
        <company_stret/>
        <company_city_part/>
        <company_city/>
        <company_zip/>
        <blacklist>0</blacklist>
        <blacklist_time/>
        <blacklist_ip/>
        <blacklist_reason/>
        <blacklist_campaign_id/>
        <returned>0</returned>
        <returned_time/>
        <returned_campaign_id/>
        <register_via/>
    </data>
    <status>SUCCESS</status>
</response>

Získá všechna data konkrétního kontaktu.

Metoda

get

Data

Název parametru Popis parametru Povinný Datový typ Příklad
id Číselný identifikátor kontaktu ANO int 273

Získání všech kontaktů (getAll)

Příklad: Získá data prvních deseti kontaktů.

<?php
require("./<path>/settings.php");
require("./<path>/request.php");

$sendio = new sendio();

$response = $sendio->sendRequest( [
    'login' => $login,
    'password' => $password,
    'action' => 'ContactUser',
    'method' => 'getAll',
    'data' => [
        'limit_from' => 0,
        'limit_to' => 10,       
    ],
] );

echo $response;

XML response

<?xml version="1.0" encoding="UTF-8"?>
<response>
    <data>
        <user>
            <id>275</id>
            <first_name>Pavel</first_name>
            <first_name_salutation>Pavle</first_name_salutation>
            <last_name>Malý</last_name>
            ...
        </user>
        <user>
            <id>276</id>
            <first_name>Karel</first_name>
            <first_name_salutation>Karle</first_name_salutation>
            <last_name>Novák</last_name>
            ...
        </user>
        ...
    </data>
    <status>SUCCESS</status>
</response>

Získá data všech kontaktů v systému Sendio.

Metoda

getAll

Data

Název parametru Popis parametru Povinný Datový typ Příklad
limit_from Počáteční pozice procházení (počet přeskočených kontaktů) NE int (výchozí hodnota 0) 0
limit_to Maximální počet vrácených výsledků NE int (výchozí hodnota 20) 10

Tagy kontaktů (třída ContactUserTag)

Název metody Popis metody
add Přidání příznaku ke kontaktu
delete Smazání příznaku kontaktu
getAll Získání všech příznaků kontaktu

Vytvoření a přidání tagu kontaktu (add)

Příklad: Přidá tag věrnostního programu ke kontaktu s ID 273.

<?php
require("./<path>/settings.php");
require("./<path>/request.php");

$sendio = new sendio();

$response = $sendio->sendRequest( [
    'login' => $login,
    'password' => $password,
    'action' => 'ContactUserTag',
    'method' => 'add',
    'data' => [
        'contact_user_id' => 273,
        'name' => 'věrnostní program SILVER',     
    ],
] );

echo $response;

XML response

<?xml version="1.0" encoding="UTF-8"?>
<response>
    <data>
        <id>99</id>
    </data>
    <status>SUCCESS</status>
</response>

Přidání tagu ke kontaktu.

Metoda

add

Data

Název parametru Popis parametru Povinný Datový typ Příklad
contact_user_id Číselný identifikátor kontaktu ANO int 273
name Název tagu ANO string 'věrnostní program SILVER'

Smazání tagu kontaktu (delete)

Příklad: Smaže tag věrnostního programu u kontaktu s ID 273.

<?php
require("./<path>/settings.php");
require("./<path>/request.php");

$sendio = new sendio();

$response = $sendio->sendRequest( [
    'login' => $login,
    'password' => $password,
    'action' => 'ContactUserTag',
    'method' => 'delete',
    'data' => [
        'contact_user_id' => 273,
        'name' => 'věrnostní program SILVER',     
    ],
] );

echo $response;

XML response

<?xml version="1.0" encoding="UTF-8"?>
<response>
    <data>1</data>
    <status>SUCCESS</status>
</response>

Smazaní tagu u kontaktu.

Metoda

delete

Data

Název parametru Popis parametru Povinný Datový typ Příklad
contact_user_id Číselný identifikátor kontaktu ANO int 273
name Název tagu ANO string 'věrnostní program SILVER'

Získání tagů kontaktu (getAll)

Příklad: Zíslá tagy kontaktu s ID 273.

<?php
require("./<path>/settings.php");
require("./<path>/request.php");

$sendio = new sendio();

$response = $sendio->sendRequest( [
    'login' => $login,
    'password' => $password,
    'action' => 'ContactUserTag',
    'method' => 'getAll',
    'data' => [
        'contact_user_id' => 273,
    ],
] );

echo $response;

XML response

<?xml version="1.0" encoding="UTF-8"?>
<response>
    <data>
        <tag>
            <name>věrnostní program SILVER</name>
        </tag>
        <tag>
            <name>zájem SPORT</name>
        </tag>
    </data>
    <status>SUCCESS</status>
</response>

Získání všech tagů u kontaktu.

Metoda

getAll

Data

Název parametru Popis parametru Povinný Datový typ Příklad
contact_user_id Číselný identifikátor kontaktu ANO int 273

Seznamy kontaktů (třída ContactGroup)

Název metody Popis metody
add Vytvoření a přidání seznamu kontaktů
delete Smazání seznamu kontaktů
get Získání seznamu kontaktů

Vytvoření a přidání seznamu kontaktů (add)

Příklad: Přidání nového seznam kontaktů.

<?php
require("./<path>/settings.php");
require("./<path>/request.php");

$sendio = new sendio();

$response = $sendio->sendRequest( [
    'login' => $login,
    'password' => $password,
    'action' => 'ContactGroup',
    'method' => 'add',
    'data' => [
        'name' => 'Importovaní zákazníci',
    ],
] );

echo $response;

XML response

<?xml version="1.0" encoding="UTF-8"?>
<response>
    <data>
        <id>14</id>
    </data>
    <status>SUCCESS</status>
</response>

Přidání pojmenovaného seznamu kontaktů.

Metoda

add

Data

Název parametru Popis parametru Povinný Datový typ Příklad
name Název skupiny kontaktů ANO string 'Importovaní zákazníci'

Smazání seznamu kontaktů (delete)

Příklad: Smazání seznam kontaktů s ID 14.

<?php
require("./<path>/settings.php");
require("./<path>/request.php");

$sendio = new sendio();

$response = $sendio->sendRequest( [
    'login' => $login,
    'password' => $password,
    'action' => 'ContactGroup',
    'method' => 'delete',
    'data' => [
        'id' => 14,
    ],
] );

echo $response;

XML response

<?xml version="1.0" encoding="UTF-8"?>
<response>
    <data>1</data>
    <status>SUCCESS</status>
</response>

Smazání konkrétního seznamu kontaktů.

Metoda

delete

Data

Název parametru Popis parametru Povinný Datový typ Příklad
id Číselný identifikátor seznamu ANO int 14

Získání dat seznamu kontaktů (get)

Příklad: Získání dat seznamu kontaktů s ID 14.

<?php
require("./<path>/settings.php");
require("./<path>/request.php");

$sendio = new sendio();

$response = $sendio->sendRequest( [
    'login' => $login,
    'password' => $password,
    'action' => 'ContactGroup',
    'method' => 'get',
    'data' => [
        'id' => 14,
    ],
] );

echo $response;

XML response

<?xml version="1.0" encoding="UTF-8"?>
<response>
    <data>
        <id>14</id>
        <name>Importovaní zákazníci</name>
        <description/>
    </data>
    <status>SUCCESS</status>
</response>

Získá všechna data konkrétního seznamu kontaktů.

Metoda

get

Data

Název parametru Popis parametru Povinný Datový typ Příklad
id Číselný identifikátor seznamu ANO int 14

E-mail kampaně (třída Campaign)

Název metody Popis metody
delete Smazání e-mail kampaně
get Získání e-mail kampaně
getAll Získání všech e-mail kampaní
send Rozeslání e-mail kampaně
sendUser Zaslání e-mail kampaně konkrétnímu uživateli

Smazání e-mail kampaně (delete)

Příklad: Smazání e-mail kampaně s ID 25.

<?php
require("./<path>/settings.php");
require("./<path>/request.php");

$sendio = new sendio();

$response = $sendio->sendRequest( [
    'login' => $login,
    'password' => $password,
    'action' => 'Campaign',
    'method' => 'delete',
    'data' => [
        'id' => 25,
    ],
] );

echo $response;

XML response

<?xml version="1.0" encoding="UTF-8"?>
<response>
    <data>1</data>
    <status>SUCCESS</status>
</response>

Smazání konkrétní e-mail kampaně.

Metoda

delete

Data

Název parametru Popis parametru Povinný Datový typ Příklad
id Číselný identifikátor kampaně ANO int 25

Získání dat e-mail kampaně (get)

Příklad: Získání všech dat e-mail kampaně s ID 25.

<?php
require("./<path>/settings.php");
require("./<path>/request.php");

$sendio = new sendio();

$response = $sendio->sendRequest( [
    'login' => $login,
    'password' => $password,
    'action' => 'Campaign',
    'method' => 'get',
    'data' => [
        'id' => 25,
    ],
] );

echo $response;

XML response

<?xml version="1.0" encoding="UTF-8"?>
<response>
    <data>
        <id>25</id>
        <name>Podzimní slevy</name>
        <subject>Veškerý sortiment za polovinu!</subject>
        <description>Kampaň podzimních slev a akcí</description>
        <sender_email>zbozi@obchod.cz</sender_email>
        <sender_name>Martin Zahálka</sender_name>
    </data>
    <status>SUCCESS</status>
</response>

Získá všechna data konkrétní e-mail kampaně.

Metoda

get

Data

Název parametru Popis parametru Povinný Datový typ Příklad
id Číselný identifikátor kampaně ANO int 25

Získání všech e-mail kampaní (getAll)

Příklad: Získá data prvních deseti kampaní.

<?php
require("./<path>/settings.php");
require("./<path>/request.php");

$sendio = new sendio();

$response = $sendio->sendRequest( [
    'login' => $login,
    'password' => $password,
    'action' => 'Campaign',
    'method' => 'getAll',
    'data' => [
        'limit_from' => 0,
        'limit_to' => 10,       
    ],
] );

echo $response;

XML response

<?xml version="1.0" encoding="UTF-8"?>
<response>
    <data>
        <campaign>
            <id>25</id>
            <name>Podzimní slevy</name>
            <subject>Veškerý sortiment za polovinu</subject>
            ...
        </campaign>
        <campaign>
            <id>26</id>
            <name>Speciální akce</name>
            <subject>Extrémní výprodej letního zboží</subject>
            ...
        </campaign>
        ...
    </data>
    <status>SUCCESS</status>
</response>

Získá data všech e-mail kampaní v systému Sendio.

Metoda

getAll

Data

Název parametru Popis parametru Povinný Datový typ Příklad
limit_from Počáteční pozice procházení (počet přeskočených kampaní) NE int (výchozí hodnota 0) 0
limit_to Maximální počet vrácených výsledků NE int (výchozí hodnota 20) 10

Rozeslání e-mail kampaně (send)

Příklad: Rozeslání e-mail kampaně s ID 25.

<?php
require("./<path>/settings.php");
require("./<path>/request.php");

$sendio = new sendio();

$response = $sendio->sendRequest( [
    'login' => $login,
    'password' => $password,
    'action' => 'Campaign',
    'method' => 'send',
    'data' => [
        'id' => 25,
        'options' => {"id_zakazky":"174","stav":"odeslána"},
    ],
] );

echo $response;

XML response

<?xml version="1.0" encoding="UTF-8"?>
<response>
    <status>SUCCESS</status>
</response>

Rozešle konkrétní e-mail kampaň na předem definovaný seznam kontaktů.

Metoda

send

Data

Název parametru Popis parametru Povinný Datový typ Příklad
id Číselný identifikátor kampaně ANO int 25
all Rozeslat kampaň na daný počet kontaktů NE int (číselník all) 1
first Rozeslat kampaň na prvních x kontaktů NE int 100
now Rozeslat kampaň ihned NE int (číselník now) 1
sent_time Datum a čas odeslání NE SQL DateTime UTM (YYYY-MM-DD HH:MI:SS) 2017-10-08 14:02:33
just_sent Rozeslat i na kontakty, které již kampaň obdrželi NE int (číselník just_sent) 1
sto Časová optimalizace rozesílky NE int (číselník sto) 0
verified Rozeslat pouze na ověřené kontakty NE int (číselník verified) 0
mozify Použít rozšíření mozify NE int (číselník mozify) 0
images Poslat obrázky jako odkazy NE int (číselník images) 0
options JSON pole key => value pro šablony hodnot NE string {"id_zakazky":"174", "stav":"odeslána"}

Princip šablonování e-mailu pomocí parametru options:

Dobrý den, rádi bychom Vás informovali, že zakázka číslo {id_zakazky} byla úspěšně {stav}.

Výsledek po naplnění šablony:

Dobrý den, rádi bychom Vás informovali, že zakázka číslo 174 byla úspěšně odeslána.

Zaslání e-mail kampaně uživateli (sendUser)

Příklad: Rozeslání e-mail kampaně s ID 25 uživateli s ID 273.

<?php
require("./<path>/settings.php");
require("./<path>/request.php");

$sendio = new sendio();

$response = $sendio->sendRequest( [
    'login' => $login,
    'password' => $password,
    'action' => 'Campaign',
    'method' => 'send',
    'data' => [
        'campaign_id' => 25,
        'contact_user_id' => 273,
    ],
] );

echo $response;

XML response

<?xml version="1.0" encoding="UTF-8"?>
<response>
    <status>SUCCESS</status>
</response>

Rozešle konkrétní e-mail kampaň na definovaný kontakt.

Metoda

sendUser

Data

Název parametru Popis parametru Povinný Datový typ Příklad
campaign_id Číselný identifikátor kampaně ANO int 25
contact_user_id Číselný identifikátor kontaktu ANO int 273
now Rozeslat kampaň ihned NE int (číselník now) 1
sent_time Datum a čas odeslání NE SQL DateTime UTM (YYYY-MM-DD HH:MI:SS) 2017-10-08 14:02:33
sto Časová optimalizace rozesílky NE int (číselník sto) 0
mozify Použít rozšíření mozify NE int (číselník mozify) 0
images Poslat obrázky jako odkazy NE int (číselník images) 0
options JSON pole key => value pro šablony hodnot NE string {"id_zakazky":"174", "stav":"odeslána"}

Princip šablonování e-mailu pomocí parametru options:

Dobrý den, rádi bychom Vás informovali, že zakázka číslo {id_zakazky} byla úspěšně {stav}.

Výsledek po naplnění šablony:

Dobrý den, rádi bychom Vás informovali, že zakázka číslo 174 byla úspěšně odeslána.

SMS kampaně (třída SmsCampaign)

Název metody Popis metody
delete Smazání SMS kampaně
get Získání SMS kampaně
getAll Získání všech SMS kampaní
send Rozeslání SMS kampaně
sendUser Zaslání SMS kampaně konkrétnímu uživateli
sendPhoneNumber Zaslání SMS kampaně na konkrétní telefonní číslo

Smazání SMS kampaně (delete)

Příklad: Smazání SMS kampaně s ID 31.

<?php
require("./<path>/settings.php");
require("./<path>/request.php");

$sendio = new sendio();

$response = $sendio->sendRequest( [
    'login' => $login,
    'password' => $password,
    'action' => 'SmsCampaign',
    'method' => 'delete',
    'data' => [
        'id' => 31,
    ],
] );

echo $response;

XML response

<?xml version="1.0" encoding="UTF-8"?>
<response>
    <data>1</data>
    <status>SUCCESS</status>
</response>

Smazání konkrétní SMS kampaně.

Metoda

delete

Data

Název parametru Popis parametru Povinný Datový typ Příklad
id Číselný identifikátor kampaně ANO int 31

Získání dat SMS kampaně (get)

Příklad: Získání všech dat e-mail kampaně s ID 31.

<?php
require("./<path>/settings.php");
require("./<path>/request.php");

$sendio = new sendio();

$response = $sendio->sendRequest( [
    'login' => $login,
    'password' => $password,
    'action' => 'SmsCampaign',
    'method' => 'get',
    'data' => [
        'id' => 31,
    ],
] );

echo $response;

XML response

<?xml version="1.0" encoding="UTF-8"?>
<response>
    <data>
        <id>31</id>
        <name>Objednávka</name>
        <description>Potvrzení objednávky zboží</description>
        <text>Dobrý den {osloveni prijmeni}, děkujeme za Vaši objednávku.</text>
    </data>
    <status>SUCCESS</status>
</response>

Získá všechna data konkrétní SMS kampaně.

Metoda

get

Data

Název parametru Popis parametru Povinný Datový typ Příklad
id Číselný identifikátor kampaně ANO int 31

Získání všech SMS kampaní (getAll)

Příklad: Získá data prvních deseti kampaní.

<?php
require("./<path>/settings.php");
require("./<path>/request.php");

$sendio = new sendio();

$response = $sendio->sendRequest( [
    'login' => $login,
    'password' => $password,
    'action' => 'SmsCampaign',
    'method' => 'getAll',
    'data' => [
        'limit_from' => 0,
        'limit_to' => 10,       
    ],
] );

echo $response;

XML response

<?xml version="1.0" encoding="UTF-8"?>
<response>
    <data>
        <smsCampaign>
            <id>31</id>
            <name>Objednávka</name>
            <description>Potvrzení objednávky zboží</description>
            ...
        </smsCampaign>
        <smsCampaign>
            <id>32</id>
            <name>Připomenutí</name>
            <description>Připomenutí expedované objednávky</description>
            ...
        </smsCampaign>
        ...
    </data>
    <status>SUCCESS</status>
</response>

Získá data všech SMS kampaní v systému Sendio.

Metoda

getAll

Data

Název parametru Popis parametru Povinný Datový typ Příklad
limit_from Počáteční pozice procházení (počet přeskočených kampaní) NE int (výchozí hodnota 0) 0
limit_to Maximální počet vrácených výsledků NE int (výchozí hodnota 20) 10

Rozeslání SMS kampaně (send)

Příklad: Rozeslání e-mail kampaně s ID 31.

<?php
require("./<path>/settings.php");
require("./<path>/request.php");

$sendio = new sendio();

$response = $sendio->sendRequest( [
    'login' => $login,
    'password' => $password,
    'action' => 'SmsCampaign',
    'method' => 'send',
    'data' => [
        'id' => 31,
    ],
] );

echo $response;

XML response

<?xml version="1.0" encoding="UTF-8"?>
<response>
    <status>SUCCESS</status>
</response>

Rozešle konkrétní SMS kampaň na předem definovaný seznam kontaktů.

Metoda

send

Data

Název parametru Popis parametru Povinný Datový typ Příklad
id Číselný identifikátor kampaně ANO int 31
all Rozeslat kampaň na daný počet kontaktů NE int (číselník all) 1
first Rozeslat kampaň na prvních x kontaktů NE int 100
now Rozeslat kampaň ihned NE int (číselník now) 1
sent_time Datum a čas odeslání NE SQL DateTime UTM (YYYY-MM-DD HH:MI:SS) 2017-10-08 14:02:33
just_sent Rozeslat i na kontakty, které již kampaň obdrželi NE int (číselník just_sent) 1
options JSON pole key => value pro šablony hodnot NE string {"id_zakazky":"174", "stav":"odeslána"}

Princip šablonování e-mailu pomocí parametru options:

Dobrý den, rádi bychom Vás informovali, že zakázka číslo {id_zakazky} byla úspěšně {stav}.

Výsledek po naplnění šablony:

Dobrý den, rádi bychom Vás informovali, že zakázka číslo 174 byla úspěšně odeslána.

Zaslání SMS kampaně uživateli (sendUser)

Příklad: Rozeslání SMS kampaně s ID 31 uživateli s ID 273.

<?php
require("./<path>/settings.php");
require("./<path>/request.php");

$sendio = new sendio();

$response = $sendio->sendRequest( [
    'login' => $login,
    'password' => $password,
    'action' => 'SmsCampaign',
    'method' => 'send',
    'data' => [
        'campaign_id' => 31,
        'contact_user_id' => 273,
    ],
] );

echo $response;

XML response

<?xml version="1.0" encoding="UTF-8"?>
<response>
    <status>SUCCESS</status>
</response>

Rozešle konkrétní SMS kampaň na definovaný kontakt.

Metoda

sendUser

Data

Název parametru Popis parametru Povinný Datový typ Příklad
campaign_id Číselný identifikátor kampaně ANO int 31
contact_user_id Číselný identifikátor kontaktu ANO int 273
now Rozeslat kampaň ihned NE int (číselník now) 1
sent_time Datum a čas odeslání NE SQL DateTime UTM (YYYY-MM-DD HH:MI:SS) 2017-10-08 14:02:33
options JSON pole key => value pro šablony hodnot NE string {"id_zakazky":"174", "stav":"odeslána"}

Princip šablonování e-mailu pomocí parametru options:

Dobrý den, rádi bychom Vás informovali, že zakázka číslo {id_zakazky} byla úspěšně {stav}.

Výsledek po naplnění šablony:

Dobrý den, rádi bychom Vás informovali, že zakázka číslo 174 byla úspěšně odeslána.

Zaslání SMS kampaně na číslo (sendPhoneNumber)

Příklad: Rozeslání SMS kampaně s ID 31 na telefonní číslo +420 413 252 733.

<?php
require("./<path>/settings.php");
require("./<path>/request.php");

$sendio = new sendio();

$response = $sendio->sendRequest( [
    'login' => $login,
    'password' => $password,
    'action' => 'SmsCampaign',
    'method' => 'send',
    'data' => [
        'campaign_id' => 31,
        'phone_number' => '420413252733',
    ],
] );

echo $response;

XML response

<?xml version="1.0" encoding="UTF-8"?>
<response>
    <status>SUCCESS</status>
</response>

Rozešle konkrétní SMS kampaň na definované telefonní číslo.

Metoda

sendPhoneNumber

Data

Název parametru Popis parametru Povinný Datový typ Příklad
campaign_id Číselný identifikátor kampaně ANO int 31
phone_number Telefon ANO string (s mezistátní předvolbou bez ’+’) 420413252733
now Rozeslat kampaň ihned NE int (číselník now) 1
sent_time Datum a čas odeslání NE SQL DateTime UTM (YYYY-MM-DD HH:MI:SS) 2017-10-08 14:02:33
options JSON pole key => value pro šablony hodnot NE string {"id_zakazky":"174", "stav":"odeslána"}

Princip šablonování e-mailu pomocí parametru options:

Dobrý den, rádi bychom Vás informovali, že zakázka číslo {id_zakazky} byla úspěšně {stav}.

Výsledek po naplnění šablony:

Dobrý den, rádi bychom Vás informovali, že zakázka číslo 174 byla úspěšně odeslána.

Webové formuláře (třída Webform)

Název metody Popis metody
delete Smazání webového formuláře
get Získání webového formuláře
getAll Získání všech webových formulářů

Smazání webového formuláře (delete)

Příklad: Smazání formuláře s ID 4.

<?php
require("./<path>/settings.php");
require("./<path>/request.php");

$sendio = new sendio();

$response = $sendio->sendRequest( [
    'login' => $login,
    'password' => $password,
    'action' => 'Webform',
    'method' => 'delete',
    'data' => [
        'id' => 4,
    ],
] );

echo $response;

XML response

<?xml version="1.0" encoding="UTF-8"?>
<response>
    <data>1</data>
    <status>SUCCESS</status>
</response>

Smazání konkrétního webového formuláře.

Metoda

delete

Data

Název parametru Popis parametru Povinný Datový typ Příklad
id Číselný identifikátor formuláře ANO int 4

Získání dat formuláře (get)

Příklad: Získání všech dat webového formuláře s ID 4.

<?php
require("./<path>/settings.php");
require("./<path>/request.php");

$sendio = new sendio();

$response = $sendio->sendRequest( [
    'login' => $login,
    'password' => $password,
    'action' => 'Webform',
    'method' => 'get',
    'data' => [
        'id' => 4,
    ],
] );

echo $response;

XML response

<?xml version="1.0" encoding="UTF-8"?>
<response>
    <data>
        <id>4</id>
        <name>Kontaktní formulář</name>
        <campaign_id/>
        <contact_group_id>111</contact_group_id>
        <send_to/>
    </data>
    <status>SUCCESS</status>
</response>

Získá všechna data konkrétního webového formuláře.

Metoda

get

Data

Název parametru Popis parametru Povinný Datový typ Příklad
id Číselný identifikátor formuláře ANO int 4

Získání všech formulářů (getAll)

Příklad: Získá data prvních deseti webových formulářů.

<?php
require("./<path>/settings.php");
require("./<path>/request.php");

$sendio = new sendio();

$response = $sendio->sendRequest( [
    'login' => $login,
    'password' => $password,
    'action' => 'Webform',
    'method' => 'getAll',
    'data' => [
        'limit_from' => 0,
        'limit_to' => 10,       
    ],
] );

echo $response;

XML response

<?xml version="1.0" encoding="UTF-8"?>
<response>
    <data>
        <webform>
            <id>4</id>
            <name>Kontaktní formulář</name>
            <campaign_id/>
            ...
        </webform>
        <webform>
            <id>5</id>
            <name>Poptávkový formulář</name>
            <campaign_id/>
            ...
        </webform>
        ...
    </data>
    <status>SUCCESS</status>
</response>

Získá data všech webových formulářů v systému Sendio.

Metoda

getAll

Data

Název parametru Popis parametru Povinný Datový typ Příklad
limit_from Počáteční pozice procházení (počet přeskočených kampaní) NE int (výchozí hodnota 0) 0
limit_to Maximální počet vrácených výsledků NE int (výchozí hodnota 20) 10

Číselníky

sex

Pohlaví kontaktus

Hodnota parametru Popis
0 Nevyplněno
1 Muž
2 Žena

verified

Ověřený kontakt (kontakt dal souhlas se zařazením do databáze)

Hodnota parametru Popis
0 Neověřený
1 Ověřený

all

Rozeslání na daný počet kontaktů

Hodnota parametru Popis
0 Všechny kontakty
1 Pouze na prvních x

just_sent

Rozeslání na kontakty, které již kampaň obdrželi

Hodnota parametru Popis
0 Pouze na nové kontakty
1 Všechny kontakty

sto

Časová optimalizace rozesílky

Hodnota parametru Popis
0 Vypnuta
1 Zapnuta

mozify

Použít rozšíření Mozify

Hodnota parametru Popis
0 Vypnuto
1 Zapnuto

images

Způsob vložení obrázků

Hodnota parametru Popis
0 Vložit jako odkazy
1 Vložit do e-mailu jako přílohy

Chybové stavy

SENDIO API používá následující chybové stavy:

HTTP kód Význam kódu
200 Volání proběhlo úspěšně
404 Neexistující služba
500 Volání skončilo chybou
PHP