SAP Open Connectors

Eloqua - POST Forms with multiple form fields

If you are creating a form in Eloqua via REST, each field in the connectors array needs a negative ID. Without the negative IDs, you are only able to post one field at a time.

Example payload with multiple fields:

   
{
	"processingType": "externalWebsite",
	"type": "Form",
	"elements": [
		{
			"id":"-1",
			"displayType": "text",
			"htmlName": "fname",
			"dataType": "text",
			"name": "First Name",
			"type": "FormField"
		},		
		{
			"id":"-2",
			"displayType": "text",
			"htmlName": "lname",
			"dataType": "text",
			"name": "Last Name",
			"type": "FormField"
		},
		{
			"id":"-3",
			"displayType": "text",
			"htmlName": "email",
			"dataType": "text",
			"name": "Email Address",
			"type": "FormField",
			 "validations": [
        {
          "condition": {
            "type": "PreventXSSCondition"
          },
          "isEnabled": "true",
          "type": "FieldValidation",
          "message": "Value must not contain any HTML"
        },
        {
          "condition": {
            "maximum": "35",
            "type": "TextLengthCondition",
            "minimum": "2"
          },
          "isEnabled": "true",
          "type": "FieldValidation",
          "message": "Invalid length for field value"
        },
        {
          "condition": {
            "type": "IsEmailAddressCondition"
          },
          "isEnabled": "true",
          "type": "FieldValidation",
          "message": "A valid email address is required"
        }
				 ]
		},
		{
			"id":"-4",
			"displayType": "text",
			"htmlName": "company",
			"dataType": "text",
			"name": "Company",
			"type": "FormField"
		}
	],
	"name": "CE_Test_Min_01wValidation(1232322)",
	"processingSteps": [
		{
			"externalUrl": {
				"type": "ProcessingStepValue",
				"constantValue": "https://specio-bin.now.sh/buckets/pgi/requests",
				"valueType": "constant"
			},
			"description": "Post to PGI Webcasts.com",
			"type": "FormStepPostData",
			"execute": "always",
			"name": "Post Data to Server"
		}
	]
}


Example error if you don't add the negative IDs:

Internal Server Error

There was an internal server error. The error has been logged with log identifier 304238262. Please provide this log identifier to technical support.