aaronsaray / madmimi-api-php
A PHP library for rich, testable integration with MadMimi.
Installs: 18 110
Dependents: 0
Suggesters: 0
Security: 0
Stars: 6
Watchers: 4
Forks: 2
Open Issues: 2
Requires
- php: >=5.4.0
- lib-curl: >=7.0
- monolog/monolog: >=1.17
- symfony/yaml: >=2.7
Requires (Dev)
- phpunit/phpunit: ~4.5
This package is auto-updated.
Last update: 2024-10-21 20:37:57 UTC
README
An up-to-date PHP library for integrating with the MadMimi API.
Using your http://madmimi.com account, you can interact with all parts of the API using this library. This library requires PHP 5.4+ and curl to be installed.
Installation
This library is available on packagist and can be installed using composer.
$ composer require aaronsaray/madmimi-api-php
Basic Usage
This example sends a transactional email to a promotion named "Meaning of Life" and replaces the {answer} placeholder with the answer to life, the universe and everything. This email goes to Slartibartfast at iluvcoastlines@planetdesigners.com
<?php use MadMimi\Connection; use MadMimi\CurlRequest; use MadMimi\Options\Mail\Transactional; $connection = new Connection('your@email.com', 'your-api-key', new CurlRequest()); $options = new Transactional(); $options->setPromotionName('Meaning of Life') ->setPlaceholderValues(['answer'=>'42']) ->setTo('iluvcoastlines@planetdesigners.com', 'Slartibartfast'); $transactionId = $connection->request($options);
Documentation
Core
Sending Mail
- Transaction Mail Options
- Mailing List Options
- Import and Send to Mailing List Options
- Send to All Options
Statistics / Status
- Transaction Mail Status
- Mailing Stats
- Sent Stats
- Abused Stats
- Bounced Stats
- Clicked Stats
- Forwarded Stats
- Links Stats
- Read Stats
- Unsubscribed Stats
- Transactional Count
- Members Created Count
- Promotion Attempts
Webforms
Lists
Promotions
Members
- List All
- List All In a List
- Get Single
- Search
- Suppressed Since
- Suppress
- Is Suppressed
- Events Since
- Create
- Update Email
- Update
- Get All List Subscriptions
- Import CSV Members
- Import Status
- Add Member To List
- Remove Member From List
Addons
Google Analytics
Social Links
Child Accounts
Misc
In general, method calls and organization of this API have been normalized using this library. So, please check the MadMimi documentation AND this code documentation before implementing a method. Mostly they will translate the same, but from time to time there have been liberties taken in this library. The responses are not currently translated into known, normalized objects.
One such example is the transactional mailer status. While this documentation is located under the mailer section, and the end point contains the /mailer path, it has been moved to the stats section. This particular call is not for sending a mail, but instead, receiving the status of the particular email. It seems to fit better with the statistics section.
Another example is the promotion search API. The search functionality was split up - the search by exact ID is in the single retrieval option - whereas the rest of the search criteria is in the search option. This mirrors the webforms paradigm.
About
Requirements
- PHP 5.4+
- Curl
- MadMimi mailer API access
Bugs and Feature Requests
Bugs and feature request are tracked on GitHub
Author
Aaron Saray - http://aaronsaray.com
License
This library is licensed under the MIT License - see the LICENSE file for details
Acknowledgements
We're using MadMimi in our work at https://www.smallshopsunited.com - stop by and check it out. Also, special thanks to the team at MadMimi who gave me access to the API for testing this library.