https://docs.kickbox.com/docs/using-the-api
$ go get github.com/wakumaku/kickbox
✅ Single verification
✅ Batch verification
✅ Batch status check
Will make real http requests against kickbox services. You can use a test_apikey
to enable the sandbox mode.
With defaults:
client, err := kickbox.New("apikey")
...
With options:
client, err := kickbox.New("apikey",
kickbox.OverrideBaseURL("http://mock.server.com"),
kickbox.MaxConcurrentConnections(100), // Default: is 25
kickbox.CustomRateLimiter(rate.NewLimiter(rate.Limit(50), 1)), // Default: 8000 per minute
kickbox.CustomHTTPClient(&http.Client{}),
)
...
client, err := kickbox.New("apikey")
if err != nil {
return
}
stats, response, err := client.Verify(context.TODO(), "[email protected]")
...
client, _ := kickbox.New("apikey")
emailsFile, err := os.Open(csvFilePath)
if err != nil {
return
}
resp, _ := client.VerifyBatch(
context.TODO(),
emailsFile,
)
With options:
client, _ := kickbox.New("apikey")
emailsFile, err := os.Open(csvFilePath)
if err != nil {
return
}
resp, err := c.VerifyBatch(
context.TODO(),
emailsFile,
kickbox.Filename("my_results.csv"),
kickbox.Callback("http://notify.result.here"),
)
client, _ := kickbox.New("apikey")
resp, err := client.VerifyBatchCheck(context.TODO(), "batch_ID")
For testing and CI/CD environments, without external calls.
client := kickbox.NewSandbox()
stats, response, err := client.Verify(context.TODO(), "[email protected]")