Consultar perfiles de preguntas
Con este método se obtienen los perfiles de preguntas y sus preguntas para los distintos niveles: ticket, proveedor, venta y cliente. La respuesta incluye, por cada pregunta, su texto, obligatoriedad, tipo de dato, validaciones y posibles valores predefinidos.
Antes de empezar
Conviene leer la introducción a los perfiles de preguntas, que explica los niveles, los tipos (estáticas/dinámicas y públicas/privadas) y el flujo completo en la API.
Los identificadores de perfil que se consultan aquí se obtienen previamente del catálogo: TicketsQuestionsProfileId (ticket), ProviderQuestionsProfileIds (proveedor) y SaleQuestionProfiles (venta y cliente).
Método de acceso
POST /activity/checkticketsquestions
Estructura de la petición
Para generar la petición se construye un objeto con los siguientes campos. Todos son opcionales, pero debe indicarse al menos un origen de perfiles (QuestionsProfileIds o Products).
QuestionsProfileIds: (list)Opcional. Array de identificadores de perfiles de preguntas a consultar (de cualquier nivel).Products: (list)Opcional. Lista de productos para los que se quieren obtener las preguntas. Es imprescindible para obtener preguntas dinámicas, ya que dependen del producto y de la fecha de acceso. Ver tipos de preguntas.ProductId: (string)Requerido. Identificador del producto.AccessDate: (date)Requerido. Fecha de acceso. Formato ISO 8601 (yyyy-MM-dd).Tickets: (list)Opcional. Tickets del producto para los que obtener las preguntas de ticket.TicketId: (string)Requerido. Identificador del ticket.SessionId: (string)Opcional. Identificador de la sesión.AccessDate: (date)Opcional. Fecha de acceso del ticket. Formato ISO 8601 (yyyy-MM-dd).
LanguageCode: (string)Opcional. Idioma en que se devolverán los textos de las preguntas. Formato ISO 639-1.
Preguntas de proveedor por sesión
Algunas preguntas de proveedor dinámicas solo se devuelven si se indica la sesión (SessionId) en los tickets enviados en Products.
Ejemplos de petición
{
"QuestionsProfileIds":
[
"pdk563qjqkyns",
"sale7yq2k9wla",
"cli9q2k9wla3c"
],
"LanguageCode": "es"
}
{
"Products":
[
{
"ProductId": "MyProductId01",
"AccessDate": "2026-07-15",
"Tickets":
[
{
"TicketId": "MyTicketId01",
"SessionId": null,
"AccessDate": "2026-07-15"
}
]
}
],
"LanguageCode": "es"
}
Estructura de la respuesta
La respuesta agrupa los perfiles por nivel. Además, incluye dos listas de mapeo (Products y Providers) que relacionan cada entidad consultada con sus perfiles.
Products: (list). Relaciona cada producto/ticket consultado con su perfil de preguntas de ticket.ProductId: (string). Identificador del producto.AccessDate: (dateTime)Opcional. Fecha de acceso.ProviderId: (string). Identificador del proveedor del producto.Tickets: (list). Lista de tickets.TicketId: (string). Identificador del ticket.SessionId: (string)Opcional. Identificador de la sesión.TicketQuestionsProfileId: (string). Identificador del perfil de preguntas del ticket.AccessDate: (dateTime)Opcional. Fecha de acceso del ticket.
Providers: (list). Relaciona cada proveedor consultado con sus perfiles de preguntas de proveedor.ProviderId: (string). Identificador del proveedor.ProviderQuestionsProfileIds: (list). Array de identificadores de perfiles de preguntas asociados al proveedor.
TicketQuestionsProfiles: (list). Perfiles de preguntas de nivel ticket.ProviderQuestionsProfiles: (list). Perfiles de preguntas de nivel proveedor.SaleQuestionsProfiles: (list). Perfiles de preguntas de nivel venta.ClientQuestionsProfiles: (list). Perfiles de preguntas de nivel cliente.
Todas las listas de perfiles (TicketQuestionsProfiles, ProviderQuestionsProfiles, SaleQuestionsProfiles y ClientQuestionsProfiles) comparten la siguiente estructura de perfil:
Id: (string). Identificador del perfil de preguntas. Coincide con el identificador expuesto en el catálogo (TicketsQuestionsProfileId,ProviderQuestionsProfileIds,SaleQuestionProfileIdsoClientQuestionProfileIdssegún el nivel).Name: (string). Nombre del perfil.CommercialName: (string)Opcional. Nombre comercial del perfil.AreDynamicQuestions: (boolean). Indica si el perfil contiene preguntas dinámicas. Si estrue, las preguntas se generan en tiempo real a partir de la integración del proveedor y, para obtenerlas, la consulta debe incluir los productos con su fecha de acceso. Si esfalse, el perfil contiene preguntas estáticas definidas en configuración. Consulta tipos de preguntas.-
Questions: (list). Lista de preguntas que componen el perfil.Id: (string). Identificador de la pregunta. Es el valor que debe enviarse comoQuestionIdal responder.Question: (string). Texto principal de la pregunta.ShortQuestion: (string). Texto abreviado de la pregunta.Required: (boolean). Indica si la respuesta a la pregunta es obligatoria.-
DataType: (byte). Tipo de dato de la pregunta. Determina en qué propiedad debe enviarse la respuesta.Posibles valores
El
DataTypedetermina en qué propiedad debe enviarse la respuesta de la pregunta.DataTypeTipo Propiedad de respuesta 0 Texto StringValue1 Lista de textos StringCollectionValue2 Booleano BooleanValue3 Lista de booleanos BooleanCollectionValue4 Fecha DateTimeValue5 Lista de fechas DateTimeCollectionValue6 Número entero IntegerValue7 Lista de enteros IntegerCollectionValue8 Número decimal DecimalValue9 Lista de decimales DecimalCollectionValue10 Selección de un valor entre un conjunto predefinido ( Values)StringValue11 Selección de varios valores entre un conjunto predefinido ( Values)StringCollectionValue12 Archivo BinaryValue(+BinaryMimeType,BinaryExtension)13 Lista de archivos BinaryCollectionValue(+BinaryMimeType,BinaryExtension) -
MaxNumberOfValues: (int)Opcional. Solo paraDataType= 11 (selección múltiple). Número máximo de valores que se pueden seleccionar. RegexValidationPattern: (string)Opcional. Expresión regular que debe cumplir la respuesta.RegexValidationErrorMessage: (string)Opcional. Mensaje de error a mostrar al usuario cuando la respuesta no cumple la expresión regular.Values: (list)Opcional. Solo paraDataType= 10 u 11. Conjunto de valores predefinidos entre los que elegir.Text: (string). Texto a mostrar al usuario.Value: (string). Valor que debe enviarse como respuesta.
-
Success(boolean): valor que indica si la llamada ha sido procesada correctamente o no. Timestamp(dateTime): instante de tiempo en el que se procesó la petición. Formato ISO 8601 (yyyy-MM-ddThh:mm:ss.fffffff).ErrorMessage(string): mensaje de error explicando por qué la petición no ha sido correcta. En caso que haya sido correcta, devolveránull.ErrorCodes(string[]): lista de códigos que identifican los errores que se hayan producido en la llamada.ErrorEntityBreakDown(list): Lista que contiene objetos con el nombre e ID en caso de error.Id(string): IdentificadorName(string): Nombre relacionado del identificador.
Ejemplos de respuesta
Ejemplo con perfiles de varios niveles (ticket, proveedor, venta y cliente):
{
"Products": [
{
"ProductId": "MyProductId01",
"AccessDate": "2026-07-15T00:00:00",
"ProviderId": "prov12345abcd",
"Tickets": [
{
"TicketId": "MyTicketId01",
"SessionId": null,
"TicketQuestionsProfileId": "pdk563qjqkyns",
"AccessDate": "2026-07-15T00:00:00"
}
]
}
],
"Providers": [
{
"ProviderId": "prov12345abcd",
"ProviderQuestionsProfileIds": [ "prv8q2k9wla3c" ]
}
],
"TicketQuestionsProfiles": [
{
"Id": "pdk563qjqkyns",
"Name": "Datos del asistente",
"CommercialName": null,
"AreDynamicQuestions": false,
"Questions": [
{
"Id": "xsdt8tj1g9zrh",
"Question": "Nombre del asistente",
"ShortQuestion": "Nombre",
"Required": true,
"DataType": 0
}
]
}
],
"ProviderQuestionsProfiles": [
{
"Id": "prv8q2k9wla3c",
"Name": "Matrícula del vehículo",
"AreDynamicQuestions": false,
"Questions": [
{
"Id": "q1mat5kz9p2rt",
"Question": "Matrícula del vehículo",
"ShortQuestion": "Matrícula",
"Required": true,
"DataType": 0,
"RegexValidationPattern": "^[0-9]{4}[A-Z]{3}$",
"RegexValidationErrorMessage": "Formato de matrícula no válido"
}
]
}
],
"SaleQuestionsProfiles": [
{
"Id": "sale7yq2k9wla",
"Name": "Origen de la reserva",
"AreDynamicQuestions": false,
"Questions": [
{
"Id": "qorigen3k9wla",
"Question": "¿Cómo nos conociste?",
"ShortQuestion": "Origen",
"Required": false,
"DataType": 10,
"Values": [
{ "Text": "Internet", "Value": "web" },
{ "Text": "Recomendación", "Value": "ref" }
]
}
]
}
],
"ClientQuestionsProfiles": [
{
"Id": "cli9q2k9wla3c",
"Name": "Preferencias del cliente",
"AreDynamicQuestions": false,
"Questions": [
{
"Id": "qnews3k9wla3c",
"Question": "¿Deseas recibir novedades por email?",
"ShortQuestion": "Novedades",
"Required": false,
"DataType": 2
}
]
}
],
"Success": true,
"Timestamp": "2026-06-11T00:00:00"
}
Ejemplos del nodo de una pregunta según su tipo de dato:
{
{
"TicketQuestionsProfiles": [
{
"Id": "pdk563qjqkyns",
"AreDynamicQuestions": false,
"Questions": [
{
"Id": "xsdt8tj1g9zrh",
"Required": false,
"DataType": 0,
"RegexValidationPattern": "patron validación",
"RegexValidationErrorMessage": "mensaje error"
}
]
}
],
"Success": true,
"Timestamp": "2023-03-13T00:00:00"
}
}
{
{
"TicketQuestionsProfiles": [
{
"Id": "pdk563qjqkyns",
"AreDynamicQuestions": false,
"Questions": [
{
"Id": "89tbrdp6gi6oh",
"Question": "pregunta booleano",
"ShortQuestion": "corta booleao",
"Required": false,
"DataType": 2
}
]
}
],
"Success": true,
"Timestamp": "2023-03-13T00:00:00"
}
}
{
"TicketQuestionsProfiles": [
{
"Id": "pdk563qjqkyns",
"AreDynamicQuestions": false,
"Questions": [
{
"Id": "zfufit3d3kofa",
"Question": "Pregunta Fecha",
"ShortQuestion": "pregunta abreviada ",
"Required": false,
"DataType": 4
}
]
}
],
"Success": true,
"Timestamp": "2023-03-13T00:00:00"
}
{
"TicketQuestionsProfiles": [
{
"Id": "pdk563qjqkyns",
"AreDynamicQuestions": false,
"Questions": [
{
"Id": "dz5877yi6wjfk",
"Question": "preguntna numero entero",
"ShortQuestion": "abreviada entero",
"Required": false,
"DataType": 6
}
]
}
],
"Success": true,
"Timestamp": "2023-03-13T00:00:00"
}
{
"TicketQuestionsProfiles": [
{
"Id": "pdk563qjqkyns",
"AreDynamicQuestions": false,
"Questions": [
{
"Id": "86h1dnjfzy6ma",
"Question": "¿Pregunta principal para decimal?",
"ShortQuestion": "pregunta corta",
"Required": false,
"DataType": 8
}
]
}
],
"Success": true,
"Timestamp": "2023-03-13T00:00:00"
}
{
"TicketQuestionsProfiles": [
{
"Id": "pdk563qjqkyns",
"AreDynamicQuestions": false,
"Questions": [
{
"Id": "4gc7t9kb6aark",
"Question": "¿Pregunta principal para seleccionar uno?",
"ShortQuestion": "pregunta corta",
"Required": false,
"DataType": 10,
"Values": []
}
]
}
],
"Success": true,
"Timestamp": "2023-03-13T00:00:00"
}
{
"TicketQuestionsProfiles": [
{
"Id": "pdk563qjqkyns",
"AreDynamicQuestions": false,
"Questions": [
{
"Id": "p68wgknpsgx4c",
"Question": "¿Pregunta principal para seleccionar varios?",
"ShortQuestion": "¿Pregunta corta?",
"Required": false,
"DataType": 11,
"MaxNumberOfValues": 2,
"Values": []
}
]
}
],
"Success": true,
"Timestamp": "2023-03-13T00:00:00"
}
{
"TicketQuestionsProfiles": [
{
"Id": "pdk563qjqkyns",
"AreDynamicQuestions": false,
"Questions": [
{
"Id": "8bkbihetazhcs",
"Question": "¿Pregunta principal para archivos?",
"ShortQuestion": "¿Pregunta corta?",
"Required": false,
"DataType": 12
}
]
}
],
"Success": true,
"Timestamp": "2023-03-13T00:00:00"
}