Skip to content

pombredanne/createsend-go

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

27 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

createsend-go

createsend-go is a Go library for accessing the Campaign Monitor API.

This is an unofficial library that is not affiliated with Campaign Monitor. Official libraries are available at github.com/campaignmonitor.

Documentation: https://sourcegraph.com/github.com/sourcegraph/createsend-go/tree

Build Status status xrefs funcs top func Views in the last 24 hours

Example usage

package createsend_test

import (
	"fmt"
	"github.com/sourcegraph/createsend-go/createsend"
	"net/http"
	"os"
)

func Example() {
	apiKey := os.Getenv("API_KEY")
	if apiKey == "" {
		fmt.Fprintf(os.Stderr, "You must set your Campaign Monitor API key in the API_KEY environment variable to run example_test.go. (Skipping.)\n")
		os.Exit(0)
	}

	authClient := &http.Client{
		Transport: &createsend.APIKeyAuthTransport{APIKey: apiKey},
	}

	c := createsend.NewAPIClient(authClient)
	clients, err := c.ListClients()
	if err != nil {
		fmt.Printf("Error listing clients: %s\n", err)
		os.Exit(1)
	}
	fmt.Printf("Found %d clients.\n", len(clients))
	for _, client := range clients {
		fmt.Printf(" - %s (ID: [%d-char ID])\n", client.Name, len(client.ClientID))
	}

	// This output will be different for each account.

	// output:
	// Found 1 clients.
	//  - Sourcegraph (ID: [32-char ID])
}

See the createsend/example_test.go file for the full source.

Running the tests

To run the tests:

go test ./createsend

To run the included example (in createsend/example_test.go), set your Campaign Monitor API key in the API_KEY environment variable (available in Account Settings).

API_KEY=your-api-key go test ./createsend

Acknowledgements

The library's architecture and testing code are adapted from go-github, created by Will Norris.

About

createsend-go is a Go library for accessing the Campaign Monitor API (UNOFFICIAL)

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Go 100.0%