Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import requests
- import json
- import urllib.parse
- import mariadb
- from datetime import datetime
- from time import sleep
- import csv
- from re import sub
- from decimal import Decimal
- URL_BASE = "https://vitae.alquimiadigital.mx/cpanel/index.php" #"https://procesador.epica.solutions"
- def obtieneTokenAlquimia():
- #url = "https://vitae.alquimiadigital.mx/cpanel/index.php/api/oauth2/token"
- #payload = "grant_type=password&username=&password=&client_id=testclient&client_secret=testpass"
- url = URL_BASE + "/api/oauth2/token"
- #payload = "grant_type=password&username=carlos1%[email protected]&password=&client_id=testclient&client_secret=testpass"
- payload = "grant_type=password&[email protected]&password=21&client_id=testclient&client_secret=testpass"
- headers = {
- 'Content-Type': "application/x-www-form-urlencoded",
- 'cache-control': "no-cache"
- }
- response = requests.post( url, data = payload, headers = headers)
- jsonA = response.json()
- return jsonA["access_token"]
- def conexionBDAlquimia():
- try:
- conn = mariadb.connect(
- user="vitaejcrivera",
- password="",
- host="alquimia-produccion.czyvqwotxq1n.us-east-1.rds.amazonaws.com",
- port=3306,
- database="alquimia_vitae"
- )
- except mariadb.Error as e:
- print(f"Error en conexión a base de datos: {e}")
- sys.exit(1)
- cur = conn.cursor(dictionary = True)
- return cur
- def ejecutaRequest(token, query, method, params):
- url = URL_BASE + query
- headers = {
- 'Authorization': 'Bearer '+token,
- 'Content-Type': "application/x-www-form-urlencoded"
- }
- if method == "GET":
- r = requests.get(url, headers=headers)
- jsonR = json.loads(r.text)
- elif method == "POST":
- r = requests.post(url,data=params, headers=headers)
- print(r)
- jsonR = json.loads(r.text)
- elif method == "PUT":
- r = requests.put(url,data=params, headers=headers)
- jsonR = json.loads(r.text)
- return jsonR
- def obtienePAE(cur, idPAE):
- try:
- cur.execute(
- "select * from producto_ahorro_empresa where id_producto_ahorro_empresa ='"+str(idPAE)+"'"
- )
- dic = cur.fetchone() # almacena la respuesta de la consulta
- if dic == None: # si la repuesta al realizar la consulta se redicciona como vacia en dic, no existe el registro
- print('>> NO EXITE EL REGISTRO')
- else: # en caso contrario se define un diccionario con los valores rediccionados de la consulta
- dicProductoAhorro = {
- 'nombre_producto' : dic['nombre_producto'],
- 'id_producto_ahorro' : dic['id_producto_ahorro'],
- 'registro_reca' : dic['registro_reca'],
- 'id_empresa' : dic['id_empresa'],
- 'solicitar_retiro' : dic['solicitar_retiro'],
- 'rendimiento_mensual' : dic['rendimiento_mensual'],
- 'porcentaje_disposicion_maxima' : dic['porcentaje_disposicion_maxima'],
- 'garantia_producto_credito' : dic['garantia_producto_credito'],
- 'primer_deposito' : dic['primer_deposito'],
- 'comision_inscripcion' : dic['comision_inscripcion'],
- 'comision_mensual' : dic['comision_mensual'],
- 'tipo_persona' : dic['tipo_persona'],
- 'saldo_basado_proveedor' : dic['saldo_basado_proveedor']
- }
- return dicProductoAhorro
- except mariadb.ProgrammingError as e:
- print(f"Error en consulta a base de datos: {e}")
- def inicio():
- listaPAE = [
- {
- 'nombre_producto': 'DEBITO LOGTEK VISUS 03 IN 3 50 OUT',
- 'id_producto_ahorro': 4,
- 'registro_reca': '00987766',
- 'id_empresa': 1552,
- 'solicitar_retiro': 0,
- 'rendimiento_mensual': 0.0,
- 'porcentaje_disposicion_maxima': 0.0,
- 'garantia_producto_credito': '0',
- 'primer_deposito': 0,
- 'comision_inscripcion': 0,
- 'comision_mensual': 0,
- 'tipo_persona': 1,
- 'saldo_basado_proveedor': 0
- }
- ]
- token = obtieneTokenAlquimia()
- print(token)
- #cur = conexionBDAlquimia()
- #print(token)
- """
- for u in listaPAE:
- url = URL_BASE+"/api/v2/producto-ahorro-empresa"
- print(url)
- #print(u)
- dicProducto = ejecutaRequest(token,"/api/v2/producto-ahorro-empresa","POST",u)
- #dicProducto = obtienePAE(cur,431)
- print(dicProducto)
- print(".")
- """
- for idPAE in [832,833,834,835]: #DEBITO SHWAB 03 IN 3 50 OUT DEBITO MACHT 03 IN 3 50 OUT DEBITO ASERPRO 03 IN 3 50 OUT DEBITO ULTRA 03 IN 3 50 OUT
- print(f"=========== {idPAE} ===========")
- configCuentaEjeIn = {
- 'tipo_producto' : 2,
- 'producto_id' : idPAE,
- 'id_medio_pago' : 2, #Cuenta Eje
- 'activo' : 0,
- 'tipo_cash' : 0,
- 'tipo_comision' : 2,
- 'valor_comision' : 0,
- 'monto_maximo_transacciones' : 98999999,
- 'numero_maximo_transacciones' : 99999,
- 'tipo_reseteo' : 1,
- 'hora_inicio' : '00:00',
- 'hora_fin' : '23:59',
- 'calendario_transaccion' : '0,1,2,3,4,5,6',
- 'saldo_basado_medio_pago': 0 # 0 para cuenta eje
- }
- configCuentaEjeOut = {
- 'tipo_producto' : 2,
- 'producto_id' : idPAE,
- 'id_medio_pago' : 2, #Cuenta Eje
- 'activo' : 0,
- 'tipo_cash' : 1,
- 'tipo_comision' : 2,
- 'valor_comision' : 0,
- 'monto_maximo_transacciones' : 98999999,
- 'numero_maximo_transacciones' : 99999,
- 'tipo_reseteo' : 1,
- 'hora_inicio' : '00:00',
- 'hora_fin' : '23:59',
- 'calendario_transaccion' : '0,1,2,3,4,5,6',
- 'saldo_basado_medio_pago': 0 # 0 para cuenta eje
- }
- configASPIn = {
- 'tipo_producto' : 2,
- 'producto_id' : idPAE,
- 'id_medio_pago' : 4, #ASP
- 'activo' : 0,
- 'tipo_cash' : 0, # 0 in, 1 out
- 'tipo_comision' : 2,# 1 fija, 2 porcentual
- 'valor_comision' : 0.3, #0.3%
- 'monto_maximo_transacciones' : 98999999,
- 'numero_maximo_transacciones' : 99999,
- 'tipo_reseteo' : 1,
- 'hora_inicio' : '00:00',
- 'hora_fin' : '23:59',
- 'calendario_transaccion' : '0,1,2,3,4,5,6',
- 'saldo_basado_medio_pago': 1 #1 para financieras
- }
- configASPOut = {
- 'tipo_producto' : 2,
- 'producto_id' : idPAE,
- 'id_medio_pago' : 4, #ASP
- 'activo' : 0,
- 'tipo_cash' : 1, # 0 in, 1 out
- 'tipo_comision' : 1,# 1 fija, 2 porcentual
- 'valor_comision' : 3.50, #$3.50
- 'monto_maximo_transacciones' : 98999999,
- 'numero_maximo_transacciones' : 99999,
- 'tipo_reseteo' : 1,
- 'hora_inicio' : '00:00',
- 'hora_fin' : '23:59',
- 'calendario_transaccion' : '0,1,2,3,4,5,6',
- 'saldo_basado_medio_pago': 1 #1 para financieras
- }
- r = ejecutaRequest(token,"/api/v2/producto-configuracion","POST",configCuentaEjeIn)
- print(r)
- r = ejecutaRequest(token,"/api/v2/producto-configuracion","POST",configCuentaEjeOut)
- print(r)
- r = ejecutaRequest(token,"/api/v2/producto-configuracion","POST",configASPIn)
- print(r)
- r = ejecutaRequest(token,"/api/v2/producto-configuracion","POST",configASPOut)
- print(r)
- print("bye")
- inicio()
Advertisement
Add Comment
Please, Sign In to add comment