Skip to content

Commit 7134c74

Browse files
committed
feat (Mailgun/Templates): Adding Templates snippets
1 parent 5a1a9b6 commit 7134c74

File tree

13 files changed

+598
-0
lines changed

13 files changed

+598
-0
lines changed

snippets/src/main/java/mailgun/README.md

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,3 +9,16 @@ See main [README.md](../../../../../README.md) for how to execute snippets
99
- [mailgun/messages/GetStoredEmail](./messages/GetStoredEmail.java)
1010
- [mailgun/messages/GetSendingQueuesStatus](./messages/GetSendingQueuesStatus.java)
1111
- [mailgun/messages/PurgeSendingQueue](./messages/PurgeSendingQueue.java)
12+
- Templates
13+
- [mailgun/templates/List](./templates/List.java)
14+
- [mailgun/templates/Create](./templates/Create.java)
15+
- [mailgun/templates/DeleteAll](./templates/DeleteAll.java)
16+
- [mailgun/templates/ListVersions](./templates/ListVersions.java)
17+
- [mailgun/templates/CreateVersion](./templates/CreateVersion.java)
18+
- [mailgun/templates/Get](./templates/Get.java)
19+
- [mailgun/templates/Update](./templates/Update.java)
20+
- [mailgun/templates/Delete](./templates/Delete.java)
21+
- [mailgun/templates/GetVersion](./templates/GetVersion.java)
22+
- [mailgun/templates/UpdateVersion](./templates/UpdateVersion.java)
23+
- [mailgun/templates/DeleteVersion](./templates/DeleteVersion.java)
24+
- [mailgun/templates/CopyVersion](./templates/CopyVersion.java)
Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
/**
2+
* Sinch Java Snippet
3+
*
4+
* <p>This snippet is available at https://github.com/sinch/sinch-sdk-java-snippets
5+
*
6+
* <p>See https://github.com/sinch/sinch-sdk-java-snippets/blob/main/README.md for details
7+
*/
8+
package mailgun.templates;
9+
10+
import com.sinch.sdk.SinchClient;
11+
import com.sinch.sdk.domains.mailgun.api.v1.TemplatesService;
12+
import com.sinch.sdk.domains.mailgun.models.v1.templates.VersionDetails;
13+
import com.sinch.sdk.models.Configuration;
14+
import com.sinch.sdk.models.MailgunRegion;
15+
import java.util.logging.Logger;
16+
import utils.Settings;
17+
18+
public class CopyVersion {
19+
20+
private static final Logger LOGGER = Logger.getLogger(CopyVersion.class.getName());
21+
22+
public static void main(String[] args) {
23+
24+
String mailgunApiKey = Settings.getMailgunApiKey().orElse("MY_MAILGUN_API_KEY");
25+
String mailgunRegion = Settings.getMailgunRegion().orElse("MY_MAILGUN_REGION");
26+
27+
String mailgunDomain = "A_MAILGUN_DOMAIN";
28+
String mailgunTemplateName = "A_TEMPLATE_NAME";
29+
String mailgunTemplateVersionName = "A_TEMPLATE_VERSION_NAME";
30+
31+
Configuration configuration =
32+
Configuration.builder()
33+
.setMailgunApiKey(mailgunApiKey)
34+
.setMailgunRegion(MailgunRegion.from(mailgunRegion))
35+
.build();
36+
37+
SinchClient client = new SinchClient(configuration);
38+
39+
TemplatesService templatesService = client.mailgun().v1().templates();
40+
41+
LOGGER.info(String.format("Copy template version '%s'", mailgunTemplateVersionName));
42+
43+
VersionDetails value =
44+
templatesService.copyVersion(
45+
mailgunDomain,
46+
mailgunTemplateName,
47+
mailgunTemplateVersionName,
48+
mailgunTemplateVersionName + " (cloned)");
49+
50+
LOGGER.info("Response:" + value);
51+
}
52+
}
Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
1+
/**
2+
* Sinch Java Snippet
3+
*
4+
* <p>This snippet is available at https://github.com/sinch/sinch-sdk-java-snippets
5+
*
6+
* <p>See https://github.com/sinch/sinch-sdk-java-snippets/blob/main/README.md for details
7+
*/
8+
package mailgun.templates;
9+
10+
import com.sinch.sdk.SinchClient;
11+
import com.sinch.sdk.domains.mailgun.api.v1.TemplatesService;
12+
import com.sinch.sdk.domains.mailgun.models.v1.templates.Template;
13+
import com.sinch.sdk.domains.mailgun.models.v1.templates.request.CreateTemplateRequest;
14+
import com.sinch.sdk.models.Configuration;
15+
import com.sinch.sdk.models.MailgunRegion;
16+
import java.util.logging.Logger;
17+
import utils.Settings;
18+
19+
public class Create {
20+
21+
private static final Logger LOGGER = Logger.getLogger(Create.class.getName());
22+
23+
public static void main(String[] args) {
24+
25+
String mailgunApiKey = Settings.getMailgunApiKey().orElse("MY_MAILGUN_API_KEY");
26+
String mailgunRegion = Settings.getMailgunRegion().orElse("MY_MAILGUN_REGION");
27+
28+
String mailgunDomain = "A_MAILGUN_DOMAIN";
29+
String mailgunTemplateName = "A_TEMPLATE_NAME";
30+
31+
Configuration configuration =
32+
Configuration.builder()
33+
.setMailgunApiKey(mailgunApiKey)
34+
.setMailgunRegion(MailgunRegion.from(mailgunRegion))
35+
.build();
36+
37+
SinchClient client = new SinchClient(configuration);
38+
39+
TemplatesService templatesService = client.mailgun().v1().templates();
40+
41+
LOGGER.info("Create a template");
42+
43+
CreateTemplateRequest request =
44+
CreateTemplateRequest.builder()
45+
.setName(mailgunTemplateName)
46+
.setDescription("my description value")
47+
.build();
48+
49+
Template value = templatesService.create(mailgunDomain, request);
50+
51+
LOGGER.info("Response:" + value);
52+
}
53+
}
Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,55 @@
1+
/**
2+
* Sinch Java Snippet
3+
*
4+
* <p>This snippet is available at https://github.com/sinch/sinch-sdk-java-snippets
5+
*
6+
* <p>See https://github.com/sinch/sinch-sdk-java-snippets/blob/main/README.md for details
7+
*/
8+
package mailgun.templates;
9+
10+
import com.sinch.sdk.SinchClient;
11+
import com.sinch.sdk.domains.mailgun.api.v1.TemplatesService;
12+
import com.sinch.sdk.domains.mailgun.models.v1.templates.VersionDetails;
13+
import com.sinch.sdk.domains.mailgun.models.v1.templates.request.CreateVersionRequest;
14+
import com.sinch.sdk.models.Configuration;
15+
import com.sinch.sdk.models.MailgunRegion;
16+
import java.util.logging.Logger;
17+
import utils.Settings;
18+
19+
public class CreateVersion {
20+
21+
private static final Logger LOGGER = Logger.getLogger(CreateVersion.class.getName());
22+
23+
public static void main(String[] args) {
24+
25+
String mailgunApiKey = Settings.getMailgunApiKey().orElse("MY_MAILGUN_API_KEY");
26+
String mailgunRegion = Settings.getMailgunRegion().orElse("MY_MAILGUN_REGION");
27+
28+
String mailgunDomain = "A_MAILGUN_DOMAIN";
29+
String mailgunTemplateName = "A_TEMPLATE_NAME";
30+
String mailgunTemplateVersionName = "A_TEMPLATE_VERSION_NAME";
31+
32+
Configuration configuration =
33+
Configuration.builder()
34+
.setMailgunApiKey(mailgunApiKey)
35+
.setMailgunRegion(MailgunRegion.from(mailgunRegion))
36+
.build();
37+
38+
SinchClient client = new SinchClient(configuration);
39+
40+
TemplatesService templatesService = client.mailgun().v1().templates();
41+
42+
LOGGER.info("Create a template's version");
43+
44+
CreateVersionRequest request =
45+
CreateVersionRequest.builder()
46+
.setTemplate("<p>{{firstname}} {{lastname}}</p>")
47+
.setTag(mailgunTemplateVersionName)
48+
.build();
49+
50+
VersionDetails value =
51+
templatesService.createVersion(mailgunDomain, mailgunTemplateName, request);
52+
53+
LOGGER.info("Response:" + value);
54+
}
55+
}
Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
/**
2+
* Sinch Java Snippet
3+
*
4+
* <p>This snippet is available at https://github.com/sinch/sinch-sdk-java-snippets
5+
*
6+
* <p>See https://github.com/sinch/sinch-sdk-java-snippets/blob/main/README.md for details
7+
*/
8+
package mailgun.templates;
9+
10+
import com.sinch.sdk.SinchClient;
11+
import com.sinch.sdk.domains.mailgun.api.v1.TemplatesService;
12+
import com.sinch.sdk.models.Configuration;
13+
import com.sinch.sdk.models.MailgunRegion;
14+
import java.util.logging.Logger;
15+
import utils.Settings;
16+
17+
public class Delete {
18+
19+
private static final Logger LOGGER = Logger.getLogger(Delete.class.getName());
20+
21+
public static void main(String[] args) {
22+
23+
String mailgunApiKey = Settings.getMailgunApiKey().orElse("MY_MAILGUN_API_KEY");
24+
String mailgunRegion = Settings.getMailgunRegion().orElse("MY_MAILGUN_REGION");
25+
26+
String mailgunDomain = "A_MAILGUN_DOMAIN";
27+
String mailgunTemplateName = "A_TEMPLATE_NAME";
28+
29+
Configuration configuration =
30+
Configuration.builder()
31+
.setMailgunApiKey(mailgunApiKey)
32+
.setMailgunRegion(MailgunRegion.from(mailgunRegion))
33+
.build();
34+
35+
SinchClient client = new SinchClient(configuration);
36+
37+
TemplatesService templatesService = client.mailgun().v1().templates();
38+
39+
LOGGER.info(String.format("Deleting template '%s'", mailgunTemplateName));
40+
41+
templatesService.delete(mailgunDomain, mailgunTemplateName);
42+
43+
LOGGER.info("Done");
44+
}
45+
}
Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
/**
2+
* Sinch Java Snippet
3+
*
4+
* <p>This snippet is available at https://github.com/sinch/sinch-sdk-java-snippets
5+
*
6+
* <p>See https://github.com/sinch/sinch-sdk-java-snippets/blob/main/README.md for details
7+
*/
8+
package mailgun.templates;
9+
10+
import com.sinch.sdk.SinchClient;
11+
import com.sinch.sdk.domains.mailgun.api.v1.TemplatesService;
12+
import com.sinch.sdk.models.Configuration;
13+
import com.sinch.sdk.models.MailgunRegion;
14+
import java.util.logging.Logger;
15+
import utils.Settings;
16+
17+
public class DeleteAll {
18+
19+
private static final Logger LOGGER = Logger.getLogger(DeleteAll.class.getName());
20+
21+
public static void main(String[] args) {
22+
23+
String mailgunApiKey = Settings.getMailgunApiKey().orElse("MY_MAILGUN_API_KEY");
24+
String mailgunRegion = Settings.getMailgunRegion().orElse("MY_MAILGUN_REGION");
25+
26+
String mailgunDomain = "A_MAILGUN_DOMAIN";
27+
28+
Configuration configuration =
29+
Configuration.builder()
30+
.setMailgunApiKey(mailgunApiKey)
31+
.setMailgunRegion(MailgunRegion.from(mailgunRegion))
32+
.build();
33+
34+
SinchClient client = new SinchClient(configuration);
35+
36+
TemplatesService templatesService = client.mailgun().v1().templates();
37+
38+
LOGGER.info(String.format("Deleting all templates for domain '%s'" , mailgunDomain);
39+
40+
templatesService.deleteAll(mailgunDomain);
41+
42+
LOGGER.info("Done");
43+
}
44+
}
Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
/**
2+
* Sinch Java Snippet
3+
*
4+
* <p>This snippet is available at https://github.com/sinch/sinch-sdk-java-snippets
5+
*
6+
* <p>See https://github.com/sinch/sinch-sdk-java-snippets/blob/main/README.md for details
7+
*/
8+
package mailgun.templates;
9+
10+
import com.sinch.sdk.SinchClient;
11+
import com.sinch.sdk.domains.mailgun.api.v1.TemplatesService;
12+
import com.sinch.sdk.models.Configuration;
13+
import com.sinch.sdk.models.MailgunRegion;
14+
import java.util.logging.Logger;
15+
import utils.Settings;
16+
17+
public class DeleteVersion {
18+
19+
private static final Logger LOGGER = Logger.getLogger(DeleteVersion.class.getName());
20+
21+
public static void main(String[] args) {
22+
23+
String mailgunApiKey = Settings.getMailgunApiKey().orElse("MY_MAILGUN_API_KEY");
24+
String mailgunRegion = Settings.getMailgunRegion().orElse("MY_MAILGUN_REGION");
25+
26+
String mailgunDomain = "A_MAILGUN_DOMAIN";
27+
String mailgunTemplateName = "A_TEMPLATE_NAME";
28+
String mailgunTemplateVersionName = "A_TEMPLATE_VERSION_NAME";
29+
30+
Configuration configuration =
31+
Configuration.builder()
32+
.setMailgunApiKey(mailgunApiKey)
33+
.setMailgunRegion(MailgunRegion.from(mailgunRegion))
34+
.build();
35+
36+
SinchClient client = new SinchClient(configuration);
37+
38+
TemplatesService templatesService = client.mailgun().v1().templates();
39+
40+
LOGGER.info(String.format("Delete template version '%s'", mailgunTemplateVersionName));
41+
42+
templatesService.deleteVersion(mailgunDomain, mailgunTemplateName, mailgunTemplateVersionName);
43+
44+
LOGGER.info("Done");
45+
}
46+
}
Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
/**
2+
* Sinch Java Snippet
3+
*
4+
* <p>This snippet is available at https://github.com/sinch/sinch-sdk-java-snippets
5+
*
6+
* <p>See https://github.com/sinch/sinch-sdk-java-snippets/blob/main/README.md for details
7+
*/
8+
package mailgun.templates;
9+
10+
import com.sinch.sdk.SinchClient;
11+
import com.sinch.sdk.domains.mailgun.api.v1.TemplatesService;
12+
import com.sinch.sdk.domains.mailgun.models.v1.templates.Template;
13+
import com.sinch.sdk.models.Configuration;
14+
import com.sinch.sdk.models.MailgunRegion;
15+
import java.util.logging.Logger;
16+
import utils.Settings;
17+
18+
public class Get {
19+
20+
private static final Logger LOGGER = Logger.getLogger(Get.class.getName());
21+
22+
public static void main(String[] args) {
23+
24+
String mailgunApiKey = Settings.getMailgunApiKey().orElse("MY_MAILGUN_API_KEY");
25+
String mailgunRegion = Settings.getMailgunRegion().orElse("MY_MAILGUN_REGION");
26+
27+
String mailgunDomain = "A_MAILGUN_DOMAIN";
28+
String mailgunTemplateName = "A_TEMPLATE_NAME";
29+
30+
Configuration configuration =
31+
Configuration.builder()
32+
.setMailgunApiKey(mailgunApiKey)
33+
.setMailgunRegion(MailgunRegion.from(mailgunRegion))
34+
.build();
35+
36+
SinchClient client = new SinchClient(configuration);
37+
38+
TemplatesService templatesService = client.mailgun().v1().templates();
39+
40+
LOGGER.info(String.format("Get information for template '%s'", mailgunTemplateName));
41+
42+
Template value = templatesService.get(mailgunDomain, mailgunTemplateName);
43+
44+
LOGGER.info("Response:" + value);
45+
}
46+
}

0 commit comments

Comments
 (0)