pyEscoAPI 0.0.32__tar.gz → 0.0.34__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.32
3
+ Version: 0.0.34
4
4
  Summary: Python client for Esco API (Esco bolsa)
5
5
  Author-email: Codetria <hola@codetria.com>
6
6
  License: MIT License
@@ -64,7 +64,7 @@ class EscoAPI:
64
64
  "json": request_body,
65
65
  "headers": headers
66
66
  }
67
- result: Response = req_call(**params)
67
+ result: Response = req_call(**params, timeout=self.timeout)
68
68
  if 200 <= result.status_code <= 299:
69
69
  result_body = result.json()
70
70
  logger.info("EscoAPI: Successful response", extra={
@@ -125,7 +125,8 @@ class EscoAPI:
125
125
  username: str,
126
126
  password: str,
127
127
  client_id: str = "",
128
- version: APIVersion = APIVersion.VERSION_9
128
+ version: APIVersion = APIVersion.VERSION_9,
129
+ timeout: int = 10
129
130
  ):
130
131
  """
131
132
  Initializes the EscoAPI client, starting a login to the platform.
@@ -143,6 +144,7 @@ class EscoAPI:
143
144
  self.password = password
144
145
  self.client_id = client_id
145
146
  self.version = version
147
+ self.timeout = timeout
146
148
 
147
149
  self.__esco_login()
148
150
  self._initialized = True
@@ -2006,6 +2008,60 @@ class EscoAPI:
2006
2008
  request_method=HTTPMethod.POST
2007
2009
  )
2008
2010
 
2011
+ def insert_solicitud_comprobante_pago(
2012
+ self,
2013
+ cuenta: str,
2014
+ moneda: str,
2015
+ importe: decimal,
2016
+ cuenta_contable: int,
2017
+ fecha_concertacion: date | None = None,
2018
+ fecha_liquidacion: date | None = None,
2019
+ tp_cambio_mov_pais: int = 1,
2020
+ cuenta_bancaria_comitente: int = None,
2021
+ num_referencia: int = None,
2022
+ id_origen: str = None,
2023
+ controla_saldo_monetario: bool = True,
2024
+ ):
2025
+ """
2026
+ Es un método que permite el ingreso de un Comprobante de Pago, este tipo de comprobante genera
2027
+ un egreso monetario en la cuenta corriente de un cliente sin requerir una aprobacion posterior.
2028
+ :param cuenta: Número de Comitente
2029
+ :param moneda: Código de ISO de la moneda el movimiento.
2030
+ :param importe: Importe de movimiento expresado en la moneda indicada.
2031
+ :param cuenta_contable: Cuenta contable del agente donde se imputará el movimiento. Se debe ingresar el código interno de la cuenta contable.
2032
+ :param fecha_concertacion: Fecha de concertación del recibo de cobro.
2033
+ :param fecha_liquidacion: Fecha de liquidación del recibo de cobro.
2034
+ :param tp_cambio_mov_pais: Tipo de Cambio para convertir el importe del recibo a la moneda local. 1 si es en moneda local.
2035
+ :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.
2036
+ :param controla_saldo_monetario: Indica si debe controlar el saldo monetario para hacer el egreso.
2037
+ :param num_referencia: Nro de referencia del movimiento.
2038
+ :param id_origen: Id de origen del movimiento
2039
+ """
2040
+ if fecha_concertacion is None:
2041
+ fecha_concertacion = date.today()
2042
+ if fecha_liquidacion is None:
2043
+ fecha_liquidacion = date.today()
2044
+
2045
+ req_body = {
2046
+ "cuenta": cuenta,
2047
+ "moneda": moneda,
2048
+ "fechaConcertacion": fecha_concertacion.isoformat(),
2049
+ "fechaLiquidacion": fecha_liquidacion.isoformat(),
2050
+ "tpCambioMovPais": tp_cambio_mov_pais,
2051
+ "importe": importe,
2052
+ "cuentaContable": cuenta_contable,
2053
+ "cuentaBancariaComitente": cuenta_bancaria_comitente,
2054
+ "numReferencia": num_referencia,
2055
+ "idOrigen": id_origen,
2056
+ "controlaSaldoMonetario": controla_saldo_monetario,
2057
+ }
2058
+ self.__pre_connection()
2059
+ return self.__make_request(
2060
+ request_endpoint="/insert-solicitud-comprobante-pago",
2061
+ request_body=req_body,
2062
+ request_method=HTTPMethod.POST,
2063
+ )
2064
+
2009
2065
  def get_domicilio_cuenta_comitente(self, cuenta: str, cod_tp_domicilio: str):
2010
2066
  """
2011
2067
  Devuelve el domicilio de una cuenta comitente.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: pyEscoAPI
3
- Version: 0.0.32
3
+ Version: 0.0.34
4
4
  Summary: Python client for Esco API (Esco bolsa)
5
5
  Author-email: Codetria <hola@codetria.com>
6
6
  License: MIT License
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = 'pyEscoAPI'
7
- version = "0.0.32"
7
+ version = "0.0.34"
8
8
  license = {text = "MIT License"}
9
9
  authors = [
10
10
  { name="Codetria", email="hola@codetria.com" },
@@ -344,4 +344,20 @@ def test_get_comprobante_pdf(api_client):
344
344
  mock_response = {"data": "base64encodedpdf"}
345
345
  with patch.object(api_client,'_EscoAPI__make_request', return_value=mock_response):
346
346
  result = api_client.get_comprobante_pdf("FRMBOL", 12345)
347
- assert result == mock_response
347
+ assert result == mock_response
348
+
349
+ def test_insert_solicitud_comprobante_pago(api_client):
350
+ mock_response = {"codOperacion": 1417, "numOperacion": 0}
351
+ with patch.object(api_client, "_EscoAPI__make_request", return_value=mock_response):
352
+ result = api_client.insert_solicitud_comprobante_pago(
353
+ cuenta="11111",
354
+ moneda="ARS",
355
+ importe=1500.00,
356
+ tp_cambio_mov_pais=1,
357
+ cuenta_contable=401,
358
+ cuenta_bancaria_comitente="1234",
359
+ fecha_concertacion=date.today(),
360
+ fecha_liquidacion=date.today(),
361
+ controla_saldo_monetario=True,
362
+ )
363
+ assert result == mock_response
File without changes
File without changes