drupal-civicrm/sites/all/modules/civicrm/api/v3/examples/Mailing/Create.php

189 lines
5.3 KiB
PHP
Raw Normal View History

2018-01-14 15:10:16 +02:00
<?php
/**
* Test Generated example demonstrating the Mailing.create API.
*
* @return array
* API result array
*/
function mailing_create_example() {
$params = array(
'subject' => 'Hello {contact.display_name}',
'body_text' => 'This is {contact.display_name}.
https://civicrm.org
{domain.address}{action.optOutUrl}',
'body_html' => '<p>This is {contact.display_name}.</p><p><a href=\'https://civicrm.org/\'>CiviCRM.org</a></p><p>{domain.address}{action.optOutUrl}</p>',
'name' => 'mailing name',
'created_id' => 3,
'header_id' => '',
'footer_id' => '',
'groups' => array(
'include' => array(
'0' => 2,
),
'exclude' => array(
'0' => 3,
),
),
'mailings' => array(
'include' => array(),
'exclude' => array(),
),
'options' => array(
'force_rollback' => 1,
),
'api.mailing_job.create' => 1,
'api.MailingRecipients.get' => array(
'mailing_id' => '$value.id',
'api.contact.getvalue' => array(
'return' => 'display_name',
),
'api.email.getvalue' => array(
'return' => 'email',
),
),
);
try{
$result = civicrm_api3('Mailing', 'create', $params);
}
catch (CiviCRM_API3_Exception $e) {
// Handle error here.
$errorMessage = $e->getMessage();
$errorCode = $e->getErrorCode();
$errorData = $e->getExtraParams();
return array(
'is_error' => 1,
'error_message' => $errorMessage,
'error_code' => $errorCode,
'error_data' => $errorData,
);
}
return $result;
}
/**
* Function returns array of result expected from previous function.
*
* @return array
* API result array
*/
function mailing_create_expectedresult() {
$expectedResult = array(
'is_error' => 0,
'version' => 3,
'count' => 1,
'id' => 1,
'values' => array(
'1' => array(
'id' => '1',
'domain_id' => '1',
'header_id' => '',
'footer_id' => '',
'reply_id' => '8',
'unsubscribe_id' => '5',
'resubscribe_id' => '6',
'optout_id' => '7',
'name' => 'mailing name',
'mailing_type' => 'standalone',
'from_name' => 'FIXME',
'from_email' => 'info@EXAMPLE.ORG',
'replyto_email' => 'info@EXAMPLE.ORG',
'template_type' => '',
'template_options' => '',
'subject' => 'Hello {contact.display_name}',
'body_text' => 'This is {contact.display_name}.
https://civicrm.org
{domain.address}{action.optOutUrl}',
'body_html' => '<p>This is {contact.display_name}.</p><p><a href=\'https://civicrm.org/\'>CiviCRM.org</a></p><p>{domain.address}{action.optOutUrl}</p>',
'url_tracking' => '1',
'forward_replies' => '',
'auto_responder' => '',
'open_tracking' => '1',
'is_completed' => '',
'msg_template_id' => '',
'override_verp' => '1',
'created_id' => '3',
'created_date' => '2013-07-28 08:49:19',
'scheduled_id' => '',
'scheduled_date' => '',
'approver_id' => '',
'approval_date' => '',
'approval_status_id' => '',
'approval_note' => '',
'is_archived' => '',
'visibility' => 'Public Pages',
'campaign_id' => '',
'dedupe_email' => '1',
'sms_provider_id' => '',
'hash' => '',
'location_type_id' => '',
'email_selection_method' => '',
'language' => '',
'api.mailing_job.create' => array(
'is_error' => 0,
'version' => 3,
'count' => 1,
'id' => 1,
'values' => array(
'0' => array(
'id' => '1',
'mailing_id' => '1',
'scheduled_date' => '20130728085413',
'start_date' => '',
'end_date' => '',
'status' => 'Scheduled',
'is_test' => 0,
'job_type' => '',
'parent_id' => '',
'job_offset' => '',
'job_limit' => '',
),
),
),
'api.MailingRecipients.get' => array(
'is_error' => 0,
'version' => 3,
'count' => 1,
'id' => 1,
'values' => array(
'0' => array(
'id' => '1',
'mailing_id' => '1',
'contact_id' => '4',
'email_id' => '4',
'api.contact.getvalue' => 'Mr. Includer Person II',
'api.email.getvalue' => 'include.me@example.org',
),
),
),
),
),
);
return $expectedResult;
}
/*
* This example has been generated from the API test suite.
* The test that created it is called "testMailerPreviewRecipients"
* and can be found at:
* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/MailingTest.php
*
* You can see the outcome of the API tests at
* https://test.civicrm.org/job/CiviCRM-master-git/
*
* To Learn about the API read
* http://wiki.civicrm.org/confluence/display/CRMDOC/Using+the+API
*
* Browse the api on your own site with the api explorer
* http://MYSITE.ORG/path/to/civicrm/api
*
* Read more about testing here
* http://wiki.civicrm.org/confluence/display/CRM/Testing
*
* API Standards documentation:
* http://wiki.civicrm.org/confluence/display/CRM/API+Architecture+Standards
*/