Introduction
With the Forms API, you can customize a registration form for site visitors to fill out with their contact details and other relevant information. The form defines which elements are rendered on the site page during the registration process (RSVP or checkout).
To build a registration form you need to use controls
(blocks), each of which may contain multiple field inputs. For example, the address
control may include inputs for street address, city, state, country, and zip code. By default, name
and email
controls are already included in the form and they can't be removed.
You can also include the following additional controls:
phone
address
date
additionalGuests
dropdown
checkBox
text
radioButton
Each event has a published registration form by default which automatically updates when calling one of the API functions. The form becomes a draft and you can publish it by calling the publishDraft
function.
The Forms API allows you to:
- Add, delete, update controls with relevant fields on the form.
- Publish changes or discard them in a draft form.
- Update messages displayed on the form.
- Get information about the form.
Terminology
- Registration form: An interface provided by an organization, website, or service to collect essential information from individuals who wish to sign up, enroll, or participate in an event, program, service, or membership.
- Event: A gathering organized by an individual or business for a group of people.
Setup
To use the Forms API, install the @wix/events
package using npm or Yarn:
1npm install @wix/events
or
1yarn add @wix/events
Then import { forms }
from @wix/events
:
1import { forms } from '@wix/events'
Adds an input control to the draft form.
Permission Scopes
For app development, you must have one of the following permission scopes:function addControl(eventId: string, options: AddControlOptions): Promise<AddControlResponse>
Retrieves an event registration form (both the draft and published versions).
Permission Scopes
For app development, you must have one of the following permission scopes:function getForm(eventId: string): Promise<Form>
Publishes the draft form.
Permission Scopes
For app development, you must have one of the following permission scopes:function publishDraft(eventId: string): Promise<PublishDraftResponse>