View Source ExNylas.Messages (ExNylas v0.9.0)
Interface for Nylas messages.
Summary
Functions
Fetch all message(s) matching the provided query (the SDK will handle paging).
Fetch all message(s) matching the provided query (the SDK will handle paging).
Create and validate a message, use create/update to send to Nylas.
Create and validate a message, use create/update to send to Nylas.
Clean a message.
Clean a message.
Delete a(n) message.
Delete a(n) message.
Find a(n) message.
Find a(n) message.
Get the first message.
Get the first message.
Fetch message(s), optionally provide query params.
Fetch message(s), optionally provide query params.
Send a message. Attachments must be either a list of file paths or a list of tuples with the content-id and file path. The latter of which is needed in order to attach inline images.
Send a message. Attachments must be either a list of file paths or a list of tuples with the content-id and file path. The latter of which is needed in order to attach inline images.
Update a(n) message.
Update a(n) message.
Functions
@spec all(ExNylas.Connection.t(), Keyword.t() | map()) :: {:ok, [struct()]} | {:error, ExNylas.Response.t()}
Fetch all message(s) matching the provided query (the SDK will handle paging).
The second argument can be a keyword list of options + query parameters to pass to the Nylas API (map is also supported). Options supports:
:send_to
- a single arity function to send each page of results (default is nil, e.g. results will be accumulated and returned as a list):delay
- the number of milliseconds to wait between each page request (default is 0; strongly recommended to avoid rate limiting):query
- a keyword list or map of query parameters to pass to the Nylas API (default is an empty list)
Examples
iex> opts = [send_to: &IO.inspect/1, delay: 3_000, query: [key: "value"]]
iex> {:ok, result} = ExNylas.Messages.all(conn, opts)
@spec all!(ExNylas.Connection.t(), Keyword.t() | map()) :: [struct()]
Fetch all message(s) matching the provided query (the SDK will handle paging).
The second argument can be a keyword list of options + query parameters to pass to the Nylas API (map is also supported). Options supports:
:send_to
- a single arity function to send each page of results (default is nil, e.g. results will be accumulated and returned as a list):delay
- the number of milliseconds to wait between each page request (default is 0; strongly recommended to avoid rate limiting):query
- a keyword list or map of query parameters to pass to the Nylas API (default is an empty list)
Examples
iex> opts = [send_to: &IO.inspect/1, delay: 3_000, query: [key: "value"]]
iex> result = ExNylas.Messages.all!(conn, opts)
@spec build(map() | struct()) :: {:ok, struct()} | {:error, Ecto.Changeset.t()}
Create and validate a message, use create/update to send to Nylas.
Examples
iex> {:ok, result} = ExNylas.Messages.build(payload)
Create and validate a message, use create/update to send to Nylas.
Examples
iex> result = ExNylas.Messages.build!(payload)
@spec clean(ExNylas.Connection.t(), map()) :: {:ok, ExNylas.Response.t()} | {:error, ExNylas.Response.t()}
Clean a message.
Examples
iex> {:ok, message} = ExNylas.Messages.clean(conn, payload)
@spec clean!(ExNylas.Connection.t(), map()) :: ExNylas.Response.t()
Clean a message.
Examples
iex> message = ExNylas.Messages.clean!(conn, payload)
@spec delete(ExNylas.Connection.t(), String.t(), Keyword.t() | map()) :: {:ok, ExNylas.Response.t()} | {:error, ExNylas.Response.t()}
Delete a(n) message.
Examples
iex> {:ok, result} = ExNylas.Messages.delete(conn, id, params)
@spec delete!(ExNylas.Connection.t(), String.t(), Keyword.t() | map()) :: ExNylas.Response.t()
Delete a(n) message.
Examples
iex> result = ExNylas.Messages.delete!(conn, id, params)
@spec find(ExNylas.Connection.t(), String.t(), Keyword.t() | map()) :: {:ok, ExNylas.Response.t()} | {:error, ExNylas.Response.t()}
Find a(n) message.
Examples
iex> {:ok, result} = ExNylas.Messages.find(conn, id, params)
@spec find!(ExNylas.Connection.t(), String.t(), Keyword.t() | map()) :: ExNylas.Response.t()
Find a(n) message.
Examples
iex> result = ExNylas.Messages.find!(conn, id, params)
@spec first(ExNylas.Connection.t(), Keyword.t() | map()) :: {:ok, ExNylas.Response.t()} | {:error, ExNylas.Response.t()}
Get the first message.
Examples
iex> {:ok, result} = ExNylas.Messages.first(conn, params)
@spec first!(ExNylas.Connection.t(), Keyword.t() | map()) :: ExNylas.Response.t()
Get the first message.
Examples
iex> result = ExNylas.Messages.first!(conn, params)
@spec list(ExNylas.Connection.t(), Keyword.t() | map()) :: {:ok, ExNylas.Response.t()} | {:error, ExNylas.Response.t()}
Fetch message(s), optionally provide query params.
Examples
iex> {:ok, result} = ExNylas.Messages.list(conn, params)
@spec list!(ExNylas.Connection.t(), Keyword.t() | map()) :: ExNylas.Response.t()
Fetch message(s), optionally provide query params.
Examples
iex> result = ExNylas.Messages.list!(conn, params)
@spec send(ExNylas.Connection.t(), map(), list()) :: {:ok, ExNylas.Response.t()} | {:error, ExNylas.Response.t()}
Send a message. Attachments must be either a list of file paths or a list of tuples with the content-id and file path. The latter of which is needed in order to attach inline images.
Examples
iex> {:ok, sent_message} = ExNylas.Messages.send(conn, message, ["path_to_attachment"])
@spec send!(ExNylas.Connection.t(), map(), list()) :: ExNylas.Response.t()
Send a message. Attachments must be either a list of file paths or a list of tuples with the content-id and file path. The latter of which is needed in order to attach inline images.
Examples
iex> sent_message = ExNylas.Messages.send!(conn, message, ["path_to_attachment"])
@spec update(ExNylas.Connection.t(), String.t(), map(), Keyword.t() | map()) :: {:ok, ExNylas.Response.t()} | {:error, ExNylas.Response.t()}
Update a(n) message.
Examples
iex> {:ok, result} = ExNylas.Messages.update(conn, id, body, params)
@spec update!(ExNylas.Connection.t(), String.t(), map(), Keyword.t() | map()) :: ExNylas.Response.t()
Update a(n) message.
Examples
iex> result = ExNylas.Messages.update!(conn, id, body, params)