25 function createMailing($name, $subject, $deprecatedParameter =
false, $type =
"regular")
27 $queryParameters = array(
28 'name' => urlencode($name),
29 'subject' => urlencode($subject),
30 'type' => urlencode($type),
33 return $this->
post(
'mailings',
"", $queryParameters);
41 return $this->
get(
'mailings/name/' . rawurlencode($mailingName));
49 $response = $this->
get(
'mailings/name/' . rawurlencode($mailingName));
50 return ($response->isSuccess());
58 return $this->
put(
'mailings/' . $mailingId .
'/settings/disableQosChecks');
69 if ($ignorePermission ===
true) {
70 $ignorePermission =
"true";
71 }
else if ($ignorePermission ===
false) {
72 $ignorePermission =
"false";
74 return $this->
post(
'mailings/' . $mailingId .
'/settings/ignorepermission',
"<ignore_permission>$ignorePermission</ignore_permission>");
83 return $this->
get(
'mailings/' . $mailingId .
'/settings/ignorepermission');
91 $queryParameters = array();
92 return $this->
put(
'mailings/' . $mailingId .
'/dispatching', $logic, $queryParameters);
100 return $this->
post(
'mailings/' . $mailingId .
'/dispatching/activate',
"");
112 return $this->
delete(
"mailings/" . $mailingId .
"/dispatching");
124 return $this->
delete(
"mailings/" . $id);
143 function setHTMLContent($mailingId, $html, $doImageGrabbing =
true, $doLinkTracking =
false)
145 $queryParameters = array(
146 'doImageGrabbing' => ($doImageGrabbing == TRUE) ?
"true" :
"false",
147 'doLinkTracking' => ($doLinkTracking == TRUE) ?
"true" :
"false"
149 return $this->
post(
'mailings/' . $mailingId .
'/contents/html', $html, $queryParameters,
"text/html");
166 return $this->
post(
'mailings/' . $mailingId .
'/contents/text', $text, array(),
"text/plain");
182 return $this->
get(
'mailings/' . $mailingId .
'/contents/html', null,
"text/html");
198 return $this->
get(
'mailings/' . $mailingId .
'/contents/text', null,
"text/plain");
215 return $this->
post(
'mailings/' . $mailingId .
'/targetgroupid',
"<targetgroupid>" . $targetGroupId .
"</targetgroupid>");
231 return $this->
get(
'mailings/' . $mailingId .
'/targetgroupid', null);
249 return $this->
post(
'mailings/' . $mailingId .
'/contents/sender',
"<sender>" . $email .
"</sender>");
265 return $this->
get(
'mailings/' . $mailingId .
'/contents/sender');
282 return $this->
post(
'mailings/' . $mailingId .
'/contents/subject',
"<subject>" . $subject .
"</subject>");
298 return $this->
get(
'mailings/' . $mailingId .
'/contents/subject');
315 return $this->
post(
'mailings/' . $mailingId .
'/contents/previewtext',
"<previewtext>" . $previewText .
"</previewtext>");
331 return $this->
get(
'mailings/' . $mailingId .
'/contents/previewtext');
353 return $this->
put(
'mailings/' . $mailingId .
'/template',
"<templateId>" . $template .
"</templateId>");
371 return $this->
get(
'mailings/' . $mailingId .
'/template');
389 return $this->
put(
'mailings/' . $mailingId .
'/contents/reset');
406 return $this->
post(
'mailings/' . $mailingId .
'/contents/senderalias',
"<senderalias>" . $senderalias .
"</senderalias>");
422 return $this->
get(
'mailings/' . $mailingId .
'/contents/senderalias');
439 return $this->
post(
'mailings/' . $mailingId .
'/contents/recipientalias',
"<recipientalias>" . $recipientalias .
"</recipientalias>");
455 return $this->
get(
'mailings/' . $mailingId .
'/settings/replyto');
472 $queryParameters = array(
473 'auto' => ($auto == TRUE) ?
"true" :
"false",
474 'customEmail' => $customEmail
477 return $this->
post(
'mailings/' . $mailingId .
'/settings/replyto', null, $queryParameters);
501 function getMailingsBySchedulingTime($scheduleTime, $beforeSchedulingTime =
true, $fields = array(), $page_index = 1, $page_size = 100, $orderBy =
"id", $order =
"DESC")
503 $queryParameters = array(
504 'page_index' => $page_index,
505 'page_size' => $page_size,
506 'scheduleTime' => urlencode($scheduleTime),
507 'beforeSchedulingTime' => ($beforeSchedulingTime == TRUE) ?
"true" :
"false",
508 'orderBy' => $orderBy,
512 $queryParameters = $this->appendArrayFields($queryParameters,
"fields", $fields);
514 return $this->
get(
'mailings/filter/scheduletime', $queryParameters);
538 $queryParameters = array(
539 'page_index' => $page_index,
540 'page_size' => $page_size,
544 $queryParameters = $this->appendArrayFields($queryParameters,
"types", $types);
545 $queryParameters = $this->appendArrayFields($queryParameters,
"fields", $fields);
547 return $this->
get(
'mailings/filter/types', $queryParameters);
571 $queryParameters = array(
572 'page_index' => $page_index,
573 'page_size' => $page_size,
577 $queryParameters = $this->appendArrayFields($queryParameters,
"states", $states);
578 $queryParameters = $this->appendArrayFields($queryParameters,
"fields", $fields);
580 return $this->
get(
'mailings/filter/states', $queryParameters);
593 return $this->
post(
'mailings/' . $mailingId .
'/sendnow');
612 $queryParameters = array(
615 'minutes' => $minutes
618 return $this->
put(
'mailings/' . $mailingId .
'/schedule',
"", $queryParameters);
637 $queryParameters = array(
640 'minutes' => $minutes
643 return $this->
post(
'mailings/' . $mailingId .
'/schedule',
"", $queryParameters);
660 return $this->
get(
'mailings/' . $mailingId .
'/settings/doi_key', null,
"text/html");
675 return $this->
post(
'mailings/' . $mailingId .
'/settings/doi_key',
"<doi_key>$doiKey</doi_key>");
687 return $this->
delete(
"mailings/${mailingId}/dispatching");
700 return $this->
get(
"mailings/${mailingId}/dispatching");
713 return $this->
get(
"mailings/${mailingId}/schedule");
725 return $this->
get(
"mailings/${mailingId}/archiveurl");
737 return $this->
get(
"mailings/${mailingId}/reporturl");
754 return $this->
post(
'mailings/' . $mailingId .
'/name',
"<name>" . $name .
"</name>");
766 return $this->
get(
"mailings/${mailingId}/name");
783 return $this->
post(
'mailings/' . $mailingId .
'/settings/tags',
"<tags>" . join(
"#", $tags) .
"</tags>");
795 return $this->
get(
"mailings/${mailingId}/settings/tags");
812 return $this->
post(
'mailings/' . $mailingId .
'/settings/locale',
"<locale>$locale</locale>");
824 return $this->
get(
"mailings/${mailingId}/settings/locale");
837 return $this->
post(
"mailings/${mailingId}/contents/smartmailing/rss");
849 return $this->
post(
"mailings/${mailingId}/copy");
865 $handle = fopen($filename,
"rb");
866 if (FALSE === $filename) {
870 while (!feof($handle)) {
871 $contents .= fread($handle, 8192);
874 if ($attachmentFileName === null) {
875 $attachmentFileName = basename($filename);
878 return $this->
addAttachment($mailingId, $attachmentFileName, $contentType, $contents);
893 $queryParameters = array(
'filename' => $filename);
894 return $this->
post(
"mailings/${mailingId}/attachments", $contents, $queryParameters, null, null, $contentType, strlen($contents));
905 return $this->
get(
"mailings/${mailingId}/attachments");
917 return $this->
get(
"mailings/${mailingId}/attachments/${attachmentId}");
928 return $this->
get(
"mailings/${mailingId}/attachments/count");
939 return $this->
delete(
"mailings/${mailingId}/attachments/");
953 if (empty($attachmentId)) {
957 return $this->
delete(
"mailings/${mailingId}/attachments/${attachmentId}");
969 $queryParameters = array(
'src_mailing_id' => $srcMailingId);
971 return $this->
put(
"mailings/${mailingId}/attachments",
"", $queryParameters);
982 return $this->
get(
"mailings/${mailingId}/settings/properties");
996 $xml =
new SimpleXMLElement(
"<?xml version=\"1.0\"?><properties></properties>");
998 if (is_array($properties)) {
999 foreach ($properties as $property) {
1000 $this->sxml_append($xml, $property->toXML());
1003 $this->sxml_append($xml, $properties->toXML());
1006 return $this->
post(
"mailings/${mailingId}/settings/properties", $xml->asXML());
1020 $queryParameters = array(
1021 'name' => $property->key,
1022 'value' => $property->value
1025 return $this->
put(
"mailings/${mailingId}/settings/properties",
"", $queryParameters);
1039 $queryParameters = array(
1040 'name' => $propertyName,
1043 return $this->
delete(
"mailings/${mailingId}/settings/properties", $queryParameters);
1059 $queryParameters = array(
1063 return $this->
post(
"mailings/${mailingId}/sendtestemail",
"", $queryParameters);
1075 $queryParameters = array(
1076 'test_targetgroup_id' => $testTargetGroupId
1079 return $this->
post(
"mailings/${mailingId}/checks/testsendout",
"", $queryParameters);
1082 function sxml_append(SimpleXMLElement $to, SimpleXMLElement $from)
1084 $toDom = dom_import_simplexml($to);
1085 $fromDom = dom_import_simplexml($from);
1086 $toDom->appendChild($toDom->ownerDocument->importNode($fromDom,
true));
getPreviewText($mailingId)
addCustomProperties($mailingId, $properties)
getMailingIdByName($mailingName)
getTriggerDispatchLogic($mailingId)
setTriggerDispatchLogic($mailingId, $logic)
deleteAttachments($mailingId)
getAttachment($mailingId, $attachmentId)
setDoiMailingKey($mailingId, $doiKey)
deleteCustomProperty($mailingId, $propertyName)
setSender($mailingId, $email)
isIgnorePermission($mailingId)
updateCustomProperty($mailingId, $property)
deleteActiveTriggerMailing($mailingId)
getReplyToAddress($mailingId)
setPreviewText($mailingId, $previewText)
getSenderAlias($mailingId)
setTargetGroupId($mailingId, $targetGroupId)
fillRssSmartContentTags($mailingId)
getArchiveUrl($mailingId)
getTargetGroupId($mailingId)
updateMailingSchedule($mailingId, $date, $hours, $minutes)
checkIfMailingExistsByName($mailingName)
getAttachmentsCount($mailingId)
getHTMLContent($mailingId)
setMailingSchedule($mailingId, $date, $hours, $minutes)
getDoiMailingKey($mailingId)
getMailingsByTypes($types, $fields=array(), $page_index=1, $page_size=100)
createMailing($name, $subject, $deprecatedParameter=false, $type="regular")
deactivateTriggerMailing($mailingId)
deleteAttachment($mailingId, $attachmentId)
sendTestMail($mailingId, $email)
setName($mailingId, $name)
resetContentsToTemplate($mailingId)
setSubject($mailingId, $subject)
setSenderAlias($mailingId, $senderalias)
getTextContent($mailingId)
setIgnorePermission($mailingId, $ignorePermission)
getMailingsBySchedulingTime($scheduleTime, $beforeSchedulingTime=true, $fields=array(), $page_index=1, $page_size=100, $orderBy="id", $order="DESC")
setTextContent($mailingId, $text)
setTemplate($mailingId, $template)
setHTMLContent($mailingId, $html, $doImageGrabbing=true, $doLinkTracking=false)
getMailingsByStates($states, $fields=array(), $page_index=1, $page_size=100)
addAttachment($mailingId, $filename, $contentType, $contents)
getAttachments($mailingId)
disableQosChecks($mailingId)
copyAttachments($mailingId, $srcMailingId)
setLocale($mailingId, $locale)
setRecipientAlias($mailingId, $recipientalias)
setTriggerActive($mailingId)
setTags($mailingId, $tags)
getCustomProperties($mailingId)
addAttachmentFromFile($mailingId, $filename, $contentType, $attachmentFileName=null)
sendMailingNow($mailingId)
sendTestMailToTestTargetGroup($mailingId, $testTargetGroupId)
post($resourcePath, $payload="", $queryParameters=array(), $mimeType= 'application/vnd.maileon.api+xml', $deserializationType=null, $contentType=null, $contentLength=null)
setReplyToAddress($mailingId, $auto=true, $customEmail=null)
put($resourcePath, $payload="", $queryParameters=array(), $mimeType= 'application/vnd.maileon.api+xml', $deserializationType=null)