Registrations
A registration is a seat somebody took in a webinar, through the form, a paid ticket order or the API, with what they typed and where they came from. The same person registering again is another registration. Creating one is the webinar’s route (see Create a registration).
GET /public/v1/webinar-registrationsAcross every webinar of the organization, or one’s by webinarId.
| Filter | Narrows to |
|---|---|
webinarId |
One webinar’s. |
name, email |
Containing it. |
phone |
Digits contained in the whole number; phoneCc the calling code exactly. |
timezone |
Exactly. |
source, medium, campaign, content, term |
The UTM tag exactly. |
webinarSessionId |
One session’s registrations. |
watchedSeconds |
Who watched at least this long, session and replay together. |
createdAtFrom, createdAtTo |
Registered in the span. |
sessionStartsAtFrom, sessionStartsAtTo |
Whose session starts in the span. |
One registration
Section titled “One registration”GET /public/v1/webinar-registrations/:webinarRegistrationId| Field | What it is |
|---|---|
id, organizationId, webinarId |
|
firstName, lastName, name |
name is the two together. |
email, phoneCc, phoneNumber, phone |
phone is the two together, +5511987654321; all three empty where none was given. |
country |
Where they registered from, as read off their address; absent where it could not be. |
timezone |
The clock their sessions are read in. |
source, medium, campaign, content, term |
The page’s UTM tags when they registered. |
webinarSessionId |
Their seat: the session, of either method. |
sessionStartsAt |
When that session starts. |
selectedSchedule |
The entry of the webinar’s schedule that names the time they registered for, worked out by Sparkwebinar: type — fixedDate, recurringStandardCron or recurringJustInTimeCron, which names only its next time, and is that time’s however many name it — and value, the date or the cron as the webinar held it. Theirs, whatever the schedule becomes. |
webinarTicketOrderId |
The ticket order they were created from, on a webinar that charges; absent where it is free. |
abTestId |
The A/B test that dealt the form they registered through — on a paid webinar, the form their ticket order was sent from. Absent where no test dealt it, and where they did not come through a form: the dashboard, this API, an order made without one. |
accessToken |
What opens their pages beside their id — below. |
conversionCode |
What a checkout link of your own carries to name them: ?sck=r{conversionCode} (with the r), so a Hotmart sale made through it is counted as theirs. In an automation, ?sck=r{{webinarRegistration.conversionCode}}. |
webinarPlayerPageViews, webinarPlays |
What they did: each opening of the watch page — kind session or replay, when — and each play on it, with watchedSeconds and the offers they clicked. |
anonymized |
Whether what identified them was erased; firstName to phone are then empty. |
createdAt |
When they registered. |
Their pages open by their id and their access token: a live’s or an
evergreen’s session at /session/<id>?accessToken=<accessToken> on the
watch host — watch.sparkwebinar.io, or the domain of your own the
webinar is on —, and a survey at
/response/<surveyId>/<id>?accessToken=<accessToken> on the surveys
host, the same way. The token is theirs: a link with it is a link into
their seat.
Correct
Section titled “Correct”PATCH /public/v1/webinar-registrations/:webinarRegistrationIdAny of firstName, lastName, email, phoneCc, phoneNumber,
timezone, the UTM tags, sessionStartsAt —
whichever are sent. The phone is a pair: a half sent is checked against
the half that stays. A seat is moved by sending another time of the
webinar’s schedule as sessionStartsAt, read
in the timezone sent, or the registration’s own —, checked as a new
registration’s is, and whatever was counting from the old one —
automations waiting for the session — counts from the new. A webinar
with its sign-ups paused makes no new session: a time with none yet is
refused as WEBINAR_REGISTRATIONS_CLOSED (409); a seat moved into a
session it already has goes on — its sessions
say which. Sparkwebinar does not accept
registrations more than 90 days ahead: a seat moved to a time further off is
refused as WEBINAR_REGISTRATION_TOO_FAR_AHEAD (400).
Anonymize
Section titled “Anonymize”POST /public/v1/webinar-registrations/:webinarRegistrationId/anonymizeWhat identified the person is erased for good, and nothing brings it back:
the name, e-mail and phone are blank — on the registration and on the
ticket order that made it —, the country and the avatar absent. Their chat
lines stay in no name, the comment beside their rating and their answers in
words to surveys are erased, what automations kept of them is erased and the
ones still under way are canceled, and the webhook deliveries that told of
them are gone. What was already sent to anyone else is theirs to erase.
The registration stays with anonymized: true, and counts as any other: in
the registrations quota, in its session and in every number, with its plays,
sales and rating, its UTM tags, and its time zone. Its watch and survey links open nothing.
Anonymizing one twice answers the same; correcting one is refused as
WEBINAR_REGISTRATION_ANONYMIZED (409).
A registration is never deleted.