- 24 Oct 2023
- 4 Minutes to read
- Print
- DarkLight
- PDF
API Billing
- Updated on 24 Oct 2023
- 4 Minutes to read
- Print
- DarkLight
- PDF
Esta API nos permite hacer diferentes funciones dentro del módulo de Billing.
Listado de Facturas
Podemos hacer una llamada con los siguientes parámetros para poder obtener un listado de las facturas:
Tipo de Llamada:POST
module: Billing
class: Billing
action: getBills
token: *vuestro token para las consultas api*
Los parámetros de filtro asignados en el parámetro data son:
cups
init_date ->filtro por periodo de la factura
end_date ->filtro por periodo de la factura
bill_date_init -> filtro por la fecha de emisión de la factura
bill_date_end -> filtro por la fecha de emisión de la factura
bill_number -> para indicar un número de factura
show_rectified -> si se indica a 1 se mostraran también las facturas rectificativas
limit -> para determinar el número máximo de registros de retorno
channel_name -> campo para filtrar por nombre de canal
Ejemplo retorno:
{
"list_bills": [
{
"id": "130803",
"site_code": "ESXXXXXXXXXFM",
"bill_number": null,
"customer_desc": "Nemon",
"site_desc": "C/ Dirección",
"tariff": "3.1",
"link": null,
"link_draft": "file.pdf",
"created": "2021-04-30 13:32:21",
"modificated": "2021-04-30 13:32:30",
"channel_name": "Channel Name",
"grouped_bill": "0",
"comunication_method": "E-mail",
"accounting_traspass_user": null,
"euros_compensat": null,
"kw_compensat": null,
"bill_date": "1900-01-01",
"bill_maturity": "1900-01-01",
"init_period": "2020-12-11",
"end_period": "2021-01-30",
"accounting_traspass_date": "1900-01-01",
"link_downloaded_date": "1900-01-01 00:00:00",
"emission_date": "2021-02-01",
"comunication_date": "1900-01-01 00:00:00",
"blocked_communication_date": "1900-01-01",
"bill_classification": "",
"energy_p1": "1297.83",
"energy_p2": "0",
"energy_p3": "0",
"energy_p4": "0",
"energy_p5": "0",
"energy_p6": "0",
"energy_price_p1": "0.041923",
"energy_price_p2": "0",
"energy_price_p3": "0",
"energy_price_p4": "0",
"energy_price_p5": "0",
"energy_price_p6": "0",
"potence_p1": "1",
"potence_p2": "1",
"potence_p3": "1",
"potence_p4": "1",
"potence_p5": "1",
"potence_p6": "1",
"potence_price_p1": "0.277496",
"potence_price_p2": "0",
"potence_price_p3": "0",
"potence_price_p4": "0",
"potence_price_p5": "0",
"potence_price_p6": "0",
"potence": "14.15",
"excess_potence": "0",
"energy": "54.41",
"excess_reactive": "0",
"regularization": "0",
"fees": "0",
"others_with_electric_tax": "0",
"subtotal_electric_tax": "69.52",
"electric_tax": "3.04",
"electric_tax_discount": "0",
"rents": "1.12",
"others_without_electric_tax": "0",
"subtotal_vat_tax": "73.68",
"vat_tax": "15.47",
"total": "89.15",
"distribution_rights": "0",
"grouped_bill_code": "",
"pseudo_bill_number": "",
"managment_status": "1",
"managment_name": "Generado",
"managment_status_text": "",
"payment_status": "Pendiente",
"distributor_bill_type": "N",
"id_bill_rectified": null,
"bill_sending_face": "No",
"distbill_related_incidences_count": "0",
"val_errors": "0",
"validation_locked_bill": "0",
"validation_locked_bill_message": "",
"dual_billing": "No",
"contract_idcontract": "13407",
"contract_code": "FFxxxxxx",
"customer_vat_code": "BXXXXXXXX",
"rights_amount": 0
}
],
"error": {
"valid": true,
"errorNum": 0,
"errorDesc": ""
}
}
Obtener datos de Factura Indexada
Está llamada a la API nos permite obtener para productos Indexados, los valores de las distintas variables para un intervalo de tiempo.
Tipo de Llamada:POST
module: Billing
class: Billing
action: getPassThroughData
token: *vuestro token para las consultas api*
data: {"cups":"","init_date":"2018-11-01","end_date":"2018-11-01","product_id":"1"}
El retorno de la llamada es un JSON con una serie de matrices:
"list_pass_through_ree_si3"
"list_pass_through_ree_rt6"
"list_pass_through_ree_rt3"
"list_pass_through_ree_ps3"
"list_pass_through_ree_pc3"
"list_pass_through_ree_mi"
"list_pass_through_ree_in7"
"list_pass_through_ree_exd"
"list_pass_through_ree_dsv"
"list_pass_through_ree_bs3"
"list_pass_through_ree_balx"
"list_pass_through_ree_perdidas"
"list_pass_through_omie_md"
"list_pass_through_metering"
"regulated_pc"
"regulated_om"
"regulated_os"
"regulated_taxmun"
"regulated_atrte"
"regulated_fee"
"regulated_iiee"
"list_pass_through_ree_sphdem":[]
"list_pass_through_ree_sprgp":[]
"list_pass_through_ree_scdsvdem":,
en cada una de las matrices, habrán N registros con los datos comprendidos entre el intervalo init_date y end_date.
No tiene por qué tener todos los valores del intervalo de tiempo. En algunos casos el motivo será la velocidad de la publicación, p. ej. de REE, y por el otro que no siempre todos los conceptos tienen información para todos los días.
La estructura de cada una de las filas de cada matriz, es homogénea dentro de la misma matriz, pero no tiene por qué serlo con el resto de matrices. Las columnas coincidentes entre todas las matrices son: type , date y los valores de la Hora 1 a la Hora 25.
Los valores se expresan en €/kWh.
Simulación PassThrough
Está llamada a la API nos permite obtener el cálculo del PassThrough indicando CUPS, periodo a calcular y el producto.
Tipo de Llamada:POST
module: Billing
class: Billing
action: getPassThroughCalculation
token: *vuestro token para las consultas api*
data: <json>
{
"cups": "",
"id_product": 0,
"init_date": "2021-01-01",
"end_date": "2021-01-31",
"use_metering": true,
"options": {
"get_prices_potence_from_boe": true,
"consumptions_to_perfilate": true
}
}
cups: ( Obligatorio ) Podremos indicar el CUPS que queremos calcular.
id_product: ( Obligatorio ) Tendremos que indicar el ID del producto PassThrough que queremos usar para el cálculo.
init_date: ( Obligatorio ) Tendremos que indicar la fecha de inicio del cálculo.
end_date: ( Obligatorio ) Tendremos que indicar la fecha de finalización del cálculo.
use_metering: ( Obligatorio ) Nos permite indicar si queremos usar la fórmula del coste financiero y no la fórmula del producto.
options: Nos permite modificar el resultado, pudiendo obtener datos extra, como por ejemplo:
get_prices_potence_from_boe: ( true ): si marcamos este campo a true, podremos obtener la matriz de precios del BOE del rango de datos indicados.
consumptions_to_perfilate: ( true ): si marcamos este campo a true, perfilaremos los datos mandados por el usuario para el cálculo del indexado.
Importar facturas
Esta función nos permite importar facturas en el sistema usando csv.
Tipo de Llamada:POST
module: Billing
class: Billing
action: importBills
token: *vuestro token para las consultas api*
data:
Obtener el PDF de las Facturas
Una vez obtenidas las facturas a partir de la llamada a la API getBills, podemos obtener el pdf de cada una de ellas.
Para obtener estos pdf, deberemos hacer 1 llamada por factura de la que queramos obtener el PDF.
Se podrá obtener el PDF de la factura en borrador (el pre-cálculo de la factura aún no comunicado a Cliente), o bien, la factura validada (el que recibirá el cliente).
Para realizar esta llamada:
Tipo de Llamada:POST
module: Billing
class: Billing
action: getPdfGenerat
token: *vuestro token para las consultas api*
data: {"filename" : "bills\/XXXXXXXX_NOMBRE_FICHERO_XXXXXXXXXX.pdf" }
El nombre del fichero a descargar, se indicará en el campo filename del parámetro data, indicando el valor obtenido del campo link_draft para obtener el borrador, o el campo link para obtener el pdf de la factura validada, de la llamada a la API getBills.