mirror of
https://github.com/hanzo-go/sendgrid.git
synced 2026-10-30 15:05:38 +00:00
283 lines
8.2 KiB
Go
283 lines
8.2 KiB
Go
package main
|
|
|
|
import (
|
|
"fmt"
|
|
"github.com/hanzoai/sendgrid-go"
|
|
"log"
|
|
"os"
|
|
)
|
|
|
|
// Createanewsuppressiongroup : Create a new suppression group
|
|
// POST /asm/groups
|
|
func Createanewsuppressiongroup() {
|
|
apiKey := os.Getenv("YOUR_SENDGRID_APIKEY")
|
|
host := "https://api.sendgrid.com"
|
|
request := sendgrid.GetRequest(apiKey, "/v3/asm/groups", host)
|
|
request.Method = "POST"
|
|
request.Body = []byte(` {
|
|
"description": "Suggestions for products our users might like.",
|
|
"is_default": true,
|
|
"name": "Product Suggestions"
|
|
}`)
|
|
response, err := sendgrid.API(request)
|
|
if err != nil {
|
|
log.Println(err)
|
|
} else {
|
|
fmt.Println(response.StatusCode)
|
|
fmt.Println(response.Body)
|
|
fmt.Println(response.Headers)
|
|
}
|
|
}
|
|
|
|
// Retrieveinformationaboutmultiplesuppressiongroups : Retrieve information about multiple suppression groups
|
|
// GET /asm/groups
|
|
func Retrieveinformationaboutmultiplesuppressiongroups() {
|
|
apiKey := os.Getenv("YOUR_SENDGRID_APIKEY")
|
|
host := "https://api.sendgrid.com"
|
|
request := sendgrid.GetRequest(apiKey, "/v3/asm/groups", host)
|
|
request.Method = "GET"
|
|
queryParams := make(map[string]string)
|
|
queryParams["id"] = "1"
|
|
request.QueryParams = queryParams
|
|
response, err := sendgrid.API(request)
|
|
if err != nil {
|
|
log.Println(err)
|
|
} else {
|
|
fmt.Println(response.StatusCode)
|
|
fmt.Println(response.Body)
|
|
fmt.Println(response.Headers)
|
|
}
|
|
}
|
|
|
|
// Updateasuppressiongroup : Update a suppression group.
|
|
// PATCH /asm/groups/{group_id}
|
|
func Updateasuppressiongroup() {
|
|
apiKey := os.Getenv("YOUR_SENDGRID_APIKEY")
|
|
host := "https://api.sendgrid.com"
|
|
request := sendgrid.GetRequest(apiKey, "/v3/asm/groups/{group_id}", host)
|
|
request.Method = "PATCH"
|
|
request.Body = []byte(` {
|
|
"description": "Suggestions for items our users might like.",
|
|
"id": 103,
|
|
"name": "Item Suggestions"
|
|
}`)
|
|
response, err := sendgrid.API(request)
|
|
if err != nil {
|
|
log.Println(err)
|
|
} else {
|
|
fmt.Println(response.StatusCode)
|
|
fmt.Println(response.Body)
|
|
fmt.Println(response.Headers)
|
|
}
|
|
}
|
|
|
|
// Getinformationonasinglesuppressiongroup : Get information on a single suppression group.
|
|
// GET /asm/groups/{group_id}
|
|
func Getinformationonasinglesuppressiongroup() {
|
|
apiKey := os.Getenv("YOUR_SENDGRID_APIKEY")
|
|
host := "https://api.sendgrid.com"
|
|
request := sendgrid.GetRequest(apiKey, "/v3/asm/groups/{group_id}", host)
|
|
request.Method = "GET"
|
|
response, err := sendgrid.API(request)
|
|
if err != nil {
|
|
log.Println(err)
|
|
} else {
|
|
fmt.Println(response.StatusCode)
|
|
fmt.Println(response.Body)
|
|
fmt.Println(response.Headers)
|
|
}
|
|
}
|
|
|
|
// Deleteasuppressiongroup : Delete a suppression group.
|
|
// DELETE /asm/groups/{group_id}
|
|
func Deleteasuppressiongroup() {
|
|
apiKey := os.Getenv("YOUR_SENDGRID_APIKEY")
|
|
host := "https://api.sendgrid.com"
|
|
request := sendgrid.GetRequest(apiKey, "/v3/asm/groups/{group_id}", host)
|
|
request.Method = "DELETE"
|
|
response, err := sendgrid.API(request)
|
|
if err != nil {
|
|
log.Println(err)
|
|
} else {
|
|
fmt.Println(response.StatusCode)
|
|
fmt.Println(response.Body)
|
|
fmt.Println(response.Headers)
|
|
}
|
|
}
|
|
|
|
// Addsuppressionstoasuppressiongroup : Add suppressions to a suppression group
|
|
// POST /asm/groups/{group_id}/suppressions
|
|
func Addsuppressionstoasuppressiongroup() {
|
|
apiKey := os.Getenv("YOUR_SENDGRID_APIKEY")
|
|
host := "https://api.sendgrid.com"
|
|
request := sendgrid.GetRequest(apiKey, "/v3/asm/groups/{group_id}/suppressions", host)
|
|
request.Method = "POST"
|
|
request.Body = []byte(` {
|
|
"recipient_emails": [
|
|
"[email protected]",
|
|
"[email protected]"
|
|
]
|
|
}`)
|
|
response, err := sendgrid.API(request)
|
|
if err != nil {
|
|
log.Println(err)
|
|
} else {
|
|
fmt.Println(response.StatusCode)
|
|
fmt.Println(response.Body)
|
|
fmt.Println(response.Headers)
|
|
}
|
|
}
|
|
|
|
// Retrieveallsuppressionsforasuppressiongroup : Retrieve all suppressions for a suppression group
|
|
// GET /asm/groups/{group_id}/suppressions
|
|
func Retrieveallsuppressionsforasuppressiongroup() {
|
|
apiKey := os.Getenv("YOUR_SENDGRID_APIKEY")
|
|
host := "https://api.sendgrid.com"
|
|
request := sendgrid.GetRequest(apiKey, "/v3/asm/groups/{group_id}/suppressions", host)
|
|
request.Method = "GET"
|
|
response, err := sendgrid.API(request)
|
|
if err != nil {
|
|
log.Println(err)
|
|
} else {
|
|
fmt.Println(response.StatusCode)
|
|
fmt.Println(response.Body)
|
|
fmt.Println(response.Headers)
|
|
}
|
|
}
|
|
|
|
// Searchforsuppressionswithinagroup : Search for suppressions within a group
|
|
// POST /asm/groups/{group_id}/suppressions/search
|
|
func Searchforsuppressionswithinagroup() {
|
|
apiKey := os.Getenv("YOUR_SENDGRID_APIKEY")
|
|
host := "https://api.sendgrid.com"
|
|
request := sendgrid.GetRequest(apiKey, "/v3/asm/groups/{group_id}/suppressions/search", host)
|
|
request.Method = "POST"
|
|
request.Body = []byte(` {
|
|
"recipient_emails": [
|
|
"[email protected]",
|
|
"[email protected]",
|
|
"[email protected]"
|
|
]
|
|
}`)
|
|
response, err := sendgrid.API(request)
|
|
if err != nil {
|
|
log.Println(err)
|
|
} else {
|
|
fmt.Println(response.StatusCode)
|
|
fmt.Println(response.Body)
|
|
fmt.Println(response.Headers)
|
|
}
|
|
}
|
|
|
|
// Deleteasuppressionfromasuppressiongroup : Delete a suppression from a suppression group
|
|
// DELETE /asm/groups/{group_id}/suppressions/{email}
|
|
func Deleteasuppressionfromasuppressiongroup() {
|
|
apiKey := os.Getenv("YOUR_SENDGRID_APIKEY")
|
|
host := "https://api.sendgrid.com"
|
|
request := sendgrid.GetRequest(apiKey, "/v3/asm/groups/{group_id}/suppressions/{email}", host)
|
|
request.Method = "DELETE"
|
|
response, err := sendgrid.API(request)
|
|
if err != nil {
|
|
log.Println(err)
|
|
} else {
|
|
fmt.Println(response.StatusCode)
|
|
fmt.Println(response.Body)
|
|
fmt.Println(response.Headers)
|
|
}
|
|
}
|
|
|
|
// Retrieveallsuppressions : Retrieve all suppressions
|
|
// GET /asm/suppressions
|
|
func Retrieveallsuppressions() {
|
|
apiKey := os.Getenv("YOUR_SENDGRID_APIKEY")
|
|
host := "https://api.sendgrid.com"
|
|
request := sendgrid.GetRequest(apiKey, "/v3/asm/suppressions", host)
|
|
request.Method = "GET"
|
|
response, err := sendgrid.API(request)
|
|
if err != nil {
|
|
log.Println(err)
|
|
} else {
|
|
fmt.Println(response.StatusCode)
|
|
fmt.Println(response.Body)
|
|
fmt.Println(response.Headers)
|
|
}
|
|
}
|
|
|
|
// Addrecipientaddressestotheglobalsuppressiongroup : Add recipient addresses to the global suppression group.
|
|
// POST /asm/suppressions/global
|
|
func Addrecipientaddressestotheglobalsuppressiongroup() {
|
|
apiKey := os.Getenv("YOUR_SENDGRID_APIKEY")
|
|
host := "https://api.sendgrid.com"
|
|
request := sendgrid.GetRequest(apiKey, "/v3/asm/suppressions/global", host)
|
|
request.Method = "POST"
|
|
request.Body = []byte(` {
|
|
"recipient_emails": [
|
|
"[email protected]",
|
|
"[email protected]"
|
|
]
|
|
}`)
|
|
response, err := sendgrid.API(request)
|
|
if err != nil {
|
|
log.Println(err)
|
|
} else {
|
|
fmt.Println(response.StatusCode)
|
|
fmt.Println(response.Body)
|
|
fmt.Println(response.Headers)
|
|
}
|
|
}
|
|
|
|
// RetrieveaGlobalSuppression : Retrieve a Global Suppression
|
|
// GET /asm/suppressions/global/{email}
|
|
func RetrieveaGlobalSuppression() {
|
|
apiKey := os.Getenv("YOUR_SENDGRID_APIKEY")
|
|
host := "https://api.sendgrid.com"
|
|
request := sendgrid.GetRequest(apiKey, "/v3/asm/suppressions/global/{email}", host)
|
|
request.Method = "GET"
|
|
response, err := sendgrid.API(request)
|
|
if err != nil {
|
|
log.Println(err)
|
|
} else {
|
|
fmt.Println(response.StatusCode)
|
|
fmt.Println(response.Body)
|
|
fmt.Println(response.Headers)
|
|
}
|
|
}
|
|
|
|
// DeleteaGlobalSuppression : Delete a Global Suppression
|
|
// DELETE /asm/suppressions/global/{email}
|
|
func DeleteaGlobalSuppression() {
|
|
apiKey := os.Getenv("YOUR_SENDGRID_APIKEY")
|
|
host := "https://api.sendgrid.com"
|
|
request := sendgrid.GetRequest(apiKey, "/v3/asm/suppressions/global/{email}", host)
|
|
request.Method = "DELETE"
|
|
response, err := sendgrid.API(request)
|
|
if err != nil {
|
|
log.Println(err)
|
|
} else {
|
|
fmt.Println(response.StatusCode)
|
|
fmt.Println(response.Body)
|
|
fmt.Println(response.Headers)
|
|
}
|
|
}
|
|
|
|
// Retrieveallsuppressiongroupsforanemailaddress : Retrieve all suppression groups for an email address
|
|
// GET /asm/suppressions/{email}
|
|
func Retrieveallsuppressiongroupsforanemailaddress() {
|
|
apiKey := os.Getenv("YOUR_SENDGRID_APIKEY")
|
|
host := "https://api.sendgrid.com"
|
|
request := sendgrid.GetRequest(apiKey, "/v3/asm/suppressions/{email}", host)
|
|
request.Method = "GET"
|
|
response, err := sendgrid.API(request)
|
|
if err != nil {
|
|
log.Println(err)
|
|
} else {
|
|
fmt.Println(response.StatusCode)
|
|
fmt.Println(response.Body)
|
|
fmt.Println(response.Headers)
|
|
}
|
|
}
|
|
|
|
func main() {
|
|
// add your function calls here
|
|
}
|