# API facturación
# 1. Introducción
Bienvenido a la API de facturación de Mybooking. Este API permite extraer información de las facturas.
# 1.1 Credenciales
Consulta el funcionamiento de las credenciales con API Key para ver cómo funciona la autenticación en el acceso a las APIs.
# 1.2 URL base
Cada una de las cuentas de Mybooking son accesible a través de un subdominio único id de cliente. Si el id de cliente es rentpepe la URL base para realizar las peticiones será:
https://rentpepe.mybooking.es
# 2. Modelo de datos
# Objecto Invoice
# Atributos
id number
Identificador de la factura
company_id number
Identificador de la empresa
object string
Tipo de objeto. En este caso "invoice" que representa una factura
rental_location_code string
Identificador de la sucursal. Sólo se informa cuando hay múltiples sucursales.
rental_storage_external_code string
Código externo del grupo de sucursales o concesionario. Sólo se informa cuando hay múltiples sucursales.
rental_location_external_code string
Código externo de la sucursal o instalación. Sólo se informa cuando hay múltiples sucursales.
sales_channel_code string
Identificador del canal de venta. Sólo se informa cuando hay múltiples canales de venta.
invoice_type string
Tipo de factura. Los valores posibles son:
- invoice que representa una factura y
- payment que representa un abono.
invoice_mode string
Modo de la factura. Los valores posibles son:
- default Factura no vinculada a un contrato
- reservation_retainer Factura de anticipo
- reservation_breakdown Conceptos desglosados
- reservation_extra Conceptos extras una vez creada la factura final
invoice_status string
Estado de la factura. Los valores posibles son:
- draft Borrador
- invoice Factura en firme
serie string
Número de serie de la factura. Cuando está emitida.
number string
Número de factura. Cuando está emitida.
date string
Fecha de emisión de la factura. Formato AAAA-MM-DD
concept string
Concepto de la factura
customer_id number
Identificador de cliente
customer_type string
Tipo de cliente. Los valores posibles son:
- individual Persona física
- legal_entity Persona jurídica
- internal_department Departamento interno
- legal_entity_group_company Empresa del grupo
customer_full_name string
Nombre completo del cliente
customer_document_id string
DNI/Pasaporte del cliente
customer_address_street string
Dirección del cliente : calle
customer_address_number string
Dirección del cliente : número
customer_address_complement string
Dirección del cliente : complemento (piso, puerta, escalera, ...)
customer_address_city string
Dirección del cliente : ciudad
customer_address_state string
Dirección del cliente : provincia
customer_address_country string
Dirección del cliente : país
customer_address_zip string
Dirección del cliente : código postal
payment_status string
Estado del pago. Los valores posibles son:
- pending Pendiente
- paid Pago
total_paid number
Estado del pago. Los valores posibles son:
- pending Pendiente
- paid Pago
agent_comission_prepaid_amount number
Importe del prepago de comisión al comisionista
total_pending number
Importe pendiente de pago
reference_source string
Tipo de documento facturado. Sólo está informado cuando la factura está vinculada a un contrato de alquiler o de actividades. Los valores posibles son:
- booking Contrato de alquiler
- order Contrato de actividades
reference string
Número del contrato de alquiler o actividades vinculado
reference_detail string
Número de matrícula del vehículo alquilado
reference_dates string
Fechas y horarios de la entrega y devolución
reference_subtype_id integer
Identificador del tipo de contrato
reference_subtype_name string
Nombre del tipo de contrato
reference_agency string
Nombre de la agencia online a través de la que se captó la reserva/contrato
currency string
Moneda de la factura. Código ISO-4271
total_without_taxes_1 string
Importe sin impuestos 1. Formato NN.NN
vat_1 string
% Tipo de impuestos 1. Formato NN.NN
taxes_1 string
Total impuestos del tipo de impuestos 1. Formato NN.NN
total_without_taxes_2 string
Importe sin impuestos 2. Formato NN.NN
vat_2 string
% Tipo de impuestos 2. Formato NN.NN
taxes_2 string
Total impuestos del tipo de impuestos 2. Formato NN.NN
total_without_taxes_3 string
Importe sin impuestos 3. Formato NN.NN
vat_3 string
% Tipo de impuestos 3. Formato NN.NN
taxes_3 string
Total impuestos del tipo de impuestos 3. Formato NN.NN
total_without_taxes_4 string
Importe sin impuestos 4. Formato NN.NN
vat_4 string
% Tipo de impuestos 4. Formato NN.NN
taxes_4 string
Total impuestos del tipo de impuestos 4. Formato NN.NN
total_without_taxes_5 string
Importe sin impuestos 5. Formato NN.NN
vat_5 string
% Tipo de impuestos 5. Formato NN.NN
taxes_5 string
Total impuestos del tipo de impuestos 5. Formato NN.NN
total_without_taxes string
Importe total antes de impuestos. Formato NN.NN
total_taxes string
Total de impuestos. Formato NN.NN
total string
Total. Formato NN.NN
items Array
Líneas de la factura
charges Array
Cobros
# Objecto InvoiceItem
# Atributos
id number
Identificador de la línea de la factura
object string
Tipo de objeto, "invoice_item" representa una línea de factura
concepto string
Concepto facturado
quantity number
Cantidad
vat_percentage string
Tipo de impuestos. Formato NN.NN
taxes_included boolean
Indica si el precio incluye impuestos
price_without_taxes string
Importe unitario sin impuestos
unit_taxes string
Importe impuestos unitario. Formato NN.NN
price string
Precio de una unidad con impuestos. Formato NN.NN
total_without_taxes string
Importe total sin impuestos. Formato NN.NN
subtotal string
Subtotal de la línea de factura. Formato NN.NN
taxes string
Importe de los impuetos de la línea de factura. Formato NN.NN
total string
Importe total, incluyendo impuestos, de la línea de factura. Formato NN.NN
external_code string
Código externo vinculado con el ERP
# Objecto Charge
# Atributos
id number
Identificador de la línea de la factura
object string
Tipo de objeto, "charge" representa un cobro
payment_type string
Tipo de pago. Los valores posibles son:
- charge Cobro
- payment Devolución
rental_location_code string
Identificador de la sucursal. Sólo se informa cuando hay múltiples sucursales.
sales_channel_code string
Identificador del canal de venta. Sólo se informa cuando hay múltiples canales de venta.
date string
Fecha del cobro en formato YYYY-MM-DDTHH:mm:SS.MSN.+NN:NN
amount string
Importe cobrado. Formato NN.NN
currency string
Moneda del cobro. Código ISO-4271
status string
Estado de pago. Los valores posibles son:
- done Cobrado
payment_method_id string
Forma de pago. Los valores posibles son:
- credit_card Tarjeta de crédito
- cash Efectivo
- bank_transfer Transferencia bancaria
- paypal_standard Paypal
- redsys_256 TPV Virtual - Redsys
- addon_payments TPV Virtual - Addon Payments
- cecabank TPV Virtual - Cecabank
- webpay TPV Virtual - Webpay transbank
- tpv_online TPV Online
- check Cheque
- promissory_note Pagaré
- booking_portal Portal / Agencia online
external_operation_number string
Código externo de la operación. En el caso de tarjeta de crédito
origin string
Origen del cobro
deposit_kept boolean
Indica si el cobro corresponde a la retención del importe de la fianza/franquicia
offline_physical_device_id string
Indica el código del dispositivo físico, datáfono, con el que se ha realizado el cobro.
{
"data": [
{
"id": 115,
"object": "invoice",
"company_id": 1,
"rental_location_code": "MAHON",
"rental_location_external_code": "1234",
"rental_storage_external_code": "4441",
"sales_channel_code": null,
"invoice_type": "invoice",
"invoice_mode": "default",
"invoice_status": "draft",
"serie": "A",
"number": null,
"date": "2022-07-26",
"concept": "Factura Reserva 2223 - 26/07/2022 13:15 - 30/07/2022 10:00 - 8493JXR",
"customer_id": 440,
"customer_type": "individual",
"customer_full_name": "Brad Stark",
"customer_document_id": "55555555R",
"customer_address_street": "",
"customer_address_number": "",
"customer_address_complement": "",
"customer_address_city": "",
"customer_address_state": "",
"customer_address_country": "",
"customer_address_zip": "",
"payment_status": "paid",
"total_paid": "227.0",
"agent_comission_prepaid_amount": "0.0",
"total_pending": "0.0",
"reference_source": "booking",
"reference": "2223",
"reference_detail": "8493JXR",
"reference_dates": "26/07/2022 13:15 - 30/07/2022 10:00",
"reference_subtype_id": 1,
"reference_subtype_name": "Alquiler",
"reference_agency": null,
"currency": "EUR",
"total_without_taxes_1": "187.61",
"total_without_taxes_2": "0.0",
"total_without_taxes_3": "0.0",
"total_without_taxes_4": "0.0",
"total_without_taxes_5": "0.0",
"discount_type": "percent",
"discount_tp": "0.0",
"discount_1": "0.0",
"discount_2": "0.0",
"discount_3": "0.0",
"discount_4": "0.0",
"discount_5": "0.0",
"subtotal_1": "0.0",
"subtotal_2": "0.0",
"subtotal_3": "0.0",
"subtotal_4": "0.0",
"subtotal_5": "0.0",
"vat_1": "21.0",
"vat_2": "0.0",
"vat_3": "0.0",
"vat_4": "0.0",
"vat_5": "0.0",
"taxes_1": "39.39",
"taxes_2": "0.0",
"taxes_3": "0.0",
"taxes_4": "0.0",
"taxes_5": "0.0",
"total_without_taxes": "187.61",
"discount": "0.0",
"subtotal": "187.61",
"total_taxes": "39.39",
"total": "227.0",
"items": [
{
"id": 115,
"object": "invoice_item",
"concept": "Alquiler Grupo C",
"quantity": 1,
"vat_percentage": "21.0",
"taxes_included": true,
"price_without_taxes": "177.69",
"unit_taxes": "37.31",
"price": "215.0",
"total_without_taxes": "177.69",
"subtotal": "177.69",
"taxes": "37.31",
"total": "215.0",
"external_code": ""
},
{
"id": 115,
"object": "invoice_item",
"concept": "Seguro Extra",
"quantity": 1,
"vat_percentage": "21.0",
"taxes_included": true,
"price_without_taxes": "9.92",
"unit_taxes": "2.08",
"price": "12.0",
"total_without_taxes": "9.92",
"subtotal": "9.92",
"taxes": "2.08",
"total": "12.0",
"external_code": null
}
],
"charges": [
{
"id": 2638,
"object": "charge",
"payment_type": "charge",
"rental_location_code": "MAHON",
"sales_channel_code": null,
"date": "2022-07-26T11:14:00.000+00:00",
"amount": "227.0",
"currency": "EUR",
"status": "done",
"payment_method_id": "credit_card",
"external_operation_number": "",
"origin": null,
"deposit_kept": false,
"offline_physical_device_id": null
}
],
"accounting_processed": false
}
],
"total": 29
}
# 3. API
# 3.1 Obtener facturas
GET /api/v1/integration/invoices
Obtiene facturas.
El volumen de datos que puede llegar a devolver este end-point puede ser demasiado grande para obtenerlos en una única petición. Por esto, se ha implementado con un sistema de paginación que permite ir obtiendo los datos en grupos más reducidos. De forma predeterminada obtiene 20 elementos y retorna el número total de forma que permite implementar un sistema de navegación.
# Petición
# Respuesta de la petición
Obtiene un Array de objetos tipo Invoice
# 3.2 Registra que una factura ha sido procesada
POST /api/v1/integration/invoice/:id/processed
Registra que una factura ha sido integrada. Permite indicar también si se ha producido un error en la integración para poderlo analizar