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');
66 $queryParameters = array();
67 return $this->
put(
'mailings/' . $mailingId .
'/dispatching', $logic, $queryParameters);
75 return $this->
post(
'mailings/' . $mailingId .
'/dispatching/activate',
"");
87 return $this->
delete(
"mailings/" . $mailingId .
"/dispatching");
99 return $this->
delete(
"mailings/" . $id);
118 function setHTMLContent($mailingId, $html, $doImageGrabbing =
true, $doLinkTracking =
false)
120 $queryParameters = array(
121 'doImageGrabbing' => ($doImageGrabbing == TRUE) ?
"true" :
"false",
122 'doLinkTracking' => ($doLinkTracking == TRUE) ?
"true" :
"false"
124 return $this->
post(
'mailings/' . $mailingId .
'/contents/html', $html, $queryParameters,
"text/html");
141 return $this->
post(
'mailings/' . $mailingId .
'/contents/text', $text, array(),
"text/plain");
157 return $this->
get(
'mailings/' . $mailingId .
'/contents/html', null,
"text/html");
173 return $this->
get(
'mailings/' . $mailingId .
'/contents/text', null,
"text/plain");
190 return $this->
post(
'mailings/' . $mailingId .
'/targetgroupid',
"<targetgroupid>" . $targetGroupId .
"</targetgroupid>");
206 return $this->
get(
'mailings/' . $mailingId .
'/targetgroupid', null);
224 return $this->
post(
'mailings/' . $mailingId .
'/contents/sender',
"<sender>" . $email .
"</sender>");
240 return $this->
get(
'mailings/' . $mailingId .
'/contents/sender');
257 return $this->
post(
'mailings/' . $mailingId .
'/contents/subject',
"<subject>" . $subject .
"</subject>");
273 return $this->
get(
'mailings/' . $mailingId .
'/contents/subject');
290 return $this->
post(
'mailings/' . $mailingId .
'/contents/previewtext',
"<previewtext>" . $previewText .
"</previewtext>");
306 return $this->
get(
'mailings/' . $mailingId .
'/contents/previewtext');
328 return $this->
put(
'mailings/' . $mailingId .
'/template',
"<templateId>" . $template .
"</templateId>");
346 return $this->
get(
'mailings/' . $mailingId .
'/template');
364 return $this->
put(
'mailings/' . $mailingId .
'/contents/reset');
381 return $this->
post(
'mailings/' . $mailingId .
'/contents/senderalias',
"<senderalias>" . $senderalias .
"</senderalias>");
398 return $this->
post(
'mailings/' . $mailingId .
'/contents/recipientalias',
"<recipientalias>" . $recipientalias .
"</recipientalias>");
414 return $this->
get(
'mailings/' . $mailingId .
'/settings/replyto');
431 $queryParameters = array(
432 'auto' => ($auto == TRUE) ?
"true" :
"false",
433 'customEmail' => $customEmail
436 return $this->
post(
'mailings/' . $mailingId .
'/settings/replyto', null, $queryParameters);
461 function getMailingsBySchedulingTime($scheduleTime, $beforeSchedulingTime =
true, $fields = array(), $page_index = 1, $page_size = 100, $orderBy =
"id", $order =
"DESC")
463 $queryParameters = array(
464 'page_index' => $page_index,
465 'page_size' => $page_size,
466 'scheduleTime' => urlencode($scheduleTime),
467 'beforeSchedulingTime' => ($beforeSchedulingTime == TRUE) ?
"true" :
"false",
468 'orderBy' => $orderBy,
472 $queryParameters = $this->appendArrayFields($queryParameters,
"fields", $fields);
474 return $this->
get(
'mailings/filter/scheduletime', $queryParameters);
495 $queryParameters = array(
496 'page_index' => $page_index,
497 'page_size' => $page_size,
501 $queryParameters = $this->appendArrayFields($queryParameters,
"types", $types);
502 $queryParameters = $this->appendArrayFields($queryParameters,
"fields", $fields);
504 return $this->
get(
'mailings/filter/types', $queryParameters);
517 return $this->
post(
'mailings/' . $mailingId .
'/sendnow');
536 $queryParameters = array(
539 'minutes' => $minutes
542 return $this->
put(
'mailings/' . $mailingId .
'/schedule',
"", $queryParameters);
561 $queryParameters = array(
564 'minutes' => $minutes
567 return $this->
post(
'mailings/' . $mailingId .
'/schedule',
"", $queryParameters);
584 return $this->
get(
'mailings/' . $mailingId .
'/settings/doi_key', null,
"text/html");
599 return $this->
post(
'mailings/' . $mailingId .
'/settings/doi_key',
"<doi_key>$doiKey</doi_key>");
611 return $this->
delete(
"mailings/${mailingId}/dispatching");
624 return $this->
get(
"mailings/${mailingId}/dispatching");
637 return $this->
get(
"mailings/${mailingId}/schedule");
649 return $this->
get(
"mailings/${mailingId}/archiveurl");
661 return $this->
get(
"mailings/${mailingId}/reporturl");
678 return $this->
post(
'mailings/' . $mailingId .
'/name',
"<name>" . $name .
"</name>");
690 return $this->
get(
"mailings/${mailingId}/name");
707 return $this->
post(
'mailings/' . $mailingId .
'/settings/tags',
"<tags>" . join(
"#", $tags) .
"</tags>");
719 return $this->
get(
"mailings/${mailingId}/settings/tags");
736 return $this->
post(
'mailings/' . $mailingId .
'/settings/locale',
"<locale>$locale</locale>");
748 return $this->
get(
"mailings/${mailingId}/settings/locale");
761 return $this->
post(
"mailings/${mailingId}/contents/smartmailing/rss");
773 return $this->
post(
"mailings/${mailingId}/copy");
789 $handle = fopen($filename,
"rb");
790 if (FALSE === $filename) {
794 while (!feof($handle)) {
795 $contents .= fread($handle, 8192);
798 if ($attachmentFileName === null) {
799 $attachmentFileName = basename($filename);
802 return $this->
addAttachment($mailingId, $attachmentFileName, $contentType, $contents);
817 $queryParameters = array(
'filename' => $filename);
818 return $this->
post(
"mailings/${mailingId}/attachments", $contents, $queryParameters, null, null, $contentType, strlen($contents));
829 return $this->
get(
"mailings/${mailingId}/attachments");
841 return $this->
get(
"mailings/${mailingId}/attachments/${attachmentId}");
852 return $this->
get(
"mailings/${mailingId}/attachments/count");
863 return $this->
delete(
"mailings/${mailingId}/attachments/");
877 if (empty($attachmentId)) {
881 return $this->
delete(
"mailings/${mailingId}/attachments/${attachmentId}");
893 $queryParameters = array(
'src_mailing_id' => $srcMailingId);
895 return $this->
put(
"mailings/${mailingId}/attachments",
"", $queryParameters);
906 return $this->
get(
"mailings/${mailingId}/settings/properties");
920 $xml =
new SimpleXMLElement(
"<?xml version=\"1.0\"?><properties></properties>");
922 if (is_array($properties)) {
923 foreach ($properties as $property) {
924 $this->sxml_append($xml, $property->toXML());
927 $this->sxml_append($xml, $properties->toXML());
930 return $this->
post(
"mailings/${mailingId}/settings/properties", $xml->asXML());
944 $queryParameters = array(
945 'name' => $property->key,
946 'value' => $property->value
949 return $this->
put(
"mailings/${mailingId}/settings/properties",
"", $queryParameters);
963 $queryParameters = array(
964 'name' => $propertyName,
967 return $this->
delete(
"mailings/${mailingId}/settings/properties", $queryParameters);
983 $queryParameters = array(
987 return $this->
post(
"mailings/${mailingId}/sendtestemail",
"", $queryParameters);
999 $queryParameters = array(
1000 'test_targetgroup_id' => $testTargetGroupId
1003 return $this->
post(
"mailings/${mailingId}/checks/testsendout",
"", $queryParameters);
1006 function sxml_append(SimpleXMLElement $to, SimpleXMLElement $from)
1008 $toDom = dom_import_simplexml($to);
1009 $fromDom = dom_import_simplexml($from);
1010 $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)
updateCustomProperty($mailingId, $property)
deleteActiveTriggerMailing($mailingId)
getReplyToAddress($mailingId)
setPreviewText($mailingId, $previewText)
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)
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)
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)