Novu's API exposes the entire Novu features via a standardized programmatic interface. Please refer to the full documentation to learn more.
Install the package to your GoLang project.
go get github.com/novuhq/go-novu
Please follow the installation procedure and then run the following:
package main
import (
"context"
"fmt"
novu "github.com/novuhq/go-novu/lib"
"log"
)
func main() {
subscriberID := "<<REPLACE_WITH_YOUR_SUBSCRIBER>"
apiKey := "<REPLACE_WITH_YOUR_API_KEY>"
eventId := "<REPLACE_WITH_YOUR_EVENT_ID>"
ctx := context.Background()
to := map[string]interface{}{
"lastName": "Doe",
"firstName": "John",
"subscriberId": subscriberID,
"email": "[email protected]",
}
payload := map[string]interface{}{
"name": "Hello World",
"organization": map[string]interface{}{
"logo": "https://happycorp.com/logo.png",
},
}
data := novu.ITriggerPayloadOptions{To: to, Payload: payload}
novuClient := novu.NewAPIClient(apiKey, &novu.Config{})
resp, err := novuClient.EventApi.Trigger(ctx, eventId, data)
if err != nil {
log.Fatal("novu error", err.Error())
return
}
fmt.Println(resp)
// get integrations
integrations, err := novuClient.IntegrationsApi.GetAll(ctx)
if err != nil {
log.Fatal("Get all integrations error: ", err.Error())
}
fmt.Println(integrations)
}
NOTE
Check the cmd
directory to see a sample implementation and test files to see sample tests
Class | Method | HTTP request | Description |
---|---|---|---|
EventApi | Trigger | Post /events/trigger | Trigger |
SubscriberApi | Get | Get /subscribers/:subscriberId | Get a subscriber |
SubscriberApi | Identify | Post /subscribers | Create a subscriber |
SubscriberApi | Update | Put /subscribers/:subscriberID | Update subscriber data |
SubscriberApi | Delete | Delete /subscribers/:subscriberID | Removing a subscriber |
SubscriberApi | Get | Get /subscribers/:subscriberId/preferences | Get subscriber preferences |
SubscriberApi | Patch | Patch /subscribers/:subscriberId/preferences/:templateId | Update subscriber preference |
IntegrationsApi | Create | Post /integrations | Create an integration |
IntegrationsApi | Update | Put /integrations/:integrationId | Update an integration |
IntegrationsApi | Delete | Delete /integrations/:integrationId | Delete an integration |
IntegrationsApi | Get | Get /integrations | Get all integrations |
IntegrationsApi | GetActive | Get /integrations/active | Get all active integrations |
- Type: API key
- API key parameter name: ApiKey
- Location: HTTP header
Be sure to visit the Novu official documentation website for additional information about our API.
If you find a bug, please post the issue on Github.
As always, if you need additional assistance, join our Discord us a note here.
Name |
---|
Oyewole Samuel |
Dima Grossman |