Webform data preprocessing error

Hi community,

I've connected a form with Creatio via SaveWebFormObjectDataResult service, and received a error

"{\"SaveWebFormObjectDataResult\":\"{resultMessage:\\\"Webform data preprocessing error\\\",resultCode:-1}\"}" 

Does anybody know what reasons can cause that error?

Like 0

Like

2 comments

Hello,

The error message “Webform data preprocessing error” from the SaveWebFormObjectDataResult service may occur when the request body cannot be parsed or when the request’s Content-Type is unsupported. Please ensure that the Content-Type is set to application/json.

Along with the required cookies, the request must include a properly structured JSON object containing the web form data. This error may also appear if the data format is incorrect or if the webhook body is malformed.

  • Common causes include:
  • Missing required fields
  • Incorrect data types
  • Lookup fields not provided as GUIDs

It’s recommended to double-check your field mappings and payload structure. If the issue persists, please contact Creatio Support for a more detailed analysis and provide:

  • Remote access under the Supervisor user
  • A link to the form record in Creatio
  • A link to the web form (the external page where users submit the form)

Verifying set-up with below Academy article might also be helpful:
https://academy.creatio.com/docs/8.x/dev/development-on-creatio-platform/8.1/platform-customization/classic-ui/landings/web-to-object/overview

Additionally, please note that traditional web forms are being gradually superseded by the Landing Pages functionality in Creatio, which offers a more robust and flexible approach to capture data. We recommend reviewing this feature as a potential alternative:
https://academy.creatio.com/docs/8.x/creatio-apps/products/marketing-tools/lead-generation-app/landing-pages/create-a-landing-page

 

you can add extendResponseWithExceptionType option

{
   "formData": {
       "formId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
       "options": {"extendResponseWithExceptionType": true},
       "formFieldsData": [
           {
               "name": "Name",
               "value": "Subscriber"
           },
           {
               "name": "Email",
               "value": "subscriber@creatio.com"
           }
       ],
       "contactFieldsData": [
          {
              "name": "FullName",
              "value": "Subscriber"
          }
      ]
   }
}

web-to-object service has 2 different processing methods: "old" synchronous and asynchronous

system make decision to process data asynchronously based on existence of

    contactFields: {
        "FullName": "css-selector", // Name of a contact
        "Phone": "css-selector", // Contact's mobile phone
        "Email": "css-selector" // Contact's email
    },

group (contactFieldsData in form payload)

this group is processing when "Create contact" check-box is set for landing.

even if "Create contact" is not enabled, Creatio start asynchronous processing of received web-form.

GeneratedObjectWebFormService:
var webFormHandler = UserConnection.GetIsFeatureEnabled("WebFormAsyncHandler")
                   && formData.contactFieldsData != null && formData.contactFieldsData.Length > 0
               ? WebFormAsyncHandler
               : WebFormHandler;

WebFormAsyncHandler

in this case:

  1. web-form data writes into WebFormData table (you can add lookup for it)
  2. Creatio sends response to request (in 200 ms instead of 10 sec)
  3. Creatio start process data to create object.

actually you have to look in logs for error description, or use telemetry log in Creatio or in clio when sending your data.

having received FormData, you can decide what the reason of such error.

preprocessors are defined in %PreProcessHandler schemas, in your case probably WebFormLeadPreProcessHandler (one of them). also it is LeadSourceHelper etc... but this information is not necessary, cause webhooks is preferrable method to retrieve info, for now.

Show all comments