Skip to main content

Introduction

Welcome to the Conviso Go SDK documentation! This library provides a simple and powerful way to integrate your Go application with Codematic's Customer Data Platform.

What is the Go SDK?​

The Conviso Go SDK is a robust library that allows you to:

  • Identify users and track their attributes
  • Track events to understand user behavior
  • Send transactional emails (template-based or raw HTML)
  • Send push notifications to your users
  • Dual-write for migration scenarios
  • Handle high throughput with built-in concurrency limiting
  • Type-safe with native Go structs

Key Features​

Simple API​

The SDK provides an intuitive API that makes it easy to get started:

import "github.com/codematic/opencdp-go/cdp"

client := cdp.NewClient(cdp.CDPConfig{
CDPAPIKey: "your-api-key",
})
defer client.Close()

err := client.Identify(context.Background(), "user123", map[string]interface{}{
"email": "[email protected]",
"firstName": "John",
"lastName": "Doe",
})

err := client.Track(context.Background(), "user123", "purchase_completed", map[string]interface{}{
"amount": 99.99,
})

Production-Ready​

  • Connection pooling for optimal performance
  • Automatic concurrency limiting to prevent overwhelming your infrastructure
  • Comprehensive error handling with detailed error messages
  • Dual-write support for seamless migration from Customer.io

Go Idiomatic​

Built with Go best practices in mind, using contexts and strongly typed configuration:

config := cdp.CDPConfig{
CDPAPIKey: "your-api-key",
Timeout: 10000,
MaxConcurrentRequests: 20,
Debug: true,
}

Getting Started​

Ready to integrate the Conviso Go SDK? Head over to the Installation Guide to get started!

Resources​