professio / budgetmailer-php-api
Professio BudgetMailer API Client for PHP
Requires
- php: >=5.3.0
- ext-hash: *
- ext-json: *
- ext-sockets: *
This package is not auto-updated.
Last update: 2025-05-01 00:08:55 UTC
README
This Repository contains PHP BudgetMailer API Client. To use this client, you must have a BudgetMailer Account.
Requirements
Installation
Composer
Client can be easily installed using Composer. The Package name is: professio/budgetmailer-php-api
.
Installation using composer: composer require "professio/budgetmailer-php-api:1.0.*"
Example of composer.json
:
{
"require": {
"professio/budgetmailer-php-api": "1.0.*"
}
}
Single file distribution
You can find single file distribution with concatenated classes in build/dist/budgetmailer-php-api.php
file,
which you can include to your project easily without using composer or autoloading.
Caching
If you want to use file cache, please make sure cache directory is writable by user of the code / web server. Also don't forget cache directory MUST NOT be accessible by web users.
Configuration
Configuration is associative array of configuration directives as follows:
$config = array(
// enable or disable cache
'cache' => true,
// cache directory (must be writeable, must end with /)
'cacheDir' => '/tmp/',
// api endpoint, please do not change this value, unless instructed to
'endPoint' => 'https://api.budgetmailer.com/',
// your API key
'key' => 'INSERTAPIKEY',
// name of the budgetmailer list you want to use as a default
'list' => 'INSERTLISTNAME',
// your API secret
'secret' => 'INSERTAPISECRET',
// advanced: socket timeout
'timeOutSocket' => 10,
// advanced: socket stream read timeout
'timeOutStream' => 10,
// cache time to live in seconds (3600 sec = 1 hour)
'ttl' => 3600,
);
Running
Install the client by Composer or include/require it as single file distribution version. Use the configuration example, and set following required keys:
key
: API keysecret
: API secretlist
: Default list ID or Name
Then pass the configuration to the client:
<?php
use BudgetMailer\Api\Client;
try {
$config = array(/* See configuration example */);
$client = Client::getInstance($config);
print $client->isConnected() ? 'Huray!' : 'Yay...';
} catch (\Throwable $e) {
print 'Something went wrong: ' . $e->getMessage();
}
Examples
You can find more examples covering most of the use cases in: build/examples/example.php
.
Files Overview
build/
: Build Filesbuild/dist/
: Single File Distributionbuild/docs/
: PHPDoc related Filesbuild/examples/
: Additional Examplesbuild/tests/
: PHPUnit related Filessrc/
: all PHP Classessrc/BudgetMailer/Api/
: all PHP API Client Classessrc/BudgetMailer/Test/
: all PHPUnit Test Classes.gitignore
: Gitignore FileLICENSE
: Full Text of MIT LicenseREADME.md
: This Filecomposer.json
: Composer Package Definition
Copyright
MIT License
Contact Information
- Email: info@budgetmailer.nl
- Website: BudgetMailer
Changelog
1.0.3
(2017-01-19):- Added missing test for bulk delete contacts
- Fixed cache path in config example + changed comment
- Fixed paths in
*.xml.dist files
1.0.2
(2016-12-13):- Added
build/docs/phpdoc.xml.dist
for phpdocumentor - Added http headers reading methods to
\BudgetMailer\Api\Client\Http
- Added new bulk methods:
\BudgetMailer\Api\Client::deleteContacts()
,\BudgetMailer\Api\Client::postContactsBulk()
,\BudgetMailer\Api\Client::postContactsUnsubscribe()
, - Added some missing methods and properties comments
- Changed files headers to reflect license change
- Changed license from GPL2 to MIT
- Changed tests to reflect the code changes
- Client's
\BudgetMailer\Api\Client::deleteTag()
now handling missing tag - Composer.json patched (missing PHP modules requirements and wrong license)
- Improved
build/*.php
build scripts (build docs, single file distribution, do tests) - Moved all distribution, documentation, examples and tests to
build/
directory - Quality assurance changes (various code quality improvements)
- Added
1.0.1
(2016-04-08):- Added
\BudgetMailer\Api\Client::$defaultConfig
and\BudgetMailer\Api\Client::getInstance()
to make usage easier - Added
dist/config.php
to.gitignore
and addeddist/config.php.dist
file - Added missing trailing slash to
cacheDir
configuration directive - Added tests to reflect the changes
- Fixed
caching
issue (was always disabled) - Improved build script
dist/build.php
- Renamed composer package from
professio/php-budgetmailer
toprofessio/budgetmailer-php-api
- Added
1.0.0
(2015-09-24):- Initial Version