github.com/clerkinc/clerk-sdk-go@v1.49.1/clerk/emails.go (about)

     1  package clerk
     2  
     3  import (
     4  	"encoding/json"
     5  )
     6  
     7  type EmailService service
     8  
     9  type Email struct {
    10  	FromEmailName  string `json:"from_email_name"`
    11  	Subject        string `json:"subject"`
    12  	Body           string `json:"body"`
    13  	EmailAddressID string `json:"email_address_id"`
    14  }
    15  
    16  type EmailResponse struct {
    17  	ID               string          `json:"id"`
    18  	Object           string          `json:"object"`
    19  	Status           string          `json:"status,omitempty"`
    20  	ToEmailAddress   *string         `json:"to_email_address,omitempty"`
    21  	DeliveredByClerk bool            `json:"delivered_by_clerk"`
    22  	Data             json.RawMessage `json:"data"`
    23  	Email
    24  }
    25  
    26  func (s *EmailService) Create(email Email) (*EmailResponse, error) {
    27  	req, _ := s.client.NewRequest("POST", EmailsUrl, &email)
    28  
    29  	var emailResponse EmailResponse
    30  	_, err := s.client.Do(req, &emailResponse)
    31  	if err != nil {
    32  		return nil, err
    33  	}
    34  	return &emailResponse, nil
    35  }