customerio.go
func (c *CustomerIO) Track(customerID string, eventName string, data map[string]interface{}) error {

	body := map[string]interface{}{"name": eventName, "data": data}
	j, err := json.Marshal(body)

	if err != nil {
		return err
	}

	status, responseBody, err := c.request("POST", c.eventURL(customerID), j)

	if err != nil {
		return err
	} else if status != 200 {
		return &CustomerIOError{status, c.eventURL(customerID), responseBody}
	}

	return nil
}
func (c *CustomerIO) Track(customerID string, eventName string, data map[string]interface{}) error {

	body := map[string]interface{}{"name": eventName, "data": data}
	j, err := json.Marshal(body)

	if err != nil {
		return err
	}

	status, responseBody, err := c.request("POST", c.eventURL(customerID), j)

	if err != nil {
		return err
	} else if status != 200 {
		return &CustomerIOError{status, c.eventURL(customerID), responseBody}
	}

	return nil
}
func ( c * CustomerIO ) Track ( customerID string , eventName string , data map [ string ] interface { } ) error { body := map [ string ] interface { } { " " : eventName , " " : data } j , err := json . Marshal ( body ) if err != nil { return err } status , responseBody , err := c . request ( " " , c . eventURL ( customerID ) , j ) if err != nil { return err } else if status != 200 { return & CustomerIOError { status , c . eventURL ( customerID ) , responseBody } } return nil }
// Track sends a single event to Customer.io for the supplied user
Track sends a single event to Customer . io for the supplied user