Operations on syncs
- CreateSync - Create a new sync
- GetSyncs - Get all syncs
Create a new sync
package main
import(
"context"
"log"
"github.com/fabra-io/go-sdk"
"github.com/fabra-io/go-sdk/pkg/models/shared"
)
func main() {
s := fabra.New(
fabra.WithSecurity(shared.Security{
APIKeyAuth: "YOUR_API_KEY_HERE",
}),
)
ctx := context.Background()
res, err := s.Sync.CreateSync(ctx, shared.SyncInput{
CursorField: fabra.String("updated_at"),
CustomJoin: fabra.String("select * from events join additional_properties on events.id = additional_properties.event_id;"),
DestinationID: 2,
DisplayName: "Event Sync",
FieldMappings: []shared.FieldMapping{
shared.FieldMapping{
DestinationFieldName: fabra.String("event"),
SourceFieldName: fabra.String("event_name"),
},
shared.FieldMapping{
DestinationFieldName: fabra.String("event"),
SourceFieldName: fabra.String("event_name"),
},
},
Frequency: 30,
FrequencyUnits: shared.FrequencyUnitsEnumHours,
Namespace: fabra.String("end_customer_bigquery_dataset"),
ObjectID: 3,
PrimaryKey: fabra.String("event_id"),
SourceID: 1,
TableName: fabra.String("end_customer_events"),
})
if err != nil {
log.Fatal(err)
}
if res.CreateSync200ApplicationJSONObject != nil {
// handle response
}
}
Get all syncs
package main
import(
"context"
"log"
"github.com/fabra-io/go-sdk"
)
func main() {
s := fabra.New(
fabra.WithSecurity(shared.Security{
APIKeyAuth: "YOUR_API_KEY_HERE",
}),
)
ctx := context.Background()
res, err := s.Sync.GetSyncs(ctx)
if err != nil {
log.Fatal(err)
}
if res.GetSyncs200ApplicationJSONObject != nil {
// handle response
}
}