Especificación del campo Data del modelo Participations Seguir
Esta especificación es aplicable tanto a la API REST que trabaja con el model Participation como el Webhook de nueva Participación.
El campo Data del modelo Participation tiene la función de publicar el contenido propio de una dinámica concreta de participación. Es decir, si el usuario completa una participación de una Encuesta, el campo data incluirá las respuestas de la encuesta. Si el usuario participa en un concurso de fotos, el campo data incluirá la foto subida.
La dinámica de la participación viene definida por el campo Type del modelo Participation.
El campo Data tiene siempre la misma estructura, y es siempre un array de estos 3 campos:
- ref: String
- title: String
- value: Array de Strings
Estos 3 campos dependerán del tipo de participation. Actualmente únicamente se devuelve contenido en el campo data, para los siguientes tipos de participación:
- Tipo 2: Participación tipo cuestionario que incluye trivias de conocimiento, encuestas, test de personalidad, quinielas y recomendadores de producto
- Tipo 7: Participación tipo concurso de fotos o vídeos, que incluye la url y descripción del contenido subido por el usuario en el concurso.
- Tipo 18: Participación tipo formulario, que incluye la información insertada por el usuario en el formulario
- Tipo 21: Participación tipo Photofun o Escenas, que incluye la url de la foto creada por el usuario en el concurso.
Para el resto de tipos de participación, la API devolverá un array vacío.
A continuación se muestra la especificación y un ejemplo del campo data para cada uno de los tipos de participación soportados:
Tipo 2: Participación tipo cuestionario
Cada elemento del array del campo data corresponde a una pregunta del cuestionario. Para cada pregunta:
- ref: Identificador numérico único de la pregunta
- title: Título de la pregunta
- value: Array con la respuesta o respuestas de la pregunta. En caso de pregunta multirespuesta, cada elemento del array corresponde a una respuesta.
Ejemplo de objeto Participation con respuestas de una encuesta:
{
"id": "687677717",
"promotion_id": "956595",
"stage_id": "87130",
"user_id": "13486351",
"created": "2023-05-29T13:20:28+00:00",
"ip": "176.80.52.106",
"user_agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/113.0.0.0 Safari/537.36",
"points": null,
"data": [
{
"ref": 186357,
"title": "<h1>Which is your favorite literary genre?</h1>",
"values": ["Adventure"]
},
{
"ref": 186358,
"title": "<h1>When do you usually read?</h1>",
"values": ["In the afternoons"]
},
{
"ref": 186359,
"title": "<h1>Which is your favorite moon book?</h1>",
"values": ["Full moon"]
}
]
}
Tipo 7: Participación tipo concurso de fotos o vídeos
Cada elemento del array del campo data corresponde a un tipo de contenido media subido por un usuario. Un usuario en una participación puede subir múltiples contenidos y con diferentes formatos. Para cada tipo de media:
- ref: Tipo de media subido por un usuario que puede ser: image, video, youtube, url, pdf
- title: Descripción textual o caption del contenido medio. Es el texto opcional que puede haber subido el usuario relacionado con la foto o vídeo.
- value: URL al contenido media subido por el usuario (Atención es un array con un solo valor)
Ejemplo de objeto Participation con respuestas de un concurso de subida de contenido media:
{
"id": "696926967",
"promotion_id": "967205",
"stage_id": "109923",
"user_id": "16192596",
"created": "2023-10-11T06:38:32+00:00",
"ip": null,
"user_agent": null,
"points": null,
"data": [
{
"ref": "video",
"values": ["https://gsewl.cstmapp.com//media/originals/6526430bba4c8.mp4"],
"title": "Palacio Real"
},
{
"ref": "youtube",
"values": ["https://www.youtube.com/embed/-AiekHYqEvw"],
"title": "Zurich, Switzerland Hot Sumer Walk 2023"
},
{
"ref": "image",
"values": ["https://storage.googleapis.com/gsewl/05/967205/media/normal/652641c82f9fd.jpeg"
"title": "La Fontana de Trevi, con cerca de 40 metros de frente, es una de las mayores fuentes monumentales del Barroco de Roma"
}
]
}
Tipo 18: Participación tipo formulario
Cada elemento del array del campo data corresponde a un campo del formulario. Para cada campo:
- ref: Identificador numérico único del campo
- title: Título del campo
- value: Array con el valor o valores introducidos por el usuario. En caso campos con multirespuesta, cada elemento del array corresponde a una respuesta.
Ejemplo de objeto Participation del tipo formulario:
{
"id": "726174927",
"promotion_id": "985270",
"stage_id": "201252",
"user_id": "3",
"created": "2024-10-03T11:32:51+00:00",
"ip": "35.187.16.97",
"user_agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/129.0.0.0 Safari/537.36",
"points": null,
"data": [
{
"ref": "newsletter",
"title": "Subscribe to newsletter",
"values": [true]
},
{
"ref": "store",
"title": "Select your preferred store",
"values": ["Store 2"]
},
{
"ref": "birthday",
"title": "Introduce your birthday",
"values": ["1991-06-05"]
},
{
"ref": "time",
"title": "Your preferred time",
"values": ["Afternoon"]
},
{
"ref": "id",
"title": "Upload your ID",
"values": ["//storage.googleapis.com/gsewl/70/985270/entries/form/66fe80e162b9a.jpeg"]
}
]
}
Tipo 21: Participación tipo concurso Photofun o Escenas
El campo Data estará formada por un solo elemento, ya que el usuario solo puede crear una imagen por participación. La definición es:
- ref: image
- title: vacío.
- value: URL a la imagen generada por el usuario (Atención es un array con un solo valor)
Ejemplo de objeto Participation del tipo Photofun o Escenas:
{
"id": "718379376",
"promotion_id": "980839",
"stage_id": "177215",
"user_id": "36",
"created": "2024-07-03T07:08:45+00:00",
"ip": "81.45.47.19",
"user_agent": "Mozilla/5.0 (iPhone; CPU iPhone OS 16_6 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/16.6 Mobile/15E148 Safari/604.1",
"points": null,
"data": [
{
"ref": "image",
"values": ["https://storage.googleapis.com/gsewl/39/980839/media/normal/6684f8f8ab1d6.jpg"],
"title": ""
}
]
}
Comentarios
0 comentarios
El artículo está cerrado para comentarios.