Email Campaigns and Marketing Automation on iOS powered by EmailOctopus

Overview

EmailOctopusKit

CI Status Version License Platform

EmailOctopus is an affordable email campaign and marketing automation platform. EmailOctopusKit makes use of the EmailOctopus API and lets you manage contacts and email lists on EmailOctopus.

One possible use case of this pod might be signing up mobile app users to your email lists and sending them automated emails (e.g. Welcome Email).

New to EmailOctopus? Use this link to signup and get $15 credit.

Example

To run the example project, clone the repo, and run pod install from the Example directory first.

Requirements

To use the EmailOctopus to send email campaigns, you need to create an account at EmailOctopus.com and Amazon SES. EmailOctopus has a detailed API documentation and FAQs that can help you navigating the process.

Installation

EmailOctopusKit is available through CocoaPods. To install it, simply add the following line to your Podfile:

pod 'EmailOctopusKit'

Alternatively, copy the EmailOctopus.swift and Keychain.swift files from the Classes folder into your project and add the Security.framework to your project.

Usage

The primary use case of the EmailOctopus API for usage in iOS is managing contacts and email lists. EmailOctopusKit lets you create, edit and delete contacts and manage lists. It also has (limited) support for campaign management.

API Key

Register your EmailOctopus API key:

EmailOctopus.setApiKey("your-api-key")

This will save your API key to the keychain. You only need to set it once (e.g. in AppDelegate).

Managing Contacts

EmailOctopus.Lists.getContact("contact-id", in: "list-id") { (error, result) in }
EmailOctopus.Lists.getSubscribedContacts(of: "list-id") { (error, result) in }
EmailOctopus.Lists.getUnsubscribedContacts(of: "list-id") { (error, result) in }

EmailOctopus.Lists.createContact("email-address", in: "list-id", fields: [:]) { (error, result) in }
EmailOctopus.Lists.updateContact("contact-id", of: "list-id", newEmail: nil, newFields: nil, subscribed: true) { (error, result) in }
EmailOctopus.Lists.deleteContact("contact-id", of:"list-id") { (error, result) in }

Managing Email Lists

EmailOctopus.Lists.getAllLists { (error, result) in }
EmailOctopus.Lists.getList("list-id") { (error, result) in }

EmailOctopus.Lists.createList(name: "list-name") { (error, result) in }
EmailOctopus.Lists.deleteList("list-id") { (error, result) in }

Campaign Management

EmailOctopus.Campaigns.getAllCampaigns() { (error, result) in }
EmailOctopus.Campaigns.getCampaign("campaign-id") { (error, result) in }

Author

EmailOctopusKit was created by Josef Moser. I am an independent software developer and co-founder of Cora Health and Cryptoradar.

Find me on: Github or Twitter

Contribution

We welcome contribution to this project by opening issues or pull request.

License

EmailOctopusKit is available under the MIT license. See the LICENSE file for more info. If you'd like to acknowledge the author of EmailOctopusKit, please set a link to this GitHub page.

You might also like...
NSURLSession network abstraction layer, using Codable and Decodable for response and Encodable for request. โš™๏ธ๐Ÿš€
NSURLSession network abstraction layer, using Codable and Decodable for response and Encodable for request. โš™๏ธ๐Ÿš€

SONetworking NSURLSession network abstraction layer, using Codable and Decodable for response and Encodable for request. Project Folder and File Struc

Impervious is a privacy and security-focused browser with native DANE support and a decentralized p2p light client.

Impervious iOS The first browser with support for native DNS-Based Authentication of Named Entities (DANE) with true downgrade protection, and the fir

Beacon is a privacy and security-focused browser with native DANE support and a decentralized p2p light client.

Beacon iOS The first browser with support for native DNS-Based Authentication of Named Entities (DANE) with true downgrade protection, and the first b

๐ŸŒธ Powerful Codable API requests builder and manager for iOS.
๐ŸŒธ Powerful Codable API requests builder and manager for iOS.

This lib is about network requests with blackjack, roulette and craps! Using it you will be able to convert your massive API layer code into an awesom

OAuth2 framework for macOS and iOS, written in Swift.
OAuth2 framework for macOS and iOS, written in Swift.

OAuth2 OAuth2 frameworks for macOS, iOS and tvOS written in Swift 5.0. โคต๏ธ Installation ๐Ÿ›  Usage ๐Ÿ–ฅ Sample macOS app (with data loader examples) ๐Ÿ“– Tec

Websockets in swift for iOS and OSX
Websockets in swift for iOS and OSX

Starscream is a conforming WebSocket (RFC 6455) library in Swift. Features Conforms to all of the base Autobahn test suite. Nonblocking. Everything ha

SwiftSoup: Pure Swift HTML Parser, with best of DOM, CSS, and jquery (Supports Linux, iOS, Mac, tvOS, watchOS)
SwiftSoup: Pure Swift HTML Parser, with best of DOM, CSS, and jquery (Supports Linux, iOS, Mac, tvOS, watchOS)

SwiftSoup is a pure Swift library, cross-platform (macOS, iOS, tvOS, watchOS and Linux!), for working with real-world HTML. It provides a very conveni

Fast Websockets in Swift for iOS and OSX
Fast Websockets in Swift for iOS and OSX

SwiftWebSocket Conforming WebSocket (RFC 6455) client library for iOS and Mac OSX. SwiftWebSocket passes all 521 of the Autobahn's fuzzing tests, incl

MQTT for iOS and macOS written with Swift

CocoaMQTT MQTT v3.1.1 client library for iOS/macOS/tvOS written with Swift 5 Build Build with Xcode 11.1 / Swift 5.1 Installation CocoaPods Install us

Releases(0.1.0)
Owner
Josef Moser
Independent iOS developer, founder at Cora Health and Cryptoradar
Josef Moser
Lightweight library for web server applications in Swift on macOS and Linux powered by coroutines.

Why Zewo? โ€ข Support โ€ข Community โ€ข Contributing Zewo Zewo is a lightweight library for web applications in Swift. What sets Zewo apart? Zewo is not a w

Zewo 1.9k Dec 22, 2022
Server-side Swift. The Perfect core toolset and framework for Swift Developers. (For mobile back-end development, website and API development, and moreโ€ฆ)

Perfect: Server-Side Swift ็ฎ€ไฝ“ไธญๆ–‡ Perfect: Server-Side Swift Perfect is a complete and powerful toolbox, framework, and application server for Linux, iO

PerfectlySoft Inc. 13.9k Jan 6, 2023
๐ŸŒ A zero-dependency networking solution for building modern and secure iOS, watchOS, macOS and tvOS applications.

A zero-dependency networking solution for building modern and secure iOS, watchOS, macOS and tvOS applications. ?? TermiNetwork was tested in a produc

Bill Panagiotopoulos 90 Dec 17, 2022
Socket.io iOS and OSX Client compatible with v1.0 and later

SocketIO-Kit โš ๏ธ This project is no longer maintained. Please use the official framework Socket.IO-Client-Swift. SocketIO-Kit is a Socket.io iOS client

Ricardo Pereira 140 Mar 9, 2022
RestKit is a framework for consuming and modeling RESTful web resources on iOS and OS X

RestKit RestKit is a modern Objective-C framework for implementing RESTful web services clients on iOS and Mac OS X. It provides a powerful object map

The RestKit Project 10.2k Dec 29, 2022
Lightweight Networking and Parsing framework made for iOS, Mac, WatchOS and tvOS.

NetworkKit A lightweight iOS, Mac and Watch OS framework that makes networking and parsing super simple. Uses the open-sourced JSONHelper with functio

Alex Telek 30 Nov 19, 2022
Bonjour networking for discovery and connection between iOS, macOS and tvOS devices.

Merhaba Bonjour networking for discovery and connection between iOS, macOS and tvOS devices. Features Creating Service Start & Stop Service Stop Brows

Abdullah Selek 67 Dec 5, 2022
QwikHttp is a robust, yet lightweight and simple to use HTTP networking library for iOS, tvOS and watchOS

QwikHttp is a robust, yet lightweight and simple to use HTTP networking library. It allows you to customize every aspect of your http requests within a single line of code, using a Builder style syntax to keep your code super clean.

Logan Sease 2 Mar 20, 2022
Shawn Frank 2 Aug 31, 2022
StatusBarOverlay will automatically show a "No Internet Connection" bar when your app loses connection, and hide it again. It supports apps which hide the status bar and The Notch

StatusBarOverlay StatusBarOverlay will automatically show a "No Internet Connection" bar when your app loses connection, and hide it again. It support

Idle Hands Apps 160 Nov 2, 2022