Consulta de Sesiones

Las sesiones en Experticket representan eventos o actividades programadas con una fecha, hora, contenido asociado y, opcionalmente, un aforo disponible. Este sistema permite gestionar actividades recurrentes sin duplicar datos innecesariamente.

Por ejemplo, un parque temático podría tener sesiones diarias con distintos tipos de boletos, como "Entrada Adulto", "Entrada Niño" o "Entrada VIP", pero todas compartiendo la misma sesión. Separar las sesiones de los productos optimiza la estructura de datos y mejora la eficiencia de la API.

1. Método de Acceso

Parámetro

Descripción

URL

{baseurl}/api/sessions?PartnerId={partnerId}

Verbo HTTP

GET

Longitud Máxima de la URL

2048 caracteres

 

2. Estructura de Datos de Envío

La consulta de sesiones admite diferentes filtros en el QueryString de la URL. Cada filtro adicional se considera un AND, lo que significa que deben cumplirse todas las condiciones especificadas.

Parámetros Disponibles

Parámetro

Descripción

PartnerId

Obligatorio. Identificador del colaborador.

SessionsGroupProfileIds

Opcional. Identificador de perfil de grupos de sesiones.

SessionsGroupIds

Opcional. Identificadores de grupos de sesiones.

SessionContentProfileIds

Opcional. Identificadores de perfil de contenido de sesión.

FromDate

Opcional. Filtra sesiones desde una fecha específica (Formato ISO 8601 yyyy-MM-dd). No permite fechas anteriores a hoy.

ToDate

Opcional. Filtra sesiones hasta una fecha específica (Formato ISO 8601 yyyy-MM-dd). Por defecto, muestra sesiones hasta dentro de un año.

Dates

Opcional. Lista de fechas específicas a consultar (Formato ISO 8601 yyyy-MM-dd).

LanguageCode

Opcional. Código de idioma (esenfr, etc.).

api-version

Opcional. Versión de la API (ejemplo: 3.47). Por defecto, se usa 3.21.

 

 

 

 

 

 

 

3. Ejemplo de Consultas a la API

Filtrar por Grupo de Sesiones

GET {baseurl}/api/sessions?PartnerId={partnerId}&SessionsGroupProfileIds=MySessionsGroupProfileId

 

Filtrar por Contenido de Sesión

GET {baseurl}/api/sessions?PartnerId={partnerId}&SessionContentProfileIds=MySessionContentProfileId

 

Filtrar por Fecha de Inicio y Fin

GET {baseurl}/api/sessions?PartnerId={partnerId}&FromDate=2025-01-01&ToDate=2025-12-31

 

Filtrar por Fechas Específicas

GET {baseurl}/api/sessions?PartnerId={partnerId}&Dates=2025-06-15&Dates=2025-07-10&Dates=2025-08-05

Consulta Compleja Combinando Filtros

GET {baseurl}/api/sessions?PartnerId={partnerId}&SessionsGroupProfileIds=Group1&SessionsGroupIds=Session1&SessionContentProfileIds=Content1&FromDate=2025-01-01&ToDate=2025-12-31

4. Estructura de la Respuesta

Campo

Tipo

Descripción

SessionsGroupProfiles

array

Lista de perfiles de grupos de sesión.

SessionsGroupProfileId

string

Identificador del perfil de grupos de sesión.

SessionsGroupProfileName

string

Nombre del perfil de grupos de sesión.

SessionTimeAvailabilityOffset

integer

Minutos antes (-) o después (+) en los que la sesión puede estar a la venta.

SessionStartTimeType

integer

Tipo de inicio de sesión (0 = Hora específica1 = Desde esa hora).

SessionsGroups

array

Lista de grupos de sesiones.

SessionsGroupId

string

Identificador del grupo de sesiones.

SessionsGroupName

string

Nombre del grupo de sesiones.

Sessions

array

Lista de sesiones dentro del grupo.

SessionId

string

Identificador de la sesión.

SessionTime

string

Fecha y hora de la sesión (ISO 8601).

AvailableCapacity

integer

Número de boletos disponibles. Si no existe, el aforo es ilimitado.

SessionDuration

integer

Duración de la sesión en minutos.

SessionContentProfiles

array

Lista de perfiles de contenido de sesión.

SessionContentProfileId

string

Identificador del perfil de contenido de sesión.

SessionContentProfileName

string

Nombre del perfil de contenido de sesión.

SessionContents

array

Lista de contenidos asociados a la sesión.

SessionContentId

string

Identificador del contenido de sesión.

SessionContentName

string

Nombre del contenido de sesión.

SessionContentDescription

string

Descripción del contenido de sesión.

Success

boolean

true si la consulta fue correcta, false si hubo un error.

Timestamp

string

Fecha y hora de la consulta.

ErrorMessage

string

Mensaje de error en caso de fallo.

ErrorCodes

array

Códigos de error específicos.

 

 

 

5. Ejemplo de Respuesta Exitosa

{

    "SessionsGroupProfiles": [

        {

            "SessionsGroupProfileId": "cwj3q99xa8ara",

            "SessionsGroupProfileName": "Perfil de grupos de sesión por defecto",

            "SessionTimeAvailabilityOffset": 360,

            "SessionStartTimeType": 0,

            "SessionsGroups": [

                {

                    "SessionsGroupId": "7q59grjg1tuxw",

                    "SessionsGroupName": "Sesiones de mañana",

                    "Sessions": [

                        {

                            "SessionId": "5b8qkqnmhdmk1",

                            "SessionTime": "2025-06-15T10:00:00",

                            "AvailableCapacity": 165

                        },

                        {

                            "SessionId": "5o3bwhx1ze1m1",

                            "SessionTime": "2025-09-06T10:00:00",

                            "AvailableCapacity": 230,

                            "SessionDuration": 60

                        }

                    ]

                }

            ]

        }

    ],

    "SessionContentProfiles": [

        {

            "SessionContentProfileId": "5e8f65nherwpc",

            "SessionContentProfileName": "Perfil de contenidos por defecto",

            "SessionContents": [

                {

                    "SessionContentId": "fiajih99h79ak",

                    "SessionContentName": "Película 1"

                },

                {

                    "SessionContentId": "m6noaxhzr33an",

                    "SessionContentName": "Película 2"

                }

            ]

        }

    ],

    "Success": true,

    "Timestamp": "2025-06-10T12:00:00"

}

6. Conclusiónes

  • Las sesiones están separadas de los productos para optimizar la gestión de eventos recurrentes.
  • Se pueden filtrar sesiones por grupo, contenido, fecha o combinaciones de estos criterios.
  • Si el aforo es limitado, es importante verificar AvailableCapacity antes de vender boletos.
  • Los datos se devuelven en formato JSON con fechas en ISO 8601 para compatibilidad con diferentes sistemas.

¿Te ha parecido útil este artículo?