pyEscoAPI 0.0.33__tar.gz → 0.0.35__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.33
3
+ Version: 0.0.35
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,6 @@ Classifier: License :: OSI Approved :: MIT License
10
10
  Classifier: Operating System :: OS Independent
11
11
  Requires-Python: >=3.11
12
12
  Description-Content-Type: text/markdown
13
- Requires-Dist: requests==2.31.0
13
+ Requires-Dist: requests>=2.31.0
14
14
 
15
15
  # Python client for Esco API (Esco bolsa)
@@ -113,7 +113,7 @@ class EscoAPI:
113
113
  self.__token = ""
114
114
  self.__esco_login()
115
115
 
116
- def __new__(cls, base_url: str, username: str, password: str, client_id: str, version: APIVersion):
116
+ def __new__(cls, base_url: str, username: str, password: str, client_id: str, version: APIVersion, **kwargs):
117
117
  if cls.__instance is None:
118
118
  cls._initialized = False
119
119
  cls.__instance = super(EscoAPI, cls).__new__(cls)
@@ -2008,6 +2008,60 @@ class EscoAPI:
2008
2008
  request_method=HTTPMethod.POST
2009
2009
  )
2010
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
+
2011
2065
  def get_domicilio_cuenta_comitente(self, cuenta: str, cod_tp_domicilio: str):
2012
2066
  """
2013
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.33
3
+ Version: 0.0.35
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,6 @@ Classifier: License :: OSI Approved :: MIT License
10
10
  Classifier: Operating System :: OS Independent
11
11
  Requires-Python: >=3.11
12
12
  Description-Content-Type: text/markdown
13
- Requires-Dist: requests==2.31.0
13
+ Requires-Dist: requests>=2.31.0
14
14
 
15
15
  # Python client for Esco API (Esco bolsa)
@@ -0,0 +1 @@
1
+ requests>=2.31.0
@@ -4,13 +4,13 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = 'pyEscoAPI'
7
- version = "0.0.33"
7
+ version = "0.0.35"
8
8
  license = {text = "MIT License"}
9
9
  authors = [
10
10
  { name="Codetria", email="hola@codetria.com" },
11
11
  ]
12
12
  dependencies = [
13
- "requests==2.31.0"
13
+ "requests>=2.31.0"
14
14
  ]
15
15
  keywords = ["Esco", "API", "bolsa", "client", "market", "provider"]
16
16
  description = 'Python client for Esco API (Esco bolsa)'
@@ -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
@@ -1 +0,0 @@
1
- requests==2.31.0
File without changes
File without changes