Java
Java client backed by an HTTP client and Gson. Request and response shapes live under io.sevk.types.
Install
Maven
<dependency><groupId>io.sevk</groupId><artifactId>sevk-java</artifactId><version>1.1.0</version></dependency>
Gradle
implementation 'io.sevk:sevk-java:1.1.0'
Initialize
Create a Sevk with your API key.
import io.sevk.Sevk;public class Main {public static void main(String[] args) {Sevk sevk = new Sevk("sevk_full_xxxxxxxx");}}
Send Email
HTML body
import io.sevk.Sevk;import io.sevk.types.SendEmailRequest;import io.sevk.types.SendEmailResponse;public class Send {public static void main(String[] args) {Sevk sevk = new Sevk("sevk_full_xxxxxxxx");SendEmailRequest request = new SendEmailRequest().subject("Welcome").html("<h1>Welcome</h1><p>Thanks for signing up.</p>")SendEmailResponse response = sevk.emails().send(request);System.out.println(response.isSingle() ? response.getId() : response.getIds());}}
With attachments
import io.sevk.types.EmailAttachment;import java.util.List;EmailAttachment pdf = new EmailAttachment().filename("invoice.pdf").content(base64Pdf).contentType("application/pdf");sevk.emails().send(new SendEmailRequest().subject("Your invoice").html("<p>Invoice attached.</p>").attachments(List.of(pdf)));
Send Bulk
import io.sevk.types.BulkEmailRequest;import io.sevk.types.BulkEmailResponse;import io.sevk.types.BulkEmailItem;import java.util.List;BulkEmailRequest req = new BulkEmailRequest().emails(List.of(new BulkEmailItem().from("sevk <[email protected]>").to("[email protected]").subject("Welcome").html("<p>Hi 1</p>"),new BulkEmailItem().from("sevk <[email protected]>").to("[email protected]").subject("Welcome").html("<p>Hi 2</p>")));BulkEmailResponse result = sevk.emails().sendBulk(req);System.out.println(result.success + " / " + result.failed);
Contacts
import io.sevk.types.Contact;import io.sevk.types.ContactListResponse;import io.sevk.types.CreateContactRequest;import io.sevk.types.ListParams;import io.sevk.types.UpdateContactRequest;import java.util.Map;new CreateContactRequest().subscribed(true).data(Map.of("firstName", "John", "plan", "pro")));sevk.contacts().get(contact.getId());sevk.contacts().update(contact.getId(),new UpdateContactRequest().data(Map.of("plan", "enterprise")));ListParams params = new ListParams().limit(50);ContactListResponse contacts = sevk.contacts().list(params);contacts.items.forEach(c -> System.out.println(c.getEmail()));sevk.contacts().delete(contact.getId());
Audiences
import io.sevk.types.AudienceMutationResponse;import io.sevk.types.CreateAudienceRequest;import java.util.List;AudienceMutationResponse audience = sevk.audiences().create(new CreateAudienceRequest().name("Newsletter"));sevk.audiences().addContacts(audience.id, List.of("b2c3d4e5-f678-4901-abcd-ef1234567890","b2c3d4e5-f678-4901-abcd-ef1234567891"));sevk.audiences().listContacts(audience.id).items.forEach(c -> System.out.println(c.getEmail()));
Error Handling
import io.sevk.SevkException;try {sevk.emails().send(new SendEmailRequest().to("not-an-email").subject("Test").text("Hi"));} catch (SevkException e) {System.err.println(e.getStatusCode() + " " + e.getCode() + " " + e.getMessage());}