sparkpost v0.1.0 SparkPost.Transmission
The SparkPost Transmission API endpoint for sending email. Use SparkPost.Transmission.send/1
to
send messages, SparkPost.Transmission.list/1 to list previous sends and SparkPost.Transmission.get/1 to
retrieve details on a given transmission.
Check out the documentation for each function or use the SparkPost API reference for details.
Request Fields
Used in calls to SparkPost.Transmission.send/1
.
- campaign_id
- return_path
- metadata
- substitution_data
- recipients
- content
Returned by SparkPost.Transmission.list/1
.
- id
- campaign_id
- description
- content
Returned by SparkPost.Transmission.get/1
.
- id
- description
- state
- campaign_id
- content
- return_path
- rcpt_list_chunk_size
- rcpt_list_total_chunks
- num_rcpts
- num_generated
- num_failed_gen
- generation_start_time
- generation_end_time
- substitution_data
- metadata
- options
Summary
Functions
Retrieve the details of an existing transmission
List all multi-recipient transmissions, possibly filtered by campaign_id and/or content
Create a new transmission and send some email
Functions
Retrieve the details of an existing transmission.
Parameters
- transmission ID: identifier of the transmission to retrieve
Example
Transmission.get("102258889940193105")
#=> %Transmission{campaign_id: "",
content: %{template_id: "inline", template_version: 0,
use_draft_template: false}, description: "",
generation_end_time: "2016-01-14T12:52:05+00:00",
generation_start_time: "2016-01-14T12:52:05+00:00", id: "48215348926834924",
metadata: "", num_failed_gen: 0, num_generated: 2, num_rcpts: 2,
options: %{click_tracking: true, conversion_tracking: "", open_tracking: true},
rcp_list_total_chunks: nil, rcpt_list_chunk_size: 100, recipients: :required,
return_path: "ewan.dennis@cloudygoo.com", state: "Success",
substitution_data: ""}
List all multi-recipient transmissions, possibly filtered by campaign_id and/or content.
Parameters
- query filters to narrow the list (keyword)
- campaign_id
- template_id
Example
List all multi-recipient transmissions:
Transmission.list()
#=> [%Transmission{campaign_id: "", content: %{template_id: "inline"},
description: "", generation_end_time: nil, generation_start_time: nil,
id: "102258558346809186", metadata: nil, num_failed_gen: nil,
num_generated: nil, num_rcpts: nil, options: :required,
rcp_list_total_chunks: nil, rcpt_list_chunk_size: nil, recipients: :required,
return_path: :required, state: "Success", substitution_data: nil},
%Transmission{campaign_id: "", content: %{template_id: "inline"},
description: "", generation_end_time: nil, generation_start_time: nil,
id: "48215348926834924", metadata: nil, num_failed_gen: nil,
num_generated: nil, num_rcpts: nil, options: :required,
rcp_list_total_chunks: nil, rcpt_list_chunk_size: nil, recipients: :required,
return_path: :required, state: "Success", substitution_data: nil}]
Create a new transmission and send some email.
Parameters
- %SparkPost.Transmission{} consisting of:
- recipients: ["email@address", %SparkPost.Recipient{}, ...] or %SparkPost.Recipient.ListRef{}
- content: %SparkPost.Content.Inline{}, %SparkPost.Content.Raw{} or %SparkPost.Content.TemplateRef{}
- options: %SparkPost.Transmission.Options{}
- campaign_id: campaign identifier (string)
- return_path: envelope FROM address (email address string)
- metadata: transmission-level metadata k/v pairs (keyword)
- substitution_data: transmission-level substitution_data k/v pairs (keyword)
Examples
Send a message to a single recipient with inline text and HTML content:
alias SparkPost.{Content, Transmission}
Transmission.send(%Transmission{
recipients: ["to@you.com"],
return_path: "from@me.com",
content: %Content.Inline{
from: "from@me.com",
subject: subject,
text: text,
html: html
}
})
#=> %Transmission.Response{id: "102258889940193104",
total_accepted_recipients: 1, total_rejected_recipients: 0}
Send a message to 2 recipients using a stored message template:
alias SparkPost.Content, Transmission}
Transmission.send(
%Transmission{
recipients: ["to@you.com", "to@youtoo.com"],
return_path: "from@me.com",
content: %Content.TemplateRef{ template_id: "test-template-1" }
}
)
#=> %Transmission.Response{id: "102258889940193105",
total_accepted_recipients: 2, total_rejected_recipients: 0}
Send a message with an attachment: alias SparkPost.{Content, Transmission} Transmission.send(
%Transmission{
recipients: ["to@you.com"],
return_path: "from@me.com",
content: %Content.Inline{
subject: "Now with attachments!",
text: "There is an attachment with this message",
attachments: [
Content.to_attachment("cat.jpg", "image/jpeg", File.read!("cat.jpg"))
]
}
}
) #=> %Transmission.Response{id: “102258889940193106”,
total_accepted_recipients: 1, total_rejected_recipients: 0}