Saltar a contenido

Comprobar sesiones auto asignadas

Pueden existir productos cuyas sesiones no pueden ser elegidas o no es obligatorio elegirlas, en este caso es el sistema el que asigna las sesiones según la disponibilidad.

Para saber si un producto tiene sesiones auto asignadas se comprueba mirando en el catálogo la propiedad TicketEnclosureAutoAssignSessionType del nodo de sesiones del recinto.

Posibles valores de TicketEnclosureAutoAssignSessionType
  • 0: No. Las sesiones no se auto asignarán. Deben definirse durante el flujo de venta.
  • 1: IfNotSet. Las sesiones se autoasignarán, siempre y cuando no se haya definido durante el flujo de venta.
  • 2: ForceSet. Las sesiones se autoasignarán siempre de forma forzada, ignorando si se han definido durante el flujo de venta.

Una vez lanzada la consulta se devolverá, a modo informativo, la sesión que se asignará cuando se confirme el carrito.

La sesión obtenida puede no ser la sesión asignada en el momento de confirmar el carrito.

Método de acceso

POST /autoassignsessions

Estructura de la petición

  • LanguageCode: (string). Define el idioma en que se mostrarán los textos. Formato ISO 639-1.
  • Products: (list). Array de productos para los que se quieren comprobar las sesiones.
    • ProductId: (string). Identificador del producto.
    • Quantity: (int). Cantidad del producto.
    • AccessDate: (date). Fecha de acceso. Formato ISO 8601 (yyyy-MM-dd).
    • Tickets: (list). Array de tickets para los que queremos comprobar la auto asignación.
      • TicketId: (string). Identificador del ticket.
      • AccessDate: (date) Opcional. si se indica, tiene preferencia sobre la fecha indicada a nivel de producto. Formato ISO 8601 (yyyy-MM-dd).

Ejemplo de petición

{
    "Products": 
    [
        {
            "ProductId": "hwuk9huaqopwo",
            "Quantity": 4,
            "AccessDate": "2022-06-02"
        }
    ]
}
{
    "Products": [
        {
            "ProductId": "hwuk9huaqopwo",
            "Quantity": 4,
            "AccessDate": "2022-06-02",
            "Tickets": 
            [
                {
                    "TicketId": "654e5ytetr"
                }
            ]
        }
    ]
}
{
    "Products": [
        {
            "ProductId": "hwuk9huaqopwo",
            "Quantity": 4,
            "AccessDate": "2022-06-02",
            "Tickets": 
            [
                {
                    "TicketId": "654e5ytetr",
                    "AccessDate": "2022-06-05"
                }
            ]
        }
    ]
}

Estructura de la respuesta

  • Products: (list). Array que contiene los productos solicitados.

    • ProductId: (string). Identificador del producto.
    • AccessDate: (date). Fecha de acceso del producto. Formato ISO 8601 (yyyy-MM-dd).
    • HasTicketEnclosures: (boolean). Booleano que indica si el producto tiene recintos.
    • Tickets: (list). Array de los tickets solicitados del producto.
      • TicketId: (string). Identificador del ticket.
      • AccessDate: (date). Fecha de acceso del ticket. Formato ISO 8601 (yyyy-MM-dd).
      • TicketEnclosureId: (string). Identificador del recinto.
      • SessionId: (string). Identificador de la sesión asignada.
      • SessionTime: (date). Hora de la sesión asignada en caso de haber podido asignar alguna.
      • SessionContentId: (string). Identificador del contenido de sesión.
      • SessionContentName: (string). Nombre del contenido de sesión.
      • SessionStartTimeType: (int). Identificador numérico que indica el tipo de inicio de acceso de la sesión.
        • 0: (int): Acceso a la hora indicada.
        • 1: (int): Acceso a partir de la hora indicada.
      • ResultType: (byte). Atributo que indica el resultado de la auto asignación.

        Posibles valores
        • 0: Ok. Auto asignación correcta.
        • 1: HasNotTicketEnclosure. El producto no tiene recintos, por lo tanto es un producto sin sesiones.
        • 2: TicketEnclosureSessionTypeIsNone. El producto no tiene sesiones en ninguno de sus recintos.
        • 3: TicketEnclosureDoesNotAcceptAutoAssign. El producto no tiene recintos con sesiones configuradas como auto asignables.
        • 4: TicketEnclosureHasNoSessionsAvailable. No hay sesiones disponibles para el producto y fecha seleccionados.
  • 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): Identificador
    • Name (string): Nombre relacionado del identificador.

Ejemplo de respuesta

{
    "Products": 
    [
        {
            "ProductId": "hwuk9huaqopwo",
            "AccessDate": "2022-06-02",
            "HasTicketEnclosures": true,
            "Tickets": 
            [
                {
                    "TicketId": "654e5ytetr",
                    "AccessDate": "2022-06-02",
                    "TicketEnclosureId": "09aslkdfj354",
                    "SessionId": "lksdgjj4235",
                    "SessionTime": "18:00",
                    "SessionContentId": "nljkasdfjlk87",
                    "SessionContentName": "Viaje al centro de la tierra",
                    "ResultType": 0,
                    "SessionStartTimeType": 0
                }
            ]
        },
        {
            "ProductId": "6asd55fa6s5f",
            "AccessDate": "2022-06-02",
            "HasTicketEnclosures": true,
            "Tickets": 
            [
                {
                    "TicketId": "uy456i4yu654i",
                    "AccessDate": "2022-06-02",
                    "TicketEnclosureId": "09aslkdfj354",
                    "ResultType": 4,
                    "SessionStartTimeType": 1
                }
            ]
        }
    ],
    "Success": true,
    "Timestamp": "2022-02-18T17:02:27.8165916"
}