PodporaAPI dokumentace

mailkit.mailinglist.adduser

Funkce mailkit.mailinglist.adduser přidá nového příjemce do seznamu, nebo aktualizuje stávajícího.

Tato API funkce není určena k hromadnému plnění seznamu příjemců, ale jako nástroj pro okamžité přidání či aktualizaci jednoho příjemce. Pro synchronizaci s informačními systémy doporučujeme využívat datové zdroje, které umožňují jednodušší a flexibilnější implementaci, která je časově méně náročná na realizaci.

API požadavek musí být zaslán v níže uvedené podobě. Příklad jak implementovat API volání v PERL zde.
UPOZORNĚNÍ: Formát zasílaných dat musí být v Base 64. Parametry jsou rozděleny do několika větví, jejichž pořadí a existenci je nutné dodržet.

Ukázka API volání:

XML

<?xml version="1.0"?>
<methodCall>
  <methodName>mailkit.mailinglist.adduser</methodName>
  <params>
   <param>
    <value>
      <int>client_id</int>
    </value>
   </param>
   <param>
    <value>
      <string>client_md5</string>
    </value>
   </param>
   <param>
    <value>
      <int>mailinglist_id</int>
    </value>
   </param>
   <param>
    <value>
      <boolean>double opt-in</boolean>
    </value>
   </param>
   <param>
    <value>
      <struct>
       <member>
        <name>ID_template</name>
        <value>
          <string>MTIzNDU2y</string></value>
       </member>
       <member>
        <name>email_from</name>
        <value>
          <string>ZXhhbXBsZUBleGFtcGxlLmN6</string></value>
       </member>
       <member>
        <name>name_from</name>
        <value>
          <string>T2Rlc2lsYXRlbA==</string></value>
       </member>
       <member>
        <name>return_url</name>
        <value>
          <string>aHR0cDovL3NvbWUud2hlcmU=</string></value>
       </member>
       <member>
        <name>vocative</name>
        <value>
          <string>T3Nsb3ZlbsOt</string>
        </value>
       </member>
       <member>
        <name>prefix</name>
        <value>
          <string>VGl0dWw=</string>
        </value>
       </member>
       <member>
        <name>first_name</name>
        <value>
          <string>Sm3DqW5v</string>
        </value>
       </member>
       <member>
        <name>last_name</name>
        <value>
          <string>UMWZw61qbWVuw60=</string>
        </value>
       </member>
       <member>
        <name>status</name>
        <value>
          <string>ZW5hYmxlZA==</string>
        </value>
       </member>
       <member>
        <name>email</name>
        <value>
          <string>ZXhhbXBsZUBleGFtcGxlLmN6</string>
        </value>
       </member>
       <member>
        <name>reply_to</name>
        <value>
          <string>ZXhhbXBsZUBleGFtcGxlLmN6</string>
        </value>
       </member>
       <member>
        <name>company</name>
        <value>
          <string>U3BvbGXEjW5vc3Q=</string>
        </value>
       </member>
      </struct>
    </value>
   </param>
   <param>
    <value>
      <struct>
       <member>
        <name>nick_name</name>
        <value>
          <string>UMWZZXpkw612a2E=</string>
        </value>
       </member>
       <member>
        <name>country</name>
        <value>
          <string>S3Jhag==</string>
        </value>
       </member>
       <member>
        <name>street</name>
        <value>
          <string>c3RyZWV0IGVkaXQ0</string>
        </value>
       </member>
       <member>
        <name>state</name>
        <value>
          <string>WmVtxJs=</string>
        </value>
       </member>
       <member>
        <name>zip</name>
        <value>
          <string>UFPEjA==</string>
        </value>
       </member>
       <member>
        <name>city</name>
        <value>
          <string>TcSbc3Rv</string>
        </value>
       </member>
       <member>
        <name>mobile</name>
        <value>
          <string>bW9iaWw=</string>
        </value>
       </member>
       <member>
        <name>phone</name>
        <value>
          <string>VGVsZWZvbg==</string>
        </value>
       </member>
       <member>
        <name>fax</name>
        <value>
          <string>ZmF4</string>
        </value>
       </member>
       <member>
        <name>gender</name>
        <value>
          <string>Rg==</string>
        </value>
       </member>
      </struct>
    </value>
   </param>
   <param>
    <value>
      <struct>
       <member>
        <name>custom1</name>
        <value>
          <string>dmxhc3Ruw60gxI0uMQ==</string>
        </value>
       </member>
       <member>
        <name>custom25</name>
        <value>
          <string>dmxhc3Ruw60gxI0uMjU=</string>
        </value>
       </member>
      </struct>
    </value>
   </param>
   <param>
    <value>
      <struct>
       <member>
        <name>ip_src</name>
        <value>
          <string>1.1.1.1</string>
        </value>
       </member>
       <member>
        <name>form_url</name>
        <value>
          <string>http://www.form.cz</string>
        </value>
       </member>
      </struct>
    </value>
   </param>
  </params>
</methodCall>
		

JSON

{
    "function": "mailkit.mailinglist.adduser",
    "id": "client_id",
    "md5": "client_md5",
    "parameters": {
        "ID_user_list": "12345",
        "confirm": "FALSE",
        "personal": {
            "email": "ZXhhbXBsZUBleGFtcGxlLmN6",
            "ID_template": "MTIzNDU2",
            "email_from": "ZXhhbXBsZUBleGFtcGxlLmN6",
            "name_from": "T2Rlc2lsYXRlbA==",
            "return_url": "aHR0cDovL3NvbWUud2hlcmU=",
            "first_name": "Sm3DqW5v",
            "last_name": "UMWZw61qbWVuw60=",
            "vocative": "T3Nsb3ZlbsOt",
            "prefix": "VGl0dWw=",
            "status": "ZW5hYmxlZA==",
            "reply_to": "ZXhhbXBsZUBleGFtcGxlLmN6",
            "company": "U3BvbGXEjW5vc3Q="
        },
        "address": {
            "zip": "UFPEjA==",
            "mobile": "bW9iaWw=",
            "fax": "ZmF4",
            "nick_name": "UMWZZXpkw612a2E=",
            "country": "S3Jhag==",
            "street": "VWxpY2U=",
            "state": "WmVtxJs=",
            "city": "TcSbc3Rv",
            "phone": "VGVsZWZvbg==",
            "gender": "Rg=="
        },
        "custom": {
            "custom1": "dmxhc3Ruw60gxI0uMQ==",
            "custom25": "dmxhc3Ruw60gxI0uMjU="
        },
        "params": {
            "ip_src": "1.2.3.4",
            "form_url": "https://example.com/form"
        }
    }
}

Hodnoty

client_id * = API ID naleznete ve svém Mailkit účtu v menu Profil / Integrace / Nastavení API.
client_md5 * = MD5 kód naleznete ve svém Mailkit účtu v menu Profil / Integrace / Nastavení API.
mailinglist_id * = ID seznamu příjemců
double opt-in * = odeslání potvrzovacího e-mailu o přidání do seznamu příjemců. Jsou přípustné 2 hodnoty: TRUE a FALSE

  • FALSE
    = pokud společně s touto hodnotou bude zasláno i ip_src & form_url (viz níže větěv "params") potvrzovací e-mail se nepošle a příjemce bude vložen do seznamu příjemců okamžitě. Zaslané parametry ip_src a form_url budou k příjemci uloženy do databáze.
    = pokud společně s touto hodnotou ip_src & form_url zasláno nebude, tak se potvrzovací e-mail nepošle a příjemce bude uložen do seznamu příjemců jako typ single opt-in. Tímto vložením se nereaktivuje dříve odhlášený příjemce.
  • TRUE = potvrzovací e-mail bude odeslán a příjemce bude vložen do seznamu příjemců až po té, co klikne v e-mailu na potvrzovací odkaz a potvrdí přihlášení. Hodnoty ip_src & form_url zasílané ve volání jsou v tomto případě ignorovány.
    Přihlašovací e-mail se nezašle tomu příjemci, jež má již dříve potvrzený a zároveň nezrušený souhlas -  v takovém případě příjemce bude rovnou vložen do seznamu příjemců.

Větev "personal"

email (v Base 64) * = e-mailová adresa příjemce
ID_template (v Base 64) = ID šablony s vlastním souborem přihlašovacího mailu / přihlašovací stránky. Používá se v případě, kdy send opt-in confirmationmail = TRUE. Pokud se nepoužije, odešle se potvrzovaci e-mail ve standardním vzhledu.
email_from (v Base 64) = e-mailová adresa, ze které bude odeslán potvrzovací e-mail
name_from (v Base 64) = jméno odesílací adresy potvrzovacího e-mailu
return_url (v Base 64) = návratová url adresa po potvrzení přihlášení
first_name (v Base 64) = jméno příjemce
last_name (v Base 64) = příjmení příjemce
status (v Base 64) = status příjemce
company (v Base 64) = firma příjemce
prefix (v Base 64) = titul příjemce
vocative (v Base 64) = oslovení příjemce
reply_to (v Base 64) = e-mailová adresa pro odpověď příjemce

Větev "address"

nick_name (v Base 64) = přezdívka příjemce
gender (v Base 64) = pohlaví příjemce. Může nabývat hodnot male/female; m/f; muz/zena; M/F
phone (v Base 64) = telefon příjemce
mobile (v Base 64) = mobil příjemce
fax (v Base 64) = fax příjemce
street (v Base 64) = adresa (ulice) příjemce
city (v Base 64) = město příjemce
state (v Base 64) = země příjemce
country (v Base 64) = kraj příjemce
zip (v Base 64) = PSČ příjemce

Větev "custom"

custom1 (v Base 64) = vlastní pole příjemce č. 1. Celkový počet vlastních polí je 25.

Větev "params"

ip_src - IP adresa, ze které došlo k přihlášení (udělení souhlasu)
form_url - url adresa, kde je umístěn vlastní přihlašovací formulář, jehož prostřednictvím došlo k přihlášení

* povinný parametr

Po úspěšném volání se vrací:

XML

<?xml version="1.0" encoding="utf-8"?>
<methodResponse>
  <params>
    <param>
      <value>
        <string>Sent subscribe email</string>
      </value>
    </param>
  </params>
</methodResponse>
		

JSON

{
    "error": "Sent subscribe email",
    "error_status": 0
}

Hodnoty

Sent subscribe email = potvrzovací e-mail byl úspěšně odeslán

XML

<?xml version="1.0" encoding="utf-8"?>
<methodResponse>
<params>
 <param>
  <value>
   <struct>
    <member>
     <name>status</name>
     <value>
      <i4>1</i4>
     </value>
    </member>
    <member>
     <name>data</name>
     <value>
      <i4>1234567890</i4>
     </value>
    </member>
   </struct>
  </value>
 </param>
</params>
</methodResponse>
		

JSON

{
    "ID_email": "1234567890",
    "status": "1",
    "error": "OK",
    "error_status": 0
}

Hodnoty

status = potvrzení úspěšného vložení příjemce. Nabývá těchto hodnot:

  • 0 = update (příjemce byl aktualizován)
  • 1 = insert (příjemce byl úspěšně vložen)
  • 2 = insert (příjemce byl odhlášen a má status odhlášený)
  • 3 = update (příjemce byl odhlášen a má status odhlášený)
  • 4 = fault (chybný / blokovaný e-mail, příjemce nebyl vložen)

data = ID nově vloženého příjemce

Příklad neúspěšného volání:

XML

<?xml version="1.0" encoding="utf-8"?>
<methodResponse>
  <params>
    <param>
      <value>
        <string>Missing email</string>
      </value>
    </param>
  </params>
</methodResponse>
		

JSON

{
    "error": "Missing email",
    "error_status": 1
}

Hodnoty

Missing ID_mailing_list = chybí ID seznamu příjemců
Invalid ID_mailing_list = neplatné ID seznamu příjemců
Missing email = chybí e-mailová adresa příjemce
Bad email syntax = e-mailová adresa má špatný formát
Invalid ID_template = neplatné ID šablony