BentoSdk.Subscribers (BentoSDK v0.1.2)

View Source

Functions for managing subscribers in Bento.

Summary

Functions

Add a field to a subscriber.

Add a tag to a subscriber.

Add a tag to a subscriber via an event.

Add multiple tags to a subscriber.

Change a subscriber's email.

Create a subscriber with the given email.

Find a subscriber by email.

Find a subscriber by email, or create one if it doesn't exist.

Import Subscribers

Remove a field from a subscriber.

Remove a tag from a subscriber.

Subscribe a user.

Unsubscribe a user.

Update a subscriber with the given attributes.

Functions

add_field(email, key, value)

Add a field to a subscriber.

Examples

BentoSdk.Subscribers.add_field("user@example.com", "company", "Acme Inc.")
{:ok, %{
  "success" => true
}}

add_tag(email, tag)

Add a tag to a subscriber.

Examples

BentoSdk.Subscribers.add_tag("user@example.com", "vip")
{:ok, %{
  "success" => true
}}

add_tag_via_event(email, tag)

Add a tag to a subscriber via an event.

Examples

BentoSdk.Subscribers.add_tag_via_event("user@example.com", "vip")
{:ok, %{
  "success" => true
}}

add_tags(email, tags)

Add multiple tags to a subscriber.

Examples

BentoSdk.Subscribers.add_tags("user@example.com", ["vip", "new"])
{:ok, %{
  "success" => true
}}

change_email(old_email, new_email)

Change a subscriber's email.

Examples

BentoSdk.Subscribers.change_email("old@example.com", "new@example.com")
{:ok, %{
  "success" => true
}}

create(email)

Create a subscriber with the given email.

Examples

BentoSdk.Subscribers.create("user@example.com")
{:ok, %{
  "email" => "user@example.com"
}}

find(email)

Find a subscriber by email.

Examples

BentoSdk.Subscribers.find("user@example.com")
{:ok, %{
  "email" => "user@example.com",
  "first_name" => "John",
  "last_name" => "Doe"
}}

BentoSdk.Subscribers.find("nonexistent@example.com")
{:ok, nil}

find_or_create(email)

Find a subscriber by email, or create one if it doesn't exist.

Examples

BentoSdk.Subscribers.find_or_create("user@example.com")
{:ok, %{
  "email" => "user@example.com"
}}

import(subscribers)

Import Subscribers

Examples

BentoSdk.Subscribers.import([
  %{
    email: "user@example.com",
    first_name: "Billy",
    last_name: "Bob"
  },
  %{
    email: "user2@example.com",
    first_name: "Sarah",
    last_name: "Smith"
  }
])
{:ok, %{
  "failed" => 0,
  "results" => 2
}}

remove_field(email, field)

Remove a field from a subscriber.

Examples

BentoSdk.Subscribers.remove_field("user@example.com", "company")
{:ok, %{
  "success" => true
}}

remove_tag(email, tag)

Remove a tag from a subscriber.

Examples

BentoSdk.Subscribers.remove_tag("user@example.com", "vip")
{:ok, %{
  "success" => true
}}

subscribe(email)

Subscribe a user.

Examples

BentoSdk.Subscribers.subscribe("user@example.com")
{:ok, %{
  "success" => true
}}

unsubscribe(email)

Unsubscribe a user.

Examples

BentoSdk.Subscribers.unsubscribe("user@example.com")
{:ok, %{
  "success" => true
}}

update(email, attributes)

Update a subscriber with the given attributes.

This uses the Import Subscribers endpoint to update a single subscriber.

Examples

BentoSdk.Subscribers.update("user@example.com", %{first_name: "John", last_name: "Doe"})
{:ok, %{
  "imported" => 1,
  "errors" => []
}}