Packages

Elixir SDK for the Loops API (loops.so)

Current section

Files

Jump to
loops_ex lib loops_elixir.ex
Raw

lib/loops_elixir.ex

defmodule LoopsEx do
@moduledoc """
Elixir SDK for the Loops API (loops.so).
## Modules
* `LoopsEx.ApiKey` – test API key
* `LoopsEx.Contacts` – manage contacts
* `LoopsEx.ContactProperties` – manage contact properties
* `LoopsEx.MailingLists` – view mailing lists
* `LoopsEx.Events` – trigger events
* `LoopsEx.TransactionalEmails` – send/list transactional emails
## Usage
### Configuration
Add the following to your `config/config.exs`:
```elixir
config :loops_ex,
api_key: "your_api_key"
```
### API Key Test
```elixir
LoopsEx.ApiKey.test()
```
## Examples
iex> LoopsEx.ApiKey.test()
{:ok, %{"success" => true, "teamName" => "MyTeam"}}
"""
# Convenience delegation
defdelegate api_key_test(), to: LoopsEx.ApiKey, as: :test
defdelegate create_contact(params), to: LoopsEx.Contacts, as: :create
defdelegate update_contact(params), to: LoopsEx.Contacts, as: :update
defdelegate find_contact(params), to: LoopsEx.Contacts, as: :find
defdelegate delete_contact(params), to: LoopsEx.Contacts, as: :delete
defdelegate create_property(params), to: LoopsEx.ContactProperties, as: :create
defdelegate list_properties(params \\ %{}), to: LoopsEx.ContactProperties, as: :list
defdelegate list_mailing_lists(), to: LoopsEx.MailingLists, as: :list
defdelegate send_event(params), to: LoopsEx.Events, as: :send_event
defdelegate send_transactional(params), to: LoopsEx.TransactionalEmails, as: :send_transactional
defdelegate list_transactional(params \\ %{}), to: LoopsEx.TransactionalEmails, as: :list
@doc """
Hello world.
## Examples
iex> LoopsEx.hello()
:world
"""
def hello do
:world
end
end