Qualifio participation webhook

Type: object

Schema of the participation webhook 2.3.0

No Additional Properties
Example:

{
    "id": "4B1E9345-1C0C-463F-82A0-E6857DBDFE80",
    "ip": "A66A8BED9948CBDD",
    "url": "https://player.qualifio.com/20/v1.cfm?id=ABCDEFGH-1234-IJKL-5678-MNOPQRSTUVWX",
    "startedAt": "2020-10-30T14:05:00.000Z",
    "completedAt": "2020-10-30T14:55:00.000Z",
    "state": "COMPLETED",
    "browser": {
        "device": "desktop",
        "userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.198 Safari/537.36"
    },
    "campaign": {
        "id": 123456,
        "name": "Campaign title",
        "themes": [
            {
                "code": "MY_THEME",
                "description": "My theme description"
            }
        ],
        "type": "QUIZZ",
        "channel": {
            "uuid": "5E5D16EB-EF1C-4B35-B1BA-5EC016F8D3D7",
            "publishType": "widget",
            "dateStart": "2020-11-25T00:00:00.000Z",
            "dateEnd": "2020-12-09T23:59:00.000Z",
            "website": {
                "id": 1234,
                "name": "Developer Qualifio",
                "domain": "qualifio-testing.qualifioapp.com",
                "country": "BE"
            }
        }
    },
    "form": [
        {
            "id": 12345,
            "label": "Last name",
            "type": "LASTNAME",
            "variable": "lastname",
            "responses": [
                {
                    "value": "Qualifio"
                }
            ]
        },
        {
            "id": 12345,
            "label": "Gender",
            "type": "GENDER",
            "variable": "gender",
            "responses": [
                {
                    "label": "Male",
                    "value": "M"
                }
            ]
        },
        {
            "id": 54321,
            "label": "File upload",
            "type": "FILE UPLOAD",
            "variable": "upload",
            "responses": [
                {
                    "file": {
                        "path": "https://files.qualifio.com/upload/qualifio___testing_0/934297D5-7987-43D8-B11F-A4374DBA36B8/033EE001-E069-431B-B9E8-22612832DF5C/upload-1534753-033ee001-e069-431b-b9e8-22612832df5c.png",
                        "name": "upload-1534753-033ee001-e069-431b-b9e8-22612832df5c.png",
                        "type": "image/png"
                    }
                }
            ]
        }
    ],
    "optins": [
        {
            "id": 12345,
            "label": "Subscribe to my newsletter",
            "description": "By checking this optin you agree to receive a monthly newsletter sended by Qualifio.",
            "response": "1",
            "variable": "my_newsletter",
            "categories": [
                {
                    "id": 118,
                    "label": "Newsletter & marketing",
                    "technicalName": "newsletter_marketing",
                    "parent": {
                        "id": 218,
                        "label": "Newsletter & marketing",
                        "technicalName": "newsletter_marketing"
                    }
                }
            ]
        }
    ],
    "questionnaire": [
        {
            "id": 12345,
            "label": "Who's the best developer at Qualifio ?",
            "type": "ALPHA NUMERIC",
            "score": 50,
            "maxScore": 100,
            "variable": "bestDeveloperVar",
            "responses": [
                {
                    "value": "Olivier De Lamotte",
                    "score": 50,
                    "isCorrect": true
                }
            ]
        },
        {
            "id": 123987,
            "label": "A super matrix question :",
            "type": "MATRIX",
            "variable": "matrix",
            "responses": [
                {
                    "order": 1,
                    "label": "How much do you love my matrix ?",
                    "value": "♡♡♡"
                },
                {
                    "order": 2,
                    "label": "How much do you love Qualifio ?",
                    "value": "♡♡♡♡♡"
                },
                {
                    "order": 3,
                    "label": "How much do you love our Webhook ?",
                    "value": "♡♡♡♡♡"
                }
            ]
        }
    ],
    "qualification": [],
    "exitScreen": {
        "timeElapsed": 0,
        "score": 0,
        "gift": {
            "won": true,
            "wonAt": "2020-11-25T00:00:00.000Z",
            "giftData": {
                "id": 432,
                "codesListId": 5431,
                "plannedAt": "2020-11-24T22:00:00.000Z",
                "label": "My super gift",
                "description": "This gift allow you to get a 50% reduction for a new PS5.",
                "picture": "https://gmedia.playstation.com/is/image/SIEPDC/ps5-anthem-overview-hero-desktop-02-en-22oct20?$2400px--t$",
                "url": "https://www.google.com/"
            }
        },
        "personalityTest": [
            {
                "order": 1,
                "occurrence": 1,
                "percentage": 85,
                "group": "A",
                "groupName": "Profile A title",
                "value": "profileA",
                "variable": "personalityTest"
            },
            {
                "order": 2,
                "occurrence": 1,
                "percentage": 15,
                "group": "C",
                "groupName": "Profile C title",
                "value": "profileC",
                "variable": "personalityTest"
            }
        ],
        "burnedCodes": [
            {
                "variable": "BURN:1234",
                "code": "GZ12MS"
            }
        ]
    },
    "variables": {
        "lastname": "Qualifio",
        "gender": "M",
        "bestDeveloperVar": "Olivier De Lamotte",
        "my_newsletter": "1",
        "upload": "https://files.qualifio.com/upload/qualifio___testing_0/934297D5-7987-43D8-B11F-A4374DBA36B8/033EE001-E069-431B-B9E8-22612832DF5C/upload-1534753-033ee001-e069-431b-b9e8-22612832df5c.png",
        "matrix": {
            "How much do you love my matrix ?": "♡♡♡",
            "How much do you love Qualifio ?": "♡♡♡♡♡",
            "How much do you love our Webhook ?": "♡♡♡♡♡"
        },
        "personalityTest": {
            "profileA": 85,
            "profileC": 15
        }
    },
    "globalVariables": {
        "myGlobalVar": "theGlobalVarValue",
        "pushWebhookParticipationV2.aGlobalVariableLinkedToTheWebhook": "it's value"
    },
    "externalIds": {
        "gigyaId": "e1a7fbf0-0e69-4f57-8194-e10eebeff66c"
    },
    "metadata": {
        "uniqueCode": "XAG4M3",
        "sso": {
            "sub": "5dde1209-d5c7-49b0-8ce5-9c08ad109297",
            "isMember": true
        },
        "secureToken": {
            "sub": "5dde1209-d5c7-49b0-8ce5-9c08ad109297",
            "exp": 112421541,
            "iat": 12214214,
            "iss": "Qualifio",
            "campaignId": 123456,
            "limit": {
                "nb": 1,
                "canPlay": false
            },
            "gift": {
                "id": 123,
                "name": "2000",
                "strategy": "PLANNING"
            }
        },
        "doubleOptin": {
            "status": "APPROVED",
            "date": "2020-10-30T14:55:00.000Z"
        }
    }
}

Type: stringFormat: uuid

The participation ID (unique id for this participation within Qualifio)


Example:

"4B1E9345-1C0C-463F-82A0-E6857DBDFE80"

Type: string

The IP address of the end user (hashed for GDPR reasons)


Example:

"A66A8BED9948CBDD"

Type: stringFormat: date-time

The timestamp when the user started to play (Datetime - ISO8601 standard)


Example:

"2020-10-30T14:05:00.000Z"

Type: stringFormat: date-time

The timestamp when the user has completed his participation, only available for participations that have reach the end of the campaign (Datetime - ISO8601 standard)


Example:

"2020-10-30T14:55:00.000Z"

Type: stringFormat: date-time

The timestamp of a participation when the participant left before the end of the campaign (Datetime - ISO8601 standard)


Example:

"2020-10-30T14:55:00.000Z"

Type: enum (of string)

The state of this participation, this field indicate if the participation is complete or not

Must be one of:

  • "COMPLETED"
  • "PARTIAL"


The url where the end user has played the campaign

Type: stringFormat: uri
Type: string

Empty string - usually in mobile apps the url is not available

Must match regular expression: ^$

Examples:

"https://player.qualifio.com/20/v1.cfm?id=ABCDEFGH-1234-IJKL-5678-MNOPQRSTUVWX"
""

Type: object

The query parameters present in the url when the user started to play


Example:

{
    "utm_source": "demo",
    "utm_campaign": "NEWSLETTER_001",
    "utm_medium": "email"
}

Each additional property must conform to the following schema

Type: string

The query parameter key and the value as a string

Type: object

The information about the browser of the end user

No Additional Properties

Type: string

The type of device of the end user


Example:

"desktop"

Type: string

The user agent of the browser of the end user


Example:

"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.198 Safari/537.36"

Type: object

Structure containing all the metadata about the campaign, the channel and its website

No Additional Properties

Type: integer

The ID of the campaign


Example:

123456

Type: string

The name of the campaign


Example:

"Campaign name"

Type: enum (of string)

The type of the campaign as a constant

Must be one of:

  • "QUIZ"
  • "POLL"
  • "UNKNOWN"
  • "FORM"
  • "SURVEY"
  • "PERSONALITY TEST"
  • "CHRONO QUIZ"
  • "COREGISTRATION FORM"
  • "INSTANT WIN"
  • "PHOTO CONTEST UPLOAD"
  • "PHOTO CONTEST VOTE"
  • "WRITING COMPETITION UPLOAD"
  • "WRITING COMPETITION VOTE"
  • "VIDEO CONTEST UPLOAD"
  • "VIDEO CONTEST VOTE"
  • "MEMORY"
  • "CUMULATIVE QUIZ"
  • "PREDICTION"
  • "LANDING PAGE"
  • "SUDDEN DEATH"
  • "SLIDESHOW"
  • "BATTLE"
  • "GUESS THE WORD"
  • "ADVENT CALENDAR"
  • "CHECKLIST"
  • "ONE PAGE QUIZ WITH IMAGES"
  • "POLL WITH IMAGES"
  • "ONE PAGE PERSONALITY TEST WITH IMAGES"
  • "SLIDING PUZZLE"
  • "JACKPOT"
  • "TWITTER LIVE RANKING"
  • "BRANCHING"
  • "SWIPER QUIZ"
  • "SWIPER POLL"
  • "SWIPER PERSONALITY TEST"
  • "BRANCHING PERSONALITY TEST"
  • "PUZZLE"
  • "TEAM SELECTOR"
  • "PROMOTIONAL POP-UP"
  • "ANIMATED GAME"
  • "WHEEL OF FORTUNE"
  • "NONE"

Type: string

The language of the campaign (language code ISO 639-1)


Example:

"EN"

Type: array of object

The themes associated with the campaign, containing the code and the description of each theme

No Additional Items

Each item of this array must be:

Type: object
No Additional Properties
Example:

{
    "code": "MY_THEME",
    "description": "My theme description"
}

Type: string

The code configured in the manager for this theme

Type: string

The description configured in the manager for this theme

Type: object

The information about the channel of this participation

No Additional Properties

Type: stringFormat: uuid

The unique ID linked to this channel


Example:

"5E5D16EB-EF1C-4B35-B1BA-5EC016F8D3D7"

Type: enum (of string)

The type of channel

Must be one of:

  • "widget"
  • "mini_site"
  • "facebook"
  • "mobile"
  • "none"

Type: stringFormat: date-time

The start date and time of the channel (Datetime - ISO8601 standard)


Example:

"2020-10-30T14:55:00.000Z"

Type: stringFormat: date-time

The end date and time of the channel (Datetime - ISO8601 standard)


Example:

"2020-10-30T14:55:00.000Z"

Type: object

The information about the website of this participation

No Additional Properties

Type: number

The id of the website


Example:

1234

Type: string

The name of the website


Example:

"Website name"

Type: string

The domain of the website


Example:

"qualifio-testing.qualifioapp.com"

Type: string

The country of the website (language code ISO 639-1)


Example:

"BE"

Type: array

Array of categories

No Additional Items

Each item of this array must be:

Type: object

The information about the category

Type: number

The id of the category


Examples:

118
218

Type: string

The label of the category


Examples:

"Newsletter & marketing"
"Partners"

Type: string

The technical name of the category


Examples:

"newsletter_partners"
"partners"

Type: array

Array containing all the answers to the form's fields

No Additional Items

Each item of this array must be:

Type: object

A field from the form

No Additional Properties

Type: number

The Qualifio internal id of the field


Example:

12345

Type: string

The label of the field


Example:

"Last name"

Type: enum (of string)

The field type name (more types to comes in a near future)

Must be one of:

  • "RADIO BUTTONS"
  • "NUMERIC"
  • "ALPHA NUMERIC"
  • "TEXTAREA"
  • "UNIQUE CHECKBOX"
  • "DROP-DOWN LIST"
  • "DATE"
  • "MULTIPLE CHECKBOXES"
  • "EMAIL"
  • "PHONE"
  • "VAT"
  • "URL"
  • "COUNTRY"
  • "FILE UPLOAD"
  • "LINKED LISTS"
  • "HIDDEN"
  • "PASSWORD"
  • "LASTNAME"
  • "FIRSTNAME"
  • "GENDER"
  • "USERNAME"
  • "ADDRESS STREET"
  • "HOUSE NUMBER"
  • "ADDRESS BOX"
  • "POSTAL CODE"
  • "LOCALITY"
  • "BIRTHDATE"
  • "COMPANY"
  • "LANGUAGE"
  • "FUNCTION"
  • "IP ADDRESS"
  • "UNKNOWN"

Type: array
No Additional Items

Each item of this array must be:


Type: object

The response to a field

No Additional Properties
Example:

{
    "value": "Qualifio"
}

Type: string

The label of the chosen response. Only for a closed field

Type: string

The response entered in the field. Either the response for open questions, or the value linked to the chosen closed answer (if any)

Type: boolean

True if this response has been checked, false otherwise. Only available for unique checkbox, multi-checkbox and radio buttons

Type: object

Structure containing data specific to an upload file (either in the form or in the questionnaire)

No Additional Properties
Example:

{
    "file": {
        "path": "https://files.qualifio.com/upload/qualifio___testing_0/934297D5-7987-43D8-B11F-A4374DBA36B8/033EE001-E069-431B-B9E8-22612832DF5C/upload-1534753-033ee001-e069-431b-b9e8-22612832df5c.png",
        "name": "upload-1534753-033ee001-e069-431b-b9e8-22612832df5c.png",
        "type": "image/png"
    }
}

Type: object

Structure containing all information about an uploaded file

No Additional Properties

Type: stringFormat: uri

The full url to access the uploaded file

Type: string

The name of the uploaded file

Type: string

The file type of the uploaded file (based on MIME type)

Type: string

The key of the variable associated to this field


Example:

"lastname"

Type: array

Array containing all the optins available in the form that are from the optin manager

No Additional Items

Each item of this array must be:

Type: object

An opt-in from the optin manager

No Additional Properties

Type: number

The Qualifio internal id of this optin


Example:

12345

Type: string

The label of the optin in the optin manager


Example:

"Subscribe to my newsletter"

Type: string

The description of the optin in the optin manager


Example:

"By checking this optin you agree to receive a monthly newsletter sended by Qualifio."

Type: enum (of string)

The response entered in the optin where "1" means that the optin was checked, "" means that the user ignored the optin and "0" means that the user explicitly refused the optin

Must be one of:

  • "1"
  • "0"
  • ""

Type: string

The key of the variable associated to this optin


Example:

"my_newsletter"

Type: array

Array of categories

Same definition as categories

Type: array

Array containing all the answers to the questionnaire's questions

No Additional Items

Each item of this array must be:

Type: object

A question from the questionaire

No Additional Properties

Type: number

The Qualifio internal id of the question


Example:

12345

Type: string

The label of the question


Example:

"Who's the best developer at Qualifio ?"

Type: enum (of string)

The question type name (more types to comes in a near future)

Must be one of:

  • "RADIO BUTTONS"
  • "NUMERIC"
  • "ALPHA NUMERIC"
  • "TEXTAREA"
  • "DROP-DOWN LIST"
  • "DATE"
  • "MULTIPLE CHECKBOXES"
  • "EMAIL"
  • "MATRIX"
  • "FILE UPLOAD"
  • "ANSWER BUTTONS"
  • "LINKED LISTS"
  • "CLICKABLE IMAGES"
  • "SWIPER"
  • "TEXT COMPARISON"
  • "RANKING"
  • "INSTANT CHECK"
  • "UNKNOWN"

Type: number

The total score obtained for this question (sum of the responses' score)

Type: number

The maximum score that a participant can obtained for this question

Type: array
No Additional Items

Each item of this array must be:


Type: object

The response to a question

No Additional Properties
Example:

{
    "value": "Qualifio"
}

Type: number

Order of this response. Especially useful for ranking, linked list and swiper

Type: string

The label of the chosen response. Only for a closed question

Type: string

The response entered in the question. Only for an open question

Type: boolean

True if this response has been checked, false otherwise. Only available for unique checkbox, multi-checkbox and radio buttons

Type: number

The score obtained for this response

Type: boolean

A flag to know if the participant's response is the correct one or not

Type: object

Structure containing data specific to an upload file (either in the form or in the questionnaire)

Same definition as form_items_responses_items_anyOf_i1

Type: string

The key of the variable


Example:

"bestDeveloperVar"

Type: array

Array containing all the answers to the qualification's questions

No Additional Items

Each item of this array must be:

Type: object

A question from the questionaire

Same definition as questionnaire_items

Type: object

Structure containing data specific to the exit screen

No Additional Properties

Type: number

The participant's score obtained at the end of the game


Example:

0

Type: number

Time taken to finish the game in seconds


Example:

0

Type: array

An array containing all personalities given to the end user during a personality test

No Additional Items

Each item of this array must be:

Type: object

A personality matching the end user answers during a personality test

No Additional Properties

Type: number

Order of this participant's personnality based on the percentage


Example:

1

Type: number

Total number of the participant's answers matching with this personnality


Example:

1

Type: number

The percentage the participant matches with this personnality


Example:

100

Type: string

The personnality group in which the participant is


Example:

"A"

Type: string

The personnality group name in which the participant is


Example:

"Profile A title"

Type: string

The value configured for this personality group


Example:

"aSpecialValue"

Type: string

The variable associated with the personality test


Example:

"myVariable"

Type: object

This field is available only in games with prizes

No Additional Properties

Type: boolean

True if the user has won a gift


Example:

true

Type: stringFormat: date-time

The datetime of the moment the user won the gift


Example:

"2020-11-25T00:00:00.000Z"

Type: object

The gift won by the end user, if any

No Additional Properties

Type: number

The ID of the gift


Example:

321

Type: number

The ID of the list of codes for this gift


Example:

12345

Type: stringFormat: date-time

The datetime of the planned moment for the gift


Example:

"2020-11-24T22:00:00.000Z"

Type: string

The label of the gift


Example:

"My super gift"

Type: string

The description of the gift


Example:

"This gift allow you to get a 50% reduction for a new PS5."

Type: string

The url of gift's picture


Example:

"https://gmedia.playstation.com/is/image/SIEPDC/ps5-anthem-overview-hero-desktop-02-en-22oct20?$2400px--t$"

Type: string

The url of the gift, if any


Example:

"https://www.google.com/"

Type: array of object

An array containing all codes burned in the exit screen or in the email (if any)

No Additional Items

Each item of this array must be:

Type: object

Object containing the details about a particular code that was burned by the participant

No Additional Properties

Type: string

The variable used in the exit screen / email (this allows to find the list where this code comes from)


Example:

"BURN:1234"

Type: string

The code that was burn and given in the exit sreen or in the email to the participant


Example:

"GZ12MS"

Type: object

List all the variables and their associated values that are configured in the form, the questionnaire and the optin manager


Example:

{
    "lastname": "Qualifio",
    "gender": "M",
    "bestDeveloperVar": "Olivier De Lamotte",
    "my_newsletter": "1",
    "upload": "https://files.qualifio.com/upload/qualifio___testing_0/934297D5-7987-43D8-B11F-A4374DBA36B8/033EE001-E069-431B-B9E8-22612832DF5C/upload-1534753-033ee001-e069-431b-b9e8-22612832df5c.png",
    "matrix": {
        "How much do you love my matrix ?": "♡♡♡",
        "How much do you love Qualifio ?": "♡♡♡♡♡",
        "How much do you love our Webhook ?": "♡♡♡♡♡"
    }
}

Each additional property must conform to the following schema


The name of the variable and the value as a string for common responses and as an object for multi checkboxes, matrix and swiper questions

Type: string

The value is a string for open and/or simple questions

Type: object

The value is an object for more complex questions such as multi checkboxes, matrix and swiper questions. It can also contain the personality test results.

Each additional property must conform to the following schema

Type: string

The label of the answer or an incremented number for the key and the answer value as a string. For the personality test results, 'value' field is used as key and 'percentage' as the value in this object.

Type: object

List all the global variable that were available during this participation and not secret


Example:

{
    "myGlobalVar": "theGlobalVarValue"
}

Each additional property must conform to the following schema

Type: string

The name of the variable and the value as a string

Type: object

List the potential external ids this user has (Gigya, Facebook, Krux, or SSO id...)


Example:

{
    "gigyaId": "e1a7fbf0-0e69-4f57-8194-e10eebeff66c"
}

Each additional property must conform to the following schema

Type: string

The name of the external ID and the ID value as a string

Type: object

Additional external data provided

No Additional Properties

Type: string

Unique code provided per participant to unlock the campaign at the welcome screen step (if configured).
Please note that "Access code" (one generic code set up for all participants to access the campaign) is out of scope, as by design, there is no participation if the code used isn't right.


Example:

"XAG4M3"

Type: object

Metadata provided by the SSO (if any)


Example:

{
    "sub": "5dde1209-d5c7-49b0-8ce5-9c08ad109297",
    "isMember": true
}

Additional Properties of any type are allowed.

Type: object

Type: object

The content of the secure token (JWT, if any)


Example:

{
    "sub": "5dde1209-d5c7-49b0-8ce5-9c08ad109297",
    "exp": 112421541,
    "iat": 12214214,
    "iss": "Qualifio",
    "campaignId": 123456,
    "limit": {
        "nb": 1,
        "canPlay": false
    },
    "gift": {
        "id": 123,
        "name": "2000",
        "strategy": "PLANNING"
    }
}

Additional Properties of any type are allowed.

Type: object

Type: object

Informations linked to the double opt-in validation (if any)


Example:

{
    "status": "APPROVED",
    "date": "2020-10-30T14:55:00.000Z"
}

Type: enum (of string)

The status of the double opt-in validation for this participation.

Must be one of:

  • "APPROVED"
  • "EXPIRED"

Type: stringFormat: date-time

The date when the double opt-in was approved by the participant or when it was considered as expired. (Datetime - ISO8601 standard)


Example:

"2020-10-30T14:55:00.000Z"

Additional Properties of any type are allowed.

Type: object