Tenants (previously named as brands) are used for whitelabelling notifications, personliazing template content or capturing admin preferences for another entity/organization. Tenants are workspace-level entities and by default, a tenant with tenant_id="default" (representing your organization) is created your workspace. Read more about tenants here.

Create / Update Tenant

This method will create a new tenant or update an existing tenant.

tenantPayload := &suprsend.Tenant{
  TenantName:      suprsend.String("Tenant Name"),
  Logo:           suprsend.String("Tenant logo url"),
  PrimaryColor:   suprsend.String("#FFFFFF"),
  SecondaryColor: suprsend.String("#000000"),
  TertiaryColor:  nil,
  SocialLinks: &suprsend.TenantSocialLinks{
    Facebook: suprsend.String("https://facebook.com/tenant"),
  },
  Properties: map[string]interface{}{
    "k1": "tenant settings 1",
    "k2": "tenant settings 2",
  },
}

res, err := suprClient.Tenants.Upsert(context.Background(), "__tenant_id__", tenantPayload)
if err != nil {
  log.Fatalln(err)
}
log.Println(res)

Get Tenant

tenant1, err := suprClient.Tenants.Get(context.Background(), "tenant_id")
if err != nil {
  log.Fatalln(err)
}
log.Println(tenant1)

List Tenants

By default, limit=20. The maximum value for limit is 1000.

tenantsList, err := suprClient.Tenants.List(context.Background(), &suprsend.TenantListOptions{Limit: 10})
if err != nil {
  log.Fatalln(err)
}
log.Println(tenantsList)

Add tenant in Workflow

wf := &suprsend.WorkflowTriggerRequest{
    Body: wfReqBody,
    TenantId: "tenant_id"
  }

Add tenant in Event

ev := &suprsend.Event{
  EventName:  "__event_name__",
  DistinctId: "__distinct_id__",
  Properties: map[string]interface{}{...},
  TenantId: "tenant_id"
}