Enroll and cancel contacts
Enrolls the contacts in add and cancels the open enrollments of the contacts in remove, in one request: if any addition is invalid, nothing changes. Send add, remove or both, with at most 25 contact IDs in total; duplicate IDs are ignored, and an ID cannot be in both lists. The response has one result per contact: enrolled, already_enrolled, unenrolled, or no_active_enrollment for a removal with nothing open.
A contact already enrolled, paused included, is left as is; one whose earlier enrollment ended is enrolled again. Cancelling stops the contact’s remaining steps and leaves the enrollment readable with status CANCELLED. A paused sequence accepts enrollments and sends to them once it is activated; sending starts asynchronously.
Returns 400 sequence_not_published for a sequence that has never been published, and 400 invalid_configuration with invalidContacts naming each contact that cannot be enrolled and why. See Sequence errors.
Required scope: sequences:update
Rate limit category: Write
Enroll and cancel contacts
package main
import (
"context"
"fmt"
"github.com/Lightfld/lightfield-go"
"github.com/Lightfld/lightfield-go/option"
)
func main() {
client := githubcomlightfldlightfieldgo.NewClient(
option.WithAPIKey("My API Key"),
)
sequenceUpdateEnrollmentsResponse, err := client.Sequence.UpdateEnrollments(
context.TODO(),
"id",
githubcomlightfldlightfieldgo.SequenceUpdateEnrollmentsParams{
},
)
if err != nil {
panic(err.Error())
}
fmt.Printf("%+v\n", sequenceUpdateEnrollmentsResponse.Results)
}
{
"results": [
{
"contactId": "contactId",
"enrollmentId": "enrollmentId",
"outcome": "enrolled"
}
]
}Returns Examples
{
"results": [
{
"contactId": "contactId",
"enrollmentId": "enrollmentId",
"outcome": "enrolled"
}
]
}