Search.../

createSubmission( )

Creates a submission.

Note: The Submissions API is only available in Wix Studio and Editor X.

Description

The createSubmission() function is an alternative way to the WixFormsV2 element for submitting a form. In this case, clicking the submit button is unnecessary, the submission is automatically created when calling this function.

Syntax

function createSubmission(submission: FormSubmission, options: CreateSubmissionOptions): Promise<CreateSubmissionResponse>

createSubmission Parameters

NAME
TYPE
DESCRIPTION
submission
FormSubmission

Submission to create.

options
Optional
CreateSubmissionOptions

Optional fields.

Returns

Return Type:

Promise<
CreateSubmissionResponse
>
NAME
TYPE
DESCRIPTION
submission
FormSubmission

The created submission.

Was this helpful?

Create a submission

Copy Code
1import { submissions } from 'wix-forms.v2';
2
3/* Sample submission value:
4{
5 "formId": "21bcb6c7-02b3-4ed1-b6db-7856094fac03",
6 "seen": false,
7 "status": "PENDING",
8 "submissions": {
9 "first_name": "Patsy",
10 "last_name": "McBride"
11 }
12}
13*/
14
15export async function myCreateSubmissionFunction(submission, options) {
16 try {
17 const createdSubmission = await submissions.createSubmission(submission, options);
18 console.log('Success! Created submission:', createdSubmission);
19 return createdSubmission;
20 } catch (error) {
21 console.error(error);
22 // Handle the error
23 }
24}
25
26/* Promise resolves to:
27{
28 "submission": {
29 "formId": "21bcb6c7-02b3-4ed1-b6db-7856094fac03",
30 "namespace": "wix.form_app.form",
31 "status": "PENDING",
32 "submissions": {
33 "first_name": "Patsy",
34 "last_name": "McBride"
35 },
36 "revision": "1",
37 "submitter": {
38 "applicationId": "151e476a-715e-ec33-db9a-a7ff4d51f70a"
39 },
40 "seen": false,
41 "_id": "f8281b62-1b2f-45bf-ba7d-f041d7653d2d",
42 "_createdDate": "2023-12-28T12:55:55.630Z",
43 "_updatedDate": "2023-12-28T12:55:55.746Z"
44 }
45}
46*/
Create a submission (export from backend code)

Copy Code
1import { Permissions, webMethod } from 'wix-web-module';
2import { submissions } from 'wix-forms.v2';
3import { elevate } from 'wix-auth';
4
5/* Sample submission value:
6{
7 "formId": "21bcb6c7-02b3-4ed1-b6db-7856094fac03",
8 "seen": false,
9 "status": "PENDING",
10 "submissions": {
11 "first_name": "Patsy",
12 "last_name": "McBride"
13 }
14}
15*/
16
17export const myCreateSubmissionFunction = webMethod(Permissions.Anyone, async (submission, options) => {
18 try {
19 const elevatedCreateSubmission = elevate(submissions.createSubmission);
20 const createdSubmission = await elevatedCreateSubmission(submission, options);
21 console.log('Success! Created submission:', createdSubmission);
22 return createdSubmission;
23 } catch (error) {
24 console.error(error);
25 // Handle the error
26 }
27});
28
29/* Promise resolves to:
30{
31 "submission": {
32 "formId": "21bcb6c7-02b3-4ed1-b6db-7856094fac03",
33 "namespace": "wix.form_app.form",
34 "status": "PENDING",
35 "submissions": {
36 "first_name": "Patsy",
37 "last_name": "McBride"
38 },
39 "revision": "1",
40 "submitter": {
41 "applicationId": "151e476a-715e-ec33-db9a-a7ff4d51f70a"
42 },
43 "seen": false,
44 "_id": "f8281b62-1b2f-45bf-ba7d-f041d7653d2d",
45 "_createdDate": "2023-12-28T12:55:55.630Z",
46 "_updatedDate": "2023-12-28T12:55:55.746Z"
47 }
48}
49*/
50
Create a submission with a media file

Copy Code
1/**************************************
2 * Backend code - my-backend-file.web.js *
3 *************************************/
4
5import { Permissions, webMethod } from 'wix-web-module';
6import { submissions } from 'wix-forms.v2';
7import { elevate } from 'wix-auth';
8
9// Get a URL for uploading a media file
10
11export const myGetMediaUploadUrlFunction = webMethod(Permissions.Anyone, async (formId, filename, mimeType) => {
12 try {
13 const elevatedGetMediaUploadUrl = elevate(submissions.getMediaUploadUrl);
14 const uploadUrl = await elevatedGetMediaUploadUrl(formId, filename, mimeType);
15 return uploadUrl;
16 } catch (error) {
17 console.error(error);
18 // Handle the error
19 }
20});
21
22// Create a submission
23
24export const myCreateSubmissionFunction = webMethod(Permissions.Anyone, async (submission, options) => {
25 try {
26 const elevatedCreateSubmission = elevate(submissions.createSubmission);
27 const createdSubmission = await elevatedCreateSubmission(submission, options);
28 return createdSubmission;
29 } catch (error) {
30 console.error(error);
31 // Handle the error
32 }
33});
34
35/*************
36 * Page code *
37 ************/
38
39import { myCreateSubmissionFunction, myGetMediaUploadUrlFunction } from 'backend/my-backend-file.web';
40
41const submission = {
42 "formId": "21bcb6c7-02b3-4ed1-b6db-7856094fac03",
43 "seen": false,
44 "revision": "6",
45 "submissions": {
46 "first_name": "Jane",
47 "last_name": "McBride",
48 "file_upload_7a7f": ""
49 }
50}
51
52const formId = "21bcb6c7-02b3-4ed1-b6db-7856094fac03"
53
54const filename = "photo.jpg"
55
56const mimeType = "image/jpg"
57
58$w.onReady(() => {
59
60 myGetMediaUploadUrlFunction(formId, filename, mimeType).then((result) => {
61 submission.submissions.file_upload_7a7f = result.uploadUrl // push the URL into the submissions object
62 });
63
64 /*
65 Upload a media file to the generated URL by following the
66 information written in the Upload API (https://www.wix.com/velo/reference/wix-media-v2/upload-api) article.
67 */
68
69 myCreateSubmissionFunction(submission).then((result) => {
70 console.log('Success! Created submission:', result);
71 });
72
73});