Listado de ventas
Este método permite obtener el listado de ventas.
Método de acceso
GET /Sale
Estructura de la petición
Requiere pasarle, como parámetro de la url (query string), los siguientes parámetros:
Filtros disponibles para la obtención del listado de ventas. Estos filtros se envían como parámetros en la URL (query string). Filtros disponibles:
PartnerSaleId: (string).OpcionalIdentificador del colaborador.FromTransactionDateTime: (date).OpcionalFecha inicial de creación de la transacción. Formato IS0 8601 (YYYY-MM-DD).ToTransactionDateTime: (date).OpcionalFecha final de creación de la transacción. Formato IS0 8601 (YYYY-MM-DD).FromAccessDateTime: (date).OpcionalFecha inicial de acceso. Formato IS0 8601 (YYYY-MM-DD).ToAccessDateTime: (date).OpcionalFecha final de acceso. Formato IS0 8601 (YYYY-MM-DD).ClientName: (string).OpcionalNombre del cliente.ClientEmail: (string).OpcionalEmail del cliente.ClientPhone: (string).OpcionalTeléfono del cliente.ClientDocumentIdentifier: (string).OpcionalDocumento de identidad del cliente.Page: (int).OpcionalNúmero de página a obtener. Valor por defecto1.PageSize: (int).OpcionalNúmero de resultados a obtener.
Ejemplo de llamada
Examples
{{url}}/Sale?PartnerSaleId=MyPartnerSaleId&FromTransactionDateTime=2022-10-07&Page=1&ClientName=MyClientName
Estructura de la respuesta
-
Sales: (list). Listado de ventas.PartnerSaleId: (string). Identificador del colaborador.-
Activities: (list). Listado de actividades.-
Activity: (object). Información de la actividad.ProductId: (string). Identificador del producto.CombinedProductId: (string)Opcional. Identificador del producto combinado.CombinedProductDiscriminator: (byte)Opcional. Indica a qué producto combinado pertenece dentro del array deCombinedProducts.AccessCode: (string)Opcional. Código de barras (si corresponde).AccessDateTime: (date)Requerido. Fecha de acceso. Formato IS0 8601 (YYYY-MM-DD).Quantity: (int)Requerido. Cantidad de productos.ProductName: (string). Nombre del producto.ProviderId: (string). Identificador del proveedor.ProviderName: (string). Nombre del proveedor.Price: (decimal). Indica el precio al que se ha vendido el producto.PriceWithoutVat: (decimal). Indica el precio al que se ha vendido el producto sin impuestos.-
PriceMode: (int). Tipo de precio:Posibles valores
- 1: PVP
- 2: Neto
-
Status: (int). Tipo de precio.Posibles valores
1: Iniciada.2: Confirmada.4: Cancelada.7: En proceso.
-
Discount: (decimal). Descuento total aplicado al producto. Solo aparece si se ha aplicado algún cupón descuento. DiscountCoupons: (list). Cupones descuento aplicados al producto. Solo aparece en caso de que al producto se le haya aplicado algún cupón descuento.DiscountCouponId: (string). Identificado del cupón descuento.Name: (string). Nombre del cupón descuento.Description: (string). Descripción del cupón descuento.Discount: (decimal). Descuento que ha generado sobre el producto.Code: (string). Código usado para la aplicación del cupón descuento.
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.-
Tickets: (object)Opcional. Lista con la información del ticket.TicketId: (string)Requerido. Identificador del ticket.SessionId: (string)Opcional. Identificador de la sesión.SessionTime: (date)Opcional. Hora de la sesión.AccessDateTime: (date)Requerido. Construye el mensaje que se sugiere que se muestre respecto a la fecha de acceso en el documento de acceso en función de AccessDateCriteria, AccessDateCriteriaOpenDateSalesDocument, AccessDateTime y AccessEndDateTime.AccessEndDateTime: (date)Requerido. En caso de existir, indica la fecha de fin de validez de acceso del ticket. Formato IS0 8601 (YYYY-MM-DD).SuggestedAccessDateMessage: (string). Código de barras (si corresponde).AccessCode: (string)Opcional. Código de barras (si corresponde).TicketEnclosureId: (string). Identificador del recinto del ticket.TicketEnclosureName: (string). Nombre del recinto del ticket.Questions: (object)Opcional. Identificador del ticket.TicketQuestionId: (string)Requerido. Identificador de la pregunta.Question: (string). Pregunta.StringValue: (string). Respuesta de de ejemplo de tipostring.
Información adicional
- Dependiendo del tipo de pregunta se tienen que enviar el valor de la respuesta en una propiedad u otra. Es decir, por ejemplo, si la pregunta es de tipo texto(
DataType= 0), se devolverá la propiedadStringValue. - Otro ejemplo, en caso de que fuese de tipo fecha(
DataType= 4), se devolverá la propiedadDateTimeValuey así sucesivamente.
Posibles valores
- StringValue: Respuesta de la pregunta con un único valoro selección de un valor entre un conjunto de valores predefinidos.
- BooleanValue: Respuesta de la pregunta con true o false.
- DateTimeValue: Respuesta de la pregunta indicando fecha.
- IntegerValue: Respuesta de la pregunta indicando número entero.
- DecimalValue: Respuesta de la pregunta indicando número decimal.
- StringCollectionValue: Selección de varios valores entre un conjunto de valores predefinidos.
- BinaryValue: Archivo.
-
CancellationConditions: (object). Indica las políticas de cancelación que se aplican al cancelar la venta de este producto.IsRefundable: (boolean). Indica si el cliente puede cancelar gratis en algún momento.Rules: (list). Reglas que se aplican al efectuar la cancelación.Percentage: (decimal). Porcentaje de penalización sobre el precio de la entrada.Amount: (decimal). Importe total de la cancelación.FromInclusiveDateTime: (date). Fecha desde la que se aplica la penalización (incluida). Formato IS0 8601 (YYYY-MM-DD).ToExclusiveDateTime: (date). Fecha hasta la que se aplica la penalización (excluida). Formato IS0 8601 (YYYY-MM-DD).HoursInAdvanceOfAccess: (int). Indica la cantidad de horas de antelación con respecto a la fecha de acceso a partir de las cuales se aplicará la penalización de precio indicada en Amount.
-
-
Accommodations: (list). Listado de alojamientos incluidos en la venta.Accommodation: (object). Información sobre el alojamiento.ProductId: (string). Identificador de la tarifa.ProductConditions: (string). Condiciones del producto.AccessDateTime: (dateTime). Fecha de entrada.AccessEndDateTime: (dateTime). Fecha de salida.Quantity: (int). Cantidad de unidades añadidas.Price: (decimal). Precio de la tarifa.PriceMode: (int). Tipo de precio.
-
CombinedProducts: (list). Listado de productos combinados de las actividades incluidos en la venta.CombinedProductId: (string). Identificador del producto combinado.CombinedProductDiscriminator: (string). Relación existente entre producto(Array de Products) y producto combinado.Price: (decimal). Precio de cada producto combinado.PriceWithoutVat: (decimal). Precio de cada producto combinado sin impuestos.CancellationConditions: (object). Indica las políticas de cancelación que se aplican al cancelar la venta de este producto.IsRefundable: (boolean). Indica si el cliente puede cancelar gratis en algún momento.Rules: (list). Reglas que se aplican al efectuar la cancelación.Percentage: (decimal). Porcentaje de penalización sobre el precio de la entrada.Amount: (decimal). Importe total de la cancelación.FromInclusiveDateTime: (date). Fecha desde la que se aplica la penalización (incluida). Formato IS0 8601 (YYYY-MM-DD).ToExclusiveDateTime: (date). Fecha hasta la que se aplica la penalización (excluida). Formato IS0 8601 (YYYY-MM-DD).HoursInAdvanceOfAccess: (int). Indica la cantidad de horas de antelación con respecto a la fecha de acceso a partir de las cuales se aplicará la penalización de precio indicada en Amount.
-
Client: (object). Datos del cliente de la venta.Client: (object). Información sobre el cliente.Id: (string). Identificador del cliente.CreatedDate: (dateTime). Fecha en que se dio de alta.BirthDate: (dateTime). Fecha de nacimiento.FullName: (string). Nombre.Surname: (string). Apellido 1.Surname2: (string). Apellido 2.Email: (string). Email.PhoneNumber: (string). Número de teléfono.DocumentIdentifier: (string). Identificación (DNI, pasaporte...).CountryCode: (string). Código de país.LanguageCode: (string). Código de idioma.Gender: (byte). Género (opcional).Province: (string). Provincia.City: (string). Ciudad.ZipCode: (string). Código postal.
-
TotalPrice: (decimal). Indica el precio total de la venta. TotalPriceWithoutVat: (decimal). Indica el precio total de la venta sin impuestos.TotalDiscount: (decimal). Descuento total aplicado sobre la venta. Solo aparece si se ha aplicado algún cupón descuento.InsurancePolicyAmount: (decimal). Indica el precio total del seguro de reembolso.InsurancePolicyAmountWithoutTaxes: (decimal). Indica el precio total del seguro de reembolso sin impuestos.
-
PageNumber: (int). Indica la página solicitada. HasPreviousPage: (boolean). Indica si hay una página previa a la solicitada.HasNextPage: (boolean). Indica si hay una siguiente página.-
IsFirstPage: (boolean). Indica si la página solicitada corresponde a la primera página. -
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
{
"Sales": [
{
"PartnerSaleId": "i6m7uj93p1mie",
"TotalPrice": 22.36,
"TotalPriceWithoutVat": 18.48,
"TotalDiscount": 0.0,
"Client": {
"CreatedDate": "2024-07-26T11:41:34.453",
"FullName": "Experticket Team",
"Surname": "Team",
"Email": "tecnologia@experticket.com",
"PhoneNumber": "666666666",
"CountryCode": "es",
"LanguageCode": "es",
"Gender": 0,
"AcceptsEmailContact": false,
"AllowCustomerProfiling": false,
"Success": false,
"Timestamp": "0001-01-01T00:00:00"
},
"Activities": [
{
"FinancialRatios": {
"ReferenceSalePrice": {
"BasePrice": 18.48,
"Quota": 3.88,
"Total": 22.36
},
"Discount": {
"BasePrice": 0.00,
"Quota": 0.0,
"Total": 0.0
},
"Commission": {
"BasePrice": 2.22,
"Quota": 0.47,
"Total": 2.68
},
"SalePrice": {
"BasePrice": 18.48,
"Quota": 3.88,
"Total": 22.36
}
},
"ProductId": "c88r4zkwdocqy",
"Tickets": [
{
"TicketId": "b3ziixhux5tq6",
"AccessCode": "NOTVALIDhkz4d6nyef17y",
"BillingCode": "3/0/3rihi8om3z57e",
"TicketName": "Entrada Adulto",
"AccessDateTime": "2024-08-02T00:00:00",
"AccessEndDateTime": "2024-08-02T00:00:00",
"SuggestedAccessDateMessage": "2/8/2024",
"EnclosureId": "shcbo55y5am5c",
"EnclosureName": "Recinto 1"
}
],
"ProviderId": "1tnsbzkpnoz1o",
"Status": 2,
"PurchaseFlowType": 1,
"ProductName": "Entrada parque",
"ProviderName": "Parque",
"Price": 22.360000000000,
"PriceWithoutVat": 18.48,
"AccessDateTime": "2024-08-02T00:00:00",
"PriceMode": 1,
"AccessDateCriteria": 0,
"SalesDocumentSettings": {
"ShowPrice": true
},
"CancellationConditions": {
"IsRefundable": true,
"Rules": [
{
"HoursInAdvanceOfAccess": 96.00,
"Percentage": 100.00,
"Amount": 22.36,
"FromInclusiveDateTime": "2024-07-29T00:00:00"
}
]
},
"PartnerCode": "u6bsdoty1zzar",
"ProviderType": 0
}
],
"PointOfSaleCustomCodes": [],
"EconomicMovementAmount": 0.00,
"EconomicMovementAmountWithoutTax": 0.0,
"InsurancePolicyAmount": 0.00,
"InsurancePolicyAmountWithoutTax": 0.0
}
],
"PageNumber": 1,
"HasPreviousPage": false,
"HasNextPage": false,
"IsFirstPage": true,
"Success": true
}