Files

659 lines
18 KiB
Go

package main
import (
"fmt"
"github.com/hanzoai/sendgrid-go"
"log"
"os"
)
// CreateaCustomField : Create a Custom Field
// POST /contactdb/custom_fields
func CreateaCustomField() {
apiKey := os.Getenv("YOUR_SENDGRID_APIKEY")
host := "https://api.sendgrid.com"
request := sendgrid.GetRequest(apiKey, "/v3/contactdb/custom_fields", host)
request.Method = "POST"
request.Body = []byte(` {
"name": "pet",
"type": "text"
}`)
response, err := sendgrid.API(request)
if err != nil {
log.Println(err)
} else {
fmt.Println(response.StatusCode)
fmt.Println(response.Body)
fmt.Println(response.Headers)
}
}
// Retrieveallcustomfields : Retrieve all custom fields
// GET /contactdb/custom_fields
func Retrieveallcustomfields() {
apiKey := os.Getenv("YOUR_SENDGRID_APIKEY")
host := "https://api.sendgrid.com"
request := sendgrid.GetRequest(apiKey, "/v3/contactdb/custom_fields", 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)
}
}
// RetrieveaCustomField : Retrieve a Custom Field
// GET /contactdb/custom_fields/{custom_field_id}
func RetrieveaCustomField() {
apiKey := os.Getenv("YOUR_SENDGRID_APIKEY")
host := "https://api.sendgrid.com"
request := sendgrid.GetRequest(apiKey, "/v3/contactdb/custom_fields/{custom_field_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)
}
}
// DeleteaCustomField : Delete a Custom Field
// DELETE /contactdb/custom_fields/{custom_field_id}
func DeleteaCustomField() {
apiKey := os.Getenv("YOUR_SENDGRID_APIKEY")
host := "https://api.sendgrid.com"
request := sendgrid.GetRequest(apiKey, "/v3/contactdb/custom_fields/{custom_field_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)
}
}
// CreateaList : Create a List
// POST /contactdb/lists
func CreateaList() {
apiKey := os.Getenv("YOUR_SENDGRID_APIKEY")
host := "https://api.sendgrid.com"
request := sendgrid.GetRequest(apiKey, "/v3/contactdb/lists", host)
request.Method = "POST"
request.Body = []byte(` {
"name": "your list name"
}`)
response, err := sendgrid.API(request)
if err != nil {
log.Println(err)
} else {
fmt.Println(response.StatusCode)
fmt.Println(response.Body)
fmt.Println(response.Headers)
}
}
// Retrievealllists : Retrieve all lists
// GET /contactdb/lists
func Retrievealllists() {
apiKey := os.Getenv("YOUR_SENDGRID_APIKEY")
host := "https://api.sendgrid.com"
request := sendgrid.GetRequest(apiKey, "/v3/contactdb/lists", 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)
}
}
// DeleteMultiplelists : Delete Multiple lists
// DELETE /contactdb/lists
func DeleteMultiplelists() {
apiKey := os.Getenv("YOUR_SENDGRID_APIKEY")
host := "https://api.sendgrid.com"
request := sendgrid.GetRequest(apiKey, "/v3/contactdb/lists", host)
request.Method = "DELETE"
request.Body = []byte(` [
1,
2,
3,
4
]`)
response, err := sendgrid.API(request)
if err != nil {
log.Println(err)
} else {
fmt.Println(response.StatusCode)
fmt.Println(response.Body)
fmt.Println(response.Headers)
}
}
// UpdateaList : Update a List
// PATCH /contactdb/lists/{list_id}
func UpdateaList() {
apiKey := os.Getenv("YOUR_SENDGRID_APIKEY")
host := "https://api.sendgrid.com"
request := sendgrid.GetRequest(apiKey, "/v3/contactdb/lists/{list_id}", host)
request.Method = "PATCH"
request.Body = []byte(` {
"name": "newlistname"
}`)
queryParams := make(map[string]string)
queryParams["list_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)
}
}
// Retrieveasinglelist : Retrieve a single list
// GET /contactdb/lists/{list_id}
func Retrieveasinglelist() {
apiKey := os.Getenv("YOUR_SENDGRID_APIKEY")
host := "https://api.sendgrid.com"
request := sendgrid.GetRequest(apiKey, "/v3/contactdb/lists/{list_id}", host)
request.Method = "GET"
queryParams := make(map[string]string)
queryParams["list_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)
}
}
// DeleteaList : Delete a List
// DELETE /contactdb/lists/{list_id}
func DeleteaList() {
apiKey := os.Getenv("YOUR_SENDGRID_APIKEY")
host := "https://api.sendgrid.com"
request := sendgrid.GetRequest(apiKey, "/v3/contactdb/lists/{list_id}", host)
request.Method = "DELETE"
queryParams := make(map[string]string)
queryParams["delete_contacts"] = "true"
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)
}
}
// AddMultipleRecipientstoaList : Add Multiple Recipients to a List
// POST /contactdb/lists/{list_id}/recipients
func AddMultipleRecipientstoaList() {
apiKey := os.Getenv("YOUR_SENDGRID_APIKEY")
host := "https://api.sendgrid.com"
request := sendgrid.GetRequest(apiKey, "/v3/contactdb/lists/{list_id}/recipients", host)
request.Method = "POST"
request.Body = []byte(` [
"recipient_id1",
"recipient_id2"
]`)
response, err := sendgrid.API(request)
if err != nil {
log.Println(err)
} else {
fmt.Println(response.StatusCode)
fmt.Println(response.Body)
fmt.Println(response.Headers)
}
}
// RetrieveallrecipientsonaList : Retrieve all recipients on a List
// GET /contactdb/lists/{list_id}/recipients
func RetrieveallrecipientsonaList() {
apiKey := os.Getenv("YOUR_SENDGRID_APIKEY")
host := "https://api.sendgrid.com"
request := sendgrid.GetRequest(apiKey, "/v3/contactdb/lists/{list_id}/recipients", host)
request.Method = "GET"
queryParams := make(map[string]string)
queryParams["page"] = "1"
queryParams["page_size"] = "1"
queryParams["list_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)
}
}
// AddaSingleRecipienttoaList : Add a Single Recipient to a List
// POST /contactdb/lists/{list_id}/recipients/{recipient_id}
func AddaSingleRecipienttoaList() {
apiKey := os.Getenv("YOUR_SENDGRID_APIKEY")
host := "https://api.sendgrid.com"
request := sendgrid.GetRequest(apiKey, "/v3/contactdb/lists/{list_id}/recipients/{recipient_id}", host)
request.Method = "POST"
response, err := sendgrid.API(request)
if err != nil {
log.Println(err)
} else {
fmt.Println(response.StatusCode)
fmt.Println(response.Body)
fmt.Println(response.Headers)
}
}
// DeleteaSingleRecipientfromaSingleList : Delete a Single Recipient from a Single List
// DELETE /contactdb/lists/{list_id}/recipients/{recipient_id}
func DeleteaSingleRecipientfromaSingleList() {
apiKey := os.Getenv("YOUR_SENDGRID_APIKEY")
host := "https://api.sendgrid.com"
request := sendgrid.GetRequest(apiKey, "/v3/contactdb/lists/{list_id}/recipients/{recipient_id}", host)
request.Method = "DELETE"
queryParams := make(map[string]string)
queryParams["recipient_id"] = "1"
queryParams["list_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)
}
}
// UpdateRecipient : Update Recipient
// PATCH /contactdb/recipients
func UpdateRecipient() {
apiKey := os.Getenv("YOUR_SENDGRID_APIKEY")
host := "https://api.sendgrid.com"
request := sendgrid.GetRequest(apiKey, "/v3/contactdb/recipients", host)
request.Method = "PATCH"
request.Body = []byte(` [
{
"email": "[email protected]",
"first_name": "Guy",
"last_name": "Jones"
}
]`)
response, err := sendgrid.API(request)
if err != nil {
log.Println(err)
} else {
fmt.Println(response.StatusCode)
fmt.Println(response.Body)
fmt.Println(response.Headers)
}
}
// Addrecipients : Add recipients
// POST /contactdb/recipients
func Addrecipients() {
apiKey := os.Getenv("YOUR_SENDGRID_APIKEY")
host := "https://api.sendgrid.com"
request := sendgrid.GetRequest(apiKey, "/v3/contactdb/recipients", host)
request.Method = "POST"
request.Body = []byte(` [
{
"age": 25,
"email": "[email protected]",
"first_name": "",
"last_name": "User"
},
{
"age": 25,
"email": "[email protected]",
"first_name": "Example",
"last_name": "User"
}
]`)
response, err := sendgrid.API(request)
if err != nil {
log.Println(err)
} else {
fmt.Println(response.StatusCode)
fmt.Println(response.Body)
fmt.Println(response.Headers)
}
}
// Retrieverecipients : Retrieve recipients
// GET /contactdb/recipients
func Retrieverecipients() {
apiKey := os.Getenv("YOUR_SENDGRID_APIKEY")
host := "https://api.sendgrid.com"
request := sendgrid.GetRequest(apiKey, "/v3/contactdb/recipients", host)
request.Method = "GET"
queryParams := make(map[string]string)
queryParams["page"] = "1"
queryParams["page_size"] = "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)
}
}
// DeleteRecipient : Delete Recipient
// DELETE /contactdb/recipients
func DeleteRecipient() {
apiKey := os.Getenv("YOUR_SENDGRID_APIKEY")
host := "https://api.sendgrid.com"
request := sendgrid.GetRequest(apiKey, "/v3/contactdb/recipients", host)
request.Method = "DELETE"
request.Body = []byte(` [
"recipient_id1",
"recipient_id2"
]`)
response, err := sendgrid.API(request)
if err != nil {
log.Println(err)
} else {
fmt.Println(response.StatusCode)
fmt.Println(response.Body)
fmt.Println(response.Headers)
}
}
// Retrievethecountofbillablerecipients : Retrieve the count of billable recipients
// GET /contactdb/recipients/billable_count
func Retrievethecountofbillablerecipients() {
apiKey := os.Getenv("YOUR_SENDGRID_APIKEY")
host := "https://api.sendgrid.com"
request := sendgrid.GetRequest(apiKey, "/v3/contactdb/recipients/billable_count", 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)
}
}
// RetrieveaCountofRecipients : Retrieve a Count of Recipients
// GET /contactdb/recipients/count
func RetrieveaCountofRecipients() {
apiKey := os.Getenv("YOUR_SENDGRID_APIKEY")
host := "https://api.sendgrid.com"
request := sendgrid.GetRequest(apiKey, "/v3/contactdb/recipients/count", 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)
}
}
// Retrieverecipientsmatchingsearchcriteria : Retrieve recipients matching search criteria
// GET /contactdb/recipients/search
func Retrieverecipientsmatchingsearchcriteria() {
apiKey := os.Getenv("YOUR_SENDGRID_APIKEY")
host := "https://api.sendgrid.com"
request := sendgrid.GetRequest(apiKey, "/v3/contactdb/recipients/search", host)
request.Method = "GET"
queryParams := make(map[string]string)
queryParams["{field_name}"] = "test_string"
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)
}
}
// Retrieveasinglerecipient : Retrieve a single recipient
// GET /contactdb/recipients/{recipient_id}
func Retrieveasinglerecipient() {
apiKey := os.Getenv("YOUR_SENDGRID_APIKEY")
host := "https://api.sendgrid.com"
request := sendgrid.GetRequest(apiKey, "/v3/contactdb/recipients/{recipient_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)
}
}
// DeleteaRecipient : Delete a Recipient
// DELETE /contactdb/recipients/{recipient_id}
func DeleteaRecipient() {
apiKey := os.Getenv("YOUR_SENDGRID_APIKEY")
host := "https://api.sendgrid.com"
request := sendgrid.GetRequest(apiKey, "/v3/contactdb/recipients/{recipient_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)
}
}
// Retrievetheliststhatarecipientison : Retrieve the lists that a recipient is on
// GET /contactdb/recipients/{recipient_id}/lists
func Retrievetheliststhatarecipientison() {
apiKey := os.Getenv("YOUR_SENDGRID_APIKEY")
host := "https://api.sendgrid.com"
request := sendgrid.GetRequest(apiKey, "/v3/contactdb/recipients/{recipient_id}/lists", 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)
}
}
// Retrievereservedfields : Retrieve reserved fields
// GET /contactdb/reserved_fields
func Retrievereservedfields() {
apiKey := os.Getenv("YOUR_SENDGRID_APIKEY")
host := "https://api.sendgrid.com"
request := sendgrid.GetRequest(apiKey, "/v3/contactdb/reserved_fields", 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)
}
}
// CreateaSegment : Create a Segment
// POST /contactdb/segments
func CreateaSegment() {
apiKey := os.Getenv("YOUR_SENDGRID_APIKEY")
host := "https://api.sendgrid.com"
request := sendgrid.GetRequest(apiKey, "/v3/contactdb/segments", host)
request.Method = "POST"
request.Body = []byte(` {
"conditions": [
{
"and_or": "",
"field": "last_name",
"operator": "eq",
"value": "Miller"
},
{
"and_or": "and",
"field": "last_clicked",
"operator": "gt",
"value": "01/02/2015"
},
{
"and_or": "or",
"field": "clicks.campaign_identifier",
"operator": "eq",
"value": "513"
}
],
"list_id": 4,
"name": "Last Name Miller"
}`)
response, err := sendgrid.API(request)
if err != nil {
log.Println(err)
} else {
fmt.Println(response.StatusCode)
fmt.Println(response.Body)
fmt.Println(response.Headers)
}
}
// Retrieveallsegments : Retrieve all segments
// GET /contactdb/segments
func Retrieveallsegments() {
apiKey := os.Getenv("YOUR_SENDGRID_APIKEY")
host := "https://api.sendgrid.com"
request := sendgrid.GetRequest(apiKey, "/v3/contactdb/segments", 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)
}
}
// Updateasegment : Update a segment
// PATCH /contactdb/segments/{segment_id}
func Updateasegment() {
apiKey := os.Getenv("YOUR_SENDGRID_APIKEY")
host := "https://api.sendgrid.com"
request := sendgrid.GetRequest(apiKey, "/v3/contactdb/segments/{segment_id}", host)
request.Method = "PATCH"
request.Body = []byte(` {
"conditions": [
{
"and_or": "",
"field": "last_name",
"operator": "eq",
"value": "Miller"
}
],
"list_id": 5,
"name": "The Millers"
}`)
queryParams := make(map[string]string)
queryParams["segment_id"] = "test_string"
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)
}
}
// Retrieveasegment : Retrieve a segment
// GET /contactdb/segments/{segment_id}
func Retrieveasegment() {
apiKey := os.Getenv("YOUR_SENDGRID_APIKEY")
host := "https://api.sendgrid.com"
request := sendgrid.GetRequest(apiKey, "/v3/contactdb/segments/{segment_id}", host)
request.Method = "GET"
queryParams := make(map[string]string)
queryParams["segment_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)
}
}
// Deleteasegment : Delete a segment
// DELETE /contactdb/segments/{segment_id}
func Deleteasegment() {
apiKey := os.Getenv("YOUR_SENDGRID_APIKEY")
host := "https://api.sendgrid.com"
request := sendgrid.GetRequest(apiKey, "/v3/contactdb/segments/{segment_id}", host)
request.Method = "DELETE"
queryParams := make(map[string]string)
queryParams["delete_contacts"] = "true"
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)
}
}
// Retrieverecipientsonasegment : Retrieve recipients on a segment
// GET /contactdb/segments/{segment_id}/recipients
func Retrieverecipientsonasegment() {
apiKey := os.Getenv("YOUR_SENDGRID_APIKEY")
host := "https://api.sendgrid.com"
request := sendgrid.GetRequest(apiKey, "/v3/contactdb/segments/{segment_id}/recipients", host)
request.Method = "GET"
queryParams := make(map[string]string)
queryParams["page"] = "1"
queryParams["page_size"] = "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)
}
}
func main() {
// add your function calls here
}