Saltar a contenido

Confirmación de la reserva

Este método confirma la reserva realizada previamente en nuestros sistemas.

Método de acceso

POST /ShoppingCart/Sale

Estructura de la petición

  • ShoppingCartId: (string) Requerido. Identificador del carrito.
  • PartnerSaleId: (string) Requerido. Identificador del colaborador.
  • InsurancePolicyId: (string) Opcional. Identificador de la póliza de seguro de reembolso.

    Información

    Este identificador se obtiene al hacer la llamada para comprobar pólizas disponibles. Esta función nos devolverá un listado de polizas disponibles con sus identificadores(Id). Ese identificador es el que debemos usar en este campo.

  • DiscountCouponCodes: (list) Opcional. Listado de cupones (descuentos/promociones) que emite el recinto mediante esta plataforma.

    • (string): (list) Requerido. Código del cupón.
  • Client: (object) Opcional. Información del cliente. Si la venta contiene hoteles, esta propiedad es obligatoria. Si únicamente contiene actividades, este parámetro dependerá de la configuración que se haya acordado con el colaborador.
    • FullName: (string) Requerido. Nombre.
    • Surname: (string) Requerido. Apellidos.
    • DocumentIdentifier: (string) Requerido. Documento de identidad.
    • PhoneNumber: (string) Requerido. Teléfono.
    • Email: (string) Requerido. Correo electrónico.
  • PaymentMethod: (string) Opcional. Información del método de pago. Únicamente habrá que rellenarlo en caso de que el colaborador tenga un contrato a débito.
    • PaymentMethodType: (int) Requerido. Identificador del método de pago.
    • ReturnUrlOk: (string) Requerido. Url en la cual se notificará que el cobro ha ido correctamente.
    • ReturnUrlKo: (string) Requerido. Url en la cual se notificará que el cobro ha sido fallido.
    • SendByEmail: (boolean) Requerido. Indica que queremos hacerle llegar un enlace por email al cliente para que realice el pago, en caso de tener la opción de hacer llegar un enlace de pago al cliente por email disponible. Ver PaymentMethods.PaymentMethod.EnableSendByEmail

En este paso pueden enviarse las respuestas a las preguntas de niveles venta, proveedor y cliente. Si ya se enviaron al reservar, pueden volver a enviarse aquí. Consulta la introducción a los perfiles de preguntas.

  • QuestionsProfiles: (list) Opcional. Listado de perfiles de preguntas con sus respuestas. Se utiliza para responder a las preguntas de nivel venta, proveedor y cliente. Las preguntas de nivel ticket se responden al añadir el producto al carrito, no aquí. Consulta la introducción a los perfiles de preguntas para entender cada nivel.

    • QuestionsProfileId: (string) Requerido. Identificador del perfil de preguntas. Se obtiene del catálogo (SaleQuestionProfileIds, ClientQuestionProfileIds, ProviderQuestionsProfileIds) y de consultar perfiles de preguntas.
    • Questions: (list) Requerido. Respuestas a las preguntas del perfil.
      • QuestionId: (string) Requerido. Identificador de la pregunta (campo Id de la pregunta devuelto al consultar perfiles de preguntas).
      • Question: (string) Opcional. Texto de la pregunta. Informativo.
      • Propiedad de valor: según el DataType de la pregunta, debe rellenarse una de las siguientes propiedades:
        • StringValue (string) / StringCollectionValue (list).
        • BooleanValue (boolean) / BooleanCollectionValue (list).
        • IntegerValue (int) / IntegerCollectionValue (list).
        • DecimalValue (decimal) / DecimalCollectionValue (list).
        • DateTimeValue (dateTime) / DateTimeCollectionValue (list).
        • BinaryValue (string) / BinaryCollectionValue (list). Contenido del archivo codificado en base64.
      • BinaryMimeType: (string) Opcional. Tipo MIME del archivo. Solo para DataType = 12 o 13.
      • BinaryExtension: (string) Opcional. Extensión del archivo. Solo para DataType = 12 o 13.
    Tipo de dato (DataType) → propiedad de respuesta

    El DataType determina en qué propiedad debe enviarse la respuesta de la pregunta.

    DataType Tipo Propiedad de respuesta
    0 Texto StringValue
    1 Lista de textos StringCollectionValue
    2 Booleano BooleanValue
    3 Lista de booleanos BooleanCollectionValue
    4 Fecha DateTimeValue
    5 Lista de fechas DateTimeCollectionValue
    6 Número entero IntegerValue
    7 Lista de enteros IntegerCollectionValue
    8 Número decimal DecimalValue
    9 Lista de decimales DecimalCollectionValue
    10 Selección de un valor entre un conjunto predefinido (Values) StringValue
    11 Selección de varios valores entre un conjunto predefinido (Values) StringCollectionValue
    12 Archivo BinaryValue (+ BinaryMimeType, BinaryExtension)
    13 Lista de archivos BinaryCollectionValue (+ BinaryMimeType, BinaryExtension)

Ejemplo de llamada

Examples
{
  "ShoppingCartId": "{{ShoppingCartId}}",
  "PartnerSaleId": "{{PartnerSaleId}}",
  "DiscountCouponCodes": [],
  "Client": {
    "FullName": "Sylvanas",
    "Surname": "Windrunner",
    "DocumentIdentifier": "91039185",
    "PhoneNumber": "34123456789",
    "Email": "sylvanas@SanctumofDomination.com"
  },
  "PaymentMethod": {
    "PaymentMethodType": 1,
    "ReturnUrlOk": "https://someurl.local/ok",
    "ReturnUrlKo": "https://someurl.local/ko",
    "SendByEmail": false
  },
  "QuestionsProfiles": [
    {
      "QuestionsProfileId": "sale7yq2k9wla",
      "Questions": [
        {
          "QuestionId": "qorigen3k9wla",
          "StringValue": "web"
        }
      ]
    },
    {
      "QuestionsProfileId": "cli9q2k9wla3c",
      "Questions": [
        {
          "QuestionId": "qnews3k9wla3c",
          "BooleanValue": true
        }
      ]
    }
  ]
}

Estructura de la respuesta

  • PaymentRedirectUrl: (string). En caso de colaborador con pago a débito, esta propiedad indica la URL donde habrá que redirigir al cliente para hacer el pago.
  • ExperticketSales: (list). Listado de ventas asociadas.

    • ExperticketSale: (object). Información de la venta.
      • Id: (string). Identificador de la venta.
        • FinancialRatios: (Objeto). Conceptos económicos de una venta.
          • ReferenceSalePrice: (Objeto). Precio de venta de referencia.
            • BasePrice: (double). Precio base
            • Quota: (double). Comisión
            • Total: (double). Total
          • Discount: (Objeto). Descuento comercial.
            • BasePrice: (double). Precio base
            • Quota: (double). Comisión
            • Total: (double). Total
          • Commission: (Objeto). Coste de colaborador.
            • BasePrice: (double). Precio base
            • Quota: (double). Comisión
            • Total: (double). Total
          • SalePrice: (Objeto). Precio de venta.
            • BasePrice: (double). Precio base
            • Quota: (double). Comisión
            • Total: (double). Total
  • Success: (boolean). Valor que indica si la llamada ha sido procesada correctamente o no.

  • Errors: (list). Array de errores.
    • Error: (object).
      • ErrorMessage: (string). Mensaje de error explicando por qué la petición no ha sido correcta. En caso que haya sido correcta, devolverá null.
      • ErrorCode: (int). Código que identifica al error.
  • 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

Examples
{
    "ExperticketSales": [
        {
            "Id": "5049250640429850462"
        }
    ],
    "Success": true
}

Cabeceras HTTP adicionales

  • Esta llamada acepta una cabecera adicional, para indicar el usuario del colaborador que lleva a cabo la venta:
Nombre de la cabecera Valor de la cabecera
AdminPartnerUserId Identificador del usuario del AdminPartner