pyEscoAPI 0.0.7__tar.gz → 0.0.9__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: pyEscoAPI
3
- Version: 0.0.7
3
+ Version: 0.0.9
4
4
  Summary: Python client for Esco API (Esco bolsa)
5
5
  Author-email: Codetria <hola@codetria.com>
6
6
  License: MIT License
@@ -10,6 +10,7 @@ import requests
10
10
  from requests import Response
11
11
 
12
12
  from pyEscoAPI.dataclasses import Persona, ComitenteData
13
+ from pyEscoAPI.exception import PyEscoAPIError
13
14
 
14
15
  logger = logging.getLogger(f"{__name__}")
15
16
 
@@ -67,7 +68,7 @@ class EscoAPI:
67
68
  else:
68
69
  if not error_message:
69
70
  error_message = f"Error during endpoint call: {request_endpoint}. Code: {result.status_code}"
70
- raise ConnectionRefusedError(error_message)
71
+ raise PyEscoAPIError(endpoint=request_endpoint, status_code=result.status_code, error_message=error_message)
71
72
 
72
73
  def __esco_login(self):
73
74
  req_body = {
@@ -1586,3 +1587,62 @@ class EscoAPI:
1586
1587
  request_body=req_body,
1587
1588
  request_method=HTTPMethod.POST
1588
1589
  )
1590
+
1591
+ def insert_comprobante_pago(
1592
+ self,
1593
+ cuenta: str,
1594
+ moneda: str,
1595
+ importe: decimal,
1596
+ cuenta_contable: int,
1597
+ fecha_concertacion: date = date.today(),
1598
+ fecha_liquidacion: date = date.today(),
1599
+ tp_cambio_mov_pais: int = 1,
1600
+ cuenta_bancaria_comitente: int = None,
1601
+ controla_saldo_monetario: bool = True,
1602
+ num_referencia: int = None,
1603
+ comentario: str = None,
1604
+ id_origen: str = None,
1605
+ es_echeq: bool = False,
1606
+ numero_cheque: int = None
1607
+ ):
1608
+ """
1609
+ Es un método que permite el ingreso de un Comprobante de Pago, este tipo de comprobante genera
1610
+ un egreso monetario en la cuenta corriente de un cliente sin requerir una aprobacion posterior.
1611
+ :param cuenta: Número de Comitente
1612
+ :param moneda: Código de ISO de la moneda el movimiento.
1613
+ :param importe: Importe de movimiento expresado en la moneda indicada.
1614
+ :param cuenta_contable: Cuenta contable del agente donde se imputará el movimiento. Se debe ingresar el código interno de la cuenta contable.
1615
+ :param fecha_concertacion: Fecha de concertación del recibo de cobro.
1616
+ :param fecha_liquidacion: Fecha de liquidación del recibo de cobro.
1617
+ :param tp_cambio_mov_pais: Tipo de Cambio para convertir el importe del recibo a la moneda local. 1 si es en moneda local.
1618
+ :param cuenta_bancaria_comitente: Cuenta bancaria del cliente. Se debe ingresar el código interno. Es solo informativo, queda registrado solamente en el recibo de cobro.
1619
+ :param controla_saldo_monetario: Indica si debe controlar el saldo monetario para hacer el egreso.
1620
+ :param num_referencia: Nro de referencia del movimiento.
1621
+ :param comentario: Comentario del movimiento
1622
+ :param id_origen: Id de origen del movimiento
1623
+ :param es_echeq: True is es un e-cheque.
1624
+ :param numero_cheque: Si es un cheque, ingresar numero de cheque.s
1625
+ :return:
1626
+ """
1627
+ req_body = {
1628
+ "cuenta": cuenta,
1629
+ "moneda": moneda,
1630
+ "fechaConcertacion": fecha_concertacion.strftime("%Y-%m-%d"),
1631
+ "fechaLiquidacion": fecha_liquidacion.strftime("%Y-%m-%d"),
1632
+ "importe": importe,
1633
+ "tpCambioMovPais": tp_cambio_mov_pais,
1634
+ "cuentaContable": cuenta_contable,
1635
+ "cuentaBancariaComitente": cuenta_bancaria_comitente,
1636
+ "numReferencia": num_referencia,
1637
+ "comentario": comentario,
1638
+ "idOrigen": id_origen,
1639
+ "controlaSaldoMonetario": controla_saldo_monetario,
1640
+ "esEcheq": es_echeq,
1641
+ "numeroCheque": numero_cheque
1642
+ }
1643
+ self.__pre_connection()
1644
+ return self.__make_request(
1645
+ request_endpoint=f"/insert-comprobante-pago",
1646
+ request_body=req_body,
1647
+ request_method=HTTPMethod.POST
1648
+ )
@@ -0,0 +1,5 @@
1
+ class PyEscoAPIError(Exception):
2
+ def __init__(self, endpoint, status_code, error_message):
3
+ self.endpoint = endpoint
4
+ self.status_code = status_code
5
+ self.error_message = error_message
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: pyEscoAPI
3
- Version: 0.0.7
3
+ Version: 0.0.9
4
4
  Summary: Python client for Esco API (Esco bolsa)
5
5
  Author-email: Codetria <hola@codetria.com>
6
6
  License: MIT License
@@ -3,6 +3,7 @@ pyproject.toml
3
3
  pyEscoAPI/__init__.py
4
4
  pyEscoAPI/dataclasses.py
5
5
  pyEscoAPI/esco_api.py
6
+ pyEscoAPI/exception.py
6
7
  pyEscoAPI.egg-info/PKG-INFO
7
8
  pyEscoAPI.egg-info/SOURCES.txt
8
9
  pyEscoAPI.egg-info/dependency_links.txt
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = 'pyEscoAPI'
7
- version = "0.0.7"
7
+ version = "0.0.9"
8
8
  license = {text = "MIT License"}
9
9
  authors = [
10
10
  { name="Codetria", email="hola@codetria.com" },
File without changes
File without changes