API Billing
  • 24 Oct 2023
  • 4 Minutes to read
  • Dark
    Light
  • PDF

API Billing

  • Dark
    Light
  • PDF

Article summary

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.