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 (campoIdde la pregunta devuelto al consultar perfiles de preguntas).Question: (string)Opcional. Texto de la pregunta. Informativo.- Propiedad de valor: según el
DataTypede 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 paraDataType= 12 o 13.BinaryExtension: (string)Opcional. Extensión del archivo. Solo paraDataType= 12 o 13.
Tipo de dato (
DataType) → propiedad de respuestaEl
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)
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 baseQuota: (double). ComisiónTotal: (double). Total
Discount: (Objeto). Descuento comercial.BasePrice: (double). Precio baseQuota: (double). ComisiónTotal: (double). Total
Commission: (Objeto). Coste de colaborador.BasePrice: (double). Precio baseQuota: (double). ComisiónTotal: (double). Total
SalePrice: (Objeto). Precio de venta.BasePrice: (double). Precio baseQuota: (double). ComisiónTotal: (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): IdentificadorName(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 |