Download the PHP package jan-suchanek/smart-emailing-v3 without Composer
On this page you can find all versions of the php package jan-suchanek/smart-emailing-v3. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download jan-suchanek/smart-emailing-v3
More information about jan-suchanek/smart-emailing-v3
Files in jan-suchanek/smart-emailing-v3
Package smart-emailing-v3
Short Description Wrapper for SmartEmailing API
License MIT
Informations about the package smart-emailing-v3
Smart Emailing API v3
API wrapper for Smart emailing API. Currenlty in development.
- Installation
- Usage
- Supports
- Advanced docs
- Changelog
- Contribution or overriding
- Copyright and License
- Smart emailing API
Installation
Requirements
This package requires PHP 7.3 and higher.
Install via composer
Usage
Create an Api instance with your username and apiKey.
then use the $api
with desired method/component.
or
Error handling
When using the send()
method in any request class you can catch the error exception RequestException
.
Supports
- [x] Import
$api->import()
ornew Import($api)
- [x] Ping
$api->ping()
ornew Ping($api)
- [x] Credentials
$api->credentials()
ornew Credentials($api)
- [x] Contactlist Retrieve list
$api->contactlist()->lists()
or detail$api->contactlist()->get($id)
- wrapper for 2 Request objects - [x] CustomFields - exists: A quick way how to get custom field by it's name.
$api->customFields()->exists('name') : CustomField|bool
- [x] Customfields - create create request
$api->customFields()->createRequest()
or send create request$api->customFields()->create(new CustomField('test', CustomField::TEXT))
- [x] Customfields - search / list search request
$api->customFields()->searchRequest($page = 1, $limit = 100)
or send search request$api->customFields()->search($page = 1, $limit = 100)
- [ ] Customfields - rest Similar concept as contact-list - already started
- [ ] Customfiels options
- [ ] Contacts Similar concept as contact-list
- [ ] Contacts in list Similar concept as contact-list
- [ ] Custom emails
- [x] Emails
- [x] Newsletter
- [ ] Webhooks
Advanced docs
Import
The import holds 2 main data points:
- Settings
$import->settings()->setUpdate(true)
- Contacts
$import->newContact() : Contact
,$import->contacts() : array
and$import->addContact() : $this
Example of usage is above.
Contact
The import holds 3 main data points:
- All data accessible via public properties. Fluent set method has basic validation and date convert logic
- CustomFields
$contact->customFields()
for adding new fields - ContactLists
$contact->contactLists()
for adding new contact list
See source code for all methods/properties that you can use
ContactLists
Uses a data holder with create
/add
/get
/isEmpty
/toArray
/jsonSerialize
methods.
CustomFields
The customFields uses a wrapper for each request related to custom-fields. To create a new instance call $api->customFields()
.
On this object you can create any request that is currently implemented. See below.
Create
Quick way that will create request with required customField
or
Search / List
Enables searching threw the custom fields with a filter/sort support. Results are limited by 100 per page. The response
returns meta data (MetaDataInterface) and an array of CustomField\CustomField
by calling $response->data()
.
Response
- data() returns an array
CustomField\CustomField
- meta() returns a
stdClass
with properties (defined inMetaDataInterface
)
Get a list without advanced setup
Creates a search request and setups only $page
or $limit
. The full response from api with customfield_options_url
or
Advanced setup - filter/sort/etc
Request methods
- Getters are via public property
- page
- limit
- select
- expand
- sort
- Fluent Setters (with a validation) - more below.
filter()
returns a Filters setup - more below
expandBy(string : $expand)
Using this parameter, "customfield_options_url" property will be replaced by "customfield_options" contianing expanded data. See examples below For more information see "/customfield-options" endpoint.
Allowed values: "customfield_options"
select(string : $select)
Comma separated list of properties to select. eg. "?select=id,name" If not provided, all fields are selected.
Allowed values: "id", "name", "type"
sortBy(string : $sort)
Comma separated list of sorting keys from left side. Prepend "-" to any key for desc direction, eg. "?sort=type,-name"
Allowed values: "id", "name", "type"
setPage(int : $page)
Sets the current page
limit(int : $limit)
Sets the limit of result in single query
filter()
Allows filtering custom fields with multiple filter conditions.
- Getters are via public property
- name
- type
- id
- Fluent Setters (with a validation)
- byName($value)
- byType($value)
- byId($value)
Exists
Runs a search query with name filter and checks if the given name is found in customFields. Returns false
or the CustomFields\CustomField
.
Uses send logic (throws RequestException).
Send / Transactional emails
The implementation of API call send/transactional-emails-bulk
: https://app.smartemailing.cz/docs/api/v3/index.html#api-Custom_campaigns-Send_transactional_emails
Full transactional email example
Send / Bulk custom emails
The implementation of API call send/custom-emails-bulk
: https://app.smartemailing.cz/docs/api/v3/index.html#api-Custom_campaigns-Send_bulk_custom_emails
Full transactional email example
Changelog
0.1.8
- Added purposes for contacts.
0.1.7
- Fix incorrect namespace for confirmation request.
0.1.6
- Added confirmation request to import settings.
0.1.5
- Removed deprecated API usage in Contact.php:
addContactList
andnewContactList
0.1.4
- CustomFields can be imported only once (unique by id)
0.1.3
- Added automatic chunk send for contact import - when number of contacts exceeds 500, the
send()
method will send multiple request (chunk's the contact array)
0.1.2
- Added exists custom field request. A quick way how to get custom field by it's name.
$api->customFields()->exists('name') : CustomField|bool
- Contacts list allows only unique id's (when already added ignores the value)
0.1.1
- Removed deprecated methods for Import\Contact\CustomField (newCustomField, setCustomFields, addCustomField)
- Added
createValue
toCustomFields\CustomField
to enable quick creating of CustomField for import. - Moved the CustomField
Create
request and response to its own namespaceSmartEmailing\v3\Request\CustomFields\Create
and renamed to onlyRequest
class - Changed the JSON structure from
array
tostdClass
. Update all thejson()
usage - Added search request for custom fields
0.1
- Added Custom-fields create request
Contribution or overriding
See CONTRIBUTING.md for how to contribute changes. All contributions are welcome.
Copyright and License
smart-emailing-v3 was written by Martin Kluska and is released under the MIT License.
Copyright (c) 2016 Martin Kluska