From 4763b8d010d48def444944e1733739a7312523bf Mon Sep 17 00:00:00 2001 From: ykorobov Date: Thu, 23 Jun 2022 17:19:56 +0300 Subject: [PATCH 1/3] HBSP-389: add email creation endpoint --- .../smartling/connector/hubspot/sdk/HubspotEmailsClient.java | 2 ++ .../connector/hubspot/sdk/rest/HubspotRestEmailsClient.java | 5 +++++ .../connector/hubspot/sdk/rest/api/EmailsRawApi.java | 4 ++++ 3 files changed, 11 insertions(+) diff --git a/src/main/java/com/smartling/connector/hubspot/sdk/HubspotEmailsClient.java b/src/main/java/com/smartling/connector/hubspot/sdk/HubspotEmailsClient.java index b280147..41acd77 100644 --- a/src/main/java/com/smartling/connector/hubspot/sdk/HubspotEmailsClient.java +++ b/src/main/java/com/smartling/connector/hubspot/sdk/HubspotEmailsClient.java @@ -16,6 +16,8 @@ public interface HubspotEmailsClient extends HubspotClient String updateContent(@NonNull String emailId, @NonNull String emailContent) throws HubspotApiException; + String create(@NonNull String emailContent) throws HubspotApiException; + EmailDetail clone(@NonNull String emailId, @NonNull String name) throws HubspotApiException; EmailDetail createVariation(@NonNull String emailId, @NonNull String variationName) throws HubspotApiException; diff --git a/src/main/java/com/smartling/connector/hubspot/sdk/rest/HubspotRestEmailsClient.java b/src/main/java/com/smartling/connector/hubspot/sdk/rest/HubspotRestEmailsClient.java index 8368b32..acbe794 100644 --- a/src/main/java/com/smartling/connector/hubspot/sdk/rest/HubspotRestEmailsClient.java +++ b/src/main/java/com/smartling/connector/hubspot/sdk/rest/HubspotRestEmailsClient.java @@ -68,6 +68,11 @@ public String updateContent(@NonNull String emailId, @NonNull String emailConten return execute(() -> emailsRawApi.update(emailId, emailContent)); } + @Override + public String create(@NonNull String emailContent) throws HubspotApiException { + return execute(() -> emailsRawApi.create(emailContent)); + } + @Override public EmailDetail clone(@NonNull String emailId, @NonNull String name) throws HubspotApiException { diff --git a/src/main/java/com/smartling/connector/hubspot/sdk/rest/api/EmailsRawApi.java b/src/main/java/com/smartling/connector/hubspot/sdk/rest/api/EmailsRawApi.java index 31f7772..d29888e 100644 --- a/src/main/java/com/smartling/connector/hubspot/sdk/rest/api/EmailsRawApi.java +++ b/src/main/java/com/smartling/connector/hubspot/sdk/rest/api/EmailsRawApi.java @@ -12,4 +12,8 @@ public interface EmailsRawApi @RequestLine("PUT /marketing-emails/v1/emails/{email_id}") @Headers("Content-Type: application/json") String update(@Param("email_id") String emailId, String emailAsJson); + + @RequestLine("POST /marketing-emails/v1/emails/") + @Headers("Content-Type: application/json") + String create(String emailAsJson); } From 02f31a35ab10670b1a52f8edff6f6159580109fb Mon Sep 17 00:00:00 2001 From: ykorobov Date: Fri, 24 Jun 2022 13:58:19 +0300 Subject: [PATCH 2/3] HBSP-389: add email raw clone endpoint --- .../smartling/connector/hubspot/sdk/HubspotEmailsClient.java | 2 ++ .../connector/hubspot/sdk/rest/HubspotRestEmailsClient.java | 5 +++++ .../connector/hubspot/sdk/rest/api/EmailsRawApi.java | 5 +++++ 3 files changed, 12 insertions(+) diff --git a/src/main/java/com/smartling/connector/hubspot/sdk/HubspotEmailsClient.java b/src/main/java/com/smartling/connector/hubspot/sdk/HubspotEmailsClient.java index 41acd77..ce92341 100644 --- a/src/main/java/com/smartling/connector/hubspot/sdk/HubspotEmailsClient.java +++ b/src/main/java/com/smartling/connector/hubspot/sdk/HubspotEmailsClient.java @@ -20,6 +20,8 @@ public interface HubspotEmailsClient extends HubspotClient EmailDetail clone(@NonNull String emailId, @NonNull String name) throws HubspotApiException; + String rawClone(@NonNull String emailId, @NonNull String name) throws HubspotApiException; + EmailDetail createVariation(@NonNull String emailId, @NonNull String variationName) throws HubspotApiException; EmailDetail getBufferedDetail(@NonNull String emailId) throws HubspotApiException; diff --git a/src/main/java/com/smartling/connector/hubspot/sdk/rest/HubspotRestEmailsClient.java b/src/main/java/com/smartling/connector/hubspot/sdk/rest/HubspotRestEmailsClient.java index acbe794..db56c00 100644 --- a/src/main/java/com/smartling/connector/hubspot/sdk/rest/HubspotRestEmailsClient.java +++ b/src/main/java/com/smartling/connector/hubspot/sdk/rest/HubspotRestEmailsClient.java @@ -79,6 +79,11 @@ public EmailDetail clone(@NonNull String emailId, @NonNull String name) throws H return execute(() -> emailsEntityApi.clone(emailId, new CloneEmailRequest(name))); } + @Override + public String rawClone(@NonNull String emailId, @NonNull String name) throws HubspotApiException { + return execute(() -> emailsRawApi.clone(emailId, new CloneEmailRequest(name))); + } + @Override public EmailDetail createVariation(@NonNull String emailId, @NonNull String variationName) throws HubspotApiException { diff --git a/src/main/java/com/smartling/connector/hubspot/sdk/rest/api/EmailsRawApi.java b/src/main/java/com/smartling/connector/hubspot/sdk/rest/api/EmailsRawApi.java index d29888e..893425c 100644 --- a/src/main/java/com/smartling/connector/hubspot/sdk/rest/api/EmailsRawApi.java +++ b/src/main/java/com/smartling/connector/hubspot/sdk/rest/api/EmailsRawApi.java @@ -1,5 +1,6 @@ package com.smartling.connector.hubspot.sdk.rest.api; +import com.smartling.connector.hubspot.sdk.email.CloneEmailRequest; import feign.Headers; import feign.Param; import feign.RequestLine; @@ -16,4 +17,8 @@ public interface EmailsRawApi @RequestLine("POST /marketing-emails/v1/emails/") @Headers("Content-Type: application/json") String create(String emailAsJson); + + @RequestLine("POST /marketing-emails/v1/emails/{email_id}/clone") + @Headers("Content-Type: application/json") + String clone(@Param("email_id") String email_id, CloneEmailRequest cloneFormRequest); } From 1262e149cd7d1497e0b086c6e4fc4fbee2e2a028 Mon Sep 17 00:00:00 2001 From: ykorobov Date: Fri, 24 Jun 2022 15:04:26 +0300 Subject: [PATCH 3/3] HBSP-389: add builders to email details --- .../com/smartling/connector/hubspot/sdk/email/EmailDetail.java | 2 ++ .../smartling/connector/hubspot/sdk/email/EmailDetailShort.java | 2 ++ 2 files changed, 4 insertions(+) diff --git a/src/main/java/com/smartling/connector/hubspot/sdk/email/EmailDetail.java b/src/main/java/com/smartling/connector/hubspot/sdk/email/EmailDetail.java index 9ca88a5..2e7fe0c 100644 --- a/src/main/java/com/smartling/connector/hubspot/sdk/email/EmailDetail.java +++ b/src/main/java/com/smartling/connector/hubspot/sdk/email/EmailDetail.java @@ -3,10 +3,12 @@ import lombok.Data; import lombok.EqualsAndHashCode; import lombok.NoArgsConstructor; +import lombok.experimental.SuperBuilder; @EqualsAndHashCode(callSuper=true) @Data @NoArgsConstructor +@SuperBuilder public class EmailDetail extends EmailDetailShort { public static final String FIELDS = EmailDetailShort.FIELDS + diff --git a/src/main/java/com/smartling/connector/hubspot/sdk/email/EmailDetailShort.java b/src/main/java/com/smartling/connector/hubspot/sdk/email/EmailDetailShort.java index 9587370..7b54c53 100644 --- a/src/main/java/com/smartling/connector/hubspot/sdk/email/EmailDetailShort.java +++ b/src/main/java/com/smartling/connector/hubspot/sdk/email/EmailDetailShort.java @@ -2,11 +2,13 @@ import lombok.Data; import lombok.NoArgsConstructor; +import lombok.experimental.SuperBuilder; import java.util.Date; @Data @NoArgsConstructor +@SuperBuilder public class EmailDetailShort { public static final String FIELDS = "emailType,id,name,updated";